Integration Futures: SOA and Web Services
Transcript of Integration Futures: SOA and Web Services
Integration Futures:Integration Futures:SOA and Web Services SOA and Web Services
© 2005 Progress Software Corporation2Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
The problemThe problem
Traditional models of building applications have hand-cuffed technologists:– Proprietary – Hard-coded dependencies– Tons of application code
Code that cannot be reused– Limit your ability to:
Expand functionality Embrace new technologies Move quickly
© 2005 Progress Software Corporation3Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
“…“…Service-oriented architectures Service-oriented architectures provide the framework that will provide the framework that will enable IT to offer value enable IT to offer value in the form of business agility…" in the form of business agility…"
Jason BloombergJason Bloomberg““Principles of SOA”Principles of SOA”Application Development Trends, 2003Application Development Trends, 2003
© 2005 Progress Software Corporation4Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Service Oriented Architectures (SOA)Service Oriented Architectures (SOA)
A technology evolution– Learns from past mistakes (OO, etc)
– Strives to change the way software applications and components are built
Provides standard programming model Standard technologies make it happen.
The next frontier
Strives to eliminate hard-coded, code-intensive, single-use systems
© 2005 Progress Software Corporation5Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Service Oriented Architectures (SOA)Service Oriented Architectures (SOA)
An SOA architecture facilitates an “assembly” application model– New applications re-use existing
components called services
– Components are truly modular Standards-based interfaces Standards-based formats Platform independent
How do you identify one?
Enables rapid development, deployment and reconfiguration
© 2005 Progress Software Corporation6Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
During the years…….During the years…….
Progress product was changing to address these “SOA-like” problems related to code reuse.
– Examples: N-Tier Support Application Server WebSpeed
© 2005 Progress Software Corporation7Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
But the message wasn’tBut the message wasn’t
We handed you the products, but never painted a complete vision.– Example:
We told you to move to the Web, but didn’t tell you how.
So you wrote more single-use code to solve that problem.
© 2005 Progress Software Corporation8Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Then every year…….Then every year…….
Repeat– We handed you more product to
handle a few new problems, but again never painted a vision.
You looked at each release as a tree
–Without considering the forest
© 2005 Progress Software Corporation9Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
The forest The forest
© 2005 Progress Software Corporation10Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Moving forward……..Moving forward……..
To get yourself moving toward this new SOA model:– Evolution, not revolution– The same OpenEdge technologies –
applied in a different modular and reusable way
– Standard Interfaces (XML)– Web Services– ESB – SOA
© 2005 Progress Software Corporation11Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Web ServicesWeb Services
Defines standard way to publish, find, and call reusable modules
XML-based data easily exchanged
HTTP/SOAP protocol widely accepted as standard
PARTNER SYSTEM
WEBSERVICE
TCP/IP
WEB SERVICESINTERFACE
.NET™APPLICATION
OpenEdge
4GL
Applications
J2EE™ APPLICATION
XML
XML
Standard for SOA on a global scale
© 2005 Progress Software Corporation12Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Web ServicesWeb Services
HTTP
XML
SOAP
WSDL
UDDI
– Platform Independent tag-based language defining data structures
– Ubiquitous web standard for transferring data over the web
– RPC style XML type protocol for encoding messages
– XML-based language describing Web Services
– Web Services directory service
© 2005 Progress Software Corporation13Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Web ServicesWeb Services
Loosely-coupled integration – easier to develop, more robust than tightly coupled integration.
Internet-friendly architecture – widely accepted
Standards-based technology – not proprietary
Model for discovery of services.
Easy reuse of application functionality.
Some of the Benefits
© 2005 Progress Software Corporation14Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Recipe for SuccessRecipe for Success
Well-defined, easy-to-use, meaningful to service consumer
Interface granularity– Coarsely-grained, reflecting real-world documents
– Finer-grained (avoid low-level object references) Stateless recommended
– Document establishes identity and state context
– Including asynchronous models (ex. JMS) Re-use
– Base on existing document formats
– Invoked by broad range of documents (incl. legacy)
Best practices for building Web Services
© 2005 Progress Software Corporation15Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Web Services: Simplest ViewWeb Services: Simplest View
Ada
pted
from
AM
R R
esea
rch
©20
01
1. Create a Component
2. Expose it by wrapping it
in XML
3. Describe what it does in
the WSDL file
4. Store a description of
what it does in the
UDDI directory
5. Access and use it
by calling through
SOAP/HTTP
Create
Expose
Describe
Publish
Use
inventory checker
inventory checker
XML
XML
<description>this component returns inventory from the SAP R/3 system </description>
<give me inventory for January 2005>
inventory checker
XML
XML
Application
UDDI DirectoryURL Web Service
www.abc..
www.123
• Inventory checker • Mtg Qualifier
© 2005 Progress Software Corporation16Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
HT
TP
L
iste
ner
WS
Ad
apte
r
BusinessLogic
POST(SOAP)
Response(SOAP)
Web Services
Client
Web Server
ProgressAppServer
WSDL
An OpenEdge application component can be exposed as a Web service
OR Call a Web service directly from Progress 4GL
ProgressJava.NET
Web Services
The Future of ConnectivityThe Future of ConnectivityThe Future of ConnectivityThe Future of Connectivity
© 2005 Progress Software Corporation17Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
OpenEdge ProxyGenOpenEdge ProxyGen
Generate iconGenerates the Web Service
© 2005 Progress Software Corporation18Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Introducing Sonic ESBIntroducing Sonic ESB
Sonic ESB is:– An implementation of a service oriented
architecture (SOA) As such it encourages code reuse
through:–Modularization–Standard interfaces (Web Services)–Configuration not coding
© 2005 Progress Software Corporation19Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
WS
Ad
apte
r
BusinessLogic
POST(SOAP)
Response(SOAP)
Sonic ESB
ProgressAppServer
An OpenEdge application component can be exposed as a Web service
OR Call a Web service directly from Progress 4GL
Web Services
Client
WSDL
ProgressJava.NET
Web Services
The Future of ConnectivityThe Future of ConnectivityThe Future of ConnectivityThe Future of Connectivity
SonicMQ
© 2005 Progress Software Corporation20Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
PARTNER SYSTEM
WEBSERVICE
Sonic ESB Web ServicesSonic ESB Web Services
Provides massive and reliable connectivity
Mediation Framework means code reuse.
Manage it all!
Sonic ESBWEB SERVICES
INTERFACE
.NET™APPLICATION
OpenEdge
4GL
Applications
J2EE™ APPLICATION
XML
Expanding beyond a few Web Services
© 2005 Progress Software Corporation21Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Connect more applications and servicesConnect more applications and servicesMultiple on-ramps, dependable communications
Connect old and new– OpenEdge 4GL, RDBMS
– J2EE, .Net
– Web services
– B2B protocols
Link services and processes across the extended enterprise
Establish robust, scalable and secure communications
© 2005 Progress Software Corporation22Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Mediate servicesMediate servicesBridge and extend incompatible technologies Reconcile system
incompatibilities– Communication Protocol– Interaction model
Transform and enrich data– Map between data formats– Split, aggregate and enrich data
Provide flexible routing and process flow– Decoupled, event-driven
services– Intelligent routing
© 2005 Progress Software Corporation23Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Control service interactionControl service interactionDeploy, configure, manage
Dynamically configure, deploy and upgrade hosted services
Establish and alter process flows, routing, Quality of Service
Gain control and visibility over services and their interaction
© 2005 Progress Software Corporation24Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Web Services ResourcesWeb Services Resources
Books– Java Web Services by David Chappell & Tyler
Jewell– Professional XML Web Services by Patrick
Cauldwell et al– Essential XML Quick Reference by Aaron Skonnard
Links– http://www.w3.org/2002/ws– http://www.xmethods.com– http://www.soapware.org– http://www.webservices.org
© 2005 Progress Software Corporation25Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess