Вы находитесь на странице: 1из 30

WEBMETHODS CONCEPTS

CHAPTER 1: THE ROAD TO 
EAI
Who, why, when, where and how of EAI
INTRODUCTION
 Why Enterprise Application Integration (EAI)?
 Business applications rarely live in isolation
 Users expect access to all business applications
 Disparate applications needs to be connected to 
provide a larger, integrated solution
 How is EAI achieved?
 Some form of “middleware” to provide the plumbing
 Data transport, transformation and routing are the 
main functions in a EAI solution
INTEGRATION SCENARIOS
 Enterprise applications (A2A)
 Integrations of different applications within the 
enterprise
 Extended enterprise (B2B)
 Integration between businesses

 Collaboration
 Interaction between end users and systems

 Access Integration
 Integration of end users with backend applications 
and data sources
EAI TOOLS
 IBM WebSphere MQ
 TIBCO

 Vitria

 Mule

 webMethods

 BizTalk

 IONA

 JBoss

 (Fevicol?)

Source: Forrester, Q3 2009
  WEBMETHODS ARCHITECTURE 
COMPONENTS
DEVELOPMENT ARCHITECTURE
WEBMETHODS ESB (7.1.2 AND 
ABOVE)
Integration Server
Broker
Adapters (>100)
ADK (custom adapter)
Process Runtime (PRT)
Task Engine (Human tasks)
Monitor
Optimize

Developer (IS Services)
Designer (BPM & CAF)

My WebMethods Server (MWS) 
Modeler     Designer
 – Single Admin/Monitoring tool
Workflow  Task Engine
 – CAF Runtime
Monitor     MWS
THE COMPLETE PICTURE
WORKSHOP 1
 Install IS, Broker, MWS
 Start IS

 Login to IS Admin Console

 Create a new development user

 Set access permissions for the new user (ACL)
WORKSHOP 1 – EPILOGUE
 Pipeline
 Data structure that 
maintains a service’s 
variables
 Starts with input to a 
flow service
 Collects inputs and 
outputs from 
subsequent services to 
the flow
 When a service in a flow 
executes, it has access to 
all the data in the 
pipeline at that point
FLOW STEPS
Executes a specified flow based on the value of a 
Branch specified variable in the pipeline
Executes a set of flow steps once for each element in a 
Loop specified array

Sequence Groups sets of flow steps into a series
Re­Executes a set of flow steps up to a specified number 
Repeat of times
Performs specified editing operations on variables in the 
Map
pipeline

Exit Controls the execution of a flow, e.g. Exit LOOP or 
REPEAT
Invoke Executes a specified service
WORKSHOP 2
 Create a flow service to use the 
 Branch step (using the switch property)
 Loop step
 Sequence step
 Repeat step
 Map step (to use transformations)
 Invoke step
 Exit step

 Create new Document Types & Specification
 Use the doc types as input/output to services

 Administration
 Package Management
WORKSHOP 2 – EPILOGUE
Data Type Description
String String of characters.
StringList One dimensional string array.
StringTable Two dimensional string array.
Document The contents of a document are stored as 
key/value pairs.
DocumentList One dimensional array of IS Document types.
DocumentReference A document whose structure is defined by an 
IS document type.
DocumentReferenceL A document list whose structure is defined by 
ist an IS document type.
Object A data type that does not fall into any of the 
above category.
Object List One dimensional array of Objects.
WORKSHOP 2 – EXERCISE
 What are the advantages and disadvantages of 
using transformers?
 Create a flow service to use the
 Branch step (using the Evaluate Labels property)
 Repeat step (3 times, with a timeout of 200 seconds)

 For a “Branch” step, list the scenarios where you 
would use
 The “Switch” property
 The “Evaluate Labels” property

 What are the advantages and disadvantages of 
using specifications?
WEBMETHODS JDBC ADAPTER
 Provides user interfaces, services and 
templates to create integrations with 
databases using JDBC
 Adapter enables you to configure:
 Adapter Connections
 Adapter Services
 Adapter Notifications

 Is provided as a package named 
