vFunction Logo

Flows and Entry Points

The right pane of the analysis page contains the list of services, in our case there are 7 services. Next to each service name we have the number of flows the service is involved in. For example: oms-inventory contributes to 12 flows while oms-trucking is active in 2 flows.

Entry points

The entry points of a service represent the API exposed by the service and which component was detected using that API

  1. Select the oms service (in the graph or in the list)

  2. This service has 4 entry points - meaning we observed four APIs that triggered some functionality of this service

  3. Click on DETAILS next to the Entry Points - you will see that one entry point (a POST REST API /service/address/validate/french) is called from the oms-inventory service and 3 APIs are called from external components.

  4. In the Details list, click on the crosshair icon of the oms-inventory entry point - the oms-inventory service will grow and shrink in the graph so you can easily locate it.

Flows

  1. Click on VIEW next to Individual Flows of the oms service (right pane) - the left pane will show the 9 flows (out of 25) in the Flows section (bottom left pane)

  2. Click the + icon to expand the flows of the oms service. The name of the flow is the API that triggers it, clicking the > icon next to a flow in the left pane opens a sequence diagram showing the interaction between the services of that flow, while on the right side we can see the resources involved in that flow.

  3. Hovering over a flow in the flow list shows the full name of the flow and the number of occurrences it was measured during learning

  4. Open the flow /service/inventory/multi-create (POST) (1): We see that an external component (Consumer lifeline) calls the API /service/inventory/multi-create (POST) and in turn oms-inventory is calling oms API /service/address/validate/french (POST) 5 times in a loop. Looking on the right pane we can see that the oms service is calling a GET API to www.google.com in the context of this flow Multi create inv flow

  5. Two out of the 9 flows have a red dashed line next to them - this means that these flows are circular. To clarify what is a circular flow open the flow /service/modify/fulfillment/shipping/items/{lineItemId} (PATCH). You can see that oms is calling oms-shipping to get a shipping id and in turn oms-shipping is calling oms-inventory to get an inventory-id but then oms-inventory calls oms back. Circular flows are an architectural issue that needs to be resolved. The below screenshot highlight the circular interaction in the flow. CircularFlow1

  6. Another two flows have a yellow orange dashed line next to them - these flows are multi-hop flows, meaning complex flows across multiple services. This is also an architectural issue since any point of failure in any service will fail. Open the two multi-hop flows and review the interaction.

vFunction Logo