COM+ And CORBA Interop With XML-Based Web Services Jay Schmelzer Partner Clarity Consulting, Inc....

24
COM+ And CORBA COM+ And CORBA Interop With XML- Interop With XML- Based Web Services Based Web Services Jay Schmelzer Jay Schmelzer Partner Partner Clarity Consulting, Inc. Clarity Consulting, Inc. 1-303 1-303

Transcript of COM+ And CORBA Interop With XML-Based Web Services Jay Schmelzer Partner Clarity Consulting, Inc....

Page 1: COM+ And CORBA Interop With XML-Based Web Services Jay Schmelzer Partner Clarity Consulting, Inc. 1-303.

COM+ And CORBA COM+ And CORBA Interop With XML-Based Interop With XML-Based Web ServicesWeb Services

Jay SchmelzerJay SchmelzerPartnerPartnerClarity Consulting, Inc.Clarity Consulting, Inc.

1-3031-303

Page 2: COM+ And CORBA Interop With XML-Based Web Services Jay Schmelzer Partner Clarity Consulting, Inc. 1-303.
Page 3: COM+ And CORBA Interop With XML-Based Web Services Jay Schmelzer Partner Clarity Consulting, Inc. 1-303.

About ClarityAbout Clarity

ClarityClarity Information technology consulting firmInformation technology consulting firm Based in ChicagoBased in Chicago Focus on MicrosoftFocus on Microsoft®® “Enterprise” “Enterprise”

technologiestechnologies JayJay

Development project leaderDevelopment project leader

……Check out www.claritycon.comCheck out www.claritycon.com

Page 4: COM+ And CORBA Interop With XML-Based Web Services Jay Schmelzer Partner Clarity Consulting, Inc. 1-303.

AgendaAgenda

Define the problemDefine the problem Review our optionsReview our options Dig into XML-based Web servicesDig into XML-based Web services Make it scaleMake it scale

Page 5: COM+ And CORBA Interop With XML-Based Web Services Jay Schmelzer Partner Clarity Consulting, Inc. 1-303.

What Is The Problem?What Is The Problem?

Access existing CORBA applicationsAccess existing CORBA applications Server to Server connectivityServer to Server connectivity

Capitalize on the investments made Capitalize on the investments made in encapsulating business rulesin encapsulating business rules

Server environments are heterogeneous Server environments are heterogeneous in naturein nature

Minimize the impact on the existing Minimize the impact on the existing applicationapplication

Page 6: COM+ And CORBA Interop With XML-Based Web Services Jay Schmelzer Partner Clarity Consulting, Inc. 1-303.

Example Of Our ProblemExample Of Our Problem

UNIX ServerUNIX ServerWindows 2000Windows 2000

CORBACORBAInventoryInventory

ObjectObject

COM+COM+Order Order ObjectObject

??????

Page 7: COM+ And CORBA Interop With XML-Based Web Services Jay Schmelzer Partner Clarity Consulting, Inc. 1-303.

What Are The Options?What Are The Options?

COM/CORBA Bridge productsCOM/CORBA Bridge products Message QueuesMessage Queues

IBM MQSeries on non-MS platformIBM MQSeries on non-MS platform MSMQ on MS platformsMSMQ on MS platforms

Custom SolutionCustom Solution Use Web ProtocolsUse Web Protocols

HTTPHTTP XMLXML SOAPSOAP

Page 8: COM+ And CORBA Interop With XML-Based Web Services Jay Schmelzer Partner Clarity Consulting, Inc. 1-303.

SOAP OverviewSOAP Overview

Simple Object Access ProtocolSimple Object Access Protocol Lightweight protocol for exchanging Lightweight protocol for exchanging

data using XMLdata using XML Message PartsMessage Parts

EnvelopEnvelop Encoding RulesEncoding Rules

Page 9: COM+ And CORBA Interop With XML-Based Web Services Jay Schmelzer Partner Clarity Consulting, Inc. 1-303.

SOAP ExampleSOAP Example

Stock quote methodStock quote method GetStockQuote(ByVal Symbol as String) GetStockQuote(ByVal Symbol as String)

as Doubleas Double Request messageRequest message

<SOAP-ENV:Envelope <SOAP-ENV:Envelope

xmlns:SOAPENV=“SOAPEnvelope-URI”xmlns:SOAPENV=“SOAPEnvelope-URI”

SOAP-ENV:encodingStyle=“SOAPEncoding-URI”SOAP-ENV:encodingStyle=“SOAPEncoding-URI”

<SOAP-ENV:Body><SOAP-ENV:Body>

<m:GetStockQuote xmlns:m=“Some-URI”><m:GetStockQuote xmlns:m=“Some-URI”>

<symbol>MSFT</symbol><symbol>MSFT</symbol>

</m:GetStockQuote></m:GetStockQuote>

</SOAP-ENV:Body></SOAP-ENV:Body>

</SOAP-ENV:Envelope></SOAP-ENV:Envelope>

Page 10: COM+ And CORBA Interop With XML-Based Web Services Jay Schmelzer Partner Clarity Consulting, Inc. 1-303.

SOAP ExampleSOAP Example

Response messageResponse message<SOAP-ENV:Envelope <SOAP-ENV:Envelope

xmlns:SOAPENV=“SOAPEnvelope-URI”xmlns:SOAPENV=“SOAPEnvelope-URI”

