Upload
spencer-grant-booth
View
213
Download
0
Tags:
Embed Size (px)
Citation preview
SOA-24: WS-AlphabetSoup
Making sense of SOA standards
Jaime MerittDirector of Technology
© 2008 Progress Software Corporation2 SOA-24: WS-AlphabetSoup
Goals for Today
Web services protocols and specifications have grown in number and complexity over the last decade• How do you know what they all do?
• How do you know which are the important ones for you?
Too many combinations = cognitive overload for developers• How do you make sense of today’s Web services and
turn WS-AlphabetSoup into WS-WorldPeace?
• A comprehensive, yet comprehensible overview of the SOA standards
© 2008 Progress Software Corporation3 SOA-24: WS-AlphabetSoup
The SOA Promise
Agility: Respond faster to changing business needs; create and modify business processes
Integration: Eliminate boundaries between business functions and integrate value chains
Re-use: Make services broadly available, including across the Internet “cloud”
© 2008 Progress Software Corporation4 SOA-24: WS-AlphabetSoup
The Need for SOA Standards
Great! Great! What’s the catch?What’s the catch?
© 2008 Progress Software Corporation5 SOA-24: WS-AlphabetSoup
The WS-AlphabetSoup
XML
Messaging Metadata
TransactionsSecurity Reliability
Business Process Orchestration
Transport
The Fundamentals
- XML - SOAP
- XSD - WSDL
- JMS - WS-Addressing
- HTTP - WS-Policy
© 2008 Progress Software Corporation6 SOA-24: WS-AlphabetSoup
The WS-AlphabetSoup
XML
Messaging Metadata
TransactionsSecurity Reliability
Business Process Orchestration
Transport
The Qualities of Service
- WS-Security - WS-Coordination
- WS-ReliableMessaging - WS-SecureConversation
- WS-AtomicTransaction - WS-Trust
- WS-BusinessActivity - WS-Federation
© 2008 Progress Software Corporation7 SOA-24: WS-AlphabetSoup
The WS-AlphabetSoup
XML
Messaging Metadata
TransactionsSecurity Reliability
Business Process Orchestration
Transport
The Process Layer
-BPEL
-BPM
- XPDL
© 2008 Progress Software Corporation8 SOA-24: WS-AlphabetSoup
Two Standards are Better than One
Web service standards are layered and extensible• Individual standards are often simple, complexity is in
combination
• Each endpoint binds a particular set of standards to an access point
Web Services may expose a variety of endpoints to maximize reuse• Clients choose the optimal communications
mechanism
• Choice is often dictated by the platform in use
© 2008 Progress Software Corporation9 SOA-24: WS-AlphabetSoup
Fundamentals: Transport
HTTP most widely deployed protocol for Internet communications• Messages are standard MIME• Multipart messages facilitate attachments
Intra-enterprise is a mix of protocols beyond HTTP• MOM Providers• SMTP• FTP
Transport security and reliability mechanisms can be used as an alternative to SOA standards• Often provides performance advantages• Reduces the reusability of components
© 2008 Progress Software Corporation10 SOA-24: WS-AlphabetSoup
Fundamentals: Data Format
XML • Provides a neutral representation of data
• Supported across all platforms and programming environments
XML Schema • Syntax and structural rules
• Object-oriented language with rich extensibility
© 2008 Progress Software Corporation11 SOA-24: WS-AlphabetSoup
Fundamentals: Data Format
Security• XML Encryption for privacy• XML Digital Signature for integrity
Query and Transformation• XPath allows simple indexing into a
document• XSLT provides transformation from one
format to another• XQuery provides rich capabilities to inquire
into collections of documents
© 2008 Progress Software Corporation12 SOA-24: WS-AlphabetSoup
Fundamentals: Messaging
SOAP • Enveloping structure to identify header and body
contents
• Higher level protocols build on header extensibility
WS-Addressing • To, from, reply, fault, action
• Can be used for asynchronous server to server interactions
Attachments and MTOM • Arbitrary payload optimized for binary data
• Integrates content into XML infoset
© 2008 Progress Software Corporation13 SOA-24: WS-AlphabetSoup
Fundamentals: Metadata
Web Services Description Language
Define the logical interface of a service in terms of messages and operations
Doc/literal vs. RPC/encoded
Specifies endpoint addresses and policy
WSDL compilers hide the complexity from clients
Port
Service
Binding
Data Type
Part
Message
Operation
PortType
WSDL
LogicalContract
PhysicalContract
© 2008 Progress Software Corporation14 SOA-24: WS-AlphabetSoup
Fundamentals: Metadata
WS-Policy Framework• Attach constraints and interaction options to
services• Defines a set of requirements that have to be
met in order to consume a web service • Individual dialects specify the actual policy
assertions UDDI
• A catalog of services – think LDAP for WS• Browsing and query interfaces• Synchronization between registries• Subscriptions to change notifications
© 2008 Progress Software Corporation15 SOA-24: WS-AlphabetSoup
Qualities of Service: Security
WS-Security • Integrates authentication, integrity, and
encryption into SOAP
• Security profiles support a wide array of authentication mechanisms – Username/Password, X509 certificates, Transport
• SecurityPolicy defines specific requirements
Emerging• WS-SecureConversation to optimize encryption
• SAML for single-sign-on
© 2008 Progress Software Corporation16 SOA-24: WS-AlphabetSoup
Qualities of Service: Reliability
Allows separation of transport from reliability
Client and server buffer messages
Message ordering and acknowledgement
Peer to peer model Widely supported but
not yet widely deployed
WS-ReliableMessaging
© 2008 Progress Software Corporation17 SOA-24: WS-AlphabetSoup
Qualities of Service: Transactions
WS-Transaction• Base standard establishes the role of a
coordinator and completion protocols• WS-AtomicTransaction is the next XA • Business Activity provides a compensating
model• The Microsoft Factor
BPEL Transactions are more prevalent in the ecosystem • What is BPEL?
© 2008 Progress Software Corporation18 SOA-24: WS-AlphabetSoup
The Process Layer
BPEL ≠ BPMShould really be Service Orchestration Language!
Two different forms of process management
© 2008 Progress Software Corporation19 SOA-24: WS-AlphabetSoup
The Process Layer: BPM
Model the whole, real business process, not just the IT systems (people, roles, scheduling, cost) to optimize the business
User: business analyst or other business user Requires minimal knowledge of IT systems Tools for business-level simulation, monitoring,
optimization Few standards due to wide spectrum of offerings
• See Lombardi presentation for more information…
“What is the impact on the business if I automate three steps?”
© 2008 Progress Software Corporation20 SOA-24: WS-AlphabetSoup
Compose processes out of existing services and processes
Correlate events within and across running processes
Control flow: conditionals, loops, delays, scoped state
Manage concurrent (often long-running) service interactions
Compensate for completed activities in the event of failure
SERVICES
SERVICES
The Process Layer: BPEL
“How do I connect and orchestrate IT systems?”
© 2008 Progress Software Corporation21 SOA-24: WS-AlphabetSoup
Profiles: Standards for Standards
How have others tried to add structure to this chaos?
WS-I provides a least common denominator for interoperability
Widely supported but sometimes insufficient
Platforms are the new standards
• WCF 3.5 sets the bar
© 2008 Progress Software Corporation22 SOA-24: WS-AlphabetSoup
What if I wasn’t listening?
Progress SOA Portfolio• ESB to normalize disparate communications protocols
to establish a secure and reliable foundation
• Actional® to implement and enforce security policies across a heterogeneous infrastructure
• Rich SOA standards support across portfolio
Progress® OpenEdge®
• Expose business applications to a variety of consumers over standard web services protocols
• Integration with Sonic™ ESB and SonicMQ® allows for extended standards support from OE
Progress infrastructure removes the rocket science
© 2008 Progress Software Corporation23 SOA-24: WS-AlphabetSoup
In Summary
A working knowledge of SOA standards will improve architecture decisions
SOA Standards are constantly in flux, let middleware worry about it so you don’t have to
SOA standards enable rich interaction models between heterogeneous platforms
© 2008 Progress Software Corporation24 SOA-24: WS-AlphabetSoup
Relevant Exchange Sessions
SOA-8: BPM – What Is It and How Can I Use It with SOA to Maximize IT and Business Success?
SOA-11: Common Applications of Sonic ESB SOA-26: Extending your application with
OpenEdge Web services SOA-27: Practical Approaches for Implementing a
Service Oriented Architecture SOA-39: Securing Your SOA: Mitigating Security
Risks of a De-coupled Infrastructure
© 2008 Progress Software Corporation25 SOA-24: WS-AlphabetSoup
For More Information, go to…
Wikipedia is a great source for high level overviews Countless articles and many books are available
for detailed coverage. For Java Geeks…• Java Web Services. David Chappell and Tyler
Jewell, O’Reilly, March 2002, ISBN 0596002696.
• Building Web Services in Java: Making Sense of XML, SOAP, WSDL, and UDDI. Steve Graham, Doug Davis, Simeon Simeonov, and Glen Daniels , Sams, July 2004, ISBN 0672326418
© 2008 Progress Software Corporation26 SOA-24: WS-AlphabetSoup
Questions?
© 2008 Progress Software Corporation27 SOA-24: WS-AlphabetSoup
Thank You
© 2008 Progress Software Corporation28 SOA-24: WS-AlphabetSoup