Technology Blogs by SAP
Learn how to extend and personalize SAP applications. Follow the SAP technology blog for insights into SAP BTP, ABAP, SAP Analytics Cloud, SAP HANA, and more.
Showing results for 
Search instead for 
Did you mean: 
Developer Advocate
Developer Advocate

In this blog post I cover how you can use the power of SAP HANA Graph to map/keep track of the relationships between different SAP products.

In our jobs as developers/consultants/architects, it is expected from us to know how different SAP products relate with each other or how they integrate with 3rd party products. This can be especially challenging given the number of products/components/services that SAP provides. In my attempt to keep track of this I have notes, diagrams, links, documentation that help me understand how they relate to each other. Unfortunately, that data is not that well organised :-).

As seen in the hand-drawn diagram above, at the beginning I was drawing diagrams which help capturing the idea/relationship but can be very limiting. A mind mapping tool can help visualizing the relationship but doesn't scale well. I want to be able to explore the graph, query it and it needs to be able to grow/expand easily. This is where SAP HANA comes to the rescue. For this, I use the graph data model part of SAP HANA graph.

SAP HANA Graph expands the SAP HANA platform with native support for graph processing and allows executing typical graph operations on the data stored in an SAP HANA system. Graphs are powerful abstraction that can be used to model different kinds of networks and linked data coming from many areas, such as logistics and transportation, utility networks, knowledge representation, text processing, and more.

The idea is that we can represent the relationships between different SAP products, components, services, 3rd party products within a graph.  It is possible to represent the products and their relationships, as vertices and edges respectively. Given that we are using a database for this, we can also store additional information against the graph data. The data can be stored as links, which allows storing useful information relevant to each component of the graph. These type of information can then help me remember/understand how different components interact with each other.

Examples of information that can be stored against a vertex/edge:

  • URLs

  • Diagrams

  • Documentation

Why store data in a graph? What does a graph allows us to do?

The following can be achieved by using a graph:

  • We can explore the data (graph) in a graphical way. By opening the graph in the SAP HANA Database explorer and viewing the graph workspace created in SAP HANA Cloud, see screenshot above.

  • It is simple to add new information (products, relationships) to the graph.

  • By mapping relationships and the capabilities of products in a graph, we can query it and ask questions like:

    • How does Product X relates with Product Y? We can easily visualise this in the graph workspace.

    • How can I integrate Product X with Product Y? Is it possible or not? This is possible by finding the shortest path between two vertices.

Note: To facilitate adding data to the graph, it is possible create a simple Cloud Application Programming (CAP) app to enter data and see the graph grow.