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

Upload: darlene-hamilton

Post on 13-Jan-2016

214 views

Category:

Documents


0 download

TRANSCRIPT

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