TS-8882 Implementing Interoperable SOA in Your Enterprise Kevin Wittkopf Solutions Architect Microsoft Mohammad Akif Senior Architect Microsoft http://blogs.msdn.com/mohammadakif 2007 JavaOne SM Conference Session TS-8882
Learn strategies for designing and building a hybrid SOA in your enterprise that spans Java technology and.net 2007 JavaOne SM Conference Session TS-8882 2
Agenda Interoperability context and scenarios SOA tenants Challenges in realizing interoperable SOA Solution choices and strategies Key SOA features (discussion and demonstrations) Reliable messaging Propagating security credentials Production and consumption of services Transactional behaviour across platform and technology boundaries Key takeaways Next steps and resources Conclusion 2007 JavaOne SM Conference Session TS-8882 3
Agenda Interoperability context and scenarios SOA tenants Challenges in realizing interoperable SOA Solution choices and strategies Key SOA features (discussion and demonstrations) Reliable messaging Propagating security credentials Production and consumption of services Transactional behaviour across platform and technology boundaries Key takeaways Next steps and resources Conclusion 2007 JavaOne SM Conference Session TS-8882 4
Java Technology/.NET Interoperability Current Scenarios.NET clients interacting with Java Platform, Enterprise Edition (Java EE platform) Server/Services.NET thick client (Winforms, Windows Presentation Foundation) Sharepoint portal apps Microsoft Office clients (Outlook, Word, Excel).NET and Java EE platform sharing resources Database, message queue, EAI Server-to-server interactions EAI Java EE platform and.net Enterprise apps integration SOA Java EE platform and.net Services orchestration.net client invoking Java desktop applications Mixed UI Swing/SWT + WinForms/WPF, etc. Java desktop applications invoking.net 2007 JavaOne SM Conference Session TS-8882 5
Java Technology/.NET Interoperability SOA The Emerging Scenario Service Oriented Architecture (SOA) Widespread move toward SOA Services implemented in both Java EE platform and.net Standards-based, platform neutral mechanisms to describe, deploy, aggregate, and orchestrate services to enable rapid and flexible creation of interoperable enterprise applications XML, XSD WSDL, SOAP, WS-* standards Wrap various data and process IP assets to use within SOA.NET and Java EE platform services most common SOA Platforms (Services, Orchestration, Messaging, etc.): Java Business Integration (JBI)/Java Specification Request (JSR)- 208 SeeBeyond, ServiceMix, etc. WCF+Windows/IIS/COM+/BizTalk/etc. 2007 JavaOne SM Conference Session TS-8882 6
Interoperability Dimensions SOA Requirements Exchanging data (call, return) Serialization wire format Description types, structure Security integrity and confidentiality Procedural invoking (remote) functions Function description contract (name/parameters) Service, message, data Invocation Where/how address, binding (transport, policy) Calling patterns synch/async, one-way, duplex, etc Security authentication and authorization Performance large payloads, binary data Dynamic location, transport type, etc Reliability durable, once and only once delivery Transacted two-phase commit across orchestration 2007 JavaOne SM Conference Session TS-8882 7
Exchanging Data Data integrity and confidentiality Integrity Non-repudiation ensure that it has not been changed Digitally signed Confidentiality Encrypted symmetric, asymmetric Different encryption algorithms (AES128/256, SHA1, etc.) Approaches Transport-level (e.g. HTTPS, SSL/TLS) point-to-point Message-based (payload signed/encrypted) Security tokens Identity username/password, Kerberos, X.509, SAML 2007 JavaOne SM Conference Session TS-8882 8
Agenda Interoperability context and scenarios SOA tenants Challenges in realizing interoperable SOA Solution choices and strategies Key SOA features (discussion and demonstrations) Reliable messaging Propagating security credentials Production and consumption of services Transactional behaviour across platform and technology boundaries Key takeaways Next steps and resources Conclusion 2007 JavaOne SM Conference Session TS-8882 9
SOA Core Tenants Boundaries are explicit Developers opt-in to consuming, exposing, and defining public-facing service façade Services are autonomous Services and consumers are independently versioned, deployed, operated, and secured Share schema and contract, not class Compatibility based on policy Data never includes behavior; Objects with data and behavior are a local phenomenon Capabilities and requirements represented by a unique public name; Used to establish service suitability 2007 JavaOne SM Conference Session TS-8882 10
Agenda Interoperability context and scenarios SOA tenants Challenges in realizing interoperable SOA Solution choices and strategies Key SOA features (discussion and demonstrations) Reliable messaging Propagating security credentials Production and consumption of services Transactional behaviour across platform and technology boundaries Key takeaways Next steps and resources Conclusion 2007 JavaOne SM Conference Session TS-8882 11
2007 JavaOne SM Conference Session TS-8882 12
2007 JavaOne SM Conference Session TS-8882 13
2007 JavaOne SM Conference Session TS-8882 14
2007 JavaOne SM Conference Session TS-8882 15
What is an ESB? 2007 JavaOne SM Conference Session TS-8882 16
Hello handsome. 2007 JavaOne SM Conference Session TS-8882 17
Complex Data Types Beyond the Hello World example Presentation Tier Business Tier Resource Tier Client Full Name Company JSPs Name Servlets Address Swing/AWT Hello World Work Tel +91-80-2121212 Daniel Ingitaraj Microsoft POJOs Database Microsoft EJBs Corp (India) Pvt Ltd Prestige Takt 23 Kasturba Road Cross Bangalore 560 001 Message Queue India Fax ASP.NET +91-80-2121800 Serviced Email SmartClient danieli@microsoft.com Components Last Updated 4 Jan 2003, 11:23.37am Broker 2007 JavaOne SM Conference Session TS-8882 18
Agenda Interoperability context and scenarios SOA tenants Challenges in realizing interoperable SOA Solution choices and strategies Key SOA features (discussion and demonstrations) Reliable messaging Propagating security credentials Production and consumption of services Transactional behaviour across platform and technology boundaries Key takeaways Next steps and resources Conclusion 2007 JavaOne SM Conference Session TS-8882 19
Point to Point Interoperability XML Web Services Support in Microsoft products Microsoft.NET Framework Part of the framework ASP.NET ( ASMX ) Compliant with the WS-I Basic Profile 1.0/1.1 Create Web services in any.net language C#, C++, Visual Basic.NET, J#, COBOL, etc (28 in total) Microsoft Web Services Enhancements (WSE) Free add-on to ASMX capabilities Adds WS-Security, WS-SecureConversation, WS-Trust, WS-Policy, WS-Addressing Versions: 2.0 SP3 and 3.0 Windows Communications Foundation (WCF, Indigo ) Next generation distributed computing Unified programming model, pluggable architecture, WS-*, SRT Part of.net 3.0 Frameworks (formerly WinFx) Windows Vista, XP and Win2003 server 2007 JavaOne SM Conference Session TS-8882 20
Web Services Interoperability Web Services Interoperability Org. (WS-I) http://www.ws-i.org 170+ ISVs, SIs and enterprise customers Vertically lead enterprise customers Goal to deliver resources, samples and tools WS-I Basic Profiles Basic Profile 1.0: SOAP 1.1, WSDL 1.1, UDDI 2.0, XML 1.0, XSD 1.0 Basic Profile 1.1 now supported by WSE/WCF WS Basic Security Profile 1.0 2007 JavaOne SM Conference Session TS-8882 21
Messaging WS-* Protocols Industry Adoption SOAP/WSDL MTOM Security WS-Security WS- SecureConv WS-Trust WS-Fed Assurances WS-RM WS-AT Devices WS-D DPWS Apache (WSO2) Apache (WSO2) Apache (WSO2) BEA Systems Inc. A Amazon BEA Systems Inc. A BEA Systems Inc. A Brother Industries BEA Systems Inc. Cape Clear Software Inc. Canon Inc. ebay Inc. Epson Corp. Fuji-Xerox Google gsoap HP IBM Corp. Intel Corp. Iona JBoss Inc. Microsoft Novell Oracle Ricoh Co. SAP Sun Microsystems, Inc. Xerox Corp. BMC (OpenNetwork) A A A Canon Inc. Cape Clear Software Inc. Computer Associates (Netegrity) A A gsoap IBM Corp. (DataPower) IONA Technologies JBoss Inc. Layer 7 Technologies Inc. A A Mercury (Systinet) Microsoft Nokia Novell A Oracle RSA Security Inc. Ping Identity Corp. A SAP Sonic Software Sun Microsystems, Inc. Tibco Software, Inc. Verisign Inc A A A WebMethods Inc. Choreology Ltd IBM Corp. IONA Technologies JBoss Inc. (Arjuna) Mercury (Systinet) Microsoft Oracle SAP Sonic Software Sun Microsystems Inc. Tibco Software, Inc. Canon Inc. Epson Corp. Exceptional Innovation Fuji-Xerox Co. gsoap HP Intel Corp. Lexmark International, Inc. A Microsoft Peerless Systems Corp. Schneider Electric SA Toshiba WebMethods Inc. A Xerox Corp. Released Product Public Interop A Co-Author 2007 JavaOne SM Conference Session TS-8882 22
WS-* Protocols Industry Adoption (Cont.) Metadata MEX WS-P Apache (WSO2) UDDI BEA Systems Inc. Computer Associates A gsoap IBM Corp. JBoss Inc. Layer 7 Technologies Mercury (Systinet) Microsoft Novell Oracle SAP A Sun Microsystems, Inc. Sonic Software WebMethods Inc. A System Mgmt AMD Inc. WS-Man Computer Associates A Dell Inc. gsoap Intel Corp. Mercury (Systinet) A Microsoft Oracle SAP Sonic Software A Sun Microsystems, Inc. WEBM Solutions, Inc. A WS-XFer / Enum 2003-2007 Microsoft Corporation. All rights reserved. The information contained in this document represents the current view at the time of publication and is subject to change. A Released Product Public Interop Co-Author 2007 JavaOne SM Conference Session TS-8882 23
Provider Model in.net Controls Controls Login LoginStatus LoginView Other Login Controls Membership API Membership MembershipUser Membership Providers SqlMembershipProvider Other Membership Providers Membership Data SQL Server Other Data Stores 2007 JavaOne SM Conference Session TS-8882 24
Agenda Interoperability context and scenarios SOA tenants Challenges in realizing interoperable SOA Solution choices and strategies Key SOA features (discussion and demonstrations) Reliable messaging Propagating security credentials Production and consumption of services Transactional behaviour across platform and technology boundaries Key takeaways Next steps and resources Conclusion 2007 JavaOne SM Conference Session TS-8882 25
Reliable Messaging 2007 JavaOne SM Conference Session TS-8882 26
Reliable Messaging Synchronous/asynchronous WS-Addressing support for endpoints, callbacks WSE and WCF both support WS-Addressing Reliable messaging WS-ReliableMessaging guaranteed, once only delivery WCF supports WS-RM 2007 JavaOne SM Conference Session TS-8882 27
Point to Point Web Services Authentication Point-to-Point Authentication Model Symmetric or asymmetric signing/encryption Various identity tokens uname/passwd, kerberos, x.509 Problematic for SOA Authentication across pairs of services within orchestration Asymmetric operations expensive Heterogeneous services support different authentication methods Brokered Authentication Model Use common authentication across a group of applications (or services, in SOA) A commonly trusted 3rd party that issues interoperable tokens Security Token Service (STS) WS-Trust, WS-SecureConversation Tokens can be Kerberos, SAML, etc. WCF STS using SAML 1.1 tokens included with Windows (.NET 3.0) SDK WSE Quickstart SAML STS for WSE3 http://msdn.microsoft.com/library/default.asp?url=/library/enus/dnpag2/html/wss_ch1_brokauthsts.asp Federated Model WS-Federation 2007 JavaOne SM Conference Session TS-8882 28
Brokered Authentication 2007 JavaOne SM Conference Session TS-8882 29
Project Tango 2007 JavaOne SM Conference Session TS-8882 30
Project Tango 2007 JavaOne SM Conference Session TS-8882 31
DEMO Secure Reliable-Messaging between.net and JEE (Glassfish/WSIT) 2007 JavaOne SM Conference Session TS-8882 32
Agenda Interoperability context and scenarios SOA tenants Challenges in realizing interoperable SOA Solution choices and strategies Key SOA features (discussion and demonstrations) Reliable messaging Propagating security credentials Production and consumption of services Transactional behaviour across platform and technology boundaries Key takeaways Next steps and resources Conclusion 2007 JavaOne SM Conference Session TS-8882 33
Windows Communications Foundation WCF Service defined by ABC : Address where is the service? Binding how do I talk to the service? (transport, format, security) Contract what can the service do for me? (types, messages) Contract-based programming model Service contract, message contract, data contract Supports bindings Combinations of ABC for different requirements/constraints Predefined bindings, can create custom bindings Dynamic use different bindings with same service, for different environments, deployments, etc. Interoperable bindings: BasicHttpBinding WS Basic Profile 1.1 Customize other system bindings 2007 JavaOne SM Conference Session TS-8882 34
Windows Communications Foundation Predefined bindings http://windowssdk.msdn.microsoft.com/en-us/library/ms730879.aspx 2007 JavaOne SM Conference Session TS-8882 35
Transactions Across Boundaries Transactions WS-AtomicTransactions demarcate transactions WS-Coordination flow transaction context WCF supports both of these protocols.net 3.0 includes a new System.Transactions namespace to support user-defined, distributed transactions across transactional resources (DTC-based) WCF WS-* protocols supported: WSDL 1.1, MTOM, WS-Policy, WS-PolicyAttachment WS-Security, WS-Addressing, WS-Trust/WS-SecureConversation WS-ReliableMessaging WS-AtomicTransactions, WS-Coordination http://windowssdk.msdn.microsoft.com/en-us/library/ms730294.aspx 2007 JavaOne SM Conference Session TS-8882 36
Agenda Interoperability context and scenarios SOA tenants Challenges in realizing interoperable SOA Solution choices and strategies Key SOA features (discussion and demonstrations) Reliable messaging Propagating security credentials Production and consumption of services Transactional behaviour across platform and technology boundaries Key takeaways Next steps and resources Conclusion 2007 JavaOne SM Conference Session TS-8882 37
2007 JavaOne SM Conference Session TS-8882 38
2007 JavaOne SM Conference Session TS-8882 39
Remember me 2007 JavaOne SM Conference Session TS-8882 40
2007 JavaOne SM Conference Session TS-8882 41
2007 JavaOne SM Conference Session TS-8882 42
Kewl! 2007 JavaOne SM Conference Session TS-8882 43
2007 JavaOne SM Conference Session TS-8882 44
2007 JavaOne SM Conference Session TS-8882 45
2007 JavaOne SM Conference Session TS-8882 46
2007 JavaOne SM Conference Session TS-8882 47
Agenda Interoperability context and scenarios SOA tenants Challenges in realizing interoperable SOA Solution choices and strategies Key SOA features (discussion and demonstrations) Reliable messaging Propagating security credentials Production and consumption of services Transactional behaviour across platform and technology boundaries Key takeaways Next steps and resources Conclusion 2007 JavaOne SM Conference Session TS-8882 48
2007 JavaOne SM Conference Session TS-8882 49
2007 JavaOne SM Conference Session TS-8882 50
Resources Mohammads Blog: http://blogs.msdn.com/mohammadakif WCF Interoperability and Integration: http://msdn2.microsoft.com/enus/library/ms730017.aspx J+N Java technology and.net http://www.microsoft.com/windowsserver/jplusn/ default.mspx 2007 JavaOne SM Conference Session TS-8882 51
Q&A 2007 JavaOne SM Conference Session TS-8882 52
TS-8882 Implementing Interoperable SOA in Your Enterprise Kevin Wittkopf Solutions Architect Microsoft Mohammad Akif Senior Architect Microsoft http://blogs.msdn.com/mohammadakif 2007 JavaOne SM Conference Session TS-8882