Information Management – Informix
© 2009 IBM Corporation2
Toward a Service Oriented Architecture
Technologies leading to SOA– Remote Procedure Calls– Corba
Concepts– Abstractions – business tasks– Standards
Information Management – Informix
© 2009 IBM Corporation3
Information as a ServiceMoving From a Project-Based to a Flexible Architecture (SOA)
and more…
abc…IBM
IBM ContentManager Oraclexyz…
Heterogeneous Applications & Information
Insight
Information as a ServiceOptimize, Virtualize, Integrate, Accelerate
Data & Content
BusinessContext
InsightfulRelationships
Master Data, Entity Analytics, Decision Portals, Executive Dashboards,Industry Data Models
Extracted or Real-time
Standards-based
e.g., XQuery, JSR170, JDBC, Web Services...
Processes PeopleTools & Applications
Information Management – Informix
© 2009 IBM Corporation4
The “Integration” Challenge
In the 1980s and early 1990s we were buying best of breed point solutions for automating specific business tasks. Result: islands of automation.
Late 1990’s saw a huge push towards integrating islands of automation in to cohesive end-to-end systems:– Large in-house integration projects– Huge investments in to integrated product suites for ERP, CRM etc.
Integration is very hard and very expensive:– requires a lot of planning and coordination between all of the systems
involved– Integrated systems become inflexible and unable to adapt to changes in
business processes
Information Management – Informix
© 2009 IBM Corporation5
The Role of SOA: Solving the Integration Challenge
Systems that can accommodate new business processes and new relationships as needed
Systems based on loosely coupled distributed components Simplify implementations by making components autonomous
and allow them to be used when needed Allow selection of best-of-breed components to lower cost and
deliver higher business value
IBM view for an “on Demand Business”An on demand business is an enterprise whose
business processes – integrated, end-to-end, across the company and with key partners,
suppliers and customers – can respond with speed to any customer demand, market
opportunity or external threat.
IBM view for an “on Demand Business”An on demand business is an enterprise whose
business processes – integrated, end-to-end, across the company and with key partners,
suppliers and customers – can respond with speed to any customer demand, market
opportunity or external threat.
Information Management – Informix
© 2009 IBM Corporation6
What is SOA?
“Service-Oriented Architectures (SOA) is a set of patterns for building distributed systems where one application that comprises a system can find another application that provides needed service and can exchange data with it.”
SOA is not a product
Information Management – Informix
© 2009 IBM Corporation7
Why is SOA Different?
Loose coupling– No interdependencies between systems
Reuses existing technology infrastructure
Everything is based on XML and other industry standards– Platform and language independent– Easy, inexpensive
Industry momentum:– Every player is on board: IBM, Microsoft, SAP, Oracle …– Proven interoperability
The timing is right
Information Management – Informix
© 2009 IBM Corporation8
SOA Reference ArchitectureModel of the Logical Architecture
Business Innovation & Optimization Services
Provide for better decision-making with real-time business information
Dev
elo
pm
ent
Ser
vice
s
Integrated environment for design
and creation of solution
assets
Interaction Services
Enables collaboration between people,
processes & information
Process Services
Orchestrate and automate business
processes
Information Services
Manages diverse data and content in a
unified manner
ESB Enable inter-connectivity between services
Partner Services
Connect with trading partners
Business App ServicesBuild on a robust,
scaleable, and secure services
environment
Ap
ps
&
Info
As
setsAccess Services
Facilitate interactions with existing information and application assets
IT S
ervi
ceM
anag
emen
t
Manage and secure services,
applications &
resources
Infrastructure ServicesOptimizes throughput,
availability and performance
Data access
Information Management – Informix
© 2009 IBM Corporation9
SOA Standards – Current and Emerging
Service Composition
Transports
Messaging
Description
Quality ofExperience(QoX)
HTTP/HTTPS SMTP RMI / IIOP
XSD WSDL
SOAPXML WS-Addressing WS-Renewable References
WS-Metadata ExchangeWS-Policy
WS-Service Group
WS-Resource Properties
JMS
WS-Security
WS-Reliable Messaging WS-Transaction
WS-Resource Lifetime
WS-Base Faults
WS-Notification BPEL4WS
Current Stack
Business Integration
…Emerging
Stack
Business Web Services (Best Practices) : Service offerings and components (e.g., Book Flight, Low Fare Search, Update PNR Data, TEA, Request For Design)
Evolving industry semantics (RosettaNet, AIAG, ACORD, FIXML, OTAXML, UCCnet, etc.)
Service-oriented Business Resource Description & Interaction Patterns (WS-Collab)
Information Management – Informix
© 2009 IBM Corporation10
Why Are CIOs Looking at SOA?
To save money:– Integrated systems save money– Open standards and common components means lower labor
cost and bigger pool of skill– Extend the life of current applications and other assets while
building new systems– “Pay as you go” schemes for web services are possible
… and to help the business make money:– Open up new business opportunities: new markets, new partners– Bring products and services to market faster
Information Management – Informix
© 2009 IBM Corporation11
What is a Web Service? (W3C definition)
A Web service is a software system designed to support interoperable machine-to-machine interaction over a network. It has an interface described in a machine-
processable format (specifically WSDL). Other systems interact with the Web service in a manner prescribed by its
description using SOAP-messages, typically conveyed using HTTP with an XML serialization in conjunction with
other Web-related standards.
Information Management – Informix
© 2009 IBM Corporation12
What is a Web Service: A Simpler Definition
A Web Service is a standards-based way for an application to call a function over a network and to do it without having to know:the location where the function will be executed,the platform where the function will be run, the programming language it is written in, or even who built it.
Most important: Web Services are Easy!
Information Management – Informix
© 2009 IBM Corporation13
Web Services: The 3 things at the core
1. Discovery– Where is the service?
2. Description– What service does it offer?– How do I use it?
3. Messaging– Let’s communicate!
DiscoveryUDDIUDDI
MessagingSOAPSOAP
DescriptionWSDLWSDL
Information Management – Informix
© 2009 IBM Corporation14
Web Service: Standard is Key
WSDL is used to describe the function(s) that an application will be calling documenting in a standard way its entry points, parameters and output
XML is used to carry the values of parameters and the outputs of the function
SOAP is used as the messaging protocol that carries content (XML) over a network transport (typically HTTP)
HTTP is used as the network transport layer
Information Management – Informix
© 2009 IBM Corporation15
Web Services Interaction
UDDIService1Service1
Web ServiceService1Service1
Application
Register
Dis
cove
r
WSDL
SOAP response
SOAP request
Information Management – Informix
© 2009 IBM Corporation16
Web Services Development and Deployment
Tools should be used for development– Ex: IBM Data Studio
Runtimes are expected to run services– Websphere Application Servers, Geronimo, etc.– Apache Soap (based on IBM SOAP4J) with Xerces XML parser
(also contributed by IBM)
Other tools– WSDL generation, UDDI, etc.
Information Management – Informix
© 2009 IBM Corporation17
WSDL: Web Service Description Language
WSDL (Web Services Description Language) is a public description of the interfaces offered by a web service. Expressed in XML, it provides machine readable document that provides a calling application all of the information required to interact with a web service.
Information Management – Informix
© 2009 IBM Corporation18
WSDL Specification
XML grammar– <definitions>: root WSDL element– <types>: data types transmitted
(starts with XML Schema specifications)– <message>: messages transmitted– <portType>: functions supported– <binding>: specifics of transmissions– <service>: how to access it
Information Management – Informix
© 2009 IBM Corporation21
SOAP: A Description
Industry standard message format for sending and receiving data between a web services consumer and a web service provider
SOAP messages are XML documents which have an envelope and:– Header (optional): contains information
about the message such as date/time it was sent or security information
– Body: contains the message itself
Standard messaging protocol maintained by the W3C XML Protocol Working Group.
SOAP Message
Attachment Part(optional)
Attachment Part(optional)
SOAP Part
SOAP Envelope
SOAP Body
SOAP Header
SOAP used to stand for Simple Object Access Protocol
Information Management – Informix
© 2009 IBM Corporation22
SOAP: Request Example
Call to a fictional web service to get details on product with product id=827635
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<getProductDetails xmlns="http://warehouse.example.com/ws">
<productID>827635</productID>
</getProductDetails>
</soap:Body>
</soap:Envelope>
Information Management – Informix
© 2009 IBM Corporation23
SOAP: Response Example
Possible response to a request for product information:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <getProductDetailsResponse xmlns="http://warehouse.example.com/ws"> <getProductDetailsResult> <productName>Toptimate 3-Piece Set</productName> <productID>827635</productID> <description>3-Piece luggage set. Black Polyester.</description> <price>96.50</price> <inStock>true</inStock> </getProductDetailsResult> </getProductDetailsResponse> </soap:Body></soap:Envelope>
Information Management – Informix
© 2009 IBM Corporation24
SOAP: Give it a REST
REST: REpresentation State Transfer Restful: Follows the REST principles Not strictly for web services
Term used loosely as a method of sending information over HTTP without using a messaging envelope
Information Management – Informix
© 2009 IBM Corporation25
Enterprise Service Bus
Enterprise Service Bus is a set of patterns that can be applied to implement SOA-based systems. These
patterns make extensive use of messaging and event notification to deliver core values.
Information Management – Informix
© 2009 IBM Corporation26
Enterprise Service Bus
“Enterprise Service Bus is a set of patterns that can be applied to implement SOA-based systems. These patterns make extensive use of messaging
and event notification to deliver core values.”
ESB is a intermediary between the clients that consume services and various systems that provide these services.
Instead of client talking directly to a service provider, requests are routed through a middleware system that handles the specific details of locating the service provider, negotiating integration with the service provider, interacting with the service provider, and so on.
ESB replaces RPC-like synchronous Web Service invocations with message-based and event-based interactions.
ESB enhances traditional message-based systems with discovery and self-describing characteristics typically attributed to Web Services.
Information Management – Informix
© 2009 IBM Corporation27
Web Services decouples interfaces from applications…
Turn this … …into this (web services).Application Application Application Application
ApplicationApplicationApplicationApplication
Business applications and their interfaces become reusable
Decouples the interfaces from the business applications
The number and complexity of the interfaces is reduced
Rich business abstractions describe the application interface
But separate connection points still leaving bloated interfaces ….
Service Service Service Service
Service ServiceService Service
Interface Interface Interface
Interface Interface Interface Interface
= interface
Information Management – Informix
© 2009 IBM Corporation28
The ESBus shrinks those interfaces further
RESULT Greater Business Responsiveness
Allows for dynamic selection, substitution, and matching
Enables you to find both the applications and the interfaces for re-use
Decouples the point-to-point connections from the interfaces
Turn this (web services)…
Enables more flexible coupling and decoupling of the applications
…into this
Service Service Service Service
Service ServiceService Service
Enterprise Service Bus
Service Service Service Service
Service ServiceService Service
Interface Interface Interface
Interface Interface Interface Interface
Information Management – Informix
© 2009 IBM Corporation30
SOA Foundation
Process:WebSphere Process Server*WebSphere ESB* & Message Broker* WebSphere Partner Gateway & Adapters
People:WebSphere Portal*WebSphere Everyplace Deployment*Workplace Collaboration Services*
Information:
IDS/DB2WebSphere Information Integrator*
WebSphere Business Monitor*WebSphere Application Server & Extended deployment*Tivoli Composite Application Manager*Tivoli Identity & Access Manager
WebSphere Business Modeler* Rational Software Architect*
WebSphere Integration Developer*Rational Application Developer*
* New or Enhanced
© 2009 IBM CorporationApril 10, 2023
IBM Data Servers in the SOA World
A new opportunity
Information Management – Informix
© 2009 IBM Corporation32
SOA Reference Architecture: Information Services
Master Data Management
Information Integration
Data Management
BusinessIntelligence
ContentManagement
Information Services
Manages diverse data and content in a
unified manner
Standards-based SQL, XQuery,
JSR170, XML, Web Services, JDBC, UIMA
Virtualized
In Context Security Role Task
The Heart of Information On Demand
Information Management – Informix
© 2009 IBM Corporation33
Data Servers and SOAExposing DB objects as Services rather than data
IBM Data Servers
WS
SP
WS
SQL
WS
Fnctn
Information Services
Manages diverse data and content in a
unified manner
Information Management – Informix
© 2009 IBM Corporation34
data
JDBC, ADO.NET,ODBC, CLI etc.
Exposing IDS objects as Web Services
Data Server
WSWS
sp_ApplyDiscountsp_ApplyDiscount
WSWS
SELECTSELECT
WS
sp_QtyOnHandsp_QtyOnHand
CALL sp_QtyonHand
SQL-basedApplication
SELECT * …
WSApplication
getQtyOnHand
CALL sp_ApplyDiscount
SOAP
XML
Information Management – Informix
© 2009 IBM Corporation35
Access to data as a serviceKey value proposition
1. Instantly transform existing stored procedures into a collection of reusable services.
2. DRY = Don’t Repeat Yourself. Build new logic once and make it accessible via SQL or as a service
3. Instantly SOA enable mainframe and iSeries data
Information Management – Informix
© 2009 IBM Corporation36
Consuming Web Services to get real time data
IDS
SP calling Web Services
Web Services Table Functions
SP calling Web ServicesSP calling Web Services
SP calling Web Services
Web Services Table FunctionsWeb Services
Table FunctionsWeb Services Table Functions
Information Management – Informix
© 2009 IBM Corporation37
Consuming data from Web Services
IDS
Web ServicegetTemp
SELECT employee.id AS ID,
employee.name,
employee.zipcode
FROM
employee
WHERE
employee.id = ‘10’
SELECT employee.id AS ID,
employee.name,
employee.zipcode
FROM
employee
WHERE
employee.id = ‘10’
employee
JDBC, ADO.NET,ODBC, CLI etc.
ApplicationSOAP
XML
Information Management – Informix
© 2009 IBM Corporation38
Consuming data as Web ServicesA better way
IDS
Web ServicegetTemp
udf_getTempfunctionSELECT employee.id AS ID,
employee.name,
getTemp(employee.zipcode)
FROM
employee
WHERE
employee.id = ‘10’
SELECT employee.id AS ID,
employee.name,
getTemp(employee.zipcode)
FROM
employee
WHERE
employee.id = ‘10’
employee
JDBC, ADO.NET,ODBC, CLI etc.
Application Web ServicegetTemp
Information Management – Informix
© 2009 IBM Corporation39
Access to data as a serviceKey value proposition
1. DRY = Don’t Repeat Yourself. Build reusable services instead of putting the same logic in every application
2. Gain flexibility of proper data architecture and data placement
3. Build agile applications that are able to respond to business needs
Information Management – Informix
© 2009 IBM Corporation40
IDS and SOA: Plugging in to ESB
IDS
SP calling Web Services
Web Services Table Functions
SP calling Web ServicesSP calling Web Services
SP calling MQ
Web Services Table FunctionsWeb Services
Table FunctionsMQ Table Functions
ESB
Information Management – Informix
© 2009 IBM Corporation41
Examples …Verify customer addresses in real time
IDS WebSphereQuality Stage
tr_newCustomertrigger
INSERT INTO customer
VALUES (customer address data)INSERT INTO customer
VALUES (customer address data)
customer
JDBC, ADO.NET,ODBC, CLI etc.
Application
sp_validateAddressstored procedure
Information Management – Informix
© 2009 IBM Corporation42
Examples …Develop new sales channel
IDS eBay
tr_newItemtrigger
INSERT INTO overstock
VALUES (overstock item data)INSERT INTO overstock
VALUES (overstock item data)
overstock
JDBC, ADO.NET,ODBC, CLI etc.
Application
sp_sellItemstored procedure
Amazon.com
Information Management – Informix
© 2009 IBM Corporation43
Summary
SOA and Web Services are not as scary or new and different as acronyms may imply. Just a set of standards-based architecture patterns for building distributed systems.
SOA deploys to an existing IT infrastructure and IBM SOA offers comprehensive solutions for overlaying SOA on top.
DB2 is already SOA-enabled:– Tools and facilities to expose DB2 objects as a service– Tools and facilities to consume data delivered through Web
Services– Tools coming to bring business perspective to DB2 web services
(BPEL) Existing investments in stored procedures and functions are going
to pay off in new ways. It is good and it is easy. Let’s go do it!