Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
Web Services Integration using SOAP & CASP for
WebSphere
presented by:
Michael S. PallosSenior Solution Architect
IBM Certified Systems Expert:WebSphere MQ 5.2
e-Business Solution Technologiste-Business Solution Designer
Candle Corporation
Build
Manage Run
Candle Application
Services Pac (CASP)
3
Agenda
Build
Build
From the Web to Web and Application ServicesIntroduction to directory based Service Oriented Architecture (SOA)Reaching out and reusing backend systems and applications Infrastructure services for agile and flexible integrationProactive management of Web and Application Business Services Q&A
Run
Manage
4
Agenda
Build
Build
What is Candle Application Services Pac (CASP)Introduction to directory based Service Oriented Architecture (SOA)Reaching out and reusing backend systems and applications Infrastructure services for agile and flexible integrationProactive management of Web and Application Business Services Q&A
Run
Manage
5
What is CASP?
CASP is a toolkit for WebSphere WSAD / WMQ / WMQI / WAS
development & monitoring.
6
What are the CASP tools?(WebSphere MQ)
1. Open Source API2. File Transfer 3. Data Transformation 4. Simple Microflow5. Systems Management
7
Why an Open Source Wrapper ?With Open Source, you are not tied to the vendor.Save money on developers.Save programmers from making expensive mistakes.Move MQ “knobs and dipswitches” out to a directory.
• Typical build time is 3 to 6 months architect/developer.– Ongoing maintenance and support issues.
• No need to learn what’s underneath the wrapper.• Allows for adding more functions – hidden under the
wrapper.• Open Source means that you can retrofit your existing
wrappers without changing existing programs.
“CASP [Open Source APIs] ability to externalize the MQ configuration is exceptional.” -Architect, Florida Health Care
8
Why File Transfer ?Current choices– Use the IBM Sample programs shipped with MQ – file to Q,
Q to file.– FTP that comes with TCP/IP.– Home grown (in/out/self sourcing)– A Cadillac
CASP is middle of the road and priced accordinglyPuts Your File Transfer Process process under the same management as messages.Compression
“I am amazed at CASPs ability to import our entire Floor Plan copybook in one pass.”
- VP of Architecture Financial Services
9
Why Data Transformation ?
Start small, move to a complex Broker if needed It’s an entrée to XML (because it does XML)Import Copybooks and DTD’sNo scripting language – GUI drivenTransformation knowledge is moved
“out” to a directory
“The CASP product is very easy to use.” – Software Engineer, Insurance
10
Data Transformation highlights.
Action Builder makes it easy to define mapping rules for transformation.
11
Why Microflow ?
Saves writing “routing” programsSimpler and cheaper than leading workflow products.Don’t need to hard wire Q names etc.Allows you to dynamically change business logic AFTER it’s written and in production.
– Service-Oriented Architecture
12
Microflow patternLoanService
13
Why Systems Management ?Things like “Audit” and “Logging” are used by most customers for message replay.– Which costs 2-3 months to build yourself.
Error Management System (EMS) allow you build common reusable error management processing.Feeds into vendor products – CCC, Omegamon XE.Allows a “deeper” view than just MQ Monitoring -
getting ready for serious computing
Candle Leads the WebSphere MQ Monitoring and Management Market Place –
GartnerGroup, 2001
14
Candle’s Systems Management.
Source: GartnerGroup, June 2001
MQSeries Monitoring Magic Quadrant
15
CASP: Candle Application Services Pac !
A toolkit for WebSphere MQ1. Open Source API2. Transformation3. File Transfer4. Microflow5. Systems Management
16
What are the CASP tools?(Web Services– WSAD/WAS)
1. Web Services / 2. SOAP Processor3. Message Driven Beans4. EJB Content-Based Routing5. Full IBM Integration (CICS/IMS/WMQI)6. Systems Management
17
Web and Application Services
Reduce projects and maintenance costs by 50%– Faster completion of projects with less code and
complexity– Reduce cost by reducing the number of
developers and consultants required to complete a project
– Reduce risk by using proven technology that includes prepackaged services
18
Web ServicesWeb services directory allows services to be invoked dynamically using XML and internet standards from a program or Web browser– UDDI is a specification for web-based information
repositories of Web Services– UDDI uses TCP/IP, HTTP, XML, SOAP and
WSDL to allow uniform service description format and service discovery protocol
– Services in WSDL that allow businesses to publish and find them
19
Web Services
Web Services are the next step in the evolution of the World Wide Web
Enterprise Java Beans
GetBalance
TransferFunds
SOAP Server
Application ServerUDDIDirectory
WWW
Clientor
Program
20
Websphere
Beanpool
MQconnection
pool
Service Message Flow through CASP Message Driven Beans
BusinessComponent
BusinessComponent
ServiceInq
UserEJBs
JMS namingservices
Connectionlayer
Accesslayer
Model /Business Logic
layer
View / Controller
layer
Servlet
BusinessServices
Inquire(..)z
Directory Services
CASP MDB parts
Key
CASP MDB toolkit interfaceparts
Customers applications reuse
MDB
WebSphere parts
Businesselement
ProxyClient
doExec(..)http
WebBrowser
doCall(SOAP)
MDB fwderbusiness element
Businesselement
MQJMS message flow
CASP message flow
JMS
21
EJB Content Based Routing
Websphere
sessionpool
UserEJBs
UserEJBs
View / Controller
layer
Servlet
JSPRoutingService
CejoForwarder
I/F2
Do<Op1>(..)
eBP Directory
cejoEJB
I/F1 BusinessService1
Do<Op2>(..)
I/F3Do<Op3>(..)
www
Webserver(UDDI/SOAP)
firewall
intranet
firewall
Internalusers
Externalcustomers
DesktopApps
eg Call Center
RMI
Cejo parts
Key
Cejo toolkit interface WebSphere parts
Customers applications reused as BS
Dom
ainfirew
all
Protocol
JMS BusinessService2
BusinessService3Business
ServiceN
CICS
IMS
WMQIAPPs
Model /Business Logic
layerAccesslayer
Connectionlayer
22
Simple and Powerful Transformation Engine
Business Services Directory– Metadata Repository– Graphical “Action
Builder” for creating rules stored in directory
Data– Import COBOL
copybooks– Import & export XML
DTD’s
Dynamic conversion of messages– Transformation engine– Application service– Message handling API
- Transforms: XML, Standard record formats (I.e. COBOL)
23
Taking Full Advantage of WebSphere MQ Integrator
Out-of-box solution to integrate WebSphere Application Server with MQSI (WebSphere MQ Integrator)– Automated data warehousing for retrieval and updates– Complex transformation support with data enrichment– Development environment with visual component integration tool– Enterprise data integration and routing
Enterprise Java Beans
Request
SOAP Server
Application Server
CASPClient
MQSeries Integrator
MQSeriesAudit & Log with Replay
Application Manager
Error Analysis Routine
MQSI CASP Node
Transformation
MQSeriesMQ Node
MQ Node
IBM’s UDBDatabase Node
Data Warehouse
24
Why CASP?
Lower Cost– Cost of entry– Total Cost of OwnershipLower Risk – Non-intrusive– Easy to rip out CandleHigher Benefit– Externalize MQ configuration– Strong Data Transformation– End to End System Management
25
CASP: Candle Application Services Pac !
A toolkit for WebSphere MQ1. Open Source API2. Transformation3. File Transfer4. Microflow5. Systems Management
26
Business Application Services
Application services directory allows services to be invoked dynamically in a distributed environment– Conversion automatically occurs between services– Common plug-in for management, logging with replay, error
handling, transformation, etc.– Complete interfaces for messages, error processing and
services
GetBalance Transfer
FundsClient
Funds Transfer Application Service
Get Balance
ServicesDirectory
MQSeries
27
Building for Reuse of Application Blocks
UDDI, WSDL, SOAP and XML, Web Services, combined with Business Services unlock a corporations application investment
Enterprise Java Beans
TransferFunds
SOAP Server
Application ServerUDDIDirectory
WWW
GetBalance
TransferFundsServices
Directory
MQSeriesClientClientor
Program
28
eBP Business Services
Request
WebSphereEJBs
Service: EJB 2Service: EJB 1
SOAP Server
Client: SOAPUDDI Service DirectoryWSDL definitions
Discovery
Webhttp
BE: getBalance
BE: Transfer
eBP EJB
Conector BE: Transfer
Convert
Convert
eBP Directory
Servlet
Client: BrowserService call
Client: JAVA UIRMI
JMS
eBPflows
BusinessFlowsBSC
ServiceDeliveryportals
A Service Oriented Architecture
LDAP
29
RunningWeb Business Services
Easy to understand APIs– Standard EJB interface from
Web Services– Languages C, C++, JAVA,
ActiveX, and COBOL APIs– Ideal for Fire&Forget and
Request&Reply Applications– Business Service API – Error Handling API– Message Handling API
Profiles– Get, Put and Error handling,
client, business application and node profiles
30
Add Value to Business Services while Reducing Risk
Common Plug In-line Services– Recovery with audit and log
with reply– Message tracking, application
availability and response time with application manager
– Application dynamic load balancing
– Common method to handle errors
• Directory based common service
• API interface for application level error processing
Audit & Log with Replay
Application Manager
Error Analysis Routine
Transformation
User ILS
Application
31
Direct Message Handling API XML C++ API– Industry standard XML DOM API– Industry standard SAX API– eBP Helper Functions
Simple to learn, Simple to use: C, C++, Java, ActiveX
Application-based transformationMessage format independent and field level accessGroup.subgroup.field1[2]Element.@attribute
Data type independent: implicit data type conversion
Message content independentTransport independent: Can handle reading/writing records
32
Solvingreal world data conversions
Message Queuing
1st CASP Native
Connector
XML to Copybook
Message Queuing
2nd CASP Native
Connector
Inbound MQ Reply to Queue
Request Queue
CopybookTo XML
MessageQueuing
CASP
Native Server
(Virtual)
CICSSiebel
NC1_Client Reply_To_Queue
Request Queue
NC2_Client Reply_To_Queue
Get
PutPut
Get
Back-EndApp
GetPut
Front-EndApp
Start
XML onlyCopybook only
Request Queue
33
Websphere
AccessBean
MQconnection
poolBeanpool
BusinessComponent
JMSUserEJBs
JMS namingservices
Connectionlayer
View / Controller
layer
BusinessServices
eBP Directory
Cejo parts
Key
Cejo toolkit customizedparts
Customers applications
cejoEJB
WebSphere parts
Businesselement
ProxyClient
http
Browser
Cejo fwderproxy business
element
Businesselement
MQJMS message flow
eBP message flow
htmlServlet
JAVAUI
SOAProuter
RMI
(1)Initiate business
request viaSOAP, browser
or JAVAUI
(2)Business logic
initiates backendtransaction via
businessmethod
“doMyTran()”
SOAPlib
AccessBean
AB
firewall
JAVA method call
(6)Msg Conversion
Beanproperties
eBP EJB Outbound Connection toolkit “cejo” - processing detail
invoke(..)
invoke(..)
eBPProcess(SOAP)
Accesslayer
Business logiclayer busMthd(..)
(3)Access layer mapsbusiness method
to SOAPrequest toeBP BS
(5)Decode and route
SOAP “call”to eBP
BS
(4)JMS transfer ofSOAP requestto Forwarder
(7)Back end transaction
via eBP BusinessService flow
34
Bridging the “Generation Gap” with Reliable File Transfer
CASP File Transfer– Is not FTP and does not use FTP– Transport over MQSeries for reliability– Optional data compression for faster service– Available on multiple platforms
Types of transfer supported– File-to-File– File-to-Message– Message-to-File
Enabling data exchange to/from any type of application Easy to use between Business Units or Business Partners (Fast B2B integration)
35
RunningFile-to-Message Transfer
(MQ/Series)
Sender(Client)
eBP BusinessElement (Server)
Requester
a.doc
File Transfer ConnectorClient Application
XML Request
(MQ/Series)XML Results Data Messages
System ASystem B
System CDatabase(Oracle)
36
Security for Web and Application Business ServicesMQSecure
– Management and distribution of cryptographic Keys (Digital Certificates)
– Type of Security • Authentication - Verification of the sender• Integrity - Detects if the message was altered• Non-repudiation - Undeniable proof of messages received• Privacy - Message should only be read by its addressee
– Application integration• Transparent to application: Plug-in service, MQ channel exits• APIs to tightly integrate with specific application
Security
Application
Security
Application
MQSeries
37
ReducingError Investigation Time
Gather and Analyze – Helpdesk and Application Programmers Diagnostic Tool
38
Managing WebSphere Application Server
Candle OMEGAMON XE for WAS– Detect and report traffic and resource utilization within each
WebSphere Application Server.– Detect activity levels for each Enterprise Java Bean container
defined in each application server.– Detect activity levels for the enterprise bean object pools associated
with each container.– Detect and report statistics on container transactions.– Activity levels for individual EJBs, including method invocation data.– Detect and report utilization and contention for the database
connection pools associated with each application server. – Detect and report activity levels associated with each Web
application running in each application server’s servlet engine.– Report statistical information on HTTP sessions.– Reports showing activity level (CPU time) associated with each class
and class method currently loaded into the JVM.– Thread-related activity, such as CPU time per thread, and the
number of active threads.
39
Managing Every Components
40
ValueWeb and Application Services
Develop applications up to 50% fasterReuse of the large IT assetReduce cost of maintenance up to 85%Realize a faster ROI by reducing application resource and educational requirements