Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The sections below list certain best practices and key terminologies that may be needed for optimal use of the Fiorano platform . The first in the list is the Fiorano Architecture to help the administrator familiarize the Fiorano platform, as a better understanding of the platform architecture will help the administrator plan better and achieve an optimal deployment of the same. Rest in the sections consist of various runtime aspects of the platform and optimizing the message flows and resource utilization. Finally, the most important practice that needs to be kept in mind, that is, disaster recovery. Since disasters are not planned, the disaster recovery section lists certain features of the product that may be kept active at all times to help recover from nearly all types of failures.

Note

Best Practices may not be fixed for everyone, it depends from environment to environment and also as per the need of the client

Tip

 At any point of time, if you feel that you are not able to understand any part of this document clearly, please contact Fiorano Support at support@fiorano.com

Panel

Deployment

Deployment Architecture

Fiorano Architecture comprises of Fiorano Enterprise Server, Peer Service Containers installed across the network together with the centralized Management and Repository Server as well as Management tools. A typical Fioranom Deployment Architecture looks as in the figure below. Click the figure to know more.

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 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. Click the below image to read more.

 

Cloud

While using cloud environment to run Fiorano, you may require to make some changes to setup different modules in Fiorano. Refer the Cloud Setup section to go through the various changes required. 

Document Tracking

It is recommended to use an external database for Document Tracking; refer the  Document Tracking section to utilize the database availability optionsin various sections. The sections outlined are applicable to both developers as well as environment management teams.

Tip

 It is assumed that the reader is well aware of Fiorano Architecture. Please contact Fiorano Support at support@fiorano.com for any clarifications

Panel

Development

Event Process

Components per Event Process

It is a good practice to limit the number of components in an event process in the range of 15 to 20. This results in quick start up times and manageable workflows. If the requirement seems to grow beyond this many number of services it is better to use remote service instances to enable inter event process communication.

It is also a good practice to develop flows which can be reused across different processes. To achieve this, remote service instances can be used in conjunction with route selectors.

Use Service Launch Order

In certain cases it might be important for an order to be present while different components in an event process are getting launched. To launch and/or stop microservices, present in an event process, in a predefined order use Service Launch Order.

Load Balancing

Used Load Balancing to distribute the messages to multiple business services for processing. To enable service-level load balancing on a service, run multiple instances of the service on the different ESB Peers and routes incoming data to the multiple running instances via a Distribution Service. Refer the Load Balancing section where an example is mentioned.

Scaling

It is critical to ensure that the platform scales both with current projects (likely in themselves to be highly distributed, probably across company boundaries) and with future growth. To address scalability issues refer the Scaling section

Components

Changing Business Logic

Customize Business logic of new components by modifying the logic. Refer the Modifying Business Logic section.

Samples

Fiorano provides an extensive set of samples which provide best practices to affect certain changes to the components generated using Fiorano SDK, like providing multiple ports, generating user defined CPS. Each of the samples are accompanied by a readme.txt which lists out the steps to make changes.

 

Panel

Security

Application Security

Always define user permissions on Applications to control unauthorized access to sensitive information. To perform this, refer the Access Control List (ACL) based security section.

Improve the security of messages that flow between components through an active flow by adding Port or Route Encryption to the messages. Refer the Message Encryption section.

Server Security

Establish secure communication between Enterprise server and Peer server by configuring the protocol parameters in the server profiles; refer the Enable Server Level Security section.

Web Service Security

It is critical that web services which are exposed in Fiorano are secured properly. Security can be different for different types of web services and can be enforced at different levels.

Jetty Security

All SOAP and REST based web services in Fiorano are hosted in a Jetty Server. Jetty Server provides the baseline security for the web applications hosted.  Refer Manage Jetty Security section to understand the best practices with respect securing Web Services hosted on Jetty.

SOAP Web Services

SOAP web services are hosted using the WSStub component. It is a good practice to secure these web services using WS Security standards. Refer Web Service Security example and components documentation 

REST Services

In case of REST services, API keys can be used to restrict access to certain users. Configuration and usage of API keys are explained in Additional configuration section in RESTStub.

 

Panel

Monitoring

Monitor using Event Process

Handle Errors using Exception Listener microservice