WmJDBCAdapter
 WmART is the super­package for all 
adapter packages
BUSINESS INTEGRATION USING 
ADAPTER
TEMPLATES & TRANSACTIONS
 Templates  Transactions
 Select SQL  NO_TRANSACTION – auto 
 Insert SQL commit
 Update SQL  LOCAL_TRANSATION – one 

 Batch Insert SQL adapter service, flow service or 
 Batch Update SQL
java service
 XA_TRANSACTION – two 
 Delete SQL
phase transactions executed 
 Custom SQL
across multiple databases
 Dynamic SQL
 Transaction services are at 
WmART.pub.art.transaction
WORKSHOP 3
 Install JDBC driver on the IS
 Create new
 Adapter Connection
 Adapter Service

 Invoke the adapter service from a flow service
 JDBC Adapter Logging & Exception Handling

 Display JDBC connection statistics
WORKSHOP 3 ­ EPILOGUE
 JDBC Data Type to Java Data Type Mapping
 Normal data type mapping
 The JDBC Adapter does not support the 
TIMESTAMP WITH TIME ZONE and TIMESTAMP 
WITH LOCAL TIME ZONE data types in Oracle 10g.
 The JDBC Adapter does not support user‐defined 
data types, Oracle PL/SQL collections, or Oracle 
PL/SQL records.
 BigDecimal data type can be used and will be 
processed, but will not be displayed correctly
 Special considerations for java.sql.Struct and 
java.sql.Array data types
 BLOB and CLOB supported, but use with streams
WORKSHOP 3 ­ EXERCISE
 Create an Adapter Notification and associated 
services
 Create Adapter services of the type
 Custom SQL
 Dynamic SQL

 Create a new Adapter Connection 
programmatically using flow services
 How will you suppress the logging of JDBC 
errors?
 How can you change the adapter connection
 During design time?
 During run time?
PUBLISH­SUBSCRIBE MODEL
 Type of message based solution
 Messages are exchanged anonymously through a 
message broker
 Information producers will publish messages to 
the message broker
 Specific type of recognizable documents

 Information receivers will subscribe to specific 
document types
 Information receivers process or perform work 
using the document
 May or may not send a response to the publisher
WEBMETHODS PUB­SUB 
COMPONENTS
 Elements of Pub­Sub
 Documents
 Publishable Document 
Types
 Triggers
 Services
 Canonical Document
WORKSHOP 4
 Create a new Publishable Document Type
 Create a Trigger that invokes a flow service on 
receiving the above publishable document type
 Create a flow service that publishes the above 
publishable document type ‘n’ times
 Trigger administration
PUBLISHING PROCESS

1. Validation against publishable document type
2. Dispatcher works behind the scenes for publishing the document
3. Document is sent to the broker
4. Volatile = Memory, Guaranteed = Physical storage
5. Broker routes document to subscribers
a. Places a copy of document on each subscriber client queue
6. Broker returns an acknowledgement for guaranteed documents, 
connection is released from pool
7. IS returns control to publishing service, executes next step
PUBLISHING WHEN BROKER IS NOT 
AVAILABLE

1. Normal flow
2. If document is guaranteed, dispatcher stores it in Outbound Store
a. If volatile, exception is thrown
3. When IS reconnects to the broker, connection is obtained from the pool
4. IS automatically sends the document from Outbound Store to Broker
a. IS uses single connection to empty outbound store
5. Normal flow
6. Normal flow
SUBSCRIBING PROCESS
WORKSHOP 4 EPILOGUE

Local
Publishing
WORKSHOP 4 EXERCISES
 How is the adapter notification related to the 
pub­sub model?
 What are the various trigger properties that you 
can work with? 
 Implement different triggers with various properties

 What is the difference between
 Guaranteed Document Delivery and
 Guaranteed Document Processing

 What happens when the “IS document is 
synchronized with the Broker”?
 What would you call a Pub that sells a Sub?
Thank You – 
Questions ?

Вам также может понравиться