SOAP-ENV:encodingStyle=“SOAPEncoding-URI”SOAP-ENV:encodingStyle=“SOAPEncoding-URI”

<SOAP-ENV:Body><SOAP-ENV:Body>

<m:GetStockQuoteResponse<m:GetStockQuoteResponse

xmlns:m=“Some-URI”>xmlns:m=“Some-URI”>

<Price>MSFT</Price><Price>MSFT</Price>

</m:GetStockQuoteResponse></m:GetStockQuoteResponse>

</SOAP-ENV:Body></SOAP-ENV:Body>

</SOAP-ENV:Envelope></SOAP-ENV:Envelope>

Page 11: COM+ And CORBA Interop With XML-Based Web Services Jay Schmelzer Partner Clarity Consulting, Inc. 1-303.

DemoDemo

Hansen Brothers Interop SampleHansen Brothers Interop Sample

Page 12: COM+ And CORBA Interop With XML-Based Web Services Jay Schmelzer Partner Clarity Consulting, Inc. 1-303.

What’s Going On Here?What’s Going On Here?

Windows 2000Windows 2000 Solaris ServerSolaris Server

ASPASP

COM+COM+ObjectsObjects

ROPEROPEEngineEngine

SOAPSOAPListenerListener

CORBACORBAObjectsObjects

OracleOracleDBDB

Page 13: COM+ And CORBA Interop With XML-Based Web Services Jay Schmelzer Partner Clarity Consulting, Inc. 1-303.

Unix ListenerUnix Listener

Listens for HTTP PostsListens for HTTP Posts Parses the SOAP RequestParses the SOAP Request Call the appropriate CORBA objectCall the appropriate CORBA object Packages the results in Packages the results in

SOAP ResponseSOAP Response Sends the results back over HTTPSends the results back over HTTP

Page 14: COM+ And CORBA Interop With XML-Based Web Services Jay Schmelzer Partner Clarity Consulting, Inc. 1-303.

DemoDemo

Review Listener sourceReview Listener source

Page 15: COM+ And CORBA Interop With XML-Based Web Services Jay Schmelzer Partner Clarity Consulting, Inc. 1-303.

Microsoft SOAP SDKMicrosoft SOAP SDK

COM components that wrap COM components that wrap the SOAP messagesthe SOAP messages

Service Description Language – Service Description Language – TypeLib for a Web serviceTypeLib for a Web service

Page 16: COM+ And CORBA Interop With XML-Based Web Services Jay Schmelzer Partner Clarity Consulting, Inc. 1-303.

SDLSDL

Services Description LanguageServices Description Language XML schema file describes XML schema file describes

methods exposedmethods exposed Generated for existing components Generated for existing components

using the SDL Wizardusing the SDL Wizard Example – Product.xmlExample – Product.xml

Page 17: COM+ And CORBA Interop With XML-Based Web Services Jay Schmelzer Partner Clarity Consulting, Inc. 1-303.

ROPEROPE

Formats the SOAP XML messageFormats the SOAP XML message Packages the HTTP requestPackages the HTTP request Receives the HTTP responseReceives the HTTP response Parses the SOAP XML responseParses the SOAP XML response

Page 18: COM+ And CORBA Interop With XML-Based Web Services Jay Schmelzer Partner Clarity Consulting, Inc. 1-303.

Windows 2000 ComponentsWindows 2000 Components

HBProduct componentHBProduct component COM+ componentCOM+ component Wraps the calls to the CORBA componentWraps the calls to the CORBA component Utilizes ROPE Proxy object to make Utilizes ROPE Proxy object to make

the SOAP callsthe SOAP calls HBInteropHBInterop

COM+ business componentCOM+ business component Called by ASP to support the siteCalled by ASP to support the site

Page 19: COM+ And CORBA Interop With XML-Based Web Services Jay Schmelzer Partner Clarity Consulting, Inc. 1-303.

DemoDemo

HBProduct ComponentHBProduct Component

Page 20: COM+ And CORBA Interop With XML-Based Web Services Jay Schmelzer Partner Clarity Consulting, Inc. 1-303.

Converting The dataConverting The data

SOAP (HBProduct) returns XMLSOAP (HBProduct) returns XML We want ADO RecordsetsWe want ADO Recordsets OptionsOptions

Loop through the DOMLoop through the DOM XSL based transformationXSL based transformation

Page 21: COM+ And CORBA Interop With XML-Based Web Services Jay Schmelzer Partner Clarity Consulting, Inc. 1-303.

DemoDemo

HBInterop.ProductDC HBInterop.ProductDC

Page 22: COM+ And CORBA Interop With XML-Based Web Services Jay Schmelzer Partner Clarity Consulting, Inc. 1-303.

SummarySummary

SOAP is a great solution for InteropSOAP is a great solution for Interop Minimal impact to existing componentsMinimal impact to existing components Language neutralLanguage neutral Easy to configureEasy to configure

Page 23: COM+ And CORBA Interop With XML-Based Web Services Jay Schmelzer Partner Clarity Consulting, Inc. 1-303.

Questions?Questions?

Jay SchmelzerJay Schmelzer [email protected]@claritycon.com www.claritycon.comwww.claritycon.com

Page 24: COM+ And CORBA Interop With XML-Based Web Services Jay Schmelzer Partner Clarity Consulting, Inc. 1-303.