Utilize the capability of ExceptionListener component which acts as a global exception listener subscribing to exception messages occurring in any service component of any running event process. The Perform Error Handling section gives a brief description of its working.

Publish report in Windows Event Viewer

Windows users can enable to write Fiorano logs to Windows Event Viewer for convenience. Refer the Write Fiorano Logs to Windows Event Viewer section.

Monitor using Callouts

For more fine-grained monitoring of events happening in a flow, it is possible to define callouts at the port level. The callout option allows to perform custom Business Activity Monitoring out of the data being processed by the ESB in an asynchronous manner. Refer the Configure SBW Callout section to understand how this works.

Tracking documents for reinjection

The documents that are passing through the entire can be tracked using the Dashboard by enabling Document Tracking option.

Refer to the Document Tracking page to know how to

  • enable Document Tracking in a Workflow of an Event Process
  • create SBW Tables Manually (if the servers lack permissions to create SBW tables)

Refer Document Tracking in Dashboard to track them in the Dashboard.

 

Panel

Deployment

Topologies

It is important to understand a topology that is best suited for an environment. Fiorano is a completely distributed system where the different servers in Fiorano architecture can be deployed in different parts of network based on the requirements like location of DMZ servers, need for disaster recovery etc. To understand the different topologies, refer this page.

Cloud Setup

 Refer this section to understand the best practices and configuration changes required to deploy the Fiorano server in cloud and hybrid environments.


Panel

Memory Management

Optimize Memory

...

Use In Memory execution mode for components with less memory footprint such as XSLT and CBR. Server JVM will be used while using components in this mode. Refer the Using 'In Memory' Launch Mode section to understand how to use this mode.

Deleting Document Tracking (SBW documents) data

To create some disk space, you may schedule a deletion task for the old SBW documents that are tracked; refer How to schedule Deletion of SBW Documents section. This helps in avoiding issues like Low Disk Space error.

 events are temporarily stored in persistent database that are created during runtime data of the Enterprise Server. After an event has been processed, it gets deleted from the temporary store. If these events are not able to be processed, the temporary datastore may grow to occupy a large amount of disk-space. To delete the data present in various profiles of Enterprise Server, clear Clearing ESB Server Database

 

Panel
Environment

Change Management

Use Named Configuration

Configuration set for a particular service instance can be stored by a name to reuse the configuration in other service instances in future. Using named configuration support, configurations can be predefined and the name of the predefined configuration can be linked/transferred to all Service Instances. Though the actual configuration has only one location, as it is referred to by multiple Service Instances, making changes to the named configuration will affect all Service Instances automatically. So, to advance the process of Event Process Orchestration and Change Management within the Fiorano Event Processes, refer the Named configurations section.

Event Process Life Cycle Management

Event Processes in Fiorano can be assigned a label which denotes the environment in which it should run and configuration can be defined for all required environments. When required the event process can be changed from one environment to another by click of a button in eStudio or can be automated using scripts. Refer this page to understand how it works.

Automate Environment Migration

...

When migrating from one environment to other, it is better to use CLI tools to automate the process. Refer Work with Command Line Interface (CLI)

...

To make changes to resource URLs (like URL in HTTPAdapters) based on environment in such scenarios, the environment value is provided as a JMS property in the message. It can be used in scripts/if-then-else funclets to adapt to the URL based on the environment. Refer Change Resources based on Environment property section to check how to do this.

 

Panel

Development

Event Process

Use Service Launch Order

To launch and/or stop microservices, present in an event process, in a predefined order use Service Launch Order.

Load Balancing

Used Load Balancing to distribute the messages to multiple business services for processing. To enable service-level load balancing on a service, run multiple instances of the service on the different ESB Peers and routes incoming data to the multiple running instances via a Distribution Service. Refer the Load Balancing section where an example is mentioned.

Scaling

It is critical to ensure that the platform scales both with current projects (likely in themselves to be highly distributed, probably across company boundaries) and with future growth. To address scalability issues refer the Scaling section

Components

Changing Business Logic

Customize Business logic of new components by modifying the logic. Refer the Modifying Business Logic section.

Samples

Fiorano provides an extensive set of samples which provide best practices to affect certain changes to the components generated using Fiorano SDK, like providing multiple ports, generating user defined CPS. Each of the samples are accompanied by a readme.txt which lists out the steps to make changes.

 

