Modern Integration Applications
In traditional software, each Line of Business (LoB) application like invoice processing, payroll processing, health report processor etc is an independent software which used to be a package of custom-built code modules.
With the transformation to cloud and introduction of lot of Platform as a Service (PaaS) offerings like Logic Apps, Service Bus, Functions, Event Grid etc building a LoB application has become lot easier. It is no more writing complex modules of software but integrating these PaaS offering based on the architecture requirement, completes a LoB application. The advantages of using such offerings are plenty:
- They are robust
- Built to serve specific purpose
- One could focus only on designing the application to suit business needs
If you are using Microsoft Azure services to build your LoB applications, the Azure portal provides you capabilities to manage them at an entity level. For eg: if your application orchestration includes Azure Functions, Logic Apps, Azure SQL DB, Web Apps etc, you get to manage them at entity level in the Azure portal. But what additnally required is at application level. Though these Azure entities can grouped in a resource group, it don't provide necessary visibility as a LoB application.
The components within the application don’t really offer anything individually and are only used within the Composite Integration App but the Service provided by the App is reusable across other apps which need the service (but it doesn’t have to be)
- Michael Stephenson, Microsoft MVP, Author - Integration Playbook
Serverless360 provides better monitoring and management capabilities towards Azure Serverless services and complements the Azure Portal. To suffice the need for managing the entities as LoB applications, we introduced the concept of Composite Applications.
Application Topology will help users visualize how the entities in a composite application relate to each other. This servers as a physical representation of the architecture, the user can derive relationships between the entities that constitute the composite application. It provides a clean dashboard with a full application view and displays the state of each entity based on their monitoring configuration.
Create your Topology
Consider an E Commerce solution is managed through Serverless360. Here, the entities that constitute order processing business flow are grouped in a Composite Application.
The architecture of this business flow is,
- Customer submits an order request in the Web App (Azure App Service)
- A Service Bus Message is triggered for every order placed (Service Bus Queue)
- A Logic App with Service Bus Queue trigger picks up the order message to execute the order (Logic App)
- An Azure Function invoked by the Logic app validates the order message for necessary details (Azure Function)
- After the successful validation, the message is forwarded to a Service Bus Topic for further processing (Service Bus Topic)
- An Azure Worker role listens to messages in Topic Subscriptions (Cloud Service)
- The message details are forwarded to a Storage Queue for Shipment follow up (Storage Queue)
- Another copy of the message is written in SQL database (SQL)
This architecture can be better understood in a pictorial representation. Building a Topology diagram within the Composite Application would be of real help for understanding this better.
1. Bring the Entities to the board:
In the Topology Section of the Composite Application, the entities associated with the composite application are listed in the left side menu. It is also possible to include a component that is not in scope of Serverless360 but will be a part of the solution. The required entities can be selected from the left section (palette), which will add the representation of the entity in the right section (diagram pane).
2. Connect the Entities to define the flow:
A connection can be made between the entities by clicking and dragging from the centre of the representation.
3. Save the diagram:
Once the diagram is saved, the entities will be displayed with the current monitoring status. Access detailed Error.
4. Edit if required:
The diagram can be edited by clicking the edit option. The issues list will not be displayed while in edit mode.
5. Infer Entity status: Topology diagram represents the health of the entity with the following colour coding:
- Healthy- Green
- Warning- Amber
- Error- Red
Click on the entity in warning or error state to fetch the details of the issue as below.