service bus - prior blog

Overview

In an ever evolving Integration Landspace, which started with CORBA / RPC based connectivity, then EAI tools which are more geared towards the Broker based centralised  controller, then with the advent of SOAP protocol and Service Oriented Architecture, ESBs enabled edge integrations. As REST got more popular and APIs enabling the responsive web front end, Mobile and cloud enabled applications, the role of esb has evolved to provide integration with the gateway layer and provide a framework for security & analytics around those APIs.

Application Architecture

Product: MULE

 - Mule Application follows an event driven architecture enabled by connector layer in the form of message sources.
- End To End Transaction processing is not possible as event messages are managed through difference resources in different scenarios like sequential queue processing, Servlets, async mail messages etc
- Flows are composed of pre-packaged units of functionalities in the form of message processors, which typically enables the RRCAA.

R - Receiver in the form of message source
R - Reducers in the form of filters
C - Changers in the form of transformers
A - Adders in the form of Enrichers
A - Actors in the form of pre-build components, Loggers, responders, routers.

Components

Vendor: MuleSoft Anypoint Platform

Mule Runtime: 
As I understand it, mule at its core is a java application which gets deployed on the Apache / Tomcat (Servlet container) and used Spring as a conceptual container for its initial development. At the simplest level, Mule applications accept and process messages through several Lego-block-like message processors plugged together in what we call a flow.

Latest Mule Runtime Version: 3.7.x

Anypoint Exchange: 
-    As the name specifies, it is a mulesoft way of sharing reusable artifacts in an open & cloud centric way. While exposing its own artifacts with the integrated tooling, it is also providing its customers a private way of sharing their own reusable artifacts with only the members of the customers organisation. 
-    Artifacts are in the form of Connectors, Templates, Examples, and API descriptions in RAML and WSDL.
-  It can be thought of as a basic Play Store / App Store and can also act as a enterprise cloud repository.
   

Mule Agent:
- It a configureable plugin for connecting Mule runtime to external systems.
- It supports 2 communication protocols: REST & WebSockets .
- It provides out of box connectivity with Mule Management Console and Mule Runtime.

Mule Management Console:
- MMC is a web app designed to run in application server such as Tcat server or Apache Tomcat, and usually packaged in a .war file.
- It can also be deployed on other application servers like JBOSS, Weblogic and Websphere.
- MMC provide REST APIs to manage much of console functionality like registering servers, managing server groups & clusters etc.

CloudHub:
- CloudHub is a full Platform as a Service that covers all of your server needs out of the box, including logging, analytics, alerts, scheduling.
- In a nutshell, CloudHub is managed public cloud offering to integrate SAAS applications, Cloud Services and Enterprise Applications without having organizations worry about installing an on-premise Integration Platform.
- Application Management in CloudHub is container based where each application is managed as a domain with its own sizing & capacity requirements.
- Application and Server Management in CloudHub is managed through Anypoint Runtime Manager.

Anypoint Runtime Manager: 
- It is referred as a Single Pane of Glass which gives visibility into performance, deployment topology & usage details of mule integrations & APIs.
- It provides a single interface to manage hybrid deployments & users.
- It can also be referred as sequel of Mule Management Console.

Deep Dive

An aspect of any  pattern / concept which makes it a powerful product is the tooling and support around it.

MuleSoft

Anypoint Studio: Eclipse based Integrated Development Environment. Drag Drop based visual editor which automatically generates the Domain Specific Language (DML) as an XML file while building message flows. Mule flow can consist of following ingredients:
Connectors, Scopes, Components, Transformers, Filters, Flow Control, Error Handler.

Latest Studio Version: 5.4

CloudHub:

A) Insight

- Insight are categorized into "Custom Events", "Endpoint Events", "Flow Events" and "Other Events".

B) Logging

 - Deployment logs are distinguished based on System Log and Worker level log.

C) CloudHub Fabric

- Provides scalability, elasticity through worker scaleout and persistent queues.


Anypoint Runtime Manager: Implementation of ARM is by extending the framework around MMC & mule Agent capabilities.Capabilities are organized into 3 categories:

A) Application / Server Management

- Register Group & Clusters
- Upload, Deploy and Version Applications
- Manage Hybrid Environments & Automate Deployments

B) Monitoring & Analytics

- Monitor Application & Server Status
- Extend to existing solutions with plugins to Splunk / Elk.

C) Access Control

-  Organise resources by environment.
- Manage a multi-tenant administrative hierarchy.
- Connect to existing Identity Management Solutions.


P.S: Please provide you comments / feedback / questions at madajeeblog@gmail.com and I will try to add them in the blog.







Comments

Popular posts from this blog

http vs https - prior blog

soa - prior blogpost-1