Web Services A look to the future
By Dr Colin Adam
WebServices.Org
33K members 12 Sponsors Over 1000
articles 300K page
views per month All Open Source Editorials by
Alan Kotok, David Orchards, Eric Newcomer.
Web Services Today
SOAP provides message interoperability between software components
WSDL provides description of service to provide interoperability between development tools
These successes have lead to developers wanting more capabilities
So where do we go from here?
We Need More Standards
[WS-Acknowledgement][WS-ActiveProfile][WS-Addressing][WS-Attachments][WS-Authorization][WS-AtomicTransaction][WS-BusinessActivity][WS-CAF][WS-Callback][WS-Coordination] [WS-Federation][WS-Inspection][WS-Manageability] [WS-PassiveProfile] [WS-EndpointResolution][WS-MessageData] [WS-MetadataExchange] [WS-Policy][WS-PolicyAssertions][WS-PolicyAttachment] [WS-Provisioning][WS-Privacy][WS-Referral][WS-Reliability][WS-ReliableMessaging] [WS-Routing][WS-Referral][WS-SecureConversation][WS-Security][WS-SecurityPolicy][WS-Transaction][WS-TransmissionControl][WS-Trust][BPEL4WS][WS-Choreography][WSRP][WSXL]
Standards are good..
"These are the infrastructure pieces that will lead to an explosion in web services“ Bill Gates
BUT“We face a key engineering challenge: How do we
give Web services new security, reliability, and transaction capabilities without adding more complexity than needed” Donald Ferguson, IBM
A basis for the future
A general-purpose, composable protocol framework
Protocols are factored from both transports and application semantics
Architecture is metadata-driven, policy-based
Broad industry partnership
The Protocol Framework
Transports HTTP, UDP, … Transports HTTP, UDP, …
XML XML, XSD, XPath, … XML XML, XSD, XPath, …
Messaging SOAP, WS-Addressing, …Messaging SOAP, WS-Addressing, …
SecurityWS-Security
WS-TrustWS-Federation
…
SecurityWS-Security
WS-TrustWS-Federation
…
ReliabilityWS-ReliableMessaging
…
ReliabilityWS-ReliableMessaging
…
TransactionsWS-TransactionWS-Coordination
…
TransactionsWS-TransactionWS-Coordination
…
Met
adat
aW
SD
L, W
S-P
olic
y, …
Met
adat
aW
SD
L, W
S-P
olic
y, …
Composing a message
AddressingAddressing
<S:Envelope … > <S:Header> <wsa:ReplyTo> <wsa:Address>http://business456.com/User12</wsa:Address> </wsa:ReplyTo> <wsa:To>http://fabrikam123.com/Traffic</wsa:To> <wsa:Action>http://fabrikam123.com/Traffic/Status</wsa:Action> <wssec:Security> <wssec:BinarySecurityToken ValueType="wssec:X509v3" EncodingType=“wssec:Base64Binary"> dWJzY3JpYmVyLVBlc…..eFw0wMTEwMTAwMD </wssec:BinarySecurityToken> </wssec:Security> <wsrm:Sequence>zzz <wsu:Identifier>http://fabrikam123.com/seq1234</wsu:Identifier> <wsrm:MessageNumber>10</wsrm:MessageNumber> </wsrm:Sequence> </S:Header> <S:Body> <app:TrafficStatus xmlns:app="http://highwaymon.org/payloads"> <road>520W</road><speed>3MPH</speed> </app:TrafficStatus> </S:Body></S:Envelope>
SecuritySecurity
ReliabilityReliability
Then What?
Assume we have the standards and architecture
Standards are no good without implementations
Standards need to be “policed”How will any developer possibly use them
since they are complicated and numerous?
Implementations
Java Community Process – lots of JSRs on the go
Microsoft’s IndigoNew tools such as Sun Java Studio
Creator (out soon), Microsoft Visual Studio, BEA WebLogic Workshop, Eclipse
Developer Utopia
Drop down menu of Web services specific to his/her IDE settings
Intellisense Web services calls Automatic serialisation of data into XML Automatic performance tweaking Orchestration/Business Logic mapping Visual Data Mapping to legacy Automatic handling of security, reliability,
transactions. Constraints placed on declarations possible
BEA’s Weblogic Workshop
Indigo
“Indigo unifies a wide range of transports (HTTP, TCP, UDP, IPC), security mechanisms (public and symmetric keys, certificates), topologies (point-to-point, end-to-end through intermediaries, peer-to-peer, publish-and-subscribe), and assurances (transacted, reliable, durable) enabling Indigo to provide rich connectivity to many existing systems. “ Don Box
What Microsoft Says
"Indigo" is a new approach to building and running connected systems built from the ground up around the Web services architecture. “ BillG
“You can either do a lot in declarative statements to let you build these services. If you go to the next level down in the architecture, there are connectors and channels for you to import “ Jim Allchin
Policing The Standards
• Standards are held at different organisations
• Implementations need to interoperate
• Vendors needs somewhere to “talk”
• Test tools for compatibility
“WS-I fulfills a need by providing clarifications and constraints on those de facto standards that will enable vendors and developers to implement and use these technologies in an interoperable manner. “ Chris Ferris speaking to ws.org
A few challenges for the future
Extensibility - Need to avoid “big-bang” upgrades – The Web does this well
Evolvability – Need to work on versioning – forwards-backwards compatibility
Early binding – re-use tried and trusted semantics and stick to them
Asynchronous – let’s not wait for each other
My predications
2004 will see some final specifications on QoS going through OASIS/W3C
2005 Indigo will go head to head with Java and win a lot of hearts and minds
2006 80% code on new projects will be WS-I complaint 2007 Peoples lives will be made easier with Web
services 2010 nearly all software created from within a SOA and
XML natural language tools 2020 NHS changes its name to NHWS (National Health
Web Service) 2030 - Last mainframe sold.
NHS -> NHWS
The NHS requires new protocols and implementations now, not later.
Stay away from RYO approaches. Open source has a lot of advantages and is just
as good, if not better Think in terms of loose coupling and constraints
therein Get some good IT Architects Decide what will join the web services together
The end
Any Questions?