mif workshop raquel bortoluci sep 2012
TRANSCRIPT
© 2011 IBM Corporation
®
Integration Framework Integration Framework
IBM Software Group | Lotus software
IBM Software Group | Tivoli software
IBM Confidential – For Internal Use
Only
History
Integration has been an integral part of the Enterprise Asset Management system Maximo for more than 10 years.
The first integration used PL/SQL with triggers and store procedures. It was called the MIG (Maximo Integration Gateway).
When Maximo began conversion to Java. The JMIG (Java MIG) was implemented in the Maximo version 4.x.
When Maximo was fully implemented in Java the JMIG was renamed MEA (Maximo Enterprise Adapter) for Maximo 5 and 6.
With the acquisition of MRO Software by IBM the integration was renamed Integration Framework and is part of the Tivoli process automation engine used for several IBM applications
IBM Software Group | Lotus software
IBM Software Group | Tivoli software
IBM Confidential – For Internal Use
Only
Introduction: Maximo Integration Framework
3
Integration
Framework
External
System
Application
Synchronization/
Integration of data
The integration framework is a set of applications that help you to integrate the system to your external applications. You also can create business flows between the system and your external applications.
IBM Software Group | Lotus software
IBM Software Group | Tivoli software
IBM Confidential – For Internal Use
Only
Asynchronous processing means the two systems do not have a real-time connection. The transaction is sent from the application to a queue then from the queue to the external system. The same thing happens for transactions coming from the external system: the transaction is sent from the external system to a queue then from the queue to the application.
Synchronous processing means the two systems have a real-time connection. The transaction is sent from the application directly to the external system. The same thing happens for transactions coming from the external system: the transaction is sent from the external system directly to the application.
Asynchronous X Synchronous
IBM Software Group | Lotus software
IBM Software Group | Tivoli software
IBM Confidential – For Internal Use
Only
Cqin - Continuous inbound
Cqinerr - Continuous inbound error
Sqin - Sequential inbound
Sqout - Sequential outbound
Queues - definition
IBM Software Group | Lotus software
IBM Software Group | Tivoli software
IBM Confidential – For Internal Use
Only
Properties: The Integration Framework system properties start with mxe.int.xxx.
mxe.int.globaldir: Specifies the global directory to install Service Request Manager.
mxe.int.webappurlSpecifies the URL of the main installation to Service Request Manager.
IBM Software Group | Lotus software
IBM Software Group | Tivoli software
IBM Confidential – For Internal Use
Only
IBM Software Group | Lotus software
IBM Software Group | Tivoli software
IBM Confidential – For Internal Use
Only
Object Structure: Defines the content of a message sent to an external system or the content of a message received from an external system.
IBM Software Group | Lotus software
IBM Software Group | Tivoli software
IBM Confidential – For Internal Use
Only
Activity: Create a Object Structure for Job Plan
• Enter Object Structure and Consumed By
• Enter Source Objects: JOBPLAN and JOBTASK
• Exclude/Include fields
IBM Software Group | Lotus software
IBM Software Group | Tivoli software
IBM Confidential – For Internal Use
Only
IBM Software Group | Lotus software
IBM Software Group | Tivoli software
IBM Confidential – For Internal Use
Only
A publish channel is the pipeline for sending data asynchronously from the system to an external system.
The records can go through a series of transformation layers using rules (no programming), Java or XSL. The result is an external record that is sent to the external system in a format the external system understands.
IBM Software Group | Lotus software
IBM Software Group | Tivoli software
IBM Confidential – For Internal Use
Only
IBM Software Group | Lotus software
IBM Software Group | Tivoli software
IBM Confidential – For Internal Use
Only
Activity: Create a Publish Channel
• Enter Publish Channel name
• Attach the object created previously
• Enable Listener
IBM Software Group | Lotus software
IBM Software Group | Tivoli software
IBM Confidential – For Internal Use
Only
IBM Software Group | Lotus software
IBM Software Group | Tivoli software
IBM Confidential – For Internal Use
Only
The enterprise service is a pipeline for querying system data and importing data into the system from an external system
The external record can go to a series of transformation layers to convert it to the format that the application using Integration Framework understands.
IBM Software Group | Lotus software
IBM Software Group | Tivoli software
IBM Confidential – For Internal Use
Only
IBM Software Group | Lotus software
IBM Software Group | Tivoli software
IBM Confidential – For Internal Use
Only
Activity: Create an Enterprise Server
• Enterprise Service name
• Attach the object created previously
IBM Software Group | Lotus software
IBM Software Group | Tivoli software
IBM Confidential – For Internal Use
Only
IBM Software Group | Lotus software
IBM Software Group | Tivoli software
IBM Confidential – For Internal Use
Only
End point: Modes that you use to communicate with external applications.
Activity: Edit the End Point
• End point name
• Handler: XMLFILE
• Properties: PRETTYPRINT and FILEDIR
IBM Software Group | Lotus software
IBM Software Group | Tivoli software
IBM Confidential – For Internal Use
Only
IBM Software Group | Lotus software
IBM Software Group | Tivoli software
IBM Confidential – For Internal Use
Only
IBM Software Group | Lotus software
IBM Software Group | Tivoli software
IBM Confidential – For Internal Use
Only
Activity: Create an External System
• Enter System name
• End Point: edited previously
• Enter queue values
• Attach the Publish Channel (enable it)
• Attach the Enterprise Server (enable it)
• Enable the External System
IBM Software Group | Lotus software
IBM Software Group | Tivoli software
IBM Confidential – For Internal Use
Only
IBM Software Group | Lotus software
IBM Software Group | Tivoli software
IBM Confidential – For Internal Use
Only
A cron task, which is a facility in the Tivoli process automation engine that enables the scheduling of jobs, checks the queue and sends any records in the queue to the external system.
Activity: active JMSQSEQCONSUMER crontask
Sequencial queues are processed using the cron task
IBM Software Group | Lotus software
IBM Software Group | Tivoli software
IBM Confidential – For Internal Use
Only
IBM Software Group | Lotus software
IBM Software Group | Tivoli software
IBM Confidential – For Internal Use
Only
The continuous queues are processed using instances of a Message Driven Bean that is comes with the Integration Framework.
The MDB is a java class that is called to receive a message passed to it from the JMS queue. This process is like trigger: as soon as a message arrives in the queue the MDB is called and a message is passed
..\SMP\maximo\applications\maximo\mboejb\ejbmodule\META-INF
ejb-jar.xml
ibm-ejb-jar-bnd.xmi
IBM Software Group | Lotus software
IBM Software Group | Tivoli software
IBM Confidential – For Internal Use
Only
IBM Software Group | Lotus software
IBM Software Group | Tivoli software
IBM Confidential – For Internal Use
Only
Activity: Perform an outbound operation
• Go to external system → publish channel and export it.
Verify XML file
• Listener
Create a new job plan
Verify XML file
IBM Software Group | Lotus software
IBM Software Group | Tivoli software
IBM Confidential – For Internal Use
Only
Activity: Perform an inbound operation
• Change the XML file in order to do the import
Go to external system → enterprise service, the enterprise service for
the job plan and import it.
• Cron task – XMLFILECONSUMER
IBM Software Group | Lotus software
IBM Software Group | Tivoli software
IBM Confidential – For Internal Use
Only
ACTION Column
IBM Software Group | Lotus software
IBM Software Group | Tivoli software
IBM Confidential – For Internal Use
Only
Using Interface Interface Tables
Interface tables are used for outbound or inbound transaction.
Outbound transactions: The message is sent to the outbound queue and then the router sends the transaction to the end point for interface tables.
Inbound transactions: An external system writes the data to interface tables and a polling cron task reads from the interface table, converts the data to XML, and writes the data to the inbound queue.
IBM Software Group | Lotus software
IBM Software Group | Tivoli software
IBM Confidential – For Internal Use
Only
Outbound
Transactions
IBM Software Group | Lotus software
IBM Software Group | Tivoli software
IBM Confidential – For Internal Use
Only
Inbound
Transactions
IBM Software Group | Lotus software
IBM Software Group | Tivoli software
IBM Confidential – For Internal Use
Only
Object Structure for Interface Table
Should support Flat Structure
With no alias conflict
IBM Software Group | Lotus software
IBM Software Group | Tivoli software
IBM Confidential – For Internal Use
Only
The Interface Table should be set in Publish Channel and in
the Enterprise Service
IBM Software Group | Lotus software
IBM Software Group | Tivoli software
IBM Confidential – For Internal Use
Only
The Interface Tables can be local or remote.
IBM Software Group | Lotus software
IBM Software Group | Tivoli software
IBM Confidential – For Internal Use
Only
Creating Interface Tables
IBM Software Group | Lotus software
IBM Software Group | Tivoli software
IBM Confidential – For Internal Use
Only
The cron task reads from the interface table, converts the data to XML, and writes the data to the inbound queue
IBM Software Group | Lotus software
IBM Software Group | Tivoli software
IBM Confidential – For Internal Use
Only
Perform outbound and inbound operations using Interface Tables
IBM Software Group | Lotus software
IBM Software Group | Tivoli software
IBM Confidential – For Internal Use
Only
Web Services Concepts
Web services is a distributed computing approach that is language and platform independent. It does not require a specific environment and it is not dependant on a specific language.
Web services are loosely coupled. They expose only the external interfaces.One of the most important characteristics of Web Services is that they are based on Standards
Data is represented in XML which is a standard for data representation.Web services are self describing and discoverable using WSDL and UDDI.Web Services use the SOAP standard protocol of communication.
IBM Software Group | Lotus software
IBM Software Group | Tivoli software
IBM Confidential – For Internal Use
Only
A transaction can be sent asynchronously through the queue to a Web service end point or a transaction can be sent with a synchronous call to the end point.
The asynchronous case requires configuring of the end point and assigning the end point to an external system or a publish channel.
Synchronous processing requires the creation of a Java class to call the end point. The Java class can be executed from a menu action, from a button in the current application, or from customization in an attribute validation, or Mbo customization.
Integation Framework for Web Services
IBM Software Group | Lotus software
IBM Software Group | Tivoli software
IBM Confidential – For Internal Use
Only
Creating Web Service from Object Structure
For the object structure the process is always synchronous. In these two cases there is not a transformation layer. That means that the XML transaction cannot be modified before it is processed by the object structure
IBM Software Group | Lotus software
IBM Software Group | Tivoli software
IBM Confidential – For Internal Use
Only
Deploying and Verifying WSDL
Global Dir
IBM Software Group | Lotus software
IBM Software Group | Tivoli software
IBM Confidential – For Internal Use
Only
End Point
IBM Software Group | Lotus software
IBM Software Group | Tivoli software
IBM Confidential – For Internal Use
Only
Query example
IBM Software Group | Lotus software
IBM Software Group | Tivoli software
IBM Confidential – For Internal Use
Only
Create example
IBM Software Group | Lotus software
IBM Software Group | Tivoli software
IBM Confidential – For Internal Use
Only
IBM Software Group | Lotus software
IBM Software Group | Tivoli software
IBM Confidential – For Internal Use
Only
IBM Software Group | Lotus software
IBM Software Group | Tivoli software
IBM Confidential – For Internal Use
Only
Questions