330 likes | 490 Views
Web Services: Interoperability & Integration. Matt Deacon Architect Microsoft UK mattd@microsoft.com blogs.technet.com/matt_deacon. Web Services: Interoperability & Integration. This session addresses the use of web services to build highly interoperable solutions that fit
E N D
Web Services:Interoperability & Integration Matt Deacon Architect Microsoft UK mattd@microsoft.comblogs.technet.com/matt_deacon
Web Services: Interoperability & Integration • This session addresses the use of web services • to build highly interoperable solutions that fit • into an enterprise integration architecture • This session addresses the use of web services • to build highly interoperable solutions that fit • into an enterprise integration architecture • Anatomy of a Service (Web Services) • Standards & Interoperability (WS-I) • Service-Oriented Architecture (SOA) • SOA as an Enterprise Integration Architecture
Message Anatomy of a service • A service is a program that communicates by • the exchange of messages Service Consumer Response Request Service Provider
Service Provider Architecture Message Transport Discovery Description Implementation Data Business Logic
Complexity Complexity Service coupling From Tightly Coupled Objects… To Loosely Coupled Services Your Partner You Programming Language Programming Language Database Database Agreements Object Model Object Model Contract Operating System Operating System Application Application
Four Tenets of Service Design • Boundaries are Explicit • Services are Autonomous • Services share schema and contract, not class • Service compatibility is based on policy
Implementation .NET/J2EE Data Data Business Logic Business Logic Web Service Architecture Message SOAP / XML Transport HTTP(S) Discovery UDDI Description WSDL
Messages (SOAP) Web Service Communication Service Consumer 2. Discovers 3. Binds Service Directory (UDDI) 4. Communicates Endpoint (Address) Contract (WSDL) 1. Publishes Service Provider
Interoperability Benefits • Firewall friendly • Inter-organisation communication • Transparency • Extensible XML framework • Implementation neutral • Massive industry momentum • Big $
Web Service Support in Microsoft Products • Microsoft .NET Framework • Part of the Framework – no extra additions • Compliant with the WS-I Basic Profile 1.0 • Create Web Services in any .NET Language • C#, C++, Visual Basic .NET, J#... Even COBOL! • Microsoft WSE (Web Services Enhancements) • Enhances the current Web Services stack • WS-Security, WS-SecureConversation, WS-Trust, WS-Policy • Fully supported product
Web Service Support for Java • Sun Microsystems • Web Services support through JAX-RPC specification • Java Web Services Developer Pack (JWSDP) 1.5 • IBM • WebSphere Application Developer Studio (WSAD) 5.1.2 • WebSphere Web Services Development Kit (WSDK) • BEA • BEA WebLogic 8.1.4 • Open Source • Apache Axis 1.2, Apache SOAP, GSoap • ISV • Systinet Server 5.0 • webMethods Glue 5.0.2
Web Service Support for Other platforms • C++ • Apache Axis 1.2 • Roguewave LEIF 1.2 • Systinet Server 5.0 • Perl • Soap::Lite • Mainframe and Midrange Integration • Microsoft Host Integration Server 2004 • Microsoft BizTalk Server 2004 • ClientSoft Service Builder 3.5 • NetManage OnWeb 7.0 • ASNA Datagate
Web Service Standards • “The one good thing about standards is that there are so many choices” • IETF (protocols, HTTP, TCP, DNS) • W3C (XML, HTML, SOAP, WSDL) • OASIS (ebXML) • But...
Web Service Standards • “The one good thing about standards is that there are so many choices” • IETF (protocols, HTTP, TCP, DNS) • W3C (XML, HTML, SOAP, WSDL) • OASIS (ebXML) • But... Formed in 2002 Over 130 Member organisations
Web Service Interoperability • Goals • Provide education and guidance • Promote consistent and reliable practices • Articulate and promote a common industry vision • Deliverables • Profiles • Basic Profile 1.0 16/04/2004, 1.1 24/08/2004 • Attachments Profile 1.0 24/06/2004 • Basic Security Profile Working draft 20/01/2005 • Usage scenarios and use cases • Test tools • Sample applications
.NET/J2EE Data Business Logic Web Service Interoperability WS-I Basic Profile SOAP 1.1 SOAP Message HTTP 1.1 HTTP(S) HTTP(S) Transport UDDI UDDI 2.0 Discovery WSDL WSDL 1.1 Description XSD 1.0 Schema XML 1.0 Expression
Web Service Interoperability WS-I Test Tools Web Service Consumer Monitor Message Log Analyzer ConformanceReport
Web Service Interoperability • Requirements for Application Interoperability • How about securing a Web Service? • Can we use Web Services for routing? • Are Web Service calls reliable? • Transactional Web Services (ACID and long lived) • Sending an attachment over a Web Service
WS-* Specifications SecurityWS-Security WS-Trust WS-Federation ReliabilityWS-Reliable Messaging TransactionsWS-BusinessActivity WS-Coordination WS-AtomicTransaction Metadata WSDL, WS-Policy, WS-Discovery Messaging SOAP, WS-Addressing, WS-Eventing XML XML, XSD, XPath Transports HTTP(S) http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnglobspec/html/ws-routing.asp
Standards and Interoperability • Microsoft • WSE (Web Services Enhancements) 2.0 • http://msdn.microsoft.com/webservices • Short release cycle, leading into Indigo • IBM • ETTK (Emerging Technologies Toolkit) 1.1 • http://www.alphaworks.ibm.com/tech/ettk • Alphaworks project. WSAD uses stable drops. • webMethods • GLUE 4.1.2 • http://www.webmethods.com • WS-* support in latest drops, inline with WSE
Treasury / Forex Payment Systems and Card Mgmt 3D Secure Trading / Back office Wealth Management Core Banking Branch Banking Internet Banking EAI Aggregation Wireless ATM / POS No Application Is An Island Business Intelligence Straight through Processing CRM
1 Client FBT PAY G NTS TRDS NTS A/c Customs Data……. Penalty RBA Def RRE Refunds IPS Integrated A/C 1 Payments Excise Compliance CCD Staff CR ECI ADD AWA ELS Staff Business Phone DDDR TASS PKI CDCC GCI Bus. Intel CWMS WOC IVR Ref material BOA Remote TAX Staff Call Centres BANK Client Staff AGENTS BEP IT Systems Today
Database Component Partner Legacy Service Oriented Architecture Clients and Agents (Service Consumers) Enterprise Event Process Infrastructure Activity Entity
Service Oriented Anti-patterns • A roadmap to Service Oriented Anarchy • Silo Services • Service Chains • Project Services • Parrot Services • Newspeak Services • Multi-master Services • Stovepipe Services • Service overload
Summary • Web Services are good for interoperability • They are gaining good industry support • Standards need watching • SOA supports an Enterprise Integrated Vision • Grow locally but manage centrally • Need to use architecture best practices • But … • Service Oriented Anti-Patterns! Connected Systems: 16th June 2005
Systems Operational Requirements composed of enforce Policies governed by exchange bound by have Message Exchange Pattern Messages Contracts describe is a set of Schemas define structure of contain Service OrientationKey Concepts Services
Web Services: Tenets • Boundaries are explicit • Services are autonomous • Services share schema and contract • Service compatibility is based on policy • Tenet conformance gives better Interoperability • Better Interoperability means stronger Integration
WSE v2.0 Features • Web Services Security • Digital Signing and Encryption (WS-Security) • Trust Issuing Framework & Secure Conversation (WS-Trust, WS-SecureConversation) • Integration with Windows Authentication and Authorization • X509, Custom Binary, Username/Password, Kerberos, and XML Security Token Support • Roles based authorization with native integration with Windows security • Policy support to describe integrity, confidentiality, and token requirements for communicating with WS endpoints (WS-SecurityPolicy) • Policy driven architecture (WS-Policy) • SOAP Messaging (WS-Addressing) • Message-based programming model • Hosting environment independence • Support for multiple transports (HTTP, TCP) • Content based routing • Attachments • Extensible framework
Building InteroperableWeb Services http://www.microsoft.com/downloads/details.aspx?FamilyId=60080CA9-2466-43E4-A19C-8A9DE724ABA8&displaylang=en
SOA Expansion stages Maturity of SOA Not cost-effective Process-enabled Agility Networked Flexibility Maintainability Fundamental Not feasible Complex Process Integration Simple B2B cross departmental Intra departmental Scope of business Integration Enterprise SOA – Krafzig, Banke, Slama