Dev 328.NET & J2EE Strategies for Interoperability David Aiken Lead Enterprise Architect.
-
Upload
sharon-lee -
Category
Documents
-
view
214 -
download
0
Transcript of Dev 328.NET & J2EE Strategies for Interoperability David Aiken Lead Enterprise Architect.
![Page 1: Dev 328.NET & J2EE Strategies for Interoperability David Aiken Lead Enterprise Architect.](https://reader030.fdocuments.us/reader030/viewer/2022032723/56649f585503460f94c7d068/html5/thumbnails/1.jpg)
Dev 328
.NET & J2EEStrategies for Interoperability
David Aiken
Lead Enterprise Architect
![Page 2: Dev 328.NET & J2EE Strategies for Interoperability David Aiken Lead Enterprise Architect.](https://reader030.fdocuments.us/reader030/viewer/2022032723/56649f585503460f94c7d068/html5/thumbnails/2.jpg)
Agenda
Motivation
Integration Scenarios
Integration Technologies
Complex Data
Integration Architecture
Taking it Further
![Page 3: Dev 328.NET & J2EE Strategies for Interoperability David Aiken Lead Enterprise Architect.](https://reader030.fdocuments.us/reader030/viewer/2022032723/56649f585503460f94c7d068/html5/thumbnails/3.jpg)
Agenda
Motivation
Integration Scenarios
Integration Technologies
Complex Data
Integration Architecture
Taking it Further
![Page 4: Dev 328.NET & J2EE Strategies for Interoperability David Aiken Lead Enterprise Architect.](https://reader030.fdocuments.us/reader030/viewer/2022032723/56649f585503460f94c7d068/html5/thumbnails/4.jpg)
Motivation
J2EE/Java applications exist
Migration is not an “Overnight” process
Design for InteroperabilityRe-use legacy systems
Replacement (phased)
Pilot for adoption
Cost savings for developer Resources
![Page 5: Dev 328.NET & J2EE Strategies for Interoperability David Aiken Lead Enterprise Architect.](https://reader030.fdocuments.us/reader030/viewer/2022032723/56649f585503460f94c7d068/html5/thumbnails/5.jpg)
Agenda
Motivation
Integration Scenarios
Integration Technologies
Complex Data
Integration Architecture
Taking it Further
![Page 6: Dev 328.NET & J2EE Strategies for Interoperability David Aiken Lead Enterprise Architect.](https://reader030.fdocuments.us/reader030/viewer/2022032723/56649f585503460f94c7d068/html5/thumbnails/6.jpg)
Interoperability ScenariosTechnology Map
J2EE
.NET
ASP.NETServiced
Components
JSP/StrutsServlets
EJB’sDatabase
Message Queue
Broker
![Page 7: Dev 328.NET & J2EE Strategies for Interoperability David Aiken Lead Enterprise Architect.](https://reader030.fdocuments.us/reader030/viewer/2022032723/56649f585503460f94c7d068/html5/thumbnails/7.jpg)
Interoperability ScenariosPresentation Tier
J2EE
.NET
ASP.NETServiced
Components
JSP/StrutsServlets
EJB’sDatabase
Message Queue
Broker
![Page 8: Dev 328.NET & J2EE Strategies for Interoperability David Aiken Lead Enterprise Architect.](https://reader030.fdocuments.us/reader030/viewer/2022032723/56649f585503460f94c7d068/html5/thumbnails/8.jpg)
Interoperability ScenariosBusiness Tier
J2EE
.NET
ASP.NETServiced
Components
JSP/StrutsServlets
EJB’sDatabase
Message Queue
Broker
![Page 9: Dev 328.NET & J2EE Strategies for Interoperability David Aiken Lead Enterprise Architect.](https://reader030.fdocuments.us/reader030/viewer/2022032723/56649f585503460f94c7d068/html5/thumbnails/9.jpg)
Interoperability ScenariosShared Resources
J2EE
.NET
ASP.NETServiced
Components
JSP/StrutsServlets
EJB’sDatabase
Message Queue
Broker
![Page 10: Dev 328.NET & J2EE Strategies for Interoperability David Aiken Lead Enterprise Architect.](https://reader030.fdocuments.us/reader030/viewer/2022032723/56649f585503460f94c7d068/html5/thumbnails/10.jpg)
Agenda
Motivation
Integration Scenarios
Integration Technologies
Complex Data
Integration Architecture
Taking it Further
![Page 11: Dev 328.NET & J2EE Strategies for Interoperability David Aiken Lead Enterprise Architect.](https://reader030.fdocuments.us/reader030/viewer/2022032723/56649f585503460f94c7d068/html5/thumbnails/11.jpg)
Integration Technologies
Wire Level
Message Queues
Web Services
![Page 12: Dev 328.NET & J2EE Strategies for Interoperability David Aiken Lead Enterprise Architect.](https://reader030.fdocuments.us/reader030/viewer/2022032723/56649f585503460f94c7d068/html5/thumbnails/12.jpg)
Integration TechnologiesWire Level
ProductsJa.NET (Intrinsyc), JNBridge Pro (JNBridge)
AdvantagesWire Level, Binary Performance
Keep Alive
DisadvantagesTightly Coupled Interface
Vendor Specific
![Page 13: Dev 328.NET & J2EE Strategies for Interoperability David Aiken Lead Enterprise Architect.](https://reader030.fdocuments.us/reader030/viewer/2022032723/56649f585503460f94c7d068/html5/thumbnails/13.jpg)
Integration TechnologiesMessage Queues
ProductsMSMQ, IBM WebSphere MQHost Integration Server 2000, BizTalk Server 2002
AdvantagesLoosely Coupled, N to N Scenarios, SOATransactions, Security, RM
DisadvantagesSynchronous Operation is LimitedPossible Port / Firewall IssuesMessage Queue between Organizations?
![Page 14: Dev 328.NET & J2EE Strategies for Interoperability David Aiken Lead Enterprise Architect.](https://reader030.fdocuments.us/reader030/viewer/2022032723/56649f585503460f94c7d068/html5/thumbnails/14.jpg)
Integration TechnologiesWeb Services – The way forward!
Products Standards-based SOAP stacksMS ASP.NETApache Axis, Glue etc.
AdvantagesLeverage component architectures & design patternsFacilitate service-orientationLoosely Coupled
DisadvantagesVerbose
![Page 15: Dev 328.NET & J2EE Strategies for Interoperability David Aiken Lead Enterprise Architect.](https://reader030.fdocuments.us/reader030/viewer/2022032723/56649f585503460f94c7d068/html5/thumbnails/15.jpg)
Agenda
Motivation
Integration Scenarios
Integration Technologies
Complex Data
Integration Architecture
Taking it Further
![Page 16: Dev 328.NET & J2EE Strategies for Interoperability David Aiken Lead Enterprise Architect.](https://reader030.fdocuments.us/reader030/viewer/2022032723/56649f585503460f94c7d068/html5/thumbnails/16.jpg)
Complex DataIntegration Challenge
.NET and Java Data Types do NOT map.net DataSet = ????
Java Vector = ????
We like to work with Native ObjectsDataSets, Collections, etc.
![Page 17: Dev 328.NET & J2EE Strategies for Interoperability David Aiken Lead Enterprise Architect.](https://reader030.fdocuments.us/reader030/viewer/2022032723/56649f585503460f94c7d068/html5/thumbnails/17.jpg)
Complex DataIntegration Challenge - Facts
Thoughts:We Should be Thinking Service
We Should be Thinking Multiplatform
We Should NOT be Thinking RPC’si.e. Method Calls
We are Exchanging Messages
XML is our Data Format
XSD Should Define Message Structure
![Page 18: Dev 328.NET & J2EE Strategies for Interoperability David Aiken Lead Enterprise Architect.](https://reader030.fdocuments.us/reader030/viewer/2022032723/56649f585503460f94c7d068/html5/thumbnails/18.jpg)
Complex DataIntegration Technology Factors
WireCreates proxies of data typesProxies Not Platform Friendly (e.g. No Data Binding)
Message QueuesAlready exchange messages!Need a common format
Web ServicesShould be exchanging messages!WSDL differences
RPC vs. document style interfaces
Not Platform Friendly (e.g. No Data Binding)
![Page 19: Dev 328.NET & J2EE Strategies for Interoperability David Aiken Lead Enterprise Architect.](https://reader030.fdocuments.us/reader030/viewer/2022032723/56649f585503460f94c7d068/html5/thumbnails/19.jpg)
Complex DataIntegration Solution
Exchange Messages as XMLReturn XML
Return String containing XML
All Platforms Understand String
All Platforms can Parse XMLAfter all its just text!
Structure Defined Using XSD
Loosely Coupled
Supports Versioning!
![Page 20: Dev 328.NET & J2EE Strategies for Interoperability David Aiken Lead Enterprise Architect.](https://reader030.fdocuments.us/reader030/viewer/2022032723/56649f585503460f94c7d068/html5/thumbnails/20.jpg)
Complex DataKey Lesson
XSD (Data Transfer Objects)Programming model independent
XSD(DTO)
J2EE™™
DOMJAXM
Custom Serializer Vendor Tools
.NET™™
Typed DataSet Xml Serialization
Namespace
![Page 21: Dev 328.NET & J2EE Strategies for Interoperability David Aiken Lead Enterprise Architect.](https://reader030.fdocuments.us/reader030/viewer/2022032723/56649f585503460f94c7d068/html5/thumbnails/21.jpg)
Web ServicesComplex Data Types
David Aiken
Lead Enterprise Architect
demodemo
![Page 22: Dev 328.NET & J2EE Strategies for Interoperability David Aiken Lead Enterprise Architect.](https://reader030.fdocuments.us/reader030/viewer/2022032723/56649f585503460f94c7d068/html5/thumbnails/22.jpg)
Agenda
Motivation
Integration Scenarios
Integration Technologies
Complex Data
Integration Architecture
Taking it Further
![Page 23: Dev 328.NET & J2EE Strategies for Interoperability David Aiken Lead Enterprise Architect.](https://reader030.fdocuments.us/reader030/viewer/2022032723/56649f585503460f94c7d068/html5/thumbnails/23.jpg)
Integration Architecture
Design GoalsCapture Use Case in Code
Allow Interoperability to Change
Change Integration without breaking code
Use Best Practices
XBikes Sample ApplicationBased on Downhill Bikes
Several Flavours.net, J2EE IBM WebSphere
JBoss, WebLogic soon!
![Page 24: Dev 328.NET & J2EE Strategies for Interoperability David Aiken Lead Enterprise Architect.](https://reader030.fdocuments.us/reader030/viewer/2022032723/56649f585503460f94c7d068/html5/thumbnails/24.jpg)
Object1 Object2 Object3 Object4
Actor3
Message5
Message6 Message7
Message8
Message9
Message10
System
UseCase1
UseCase2
UseCase3Actor1
UseCase4
«extends»
*
*
* **
*
Component1
Component2
Component3
Actor2
Message1
Message2
Message3
Component4
Message4
Use CaseModel
CollaborationDiagram
Object SequenceDiagramGUI Prototype
DomainModel
ClassModel
Dynamic
Static
«datatype»DataType1
«datatype»DataType2
«datatype»DataType3
Class1
Class2 Class3
Class4
1 *
Designing for Integration
Code
![Page 25: Dev 328.NET & J2EE Strategies for Interoperability David Aiken Lead Enterprise Architect.](https://reader030.fdocuments.us/reader030/viewer/2022032723/56649f585503460f94c7d068/html5/thumbnails/25.jpg)
Design Patterns
CommandEncapsulate a request as an object, thereby letting you parameterize clients with different requests, queue or log requests, and support undoable operations.
AdapterConvert the interface of a class into another interface clients expect. Adapter lets classes work together that couldn't otherwise because of incompatible interfaces
FactoryProvide an interface for creating families of related or dependent objects without specifying their concrete classes.
![Page 26: Dev 328.NET & J2EE Strategies for Interoperability David Aiken Lead Enterprise Architect.](https://reader030.fdocuments.us/reader030/viewer/2022032723/56649f585503460f94c7d068/html5/thumbnails/26.jpg)
Presentation Business Logic Data
XBikes Execution
.NET.NET .NET.NET
J2EEJ2EE
SQL
SQL
Use CaseFactory
Config.xml
CommandAdapters
Client Use CaseAdapter
IUseCase uc = Factory.GetUseCase(“XXXX”);DataSet dto = uc.execute();
WS
Wire
MQ
WS
Wire
MQ
BizServiced
Components
DALADO.NET
BizSessionBeans
DALEntityBeans
Se
rvic
e F
aç
ad
eS
erv
ice
Fa
ça
de
![Page 27: Dev 328.NET & J2EE Strategies for Interoperability David Aiken Lead Enterprise Architect.](https://reader030.fdocuments.us/reader030/viewer/2022032723/56649f585503460f94c7d068/html5/thumbnails/27.jpg)
Integration – XBikesArchitecture
David Aiken
Lead Enterprise Architect
demodemo
![Page 28: Dev 328.NET & J2EE Strategies for Interoperability David Aiken Lead Enterprise Architect.](https://reader030.fdocuments.us/reader030/viewer/2022032723/56649f585503460f94c7d068/html5/thumbnails/28.jpg)
Integration – XBikesWeb Services
David Aiken
Lead Enterprise Architect
demodemo
![Page 29: Dev 328.NET & J2EE Strategies for Interoperability David Aiken Lead Enterprise Architect.](https://reader030.fdocuments.us/reader030/viewer/2022032723/56649f585503460f94c7d068/html5/thumbnails/29.jpg)
Agenda
Motivation
Integration Scenarios
Integration Technologies
Complex Data
Integration Architecture
Taking it Further
![Page 30: Dev 328.NET & J2EE Strategies for Interoperability David Aiken Lead Enterprise Architect.](https://reader030.fdocuments.us/reader030/viewer/2022032723/56649f585503460f94c7d068/html5/thumbnails/30.jpg)
Taking it Further
Orchestration
XML Web Services Standards Architecture
![Page 31: Dev 328.NET & J2EE Strategies for Interoperability David Aiken Lead Enterprise Architect.](https://reader030.fdocuments.us/reader030/viewer/2022032723/56649f585503460f94c7d068/html5/thumbnails/31.jpg)
Orchestration layer (BizTalk)Business Logic DataPresentation
DTO
.ASPX Code
Behind.ASPX
BizTalkBizTalk Multipoint Multipoint
OrchestrationOrchestration
Orchestration LayerOrchestration Layer
BizTalkBizTalkWS WS
AdapterAdapter
MSMQMSMQ (Asych (Asych Adapter)Adapter)
J2EEJ2EE JDBCJDBC
ADO.ADO.NETNET.NET.NET
XML WSXML WS
XML WSXML WS
UCAdapter
OTHEROTHER(NOT XML WS)(NOT XML WS)
![Page 32: Dev 328.NET & J2EE Strategies for Interoperability David Aiken Lead Enterprise Architect.](https://reader030.fdocuments.us/reader030/viewer/2022032723/56649f585503460f94c7d068/html5/thumbnails/32.jpg)
Web Service Standards
Web Services Interoperability Organisation
Safe subset of SOAP / WSDL etc.http://www.ws-i.org/
Basic Profile (Draft) 1.0
Usage Scenarios
Some testing tools
Follow specification for higher success
![Page 33: Dev 328.NET & J2EE Strategies for Interoperability David Aiken Lead Enterprise Architect.](https://reader030.fdocuments.us/reader030/viewer/2022032723/56649f585503460f94c7d068/html5/thumbnails/33.jpg)
XML Web Services Standards Architecture (WS interop platform)
SOAP
HTTP/SMTPXMLTCP/IP
Directory
InspectionSOAP SOAP ModulesModules
SOAPSOAPProtocolsProtocols
Referral
Routing
Security
License
Eventing Transactions
Queuing
The Internet
…
…Description
… …
…
DiscoveryDiscovery Application InfrastructureApplication Infrastructure
BasicBasic
![Page 34: Dev 328.NET & J2EE Strategies for Interoperability David Aiken Lead Enterprise Architect.](https://reader030.fdocuments.us/reader030/viewer/2022032723/56649f585503460f94c7d068/html5/thumbnails/34.jpg)
Web Services Standards
Microsoft(WSE)
IBM(WSTK)
J2EE™™APPLICATION
SERVER
WINDOWS™™
IIS / COM+
![Page 35: Dev 328.NET & J2EE Strategies for Interoperability David Aiken Lead Enterprise Architect.](https://reader030.fdocuments.us/reader030/viewer/2022032723/56649f585503460f94c7d068/html5/thumbnails/35.jpg)
Recommendations
Look out for the Microsoft Patterns & Practices Guide – Coming Soon!
Download DHB/XBikes demo apps to understand J2EE & .NET interop issues http://www.dotnetland.co.uk
![Page 36: Dev 328.NET & J2EE Strategies for Interoperability David Aiken Lead Enterprise Architect.](https://reader030.fdocuments.us/reader030/viewer/2022032723/56649f585503460f94c7d068/html5/thumbnails/36.jpg)
DHB / XBikesIntegration Reloaded
David Aiken
Lead Enterprise Architect
demodemo
![Page 37: Dev 328.NET & J2EE Strategies for Interoperability David Aiken Lead Enterprise Architect.](https://reader030.fdocuments.us/reader030/viewer/2022032723/56649f585503460f94c7d068/html5/thumbnails/37.jpg)
Summary
Design Integration at the use case levelSelect technology
Default = Web Services
DataThink XML
Use Factory / Adapter Pattern to protect code from changesRemember Loosely Coupled, Message Based, Use-case Driven Architecture
![Page 38: Dev 328.NET & J2EE Strategies for Interoperability David Aiken Lead Enterprise Architect.](https://reader030.fdocuments.us/reader030/viewer/2022032723/56649f585503460f94c7d068/html5/thumbnails/38.jpg)
Ask The ExpertsGet Your Questions Answered
Thursday 9-11am
![Page 39: Dev 328.NET & J2EE Strategies for Interoperability David Aiken Lead Enterprise Architect.](https://reader030.fdocuments.us/reader030/viewer/2022032723/56649f585503460f94c7d068/html5/thumbnails/39.jpg)
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
![Page 40: Dev 328.NET & J2EE Strategies for Interoperability David Aiken Lead Enterprise Architect.](https://reader030.fdocuments.us/reader030/viewer/2022032723/56649f585503460f94c7d068/html5/thumbnails/40.jpg)
evaluationsevaluations
![Page 41: Dev 328.NET & J2EE Strategies for Interoperability David Aiken Lead Enterprise Architect.](https://reader030.fdocuments.us/reader030/viewer/2022032723/56649f585503460f94c7d068/html5/thumbnails/41.jpg)
© 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.