
Incasu (Pty) Ltd proudly presents INTEGRAT©, an integration utility that facilitates integration of data between any number of systems, using JScript© classes and user-definable scripts. INTEGRAT© gives you the ultimate flexibility to do systems-integration without the normal hassle to develop an integration framework for every integration requirement.
There are many possible scenario's where INTEGRAT© could be used effectively. The following are just some of its possible uses – you as the user may have many more scenario's where INTEGRAT© can be applied successfully:
- Transfer transactional data generated by one system to other systems, reading the data from a database or reading it via an OLE-automation object, writing the data either to another database, sending e-mail, post XML/HTTP documents etc.
- Export daily financial information to CSV-formatted text file to be imported by a financial system like Pastel, AccPac etc.
- Monitor data tables for some conditions to be true in order to populate or amend data tables in the same system i.e. becoming part of the internal processing of a single system e.g. for every new user added to a system, add a security profile (access control list) over-and-above that which the system supplies.
- …
The following are some key features of INTEGRAT©:
Structured integration environment
INTEGRAT© runs within a managed environment (Windows application) wherein most of the typical integration requirements are present like store-for-forward capabilities, error handling and logging of events. User-friendly windows allow the user to configure the environment and integration processors to suit the specific needs. Several of the provided JScript© classes and objects links the managed environment and the processing to customize the specifics of the implementation.
Full JScript© language support
All scripting is done using JScript© which is a powerful scripting language, specifically targeted at the Internet. In this implementation of JScript©, a framework of global classes and objects is provided with which the user can perform integration actions, similar to using JScript© within MS Active Server Pages. The MS Windows scripting engine is used to execute the script – therefore the full capabilities of the JScript© language is available to the INTEGRAT© user.
Another excellent feature of JScript© is the ability to use OLE-automation objects (including ActiveX objects). This opens a multitude of possibilities to include 3rd party functionality to an integration effort. Microsoft Corporation provides a whole host of OLE-automation objects like ADO, XML/HTTP, MS SQL automation, MS Outlook and MS Office objects.
Connectivity to any data source that has ODBC or MS OLE DB-Provider capabilities
With the ADO objects, the INTEGRAT© user can provide data access to any ODBC- or MS OLE DB-Provider data source. A processor can be set up to read from a data source and add the message to the INTEGRAT© persistence layer. Another processor may then pick-up this message, re-format its information and write it to another data source. ADO is a feature-rich set of objects that provides the user with all functionality present within a SQL data engine to read and manipulate data.
Built-in global classes and objects
The database of the INTEGRAT© engine can be any ODBC database of the user's choice. This allows the built-in global classes to access and manipulate engine data. These classes are IntMessage (integration messages received or manipulated by processors that can be exported to target data sources), IntError (saving of errors generated by a processor), IntSetting (saving and retrieving of values used by a processor in its actions) and IntLog (logging of processor events for later analysis).
For each of these global classes (and more), an object is created and initiated by INTEGRAT© to ease the use of the global classes. For example, the object GMsg is created and initiated internally by INTEGRAT© to allow the user to read or write integration messages – without having to manage the underlying ADO code to read or write to the SQL data source.
A result class IntResult is available to indicate results of method calls. Most methods of the provided classes return a variable of this type to indicate the success of the method call. A global object GRes is also generated by INTEGRAT© to evaluate whether the processor must continue with processing. If the GRes.Code property is non-zero, the processing will stop and the processor will closedown.
Flexible Processing
Each processor has 3 script code segments to execute. The Pre-Loop code segment is executed at the start-up of the processor. This is typically where local variables are declared and initiated. The Loop code segment is executed regularly (separated by a user-provided interval) supplying the "business-logic" of the processor. The Post-Loop code segment is executed before termination of the processor. Closure code can be supplied typically to close database connections.
Any number of processors can be implemented in INTEGRAT© to facilitate a complex requirement. An example of this is where a newly added sales order in one system must be written to a financial system and, if new stock is required, an e-mail message must be sent to a supplier to order the stock. The sales order transaction can be picked-up by a processor and the order detail written to an integration message. A second processor can pick up this message, create one message for the financial entry and a second for the e-mail to order stock – each can be placed on a separate "queue" or topic to be picked up by other processors. A third processor can pick up the financial message and write it to the financial system. A fourth processor can pick up the stock order information, formulate the e-mail message and send it off to the supplier. It is true that all of this can be done by one processor alone, but this example explains that the architecture of INTEGRAT© allows the user to implement as many layers and types of processing as required.
Set up Actions for a typical implementation of INTEGRAT©
- Business process analysis
- Each integration solution requires a thorough analysis of the required processing to integrate two or more systems.
- A design of the proposed solution can only be done once the business requirements are clearly defined using intuitive techniques. A flow chart of actions and decisions can greatly aid this process, or a set of UML diagrams (use-case, class hierarchy and/or state-transitions diagrams) can be used to describe the business processes.
- The end-result of this phase should clearly indicate the types of events for which messages must be picked up, the transformation of the event info and the target systems messages must be written to and their format.
- Topics and Processors
- A topic represents a category of messages – all messages linked to a topic represents business information in a certain format.
- The topics in INTEGRAT© is set up with a descriptive name to indicate the status of information.
- Ideally a processor is planned and developed to perform a single task, mapped back to the business requirements.
- Special consideration should be kept for the persistence and integrity of the messages – what would happen if the source or target systems are unavailable for some reason, what if an unpredictable event alters the data in a source system etc.
- Testing and implementation
- The next step is to test the integration solution.
- To test different scenarios, input processors can simulate the conditions by adding "dummy" messages into INTEGRAT© as-if acquired by the source system.
-Implementation requires all test code and debug messages to be removed and a careful evaluation of the integration results for a period of time to verify that the solutions works successfully.
- Logs
- Any processor can add logs to allow an analysis of the processing.
- This can include processing times, calculation results or any other metric that can be used to evaluate the performance of the processor – which will aid in the improvement of the processor.
- Another use for logs is to provide a means to supply an audit trail for auditing purposes. In some cases it is a requirement to have an audit trail to provide a legal basis for business events.
- In general logs are helpful, but they can add severely to the processing overhead and performance of a processor – they should be used sparingly.
Requirements to use INTEGRAT©
- Windows operating system, specifically Windows 2000 or later – if an older version needs to be used, the Microsoft Scripting Engine must be pre-loaded (available from their WEB-site).
- A working knowledge of JScript© is a must-have. This forms the basis of the success of INTEGRAT©
- Typically most data sources and targets would be databases. Therefore a working knowledge of ADO is almost a must-have. Microsoft have provided extended reference documents on both JScript© and ADO as part of MSDN or available from their WEB-site.
- The INTEGRAT© engine requires an ODBC database to run on. The user can choose the type of database to use for this purpose. The system is developed and tested primarily using MS SQL Server as the local database, but any other database can be used which is accessible through ODBC.
In Conclusion…
INTEGRAT© really provides a cost-effective integration solution when compared to the efforts to develop a similar structured integration framework or to use more expensive products to perform similar types of processing.
This product supplies its users with a powerful means to integrate and add functionality to existing systems without requiring changes in those systems.