ISM Manual
  • Overview
  • Features
  • Components
  • Directory Structure
  • Startup/Shutdown
  • ISM Admin UI
    • Dashboard
    • Flow
    • Job
      • Schedule
    • Channel
      • AMQP
      • Mqtt
      • sFTP
    • Interface
      • System
      • Data Structure
      • Field Group
      • Field
    • Web Service
    • Utility
    • Admin
    • Result
  • Tasks
    • Control Task
      • Route
      • Split/Join
      • Mapping
    • FTP
      • FTP Input
      • FTP Output
      • FTP Transfer
    • DB
      • SQL Executor
      • SQL Batch Executor
    • File
      • File Input
      • File Output
      • File Validator
      • Record Extractor
    • Excel
      • Excel Reader
      • Excel Writer
    • Flow
      • Flow Execution
      • Wait Sub
    • Web Service
      • REST Client
      • Web service Client
    • PGP
      • Encrypt
      • Decrypt
    • Cloud
      • SharePoint
      • Amazon S3
      • Google Cloud Storage
    • Others
      • Email Sender
      • LDAP Client
      • Function
      • Script
      • Java Class
  • REST Service
  • Trouble Shooting
  • Logging Configuration
  • Implementing a Task
  • Custom Class
  • Frequently Asked Questions (FAQ)
    • What is XNARUM Integration Service Mastery (ISM)?
    • What is the purpose of XNARUM?
    • Can XNARUM be customized to specific integration requirements?
    • Is XNARUM scalable?
    • Does XNARUM provide support and maintenance?
Powered by GitBook
On this page
  • Runtime engine
  • Cache
  • Flow controller
  • Plugins
  • Admin UI

Components

PreviousFeaturesNextDirectory Structure

Last updated 1 year ago

This is the component diagram of ISM.

Graphical user interface Description automatically generated with medium confidence

Runtime engine

This component is the running instance of ISM and this engine can be multiple per machine. This engine runs as a web server for web services or REST services. ISM uses Wildfly-10 version currently.

Cache

Two caches are used for faster transaction processing. H2 and Derby contain flow caches and these caches consist of the followings.

· Flow definition

· System information

· Data structure

The information can be loaded when the request arrives, but It??�s recommended to load data to cache before the transaction. The data in the database are just flat records. The data need to be transformed into an object to be used and several tables are used to store a flow information. Loading and converting into a flow takes time and this degrades the performance.

The information in the cache is already binary object, retrieved once and used until the instance is shutdown during runtime. Loading data into cache is called publishing in ISM. If a flow is modified, publishing is used to update the cache.

Flow controller

Flow controller controls the processing of flows. Flow controller finds the entry point of a flow and execute the flow according to the path. The component in each step is a plugin called Task and Flow controller loads this plugin and executes. Flow controller receives parameter from the external client or scheduler and passes to the components.

Two types of tasks are used.

1. Control Task

These tasks are used to determine the direction of the processing.

· Start

· End

· Router

· Split/Join

2. Function Task

These tasks are specific functions like file operation, (s)ftp operation, database operation and others.

If a flow is executed asynchronously and retry count is greater than 0, when this transaction fails in a certain step, it is executed again where it failed with same parameters.

If email notification is enabled for a flow and it fails, email notification is sent.

Plugins

Plugins are java classes which implement TaskHandler interface and loaded dynamically by Flow controller. Flow controller scans a specific directory ??? custom and this directory is where all the custom classes are located. If a new plugin is uploaded to custom directory, that function is loaded automatically and used via Admin UI.

If a new version of a function is uploaded, that new version is used right after the upload.

Admin UI

Admin UI is a single web console for entire user operations and jetty web server is used.

Designing flows, monitoring transactions, configuring schedules and other operations are performed through Admin UI.