implementing interoperable soa in your enterprise...

53
2007 JavaOne SM Conference | Session TS-8882 | TS-8882 Implementing Interoperable SOA in Your Enterprise Kevin Wittkopf Solutions Architect Microsoft Mohammad Akif Senior Architect Microsoft http://blogs.msdn.com/mohammadakif

Upload: trinhthien

Post on 07-Mar-2018

228 views

Category:

Documents


1 download

TRANSCRIPT

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 | 12

2007 JavaOneSM Conference | Session TS-8882 | 13

2007 JavaOneSM Conference | Session TS-8882 | 14

2007 JavaOneSM Conference | Session TS-8882 | 15

2007 JavaOneSM Conference | Session TS-8882 | 16

What is an ESB?

2007 JavaOneSM Conference | Session TS-8882 | 17

Hello handsome….

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

Google

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 | 26

Reliable Messaging

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

2007 JavaOneSM Conference | Session TS-8882 | 29

Brokered Authentication

2007 JavaOneSM Conference | Session TS-8882 | 30

Project Tango

2007 JavaOneSM Conference | Session TS-8882 | 31

Project Tango

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 | 38

2007 JavaOneSM Conference | Session TS-8882 | 39

2007 JavaOneSM Conference | Session TS-8882 | 40Remember me…

2007 JavaOneSM Conference | Session TS-8882 | 41

2007 JavaOneSM Conference | Session TS-8882 | 42

2007 JavaOneSM Conference | Session TS-8882 | 43

Kewl!

2007 JavaOneSM Conference | Session TS-8882 | 44

2007 JavaOneSM Conference | Session TS-8882 | 45

2007 JavaOneSM Conference | Session TS-8882 | 46

2007 JavaOneSM Conference | Session TS-8882 | 47

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 | 49

2007 JavaOneSM Conference | Session TS-8882 | 50

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

522007 JavaOneSM Conference | Session TS-8882 |

Q&A

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