Fiorano ESB Server
The Fiorano ESB Server (FES) is a Centralized Management Server which manages the various components of the Fiorano Network and acts as a Metadata Repository of Event Processes and Fiorano Business components. In a Fiorano Network, the data flow takes place purely in a Peer-to-Peer fashion (between two or more FPS) without the intervention of FES. Thus the FES role during an Event Process execution is restricted to passing control signals for starting, stopping, and monitoring microservices that comprise the event process, where as the actual flow of data and events between microservices is managed by Peer Servers on which the microservices execute.
The FES is the central controller of the Fiorano Network, acting as a monitoring agent for all the other Peers while ensuring information coherence. The Fiorano Platform Management tools connects to the FES and request action for specific operations such as launching an Event Process or retrieving information about microservices in the network. For this, the FES sends out Control Events to the participating FPS in the network containing specific instructions about the incoming request.
Figure 1: Fiorano Network
The FES is primarily a JMS Server (FioranoMQ Messaging Server) wrapped with additional role specific functionalities. The FES communicates with the FPS using the underlying JMS server and expose well defined JMX and Java API to communicate with the tools.
ESB Server Functionality
The role of a FES can be logically divided into the following activities:
Remote Deployment and Launching of Event Processes and components: The FES provides the ability to deploy, launch, and stop Event Processes and components on any Peer Server in the network.
Runtime Composition of Event Processes: The FES allows modifications to the Event Processes running at the time without stopping the Event Process on any server. This helps to update the running event processes in production without any downtime.
Configuration and Repository Management: In a distributed Service-Grid environment, information and data is scattered across the network. Each component that executes a part of the event process or workflow as well as the Peer Server hosting the component needs to be configured. Hence, there is an important need for remote configuration management of the overall system and this is managed via the FES.
The FES manages:
- The configurations of Fiorano ESB Peers.
- A repository to maintain versions of registered and unregistered microservices along with dependent resources and binaries.
- The meta-data information of the Event Processes in XML format.
Presence and Availability Management (PAM): The FES maintains the State information of all the Peer Servers across the Fiorano Network. This State information is stored in a file-based data storage.
Event Process State Persistence: The FES persist the State of Event Processes and restores the State(s) upon restarting the server.
Event Tracking and Monitoring: The FES monitors events, logs and State information of Peer Servers, and Microservices running across the Fiorano Network. The FES makes this information available to other tools for business activity monitoring.
Runtime Debugging: The FES allows debugging of Event Processes at runtime and also provides the ability to modify the intercepted data at runtime.
Security Controller: Security plays a critical role in a distributed system. There are two parts to Security: one relating to network security level and protocol level security and the other relating to user-level security.
- Protocol level security is the inherited feature of Fiorano Servers (both FES and the FPS) in that it can be configured to use a secure protocol for communication, including support for HTTPS and SSL protocols.
- User-level security is important in avoiding problems such as a Peer injection of malicious and corrupt data in to the system. A client when connecting to the Fiorano Network is required to supply credentials which are then authenticated by the system. In a Fiorano Network, the Enterprise Server through the underlying Realm service does the authentication of users and maintains the security policies. This Realms service is responsible for maintaining all user and group information and for authenticating all incoming connection. The network administrator can choose between a collection of Realm services, differing in storage and authentication mechanisms. This security architecture allows the administrator to set up Access Control Lists (ACLs) for each possible operation that could be carried out in the Fiorano Network as well as Control User actions based on the permissions assigned to them. For example, ACLs for an Event Process can specify which Users have the privilege to launch an event process on the network. Similarly, ACLs for a Business components can specify locations where the Business component can be run on the network. This allows the administrator to control the privileges available to each Users.
Failover Management: The FES also manages the Fail-Over of the microservices in applications that is running. When the primary FPS on which a microservice is running goes down, the FES redeploys and launches that component instance on a configured backup node.
High Availability: Fiorano ESB Servers can be configured to run in HA mode to maximize system availability, thereby eliminating all single points of failure and avoiding data loss.