320 likes | 403 Views
Welcome. Me: Glen Daniels, Sonic’s “standards guy” W3C work : SOAP, WSDL Soapbuilders, WS-*, etc. JSRs Coauthor of “Building Web Services with Java ™ ” from Sams You: Interested developers, managers Some familiarity with Web services. Our Path for the Next 45 min. Interop defined
E N D
Welcome • Me: • Glen Daniels, Sonic’s “standards guy” • W3C work : SOAP, WSDL • Soapbuilders, WS-*, etc. • JSRs • Coauthor of “Building Web Services with Java™” from Sams • You: • Interested developers, managers • Some familiarity with Web services G2300-LV Web Services Interoperability
Our Path for the Next 45 min • Interop defined • Web Services Overview • History • State of the World • Futures • Q & A G2300-LV Web Services Interoperability
This Is Interoperability (in the US): G2300-LV Web Services Interoperability
So Is This: Adapter G2300-LV Web Services Interoperability
This Isn’t Interoperability Je ne comprenez-vous pas, aimez-vous un sandwich? Ich möchte ein Buch kaufen, bitte! ? (please excuse any translation errors – I just used BabelFish!) G2300-LV Web Services Interoperability
...But This Is Do you speak English? Yes! Can I help you? I would like to buy a book please! I’m sorry, this is a sandwich shop! Oh! How about a pastrami on rye, then? G2300-LV Web Services Interoperability
Interoperability Stack • Transport (addressing, data flow) • Syntax (data format) • Data (types) • Protocol (communication behavior) • Semantics (meaning) G2300-LV Web Services Interoperability
Overview of Web Services • We all want our software to talk • CORBA, RMI, DCE, COM, DCOM, EDI... • “Why can’t we all just get along?” • XML was gaining good uptake as common data format • HTTP obviously works pretty well • Enter SOAP! • XML framework for an interoperable and extensible messaging protocol over HTTP G2300-LV Web Services Interoperability
The Web Services Stack • Messaging (transport) • SOAP, Extensions for QoS, Security, etc. • Description (metadata and tooling) • WSDL, Policy, RDF • Directories (discovery) • UDDI G2300-LV Web Services Interoperability
Toolkits • You often don’t deal with SOAP directly OpenEdge™ .NET Platform2 Platform1 SOAPMessage Toolkit2 Toolkit1 G2300-LV Web Services Interoperability
SOAP’s Extensibility Model Envelope Header Extension Body My Data G2300-LV Web Services Interoperability
SOAP’s Extensibility Model Envelope Header Decryption Info Weather Mandatory! Body Encrypted Data G2300-LV Web Services Interoperability
WSDL = Design-Time Metadata • “I use these data types” • “You send me this, and I’ll send you that” • “I’m reachable via SOAP at http://...” • “I need you to use these extensions” • “My phone # is....” G2300-LV Web Services Interoperability
So Did It Work? • Kind of • Big players all on board! • Lots of XML interop, HTTP connectivity • But... • Not all specs developed together • Early specs unclear, proprietary • Early implementations didn’t always work together G2300-LV Web Services Interoperability
Paths To Interop • Standards • Grassroots (SOAPBuilders) • Interop summits + workshops • WS-I G2300-LV Web Services Interoperability
What are “Standards” Anyway? • “The wonderful thing about standards... is that there are so many to choose from!” --unattributed G2300-LV Web Services Interoperability
Web Services Standards Bodies • IETF (protocols, HTTP, TCP, DNS) • W3C (XML, HTML, SOAP, WSDL) • OASIS (ebXML, WS-Security, extensions) • WS-I (Profiles) • others... G2300-LV Web Services Interoperability
Do Standards Help? • YES, but... • We don’t always get it right the first time • Some standards are unclear • Some standards “die on the vine” (WS-Routing) • Be careful about choosing • Who’s behind it (wide acceptance) • IP concerns • Technology quality • Make sure it’s “fully baked” G2300-LV Web Services Interoperability
SOAPBuilders • Yahoo group to promote testing and interop for SOAP developers • Grassroots organization • Several “rounds” of testing, both online and face-to-face “interops” • Lots of work done fast. First RPC services, then WSDL, then doc/lit... • More than 30 stacks participate (has yours?) G2300-LV Web Services Interoperability
Developer Get-togethers Are Great • SOAPBuilders • Microsoft / IBM • WS-* (Security, ReliableMessaging, etc) • W3C • SOAP 1.2 (2002) • WSDL 2.0 (2004) • Help find problems in specs as well as problems in implementations • Find problems before the users do! G2300-LV Web Services Interoperability
WS-I (Web Services Interop Org) • Private consortium ($$ to join) • “Profiles”, not standards • Basic Profile 1.0 out now • Test suite w/ sample application • Process is a bit heavy/slow • Lots of apparent commitment G2300-LV Web Services Interoperability
Where Are We Now? • Basic stuff works great - lots of interoperable SOAP-over-HTTP engines • SOAP 1.1, WSDL 1.1, XML Schema • Basic types mostly just work • Strings, integers, dates, floats, etc. • Arrays / collections • Security via HTTPS mostly just works • WS-I BP? Jury is still out.... G2300-LV Web Services Interoperability
What Isn’t There Yet? • Fancy XML, data types aren’t solid yet • .NET DataSet • No interoperable Hashtable / Recordset • ...or you can use raw XML • Extensions aren’t solid yet • Transactions, Reliability • Anything but request-response (i.e. async) isn’t solid yet G2300-LV Web Services Interoperability
WS Interoperability Stack Today • Transport (HTTP, SMTP, JMS, etc) • Syntax (XML) • Data (Schema, WSDL) • Protocol (SOAP, WS-* extensions) • Semantics (WSDL extensions, Policy, RDF) G2300-LV Web Services Interoperability
The Stack is Coming Together • Functional choices for high-level stuff within a year or two • But.... • Be careful of “spec silos”... G2300-LV Web Services Interoperability
Interoperability vs. Extensibility • If everyone did the same exact things... • Wouldn’t it all just work? • Sure, until you need something else... • Then you have to go rebuild everything again! • Extensibility allows agility and new developments in your current framework... • but at a cost. If you’re using a brand new extension – you might not be interoperable with too many other folks unless they catch up • This is a key tradeoff G2300-LV Web Services Interoperability
The Answer...? • Balance interop with extensibility • Future-proof toolkits with “pluggable” architecture • This doesn’t mean you have to do it all yourself, just that your vendor can give you plugins without a whole new infrastructure G2300-LV Web Services Interoperability
Lessons Learned, and Dreams Grounded • We’re not there yet • The technology has some great potential • A lot works now, but more later • Balance interop and extensibility • In the meanwhile... G2300-LV Web Services Interoperability
How Progress/Sonic Gets You There • We track this stuff • We participate in the design of this stuff • We are committed to building this stuff • and making it easy for you to use • Integration is our world • Still going to need integration to deal with “impedance mismatches” G2300-LV Web Services Interoperability
In Summary • Web Services are about interoperability • Basic stuff works today • OpenEdge 10 • ESB • More coming down the line G2300-LV Web Services Interoperability
Related Courses • The following Progress courses cover related subject matter. Please visit www.progress.com/education for course descriptions and relevant curriculum maps. • XML Essentials • 4GL Development with XML • Consuming Web Services from OpenEdge G2300-LV Web Services Interoperability
Questions? G2300-LV Web Services Interoperability