Date post: | 13-Dec-2015 |
Category: |
Documents |
Upload: | helena-sharp |
View: | 218 times |
Download: | 2 times |
WEB402
Cross-Platform Interoperability
Yasser Shohoud
Program Manager
XML Messaging Team
Microsoft Corporation
If I had a $...Which of my systems are interoperable?
What can .NET interoperate with today?
What are the challenges and the pitfalls?
How do I connect my ‘boxes’ together?
Interoperability is Web services, right?
I’ve heard Web services are slow / insecure
But, how do I ensure that I don’t take a proprietary route?
Oh, did I forget to mention? We’re a J2EE shop…
Oh, did I forget to mention? We’re a MQ Series shop…
Oh, did I forget to mention? We’re a IBM/VMS/SunOS* shop…
* Replace as applicable
Cross-Platform Interop
AgendaInteroperability Fundamentals
Dealing with Complex Data Types
WSDL Interop Problems
What is WS-I and how can it help you achieve interop
Conclusion, More Info and Q&A
Cross-Platform Interop
AgendaInteroperability Fundamentals
Dealing with Complex Data Types
WSDL Interop Problems
What is WS-I and how can it help you achieve interop
Conclusion, More Info and Q&A
Interoperability
Formal DefinitionThe capability to communicate, execute programs, or transfer data among various functional units in a manner that requires the user to have little or no knowledge of the unique characteristics of those units.
[ISO/IEC 2382 Information Technology Vocabulary]
Interoperability
Formal DefinitionThe capability to communicate, execute programs, or transfer data among various functional units in a manner that requires the user to have little or no knowledge of the unique characteristics of those units.
[ISO/IEC 2382 Information Technology Vocabulary]
Interoperability
Interoperability EnablesRe-use of Existing Systems
Integration of legacy systems
Extends life of current systems and knowledge
Proof of ConceptsRip and replace is no longer an option
Increases technical agility
MigrationMigration is not an ‘overnight’ process
Allows for planned, correctly executed migrations
Potentially Lower Project CostsDevelopment time and resource cost savings
Faster Go-to-Market (GTM)
J2EEJ2EE
..NETNET
ASP.NET
Interoperability Requirements
Presentation TierPresentation Tier Resource TierResource TierBusiness TierBusiness Tier
Client
ServicedComponents
Database
MessageQueue
Broker
Technology Aligned DevelopmentTechnology Aligned Development
JSPsServlets
EJBs
ASP.NET
Interoperability Requirements
Presentation TierPresentation Tier Resource TierResource TierBusiness TierBusiness Tier
Client
ServicedComponents
Database
MessageQueue
Broker
Scenario 1: Interoperability at the Presentation TierScenario 1: Interoperability at the Presentation Tier
JSPsServlets
EJBs
ASP.NET
Interoperability Requirements
Presentation TierPresentation Tier Resource TierResource TierBusiness TierBusiness Tier
Client
ServicedComponents
Database
MessageQueue
Broker
Scenario 1: Interoperability at the Presentation TierScenario 1: Interoperability at the Presentation Tier
JSPsServlets
EJBs
ASP.NET
Interoperability Requirements
Presentation TierPresentation Tier Resource TierResource TierBusiness TierBusiness Tier
Client
ServicedComponents
Database
MessageQueue
Broker
Scenario 2: Re-use of Business Tier ComponentsScenario 2: Re-use of Business Tier Components
JSPsServlets
EJBs
ASP.NET
Interoperability Requirements
Presentation TierPresentation Tier Resource TierResource TierBusiness TierBusiness Tier
Client
ServicedComponents
Database
MessageQueue
Broker
Scenario 2: Re-use of Business Tier ComponentsScenario 2: Re-use of Business Tier Components
JSPsServlets
EJBs
ASP.NET
Interoperability Requirements
Presentation TierPresentation Tier Resource TierResource TierBusiness TierBusiness Tier
Client
ServicedComponents
Database
MessageQueue
Broker
Scenario 3: Re-use of Shared ResourcesScenario 3: Re-use of Shared Resources
JSPsServlets
EJBs
Cross-Platform Interop
AgendaInteroperability Fundamentals
Dealing with Complex Data Types
WSDL Interop Problems
What is WS-I and how can it help you achieve interop
Conclusion, More Info and Q&A
JSPsServlets
EJBs
ASP.NET
Complex Data Types
Presentation TierPresentation Tier Resource TierResource TierBusiness TierBusiness Tier
Client
ServicedComponents
Database
MessageQueue
Broker
Beyond the ‘Hello World’ ExampleBeyond the ‘Hello World’ Example
Full Name John Doe
Company Name Microsoft
Address (1 Main St., Seattle. WA.)
Work Tel 425 703 5839
Cell Tel 425 395 4082
Email [email protected]
Last Updated 4 Jan 2003, 11:23.37am
.NET and J2EE Data TypesBasic data types do not necessarily match
java.lang.String == System.String?
Data types in one do not exist in the otherSystem.Data.DataSet
java.sql.ResultSet
Two ways of converting the DataBinary Serialization
XML (Parsing or Serialization with XML Schema)
Complex Data TypesBeyond the ‘Hello World’ ExampleBeyond the ‘Hello World’ Example
Complex Data Types
Binary SerializationMechanism where Complex Data Types are converted to a stream of bytes
De-serialization must occur to same type
Serialization relies on FormattersBoth parties must agree on the formatter
.NET Fx 1.0 and J2SE 1.4 binary formatters are incompatible
.NET Fx 1.0 binary formatter can be licensed
Complex Data Types
XML SchemaDefines a structure and common datatypes of an XML Document
Stored in an XSD, which can be remote and shared
Provides arbitration for type mappingjava.lang.String == xs:string == System.String
Cross-type possible, providing XML document is still valid
JSPsServlets
EJBs
ASP.NET
Complex Data Types
Presentation TierPresentation Tier Resource TierResource TierBusiness TierBusiness Tier
Client
ServicedComponents
Database
MessageQueue
Broker
Beyond the ‘Hello World’ ExampleBeyond the ‘Hello World’ Example
XSD
XML
Complex Data Types
Any Data Type, 100% Guaranteed ?Some types are just difficult to send
Hashed types cannot be serialized
.NET Datasets are dynamic
#1 Challenge in Achieving Interoperability
Interoperability Recommendation:
Create Unit TestsModel the data in UML
Create repeatable test harnesses
Then code the application
(Also useful for performance testing)
Cross-Platform Interop
AgendaInteroperability Fundamentals
Dealing with Complex Data Types
WSDL Interop Problems
What is WS-I and how can it help you achieve interop
Conclusion, More Info and Q&A
What is WSDL
Web Services Description Language
An XML grammar for describing Web services interfaces
Uses XML Schema to describe the basic types used by a Web service
E.g. Order, Person, Customer
Adds messages, operations, portTypes, bindings, ports and services
Why Are There WSDL Interop Issues?
WSDL and Schema are flexibleMultiple ways to do the same thing
Imports are problematicWSDL imports are not well specifiedSchema imports are also allowed (two ways to do imports)
It is just too complexVery easy to get something wrong
WSDL Interop Issue
Real-world issue
Recently has been a frequent issue
Core problemsUses inline schema types with SOAP encoding
Also uses group references
There is a workaroundLet’s see it …
Cross-Platform Interop
AgendaInteroperability Fundamentals
Dealing with Complex Data Types
WSDL Interop Problems
What is WS-I and how can it help you achieve interop
Conclusion, More Info and Q&A
Web Services- Interoperability Organization
Industry initiative for Web servicesOpen to any organization committed to Web services
Promote and accelerate adoption, deployment
Focused on promoting Web service interoperability
Across platforms, applications, and programming languages
Promote a common, clear definition for Web services
What Is WS-I?
WS-I DeliverablesProfiles
Named groups of specifications at given version levels with conventions about how they work together
Sample applicationsMultiple implementationsDemonstrate conformance and interoperability
Test suites and supporting materialsConformance testing toolsSupporting documentation and white papers
Basic Profile 1.0
Profiles XML, XML Schema, SOAP, WSDL and UDDI
Provides an interoperable subsetFocus is mostly on SOAP and WSDL
Defines optional mechanisms to advertise conformance
In WSDL and in SOAP message
WS-I Test ToolsTest artifacts for conformance
SOAP messages, WSDL documents, UDDI registrations
Two componentsMonitor and analyzer
MonitorMan-in-the-middle approach to intercepting messages
AnalyzerReads monitor log and analyzes conformance
WS-I Test Tools Architecture
ClientClient serviceserviceMonitorMonitor
Log fileLog file AnalyzerAnalyzer
AnalyzerAnalyzerReportReport
Conclusion
Interop is needed at several layersYou can improve interop at the app layer by choosing the right data typesWe’re always working with other vendors to improve interopThere are typically workarounds to these interop issues
E.g. the WSDL issuesYou can use WS-I test tools to test your service for BP conformance
Increase your chances of interop
Resources
http://msdn.microsoft.com/webservices
Newsgroupmicrosoft.public.dotnet.framework.webservices
WS-I.orgReal World XML Web Services
Addison Wesley, 2002
Ask The ExpertsGet Your Questions Answered
Web Services BoothATE booth 19/20
Tuesday 5pm – 6pm
Wednesday 11am – 12 noon
Community Resources
Community Resourceshttp://www.microsoft.com/communities/default.mspx
Most Valuable Professional (MVP)http://www.mvp.support.microsoft.com/
NewsgroupsConverse online with Microsoft Newsgroups, including Worldwidehttp://www.microsoft.com/communities/newsgroups/default.mspx
User GroupsMeet and learn with your peershttp://www.microsoft.com/communities/usergroups/default.mspx
© 2003 Microsoft Corporation. All rights reserved.© 2003 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.