Web Services: Interoperability & Integration
description
Transcript of Web Services: Interoperability & Integration
11
Web Services:Web Services:Interoperability & IntegrationInteroperability & IntegrationMatt DeaconArchitectMicrosoft [email protected]/matt_deacon
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
Web Services: Interoperability & IntegrationWeb Services: Interoperability & IntegrationWeb Services: Interoperability & IntegrationWeb Services: Interoperability & Integration
A service is a program that communicates by
the exchange of messagesMessag
e
ServiceProviderServiceProvider
ServiceConsumer
ServiceConsumer
Anatomy of a serviceAnatomy of a serviceAnatomy of a serviceAnatomy of a service
RequestRequest
ResponseResponse
ImplementationImplementationImplementationImplementation
DataDataBusiness
LogicBusiness
Logic
MessageMessageMessageMessage
DescriptionDescriptionDescriptionDescription
DiscoveryDiscoveryDiscoveryDiscovery
TransportTransportTransportTransport
Service Provider ArchitectureService Provider ArchitectureService Provider ArchitectureService Provider Architecture
Contract
Agreements
ProgrammingLanguage
Object Model
Application
Database
OperatingSystem
Database
OperatingSystem
ProgrammingLanguage
Object Model
Application
You Your Partner
Complexity
Complexity
To Loosely Coupled ServicesFrom Tightly Coupled Objects…From Tightly Coupled Objects…Service couplingService couplingService couplingService coupling
Boundaries are Explicit
Services are Autonomous
Services share schema and contract, not class
Service compatibility is based on policy
Four Tenets of Service DesignFour Tenets of Service DesignFour Tenets of Service DesignFour Tenets of Service Design
ImplementationImplementationImplementationImplementation
DataDataBusiness
LogicBusiness
Logic
MessageMessageMessageMessage
DescriptionDescriptionDescriptionDescription
DiscoveryDiscoveryDiscoveryDiscovery
TransportTransportTransportTransport
.NET/J2EE.NET/J2EE.NET/J2EE.NET/J2EE
DataDataBusiness
LogicBusiness
Logic
SOAP / XMLSOAP / XMLSOAP / XMLSOAP / XML
WSDLWSDLWSDLWSDL
UDDIUDDIUDDIUDDI
HTTP(S)HTTP(S)HTTP(S)HTTP(S)
Web Service ArchitectureWeb Service ArchitectureWeb Service ArchitectureWeb Service Architecture
Messages (SOAP)
3. Binds
2. Discovers
1. Publishes
4. Communicates
ServiceProviderServiceProvider
ServiceDirectory
(UDDI)
ServiceDirectory
(UDDI)
ServiceConsumer
ServiceConsumer
Endpoint(Address)Endpoint(Address)
Contract
(WSDL)
Web Service CommunicationWeb Service CommunicationWeb Service CommunicationWeb Service Communication
Firewall friendly Inter-organisation communication Transparency
Extensible XML framework Implementation neutral
Massive industry momentum Big $
Interoperability BenefitsInteroperability BenefitsInteroperability BenefitsInteroperability Benefits
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 in Microsoft ProductsWeb Service Support in Microsoft ProductsWeb Service Support in Microsoft ProductsWeb Service Support in Microsoft Products
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 JavaWeb Service Support for JavaWeb Service Support for JavaWeb Service Support for Java
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 Support for Other platformsWeb Service Support for Other platformsWeb Service Support for Other platformsWeb Service Support for Other platforms
“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 StandardsWeb Service StandardsWeb Service StandardsWeb 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 2002Over 130 Member organisations
Formed in 2002Over 130 Member organisations
Web Service StandardsWeb Service StandardsWeb Service StandardsWeb Service Standards
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/2004Attachments Profile 1.0 24/06/2004Basic Security Profile Working draft 20/01/2005
Usage scenarios and use cases Test tools Sample applications
Web Service InteroperabilityWeb Service InteroperabilityWeb Service InteroperabilityWeb Service Interoperability
SOAPSOAPSOAPSOAP
WSDLWSDLWSDLWSDL
UDDIUDDIUDDIUDDI
HTTP(S)HTTP(S)HTTP(S)HTTP(S)HTTP(S)HTTP(S)HTTP(S)HTTP(S)
.NET/J2EE.NET/J2EE.NET/J2EE.NET/J2EE
DataDataBusiness
LogicBusiness
Logic
DescriptionDescription
DiscoveryDiscovery
ExpressionExpression
SchemaSchema
TransportTransport
MessageMessage SOAP 1.1SOAP 1.1SOAP 1.1SOAP 1.1
WSDL 1.1WSDL 1.1WSDL 1.1WSDL 1.1
UDDI 2.0UDDI 2.0UDDI 2.0UDDI 2.0
HTTP 1.1HTTP 1.1HTTP 1.1HTTP 1.1
XSD 1.0XSD 1.0XSD 1.0XSD 1.0
XML 1.0XML 1.0XML 1.0XML 1.0
WS-I Basic ProfileWS-I Basic Profile WS-I Basic ProfileWS-I Basic Profile
Web Service InteroperabilityWeb Service InteroperabilityWeb Service InteroperabilityWeb Service Interoperability
WS-I Test ToolsWS-I Test Tools WS-I Test ToolsWS-I Test Tools
Web Service InteroperabilityWeb Service InteroperabilityWeb Service InteroperabilityWeb Service Interoperability
ConsumerConsumer Web ServiceWeb Service
MonitorMonitor
Message LogMessage Log
AnalyzerAnalyzer
ConformanceReport
ConformanceReport
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
Web Service InteroperabilityWeb Service InteroperabilityWeb Service InteroperabilityWeb Service Interoperability
Transports HTTP(S) Transports HTTP(S)
XML XML, XSD, XPath XML XML, XSD, XPath
Messaging SOAP, WS-Addressing, WS-EventingMessaging SOAP, WS-Addressing, WS-Eventing
SecurityWS-Security
WS-TrustWS-Federation
SecurityWS-Security
WS-TrustWS-Federation
ReliabilityWS-ReliableMessaging
ReliabilityWS-ReliableMessaging
TransactionsWS-BusinessActivity
WS-CoordinationWS-AtomicTransaction
TransactionsWS-BusinessActivity
WS-CoordinationWS-AtomicTransaction
Meta
data
WSD
L, W
S-P
olic
y,
WS-D
isco
very
Meta
data
WSD
L, W
S-P
olic
y,
WS-D
isco
very
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnglobspec/html/ws-routing.asphttp://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnglobspec/html/ws-routing.asp
WS-* SpecificationsWS-* SpecificationsWS-* SpecificationsWS-* Specifications
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
Standards and InteroperabilityStandards and InteroperabilityStandards and InteroperabilityStandards and Interoperability
Internet Internet BankingBanking
WirelessWireless
AggregationAggregation
Branch BankingBranch Banking
CRMCRM
Core BankingCore Banking
Wealth Wealth ManagementManagement
Treasury / Treasury / ForexForex
Trading / Back Trading / Back office office
Payment Systems and Card MgmtPayment Systems and Card Mgmt3D Secure3D Secure
Business Business IntelligenceIntelligence
EAIEAI
Straight through Straight through ProcessingProcessing
ATM / POSATM / POS
No Application Is An IslandNo Application Is An IslandNo Application Is An IslandNo Application Is An Island
FBT PAY GNTS
TRDS
Client
Customs
RREIPS Integrated A/C
Refunds
RBADef
PaymentsExcise
CR
PKI
ECI ADD AWA ELS
Client StaffRemote
StaffTAX
AGENTS
GCI
Call Centres
WOC
CCD
TASS
StaffPhone
ComplianceStaff
BOA
Ref material
Bus. Intel
NTS A/c
BEP
CDCCCWMS
BANK
DDDR
1
Data…….
Penalty
Business
IVR
1
IT Systems TodayIT Systems TodayIT Systems TodayIT Systems Today
Entity Entity
Activity Activity
Process Process
DatabaseDatabase ComponentComponent PartnerPartner LegacyLegacy
Infra
stru
ctu
rIn
frastru
ctu
ree
Even
Even
ttClients and Agents (Service Consumers)Clients and Agents (Service Consumers)
EnterpriseEnterprise
Service Oriented ArchitectureService Oriented ArchitectureService Oriented ArchitectureService Oriented Architecture
A roadmap to Service Oriented Anarchy Silo Services Service Chains Project Services Parrot Services Newspeak Services Multi-master Services Stovepipe Services Service overload
Service Oriented Anti-patternsService Oriented Anti-patternsService Oriented Anti-patternsService Oriented Anti-patterns
Web Services are good for interoperabilityThey are gaining good industry supportStandards need watchingSOA supports an Enterprise Integrated
VisionGrow locally but manage centrallyNeed to use architecture best practicesBut …
Service Oriented Anti-Patterns!
SummarySummarySummarySummary
Connected Systems: 16th June 2005Connected Systems: 16th June 2005
Please complete your sessionfeedback form
THANK YOU
Please complete your sessionfeedback form
THANK YOU
WS-I, Standards and IndustryWS-I, Standards and IndustryWS-I, Standards and IndustryWS-I, Standards and Industry
Services
Message ExchangePattern
describe
OperationalRequirements
enforce
Systems
composed of
Messages
exchange
is a set ofContracts
bound by
contain Schemas define structure of
governed byPolicies
have
Service OrientationService OrientationKey Concepts Key Concepts
Web Services: TenetsWeb Services: TenetsWeb Services: TenetsWeb Services: Tenets
Boundaries are explicitServices are autonomousServices share schema and contractService compatibility is based on policy
Tenet conformance gives better Interoperability
Better Interoperability means stronger Integration
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 routingAttachmentsExtensible framework
WSE v2.0 FeaturesWSE v2.0 FeaturesWSE v2.0 FeaturesWSE v2.0 Features
http://www.microsoft.com/downloads/details.aspx?FamilyId=60080CA9-2466-43E4-A19C-8A9DE724ABA8&displaylang=en
http://www.microsoft.com/downloads/details.aspx?FamilyId=60080CA9-2466-43E4-A19C-8A9DE724ABA8&displaylang=en
Building InteroperableBuilding InteroperableWeb ServicesWeb ServicesBuilding InteroperableBuilding InteroperableWeb ServicesWeb Services
SOA Expansion stagesSOA Expansion stagesMaturity of SOAMaturity of SOA
Scope of business IntegrationScope of business Integration
Process-enabledProcess-enabled
FundamentalFundamental
NetworkedNetworked
Not feasibleNot feasible
MaintainabilityMaintainability
FlexibilityFlexibility
AgilityAgility
Not cost-effectiveNot cost-effective
Intradepartmental
Intradepartmental
crossdepartmental
crossdepartmental
SimpleB2B
SimpleB2B
ComplexProcess
Integration
ComplexProcess
Integration
Enterprise SOA – Krafzig, Banke, SlamaEnterprise SOA – Krafzig, Banke, Slama