Implementing Interoperable SOA in Your Enterprise...
-
Upload
trinhthien -
Category
Documents
-
view
232 -
download
1
Transcript of Implementing Interoperable SOA in Your Enterprise...
2007 JavaOneSM Conference | Session TS-8882 |
TS-8882
Implementing Interoperable SOA in Your Enterprise
Kevin WittkopfSolutions ArchitectMicrosoft
Mohammad AkifSenior ArchitectMicrosoft
http://blogs.msdn.com/mohammadakif
2007 JavaOneSM Conference | Session TS-8882 | 2
Learn strategies for designing and building a hybrid SOA in your enterprise that spans Java™ technology and .NET
2007 JavaOneSM Conference | Session TS-8882 | 3
AgendaInteroperability context and scenariosSOA tenantsChallenges in realizing interoperable SOASolution choices and strategiesKey SOA features (discussion and demonstrations)
Reliable messagingPropagating security credentialsProduction and consumption of servicesTransactional behaviour across platform and technology boundaries
Key takeawaysNext steps and resourcesConclusion
2007 JavaOneSM Conference | Session TS-8882 | 4
AgendaInteroperability context and scenariosSOA tenantsChallenges in realizing interoperable SOASolution choices and strategiesKey SOA features (discussion and demonstrations)
Reliable messagingPropagating security credentialsProduction and consumption of servicesTransactional behaviour across platform and technology boundaries
Key takeawaysNext steps and resourcesConclusion
2007 JavaOneSM Conference | Session TS-8882 | 5
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 JavaOneSM Conference | Session TS-8882 | 6
Java Technology/.NET InteroperabilitySOA—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 JavaOneSM Conference | Session TS-8882 | 7
Interoperability Dimensions• 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
SOA Requirements
2007 JavaOneSM Conference | Session TS-8882 | 8
Exchanging Data
• 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
Data integrity and confidentiality
2007 JavaOneSM Conference | Session TS-8882 | 9
AgendaInteroperability context and scenariosSOA tenantsChallenges in realizing interoperable SOASolution choices and strategiesKey SOA features (discussion and demonstrations)
Reliable messagingPropagating security credentialsProduction and consumption of servicesTransactional behaviour across platform and technology boundaries
Key takeawaysNext steps and resourcesConclusion
2007 JavaOneSM Conference | Session TS-8882 | 10
SOA Core Tenants
Services and consumers are independently versioned, deployed, operated, and secured
Services are autonomous
Data never includes behavior; Objects with data and behavior are a local phenomenon
Share schema and contract, not class
Capabilities and requirements represented by a unique public name; Used to establish service suitability
Compatibilitybased on policy
Developers opt-in to consuming, exposing, and defining public-facing service façade
Boundaries are explicit
2007 JavaOneSM Conference | Session TS-8882 | 11
AgendaInteroperability context and scenariosSOA tenantsChallenges in realizing interoperable SOASolution choices and strategiesKey SOA features (discussion and demonstrations)
Reliable messagingPropagating security credentialsProduction and consumption of servicesTransactional behaviour across platform and technology boundaries
Key takeawaysNext steps and resourcesConclusion
2007 JavaOneSM Conference | Session TS-8882 | 18
Complex Data TypesBeyond the ‘Hello World’ example
ASP.NETSmartClient
Presentation Tier Resource TierBusiness Tier
Client
ServicedComponents
Database
MessageQueue
Broker
JSPsServlets
Swing/AWT
POJOsEJBs
“Hello World”
Full Name Daniel IngitarajCompany Name MicrosoftAddress Microsoft Corp (India) Pvt Ltd
Prestige Takt23 Kasturba Road CrossBangalore—560 001India
Work Tel +91-80-2121212Fax +91-80-2121800Email [email protected] Updated 4 Jan 2003, 11:23.37am
2007 JavaOneSM Conference | Session TS-8882 | 19
AgendaInteroperability context and scenariosSOA tenantsChallenges in realizing interoperable SOASolution choices and strategiesKey SOA features (discussion and demonstrations)
Reliable messagingPropagating security credentialsProduction and consumption of servicesTransactional behaviour across platform and technology boundaries
Key takeawaysNext steps and resourcesConclusion
2007 JavaOneSM Conference | Session TS-8882 | 20
Point to Point Interoperability• 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
XML Web Services
2007 JavaOneSM Conference | Session TS-8882 | 21
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 JavaOneSM Conference | Session TS-8882 | 22
WS-* Protocols—Industry Adoption
Apache (WSO2)
Amazon
BEA Systems Inc.
Cape Clear Software Inc.
Canon Inc.
eBay Inc.
Epson Corp.
Fuji-Xerox
gSOAP
HP
IBM Corp.
Intel Corp.
Iona
JBoss Inc.
Microsoft
Novell
Oracle
Ricoh Co.
SAP
Sun Microsystems, Inc.
Xerox Corp.
Apache (WSO2)
BEA Systems Inc. A
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.
Messaging Security
Apache (WSO2)
BEA Systems Inc. A
Choreology Ltd
IBM Corp.
IONA Technologies
JBoss Inc. (Arjuna)
Mercury (Systinet)
Microsoft
Oracle
SAP
Sonic Software
Sun Microsystems Inc.
Tibco Software, Inc.
Assurances
BEA Systems Inc. A
Brother Industries
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.
Devices
Released ProductPublic Interop
A Co-Author
DPW
S
WS-
Secu
reC
onv
WS-
Secu
rity
WS-
Trus
t
WS-
RM
WS-
AT
WS-
D
SOA
P/W
SDL
MTO
M
WS-
Fed
2007 JavaOneSM Conference | Session TS-8882 | 23
WS-* Protocols—Industry Adoption (Cont.)
Released ProductPublic Interop
A Co-Author
AMD Inc. A
Computer Associates A
Dell Inc.
gSOAP
Intel Corp.
Mercury (Systinet) A
Microsoft
Oracle
SAP
Sonic Software A
Sun Microsystems, Inc.
WEBM Solutions, Inc.
WS-
P
System MgmtMetadataApache (WSO2)
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
WS-
Man
WS-
XFer
/ Enu
m
UD
DI
MEX
© 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.
2007 JavaOneSM Conference | Session TS-8882 | 24
Provider Model in .NETControls
OtherData Stores
Login LoginStatus LoginView
Other MembershipProviders
Membership MembershipUser
SqlMembershipProvider
SQL Server
Other LoginControls
Membership API
MembershipData
Controls
Membership Providers
2007 JavaOneSM Conference | Session TS-8882 | 25
AgendaInteroperability context and scenariosSOA tenantsChallenges in realizing interoperable SOASolution choices and strategiesKey SOA features (discussion and demonstrations)
Reliable messagingPropagating security credentialsProduction and consumption of servicesTransactional behaviour across platform and technology boundaries
Key takeawaysNext steps and resourcesConclusion
2007 JavaOneSM Conference | Session TS-8882 | 27
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 JavaOneSM Conference | Session TS-8882 | 28
Point to Point
• 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
Web Services Authentication
322007 JavaOneSM Conference | Session TS-8882 |
DEMOSecure Reliable-Messaging between.NET and JEE (Glassfish/WSIT)
2007 JavaOneSM Conference | Session TS-8882 | 33
AgendaInteroperability context and scenariosSOA tenantsChallenges in realizing interoperable SOASolution choices and strategiesKey SOA features (discussion and demonstrations)
Reliable messagingPropagating security credentialsProduction and consumption of servicesTransactional behaviour across platform and technology boundaries
Key takeawaysNext steps and resourcesConclusion
2007 JavaOneSM Conference | Session TS-8882 | 34
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 JavaOneSM Conference | Session TS-8882 | 35
http://windowssdk.msdn.microsoft.com/en-us/library/ms730879.aspx
Windows Communications Foundation
Predefined bindings
2007 JavaOneSM Conference | Session TS-8882 | 36
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 JavaOneSM Conference | Session TS-8882 | 37
AgendaInteroperability context and scenariosSOA tenantsChallenges in realizing interoperable SOASolution choices and strategiesKey SOA features (discussion and demonstrations)
Reliable messagingPropagating security credentialsProduction and consumption of servicesTransactional behaviour across platform and technology boundaries
Key takeawaysNext steps and resourcesConclusion
2007 JavaOneSM Conference | Session TS-8882 | 48
AgendaInteroperability context and scenariosSOA tenantsChallenges in realizing interoperable SOASolution choices and strategiesKey SOA features (discussion and demonstrations)
Reliable messagingPropagating security credentialsProduction and consumption of servicesTransactional behaviour across platform and technology boundaries
Key takeawaysNext steps and resourcesConclusion
2007 JavaOneSM Conference | Session TS-8882 | 51
Resources
• Mohammads Blog:• http://blogs.msdn.com/mohammadakif
• WCF Interoperability and Integration:• http://msdn2.microsoft.com/en-
us/library/ms730017.aspx• J+N—Java technology and .NET
• http://www.microsoft.com/windowsserver/jplusn/default.mspx