MIF Workshop Raquel Bortoluci Sep 2012

Preview:

Citation preview

© 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