+ All Categories
Home > Documents > WEB402 Cross-Platform Interoperability Yasser Shohoud Program Manager XML Messaging Team Microsoft...

WEB402 Cross-Platform Interoperability Yasser Shohoud Program Manager XML Messaging Team Microsoft...

Date post: 13-Dec-2015
Category:
Upload: helena-sharp
View: 218 times
Download: 2 times
Share this document with a friend
41
WEB402 Cross-Platform Interoperability Yasser Shohoud Program Manager XML Messaging Team Microsoft Corporation
Transcript

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

Demo

.NET <-> GLUE interop

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

WSDL Terminology

WSDL Example

Example …

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

Interop Demo: WS-I Interop Demo: WS-I Sample ApplicationSample Application

demodemo

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

WS-I Test ToolsWS-I Test Tools

demodemo

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

evaluationsevaluations

© 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.


Recommended