Panel

Security

Web Service Security

It is critical that web services which are exposed in Fiorano are secured properly. Security can be different for different types of web services and can be enforced at different levels.

Jetty Security

All SOAP and REST based web services in Fiorano are hosted in a Jetty Server. Jetty Server provides the baseline security for the web applications hosted.  Refer Manage Jetty Security section to understand the best practices with respect securing Web Services hosted on Jetty.

SOAP Web Services

SOAP web services are hosted using the WSStub component. It is a good practice to secure these web services using WS Security standards. Refer Web Service Security example and components documentation 

REST Services

In case of REST services, API keys can be used to restrict access to certain users. Configuration and usage of API keys are explained in Additional configuration section in RESTStub.

Application Security

Always define user permissions on Applications to control unauthorized access to sensitive information. To perform this, refer the Access Control List (ACL) based security section.

Improve the security of messages that flow between components through an active flow by adding Port or Route Encryption to the messages. Refer the Message Encryption section.

Server Security

Establish secure communication between Enterprise server and Peer server by configuring the protocol parameters in the server profiles; refer the Enable Server Level Security section.

 

Panel

Monitoring

Monitor using Event Process

Handle Errors using Exception Listener microservice

Utilize the capability of ExceptionListener component which acts as a global exception listener subscribing to exception messages occurring in any service component of any running event process. The Perform Error Handling section gives a brief description of its working.

Publish report in Windows Event Viewer

Windows users can enable to write Fiorano logs to Windows Event Viewer for convenience. Refer the Write Fiorano Logs to Windows Event Viewer section.

Monitor using Callouts

For more fine-grained monitoring of events happening in a flow, it is possible to define callouts at the port level. Refer the Configure SBW Callout section.

Document Tracking

The entire activities of microservices can be tracked using the Dashboard by enabling Document Tracking option.

Refer to the Document Tracking page to know how to

  • enable Document Tracking in a Workflow of an Event Process
  • create SBW Tables Manually (if the servers lack permissions to create SBW tables)

Refer Document Tracking in Dashboard to track them in the Dashboard.

Panel

System Management

Linux Level Configuration

Refer the Manage Linux System-level Configuration section.

Clone VM

For Virtual Machine (VM) users, use It is a good practice to clone the VM that is preconfigured with Fiorano installation and set up with Java, lock files etc. Use cloning to make copies of a virtual machine from an already configured machine; these copies reflect the entire file system (with the installation files etc), configuration and settings of the VM from which it is copied.   Refer To understand how to prepare your system to clone with Fiorano and changes that needs to be done after a machine is cloned,  refer the Clone a Virtual Machine section.

 

Panel

Recovery From Failures

Disaster Recovery Environment

It is a good practice to have a separate environment for disaster recovery in a different network than actual deployment can be employed in case of systems which are highly sensitive to failure. The different disaster recovery topologies are discussed in the deployment topologies page.

Re-inject Failed Documents

In case a component fails to process a message, doc tracking helps to re-inject this message into the system to make sure we do not lose content that needed processing; refer It is recommended to have tracking points in flows where manual replay of messages is not possible or is cumbersome. Fiorano document tracking enables defining important points in an event process and replay any failed transaction from that point. The messages to be tracked are saved in a data store in asynchronous manner without any affect on server performance. Refer the Re-injecting Failed Documents section to perform this.

High Availability

The importance of 24X7 service availability and the growing importance of conducting real-time business are driving the demand for High Availability Enterprise Systems. The goal is to maximize system availability and eliminate any single point of failure. The High Availability section discusses the High Availability (HA) features provided by the Fiorano Platform.

Panel

Miscellaneous

Deleting Document Tracking (SBW documents) data

To save some disk space, you may schedule a deletion task for the old SBW documents that are tracked; refer How to schedule Deletion of SBW Documents section. This helps in avoiding issues like Low Disk Space error.

 events are temporarily stored in persistent database that are created during runtime data of the Enterprise Server. After an event has been processed, it gets deleted from the temporary store. If these events are not able to be processed, the temporary data store may grow to occupy a large amount of disk-space. To delete the data present in various profiles of Enterprise Server, clear Clearing ESB Server Database

 

Adaptavist ThemeBuilder EngineAtlassian Confluence