Microsoft's SOA Microsoft's SOA Strategy Strategy or, How current and future or, How current and future Microsoft technologies fit into Microsoft technologies fit into a heterogeneous, evolvable IT a heterogeneous, evolvable IT architecture architecture Dino Chiesa Dino Chiesa Microsoft Microsoft [email protected][email protected]+1.412.563.0172 +1.412.563.0172
79
Embed
Microsoft's SOA Strategy or, How current and future Microsoft technologies fit into a heterogeneous, evolvable IT architecture Dino Chiesa Microsoft [email protected].
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Microsoft's SOA StrategyMicrosoft's SOA Strategy or, How current and future Microsoft or, How current and future Microsoft technologies fit into a heterogeneous, technologies fit into a heterogeneous, evolvable IT architectureevolvable IT architecture
Dino Chiesa Dino Chiesa [email protected]@microsoft.com+1.412.563.0172+1.412.563.0172
The Challenge of The Challenge of Connecting Systems TodayConnecting Systems Today
KYFKYF
ASBASB
HDLHDL
AFTAFT TGITGI FRYFRY
DRWDRWSWGSWG
QYDQYD DLYDLY
BSTBST
WIUWIU
ASBASB
ZISZISXOIXOI CUICUI
RMORMO
XPSXPS
KFCKFC
WHRWHR
JIAJIA GEXGEX
FQAFQAVUHVUH
HCOHCO
WKDWKD
ECPECP
SKDSKD
MFPMFP
WCPWCP
DKEDKEAJTAJT
How did we get here?How did we get here? The Business Demand for more and The Business Demand for more and
better Connectionsbetter Connections Continuous (Chaotic?) ChangeContinuous (Chaotic?) Change Heterogeneity is the RuleHeterogeneity is the Rule
How is the view?How is the view? Change reverberates: “Brittleness”Change reverberates: “Brittleness” Ergo, Change is discouraged: StasisErgo, Change is discouraged: Stasis Re-use is expensiveRe-use is expensive Costs up, Flexibility down Costs up, Flexibility down
ServiceService ServiceService ServiceService
ServiceService ServiceService ServiceService
BusBus
An Improved Architecture An Improved Architecture is the Solutionis the Solution
A Model for “City Planning” of A Model for “City Planning” of Interconnected ApplicationsInterconnected Applications Inside the enterpriseInside the enterprise Across organizational boundariesAcross organizational boundaries
Systems are exposed via standards-Systems are exposed via standards-based, published, and discoverable based, published, and discoverable interfacesinterfaces
Enables:Enables: System and Subsystem re-use System and Subsystem re-use Evolution without breakageEvolution without breakage Lower cost of long-term maintenanceLower cost of long-term maintenance
Authentication Authentication and authorization and authorization servicesservices
Credit authorizationCredit authorization
Billing servicesBilling services
SOA in ActionSOA in Action
Boundaries are ExplicitBoundaries are Explicit There is only one way to connect to a service: the documented There is only one way to connect to a service: the documented
interface. It is always clear to an application that a service is being interface. It is always clear to an application that a service is being invoked. invoked.
Services are autonomousServices are autonomous Not completely independent of other services, but constructed to Not completely independent of other services, but constructed to
tolerate failure, support plug-ability.tolerate failure, support plug-ability.
Share schema & contract, not classShare schema & contract, not class Schema, and not platform-specific data types or classes, Schema, and not platform-specific data types or classes,
define the messages exchanged between service providers define the messages exchanged between service providers and consumers. The Schema, or Contract, is published and and consumers. The Schema, or Contract, is published and exchanged between Service providers and consumers.exchanged between Service providers and consumers.
Compatibility based on policyCompatibility based on policy For example, services can negotiate message integrity or privacy For example, services can negotiate message integrity or privacy
requirements or message transports, based on policy.requirements or message transports, based on policy.
Standardization in Web Services protocols makes this feasibleStandardization in Web Services protocols makes this feasible
Network-capable units of software that implement Network-capable units of software that implement logic, manage state, communicate via messages, logic, manage state, communicate via messages, and are governed by policy. and are governed by policy.
A service is similar to a component or an object.A service is similar to a component or an object. However, it doesn’t have an instancing model.However, it doesn’t have an instancing model. Sends a message to a destination and hopes it will both Sends a message to a destination and hopes it will both
arrive and be responded to by another message.arrive and be responded to by another message.
Service interfaces expose service functionality.Service interfaces expose service functionality. A component or object interface defines what the method A component or object interface defines what the method
calls should look like (IDL, for example).calls should look like (IDL, for example). The service interface defines what the messages should The service interface defines what the messages should
look like (for example, WSDL) and their sequencing.look like (for example, WSDL) and their sequencing.
MessagesMessages Units of information transmitted from one Units of information transmitted from one
service to another service to another Must be highly structuredMust be highly structured
Structure is communicated between services and Structure is communicated between services and solution developers using schemassolution developers using schemas
Must be self-sufficient conceptually, Must be self-sufficient conceptually, containing or referencing all of the containing or referencing all of the information necessary to understand the information necessary to understand the message message
Ideally, Technology-neutralIdeally, Technology-neutral Allow communication between different Allow communication between different
technologiestechnologies Allow replacement using a different technologyAllow replacement using a different technology Hence, loose coupling between servicesHence, loose coupling between services
Web Services: Level IWeb Services: Level IFoundation to Build UponFoundation to Build Upon
““Basic Profile”Basic Profile” Defined by WS-IDefined by WS-I XML, SOAP, WSDL, UDDIXML, SOAP, WSDL, UDDI
Web Services, Level II: Web Services, Level II: Secure, Reliable, TransactedSecure, Reliable, Transacted WS-SecurityWS-Security WS-AtomicTransactionWS-AtomicTransaction WS-ReliableMessagingWS-ReliableMessaging Vendor support is emergingVendor support is emerging
Looking Ahead:Looking Ahead:Broad and Deep SolutionsBroad and Deep Solutions Application schemasApplication schemas Domain-specific profilesDomain-specific profiles Vertical industry servicesVertical industry services These will evolve over timeThese will evolve over time
What’s New?What’s New?Or…Why is SOA better than previous Or…Why is SOA better than previous ideas in distributed computing? ideas in distributed computing? Loose Coupling = ResiliencyLoose Coupling = Resiliency Protocol Standards, Broadly supported Protocol Standards, Broadly supported
(not API standards) = Connectivity(not API standards) = Connectivity Asynchrony and Autonomy = ReuseAsynchrony and Autonomy = Reuse The Right Granularity = PracticalThe Right Granularity = Practical Ubiquitous Vendor Support = RealUbiquitous Vendor Support = Real
Web Services ArchitectureWeb Services Architecture
Connected Applications
XMLBasic Web Services
Secure Reliable
Transacted
HTTP …TCP/IP SMTP MQHTTP
Connected Application
s
Basic Web
Services
Web Services ArchitectureWeb Services ArchitectureProcessProcess
Web Services ArchitectureWeb Services Architecture
Example:Example: WS-Security WS-Security
Specification Specification PublishedPublished
Customer and Customer and Industry Industry
FeedbackFeedbackGatheredGathered
Publish Publish Addendum,Addendum,Deliver Dev Deliver Dev
ProductProduct
OASIS OASIS StandardizationStandardization
April April 20022002
April - August April - August
20022002
August August 20022002
September September 20022002
WS-IWS-IInteroperability Interoperability
ProfileProfile
April April 20032003
ThreeThreePartnersPartners
Over 30 Over 30 PartnersPartners
Over 100 Over 100 PartnersPartners
SOA is Just an ArchitectureSOA is Just an ArchitectureTo implement SOA, you also need:To implement SOA, you also need: Great Platform Software;Great Platform Software;
products and technologies to products and technologies to supporting building, running and supporting building, running and accessing servicesaccessing services
Skills & TrainingSkills & Training
• Web services client and server runtimeWeb services client and server runtime• Integration with existing non-XML sourcesIntegration with existing non-XML sources• Presentation layer optionsPresentation layer options• Server platform with reliability, performance, Server platform with reliability, performance,
availabilityavailability• Workflow managementWorkflow management• Excellent development toolsExcellent development tools
Apply power of software to Apply power of software to enhance information flow enhance information flow through people, processes & ITthrough people, processes & IT
Create connected systems Create connected systems with .NET, and incorporate with .NET, and incorporate existing applicationsexisting applications
Align IT assets & business to Align IT assets & business to enable enable deeper customer connectionsdeeper customer connections integrated partnersintegrated partners empowered employeesempowered employees faster time to market faster time to market
Building and exploiting Building and exploiting Service Oriented ArchitecturesService Oriented Architectures
Microsoft Brings It All TogetherMicrosoft Brings It All Together
Microsoft is a LeaderMicrosoft is a LeaderGartner Group: Magic Quadrant for Gartner Group: Magic Quadrant for “Web Services-Enabled Software”, September 2004“Web Services-Enabled Software”, September 2004
According to Gartner, vendors listed According to Gartner, vendors listed in the Leader Quadrant are in the Leader Quadrant are performing well today, have a clear performing well today, have a clear vision of market direction and are vision of market direction and are actively building competencies to actively building competencies to sustain their leadership position in sustain their leadership position in the industry. the industry.
Microsoft is a LeaderMicrosoft is a LeaderForrester Survey of North American companies, May 2004Forrester Survey of North American companies, May 2004
A May 2004 report by Forrester Research, "The State of Technology Adoption," A May 2004 report by Forrester Research, "The State of Technology Adoption," shows that of the 878 firms surveyed, 56 percent use .NET as their primary shows that of the 878 firms surveyed, 56 percent use .NET as their primary development environment. According to the report, more than half of the development environment. According to the report, more than half of the organizations in the manufacturing, retail and wholesale trade, media, business organizations in the manufacturing, retail and wholesale trade, media, business services and public sector fields are choosing .NET. The full report can be services and public sector fields are choosing .NET. The full report can be accessed at: accessed at: http://www.microsoft.com/windowsserversystem/forresterdotnet.mspx
Responses from 322 software decision makers at large North American companies**878 companies surveyed (322 responses); 52% with 5,000 or more employees, 48% with 1,000 to 4,999 employeesSource: Forrester (May 2004), http://msdn.microsoft.com/vcsharp/news/forrester/default.aspx
“Which one platform will be used for the majority of your development work in 2004?”
Survey commissioned by Microsoft; Survey commissioned by Microsoft; performed by Gartnerperformed by Gartner
892 people, working in Enterprises, primarily 892 people, working in Enterprises, primarily in “Central IT”, asked about platforms, tools in “Central IT”, asked about platforms, tools (185 were Gartner Panel)(185 were Gartner Panel)
Enterprises: Median # of employees: 6,906. Enterprises: Median # of employees: 6,906. Mean 25,725Mean 25,725
Gartner delivered a document describing the Gartner delivered a document describing the resultsresults
Microsoft is a LeaderMicrosoft is a Leader
Gartner: Mission-Critical Application SurveyGartner: Mission-Critical Application SurveyQuestion: Question: “What server OS does your company use for mission critical “What server OS does your company use for mission critical applications?”applications?”
Gartner: Mission-Critical Application SurveyGartner: Mission-Critical Application SurveyQuestion: “What software platforms do your companies mission-critical apps Question: “What software platforms do your companies mission-critical apps run on?”run on?”
Gartner: Mission-Critical Application SurveyGartner: Mission-Critical Application SurveyQuestion: “Which Vendor Does Your Company Use for Web Services?”Question: “Which Vendor Does Your Company Use for Web Services?”
Web Services in Microsoft Web Services in Microsoft SoftwareSoftware Visual Studio – to build and consumeVisual Studio – to build and consume BizTalk Server – to manage processes BizTalk Server – to manage processes MS Office – consumer of servicesMS Office – consumer of services Windows Server – reliable, high-Windows Server – reliable, high-
performance host for Web servicesperformance host for Web services .NET Framework – infrastructure .NET Framework – infrastructure
technology used by all of the abovetechnology used by all of the above
Getting from Here toGetting from Here to
Key PatternKey Pattern
Information IntegrationInformation Integration Achieve consistent handling of key Achieve consistent handling of key
organizational dataorganizational data Develop unified models for key real-Develop unified models for key real-
world entitiesworld entities e.g., “customer”e.g., “customer”
Establish procedures for “aggregating” Establish procedures for “aggregating” entities from back-end systems for entities from back-end systems for processing...processing... ...and “disaggregating” them for ...and “disaggregating” them for
persistencepersistence
Information IntegrationInformation Integration
Create Canonical SchemasCreate Canonical Schemas Model the EntitiesModel the Entities
Create a static, canonical schemaCreate a static, canonical schema Agree on XML namespacesAgree on XML namespaces Only expose XSD data typesOnly expose XSD data types Standardize on Doc/LiteralStandardize on Doc/Literal Agree on naming conventionsAgree on naming conventions Keep it simpleKeep it simple
Canonical SchemaCanonical Schema Represents the authoritative, common definitionRepresents the authoritative, common definition Other representations can be derived from thisOther representations can be derived from this
It is not one large XML-Schema – really a It is not one large XML-Schema – really a bucket of schemas that collectively form the bucket of schemas that collectively form the canonical schemacanonical schema
Schema Design PrinciplesSchema Design Principles Keep it SimpleKeep it Simple
Confine yourself to a subset of W3C XML Confine yourself to a subset of W3C XML SchemaSchema
Derivations, Restrictions, Enumerations and Derivations, Restrictions, Enumerations and other W3C XML Schema exotica other W3C XML Schema exotica may not be supported in your chosen XML or may not be supported in your chosen XML or web services toolkitweb services toolkit
Test Early and OftenTest Early and Often Example: xsd:date maps to Java’s Example: xsd:date maps to Java’s
java.util.Calendar and .NET’s System.DateTime. java.util.Calendar and .NET’s System.DateTime. Java’s date is nillable, .NET’s is not (value type)Java’s date is nillable, .NET’s is not (value type) If Java sends .NET a nil Date, exceptions occur.If Java sends .NET a nil Date, exceptions occur.
The world is full of independently The world is full of independently designed systemsdesigned systems Differences happen all the way from the Differences happen all the way from the
hardware though the OS and middleware, hardware though the OS and middleware, up to the application semanticsup to the application semantics
Rationalizing these disparate systems Rationalizing these disparate systems is a huge challenge is a huge challenge
Model non-service systems according to the business capabilities Model non-service systems according to the business capabilities they deliverthey deliver
Encapsulate them behind service facadesEncapsulate them behind service facades Use Interop capabilities of the .NET Framework to enable thisUse Interop capabilities of the .NET Framework to enable this
Simulate Request/Response or One way Interaction Simulate Request/Response or One way Interaction over the non-service access modelover the non-service access model
Transform incoming data (canonical schemas) to a Transform incoming data (canonical schemas) to a representation that non-service components can representation that non-service components can understandunderstand
Use adaptors Use adaptors Message-basedMessage-based
SAP RFC/IDOCSAP RFC/IDOC Queues based (MQSeries to access mainframe)Queues based (MQSeries to access mainframe) Pub/Sub based (e.g. SAP)Pub/Sub based (e.g. SAP)
Follow “Contract First” Design For Web Follow “Contract First” Design For Web ServicesServices Many toolkits, including .NET, encourage Many toolkits, including .NET, encourage
“implementation first” design“implementation first” design Build the implementation, attach [webmethod] Build the implementation, attach [webmethod]
attributes, and you have a web serviceattributes, and you have a web service
““Implementation First” is Nice for DemosImplementation First” is Nice for Demos Very quickVery quick
Also appealing when exposing existing code Also appealing when exposing existing code as webservicesas webservices
However, this introduces interoperability However, this introduces interoperability challengeschallenges
The Problem with The Problem with “Implementation First” Design“Implementation First” Design
WSDLService Implementation
Client-sideProxy
generates generates
Example 1: public int GetCustomerId (string CustomerName );
Uses datatypes that map directly to W3C XML Schema. No problem.
Example 2: Public Vector<int> GetCustomerIds (Vector<String> CustomerNames ) ;
Uses platform-specific datatypes (and generics) ; these datatypes do not map cleanly to W3C XML Schema. Interop problems result.
““Contract First” DesignContract First” Design
Derive Implementations from WSDLDerive Implementations from WSDLRecommended: Recommended:
1.1. Design WSDLDesign WSDL
2.2. Use tools to generate Use tools to generate Service Interface or Service Interface or Concrete classConcrete class
3.3. Provide implementationProvide implementation
4.4. Use tools to generate Use tools to generate Client-side proxyClient-side proxy
WSDL
Service Interface
Client-sideProxy
generates generates
All interfaces are defined in terms of XML Schema primitives, or All interfaces are defined in terms of XML Schema primitives, or arrays and structures of same. arrays and structures of same.
Good tool support for XML Schema means agreement between Good tool support for XML Schema means agreement between client proxies and service implementations across platformsclient proxies and service implementations across platforms
Results:Results:
Key PracticeKey Practice
Be Pragmatic rather than PureBe Pragmatic rather than Pure Many environments… Many environments…
……cannot use Web services cannot use Web services ……do not yet support Web services easilydo not yet support Web services easily ……Or, do not need Web servicesOr, do not need Web services
Employ portions of the stackEmploy portions of the stack Eg REST / XML Document interchange Eg REST / XML Document interchange
This can raise accessibility, while keeping This can raise accessibility, while keeping costs lowcosts low
Be Pragmatic rather than PureBe Pragmatic rather than Pure
XML Document ExchangeXML Document Exchange Works with any XML-enabled platformWorks with any XML-enabled platform Relies on Common Schema Relies on Common Schema Simple and easy to implementSimple and easy to implement Use any transportUse any transport
HTTP, MQ, FTP, etc.HTTP, MQ, FTP, etc.
Drawbacks:Drawbacks: No well-defined contract. (No WSDL. )No well-defined contract. (No WSDL. ) Does not compose with higher-level services. Does not compose with higher-level services.
Example: WS-Security. Example: WS-Security.
Be Pragmatic rather than PureBe Pragmatic rather than Pure
Use Existing TransportsUse Existing Transports Exploit what you already haveExploit what you already have
If you have systems, practices, and skills If you have systems, practices, and skills built up around non-SOAP communications, built up around non-SOAP communications, use them use them
Look for opportunities to transitionLook for opportunities to transition Some Benefits are available only through SOAP. Some Benefits are available only through SOAP.
Examples: WS-Security, WS-ReliableMessagingExamples: WS-Security, WS-ReliableMessaging Tools will evolve to steadily make WS-* easier.Tools will evolve to steadily make WS-* easier.
By not embracing SOAP, you will miss the By not embracing SOAP, you will miss the productivity gains.productivity gains.
Smart clients are easily deployed and managed client applications that Smart clients are easily deployed and managed client applications that provide an adaptive and interactive experience by leveraging local provide an adaptive and interactive experience by leveraging local resources and intelligently connecting to distributed data sources. resources and intelligently connecting to distributed data sources.
Web Services &Offline/Online
support
DeviceAdaptability
Tough toDeploy
HeavyFootprint
DLL Hell
NetworkDependency
Poor UserExperience
Rich UIComplex
To Develop
Rich UserExperience
DeveloperProductivity
Responsive
BroadReach
Easy ChangeManagement
Ease ofDeployment
Smart Clients…Smart Clients… ……combine the best features of Thin combine the best features of Thin
clients and rich clients clients and rich clients ……fit naturally in service-oriented fit naturally in service-oriented
architecturesarchitectures ……can be centrally provisioned and can be centrally provisioned and
managedmanaged ……employ data than spans the employ data than spans the
continuum from structured to semi-continuum from structured to semi-structured to un-structuredstructured to un-structured
……work online and offlinework online and offline ……empower usersempower users
Connect live business data to Connect live business data to your documents & access them your documents & access them off-lineoff-line Increase velocity and accuracy ofIncrease velocity and accuracy of
decision makingdecision making Increase worker productivityIncrease worker productivity Reduce error caused by data Reduce error caused by data
of end usersof end users Eliminate training and ramp up time Eliminate training and ramp up time
on new applicationson new applications Reduce new application burn-in errorsReduce new application burn-in errors
Leverage rich and robust OfficeLeverage rich and robust Officefunctionalityfunctionality High developer productivity = reduced time to develop High developer productivity = reduced time to develop Greatly improved maintainability & deployment optionsGreatly improved maintainability & deployment options Optimize use of PC & central resources Optimize use of PC & central resources
Microsoft Smart Client PlatformsMicrosoft Smart Client PlatformsOffice System 2003
Version 1.0
Office XML Office XML Documents in Documents in
Enterprise Enterprise WorkflowWorkflow
Office XML Office XML Documents in Documents in
Enterprise Enterprise WorkflowWorkflow
Office XML Office XML Documents Documents Facilitating Facilitating
Interoperability Interoperability in E-Governmentin E-Government
Office XML Office XML Documents Documents Facilitating Facilitating
Interoperability Interoperability in E-Governmentin E-Government
Smart Client Smart Client Front-end to Front-end to
Enterprise LOB Enterprise LOB SystemsSystems
Smart Client Smart Client Front-end to Front-end to
Enterprise LOB Enterprise LOB SystemsSystems
Web Web EnrichmentEnrichment
Web Web EnrichmentEnrichment
Version 2003
Microsoft Office SystemMicrosoft Office SystemAn Out-of-the-Box SOA ParticipantAn Out-of-the-Box SOA Participant Save as XML, Load from XMLSave as XML, Load from XML
Open document formats can be processed using any XML Open document formats can be processed using any XML technology, on any platformtechnology, on any platform
It’s just text – not application-dependent; can be It’s just text – not application-dependent; can be processed or generated on any serverprocessed or generated on any server
Use Custom-Defined XML SchemasUse Custom-Defined XML Schemas Use custom schemas to apply structure to documentsUse custom schemas to apply structure to documents Separate data from presentation by accessing custom Separate data from presentation by accessing custom
elements, not presentation elementselements, not presentation elements
InfoPath Forms and Custom-Defined SchemaInfoPath Forms and Custom-Defined Schema End-user designable formsEnd-user designable forms Native Web Service consumerNative Web Service consumer
<Keyword>XML Conference (Europe)</Keyword><Keyword>XML Conference (Europe)</Keyword><Abstract>Role of XML on the Desktop</Abstract><Abstract>Role of XML on the Desktop</Abstract>
</Attendees></Attendees><Conclusion>Organize another European tour </Conclusion><Conclusion>Organize another European tour </Conclusion>
</ConferenceReport></ConferenceReport>
MetadataMetadata
FinanceFinance
ERPERP
CRMCRM
Smart Smart ClientsClients
Web Web ServicesServices
Integrate SOA to the Integrate SOA to the Business DesktopBusiness Desktop
Brings enterprise Brings enterprise content and content and information into any information into any Office documentOffice document Word, Outlook, Excel, Word, Outlook, Excel,
PowerpointPowerpoint
No re-training for No re-training for people who already people who already know and use Officeknow and use Office
Web Web ServicesServices
Custom J2EECustom J2EE
Visual Studio Tools for OfficeVisual Studio Tools for Officeenabling Smart Client Applicationsenabling Smart Client Applications
All the rich, UI features of Word and All the rich, UI features of Word and Excel running on the local machineExcel running on the local machine
On InteroperabilityOn Interoperability Interoperability with other platforms is Interoperability with other platforms is
required in building SOArequired in building SOA Application platform solidly based on key Application platform solidly based on key
industry standardsindustry standards MS is leader in core standards effortsMS is leader in core standards efforts SOAP and Web Services, HTTP/HTML, XML data SOAP and Web Services, HTTP/HTML, XML data
exchange, security standards, etc. exchange, security standards, etc. .NET and J2EE easily integrated via Web .NET and J2EE easily integrated via Web
ServicesServices There are many other interop mechanisms There are many other interop mechanisms
between the elements of the Microsoft between the elements of the Microsoft application platform and elements from non-application platform and elements from non-Microsoft platformsMicrosoft platforms
Interoperability ExamplesInteroperability Examples ADO.NET – includes providers for ADO.NET – includes providers for
many different databases and non-many different databases and non-relational storesrelational stores
Oracle, Sybase, Informix, DB2, Oracle, Sybase, Informix, DB2, AS/400 VSAM/ISAM, many othersAS/400 VSAM/ISAM, many others
MSMQ is accessible to Java MSMQ is accessible to Java applications running on Windows, in applications running on Windows, in any JVMany JVM
Apache HTTP server can front-end IIS Apache HTTP server can front-end IIS services with mod_proxy services with mod_proxy
Java and .NET both support the AES Java and .NET both support the AES encryption standard and can encryption standard and can exchange encrypted data. exchange encrypted data.
Third parties provide Single sign-on Third parties provide Single sign-on to Java and Windows (.NET) to Java and Windows (.NET) applications via Kerberos applications via Kerberos
There are SSL-enabled Streams for There are SSL-enabled Streams for both Java and .NETboth Java and .NET
SAP produces the .NET Connector SAP produces the .NET Connector and .NET Portal Development Kitand .NET Portal Development Kit
SQL Server’s heterogeneous views SQL Server’s heterogeneous views allows access into remote, allows access into remote, heterogeneous databasesheterogeneous databases
BizTalk ships with 300 adapters for BizTalk ships with 300 adapters for distinct systemsdistinct systems
EDI, CICSEDI, CICS MQ provides an ADSI interface, which MQ provides an ADSI interface, which
allows any .NET app to interrogate or allows any .NET app to interrogate or manage an IBM MQSeries installationmanage an IBM MQSeries installation
The HIS 2004 product includes a The HIS 2004 product includes a bridge between MSMQ and MQSeriesbridge between MSMQ and MQSeries
Third parties provide tools to build Third parties provide tools to build web services facades on top of 3270-web services facades on top of 3270-based transactionsbased transactions
Exchange 2003 supports WebDAV Exchange 2003 supports WebDAV access, including both read and access, including both read and update of the Exchange store.update of the Exchange store.
There are a variety of JDBC drivers There are a variety of JDBC drivers for SQL Serverfor SQL Server
Java can producre MS-Office Java can producre MS-Office documents via WordML, ExcelMLdocuments via WordML, ExcelML
Many, many others.Many, many others.
Interoperability through StandardsInteroperability through Standards
domaindomain de jurede jure Standards supported Standards supported by .NET and Windowsby .NET and Windows
Windows with .NET can also Windows with .NET can also interop with these:interop with these:
Standards Support enables the Interoperability between the Microsoft Platform and Standards Support enables the Interoperability between the Microsoft Platform and other Systemsother Systems
WindowWindows s
SystemSystemwith .NEwith .NE
TT SAPSAP
MQMQ
CICCICSS
OraclOraclee
SiebeSiebell
SAP .NET Connector v2.0SAP .NET Connector v2.0
Visu
al S
tudio 2
003
mySAP.NET Runtime
WinForms
SAP .NET ConnectorRuntime
SAP Proxy (generated)
RFC Listener
Windows
Application
WebForms
WebSvcs
SOAP Listener
Build IDoc receiver Build IDoc receiver in .NETin .NET
Can obtain IDoc Can obtain IDoc structure from SAPstructure from SAP
Can Parse and then Can Parse and then Log, Forward, Notify, Log, Forward, Notify, Store, etc.Store, etc.
Connecting SAP and .NET: OptionsConnecting SAP and .NET: OptionsOption Integration strength Dependency Complexity Notes
SAP .NET Connector Low level SDK.Provides support for inbound iDoc listener (SAP->.NET)Custom development required for (outbound) iDoc sender.
Microsoft .NET FrameworkVisual Studio 2003Windows Client or Server
Medium - Flexible and scales well.
- need dev work on case by case basis- works for inbound connection
BizTalk 2004 Adaptor for SAP
Full integration. Transactions, security, logging and auditing. Load balancing, failover.
SAP.NET ConnectorBiztalk 2004Microsoft.NET FrameworkVisual Studio 2003WindowsBiztalk Adaptor for SAP 2.0
Medium -Attractive in business process management scenarios- Low code or minimum code required- auto mapping of schema- Inbound and outbound
Flat files with Shared folder
Transactions, security, failover, etc are all “roll-your-own”
Any language or platform Low - Simple features- Potential Scale limits.- FileSystem Watcher is a natural complement.
SAP Portal Development Kit for .NET
Allows development of SAP portal artifacts in .NET
SAP.NET ConnectorMicrosoft.NET Framework+ ASP.NET runtimeVisual Studio 2003Windows Server
Medium - Limited to SAP Portal use.
Using a Shared Queue Using a Shared Queue as an Interop Conduitas an Interop Conduit
.NET CLR
MQ Classes for .NET
.NET ApplicationJava JVM
MQ Classes for Java
Java Application
Windows
MQI
MQ (VB6?) App
IBM MQ Series or MSMQ
REST Example, JSP & REST Example, JSP & ASP.NETASP.NET
ASP.NET
IIS
JSP
Jetty
Display
ASP.NET
IIS
JSP
Jetty
Web Service Data
SQL Server
Exchange 2003
JSP as WebDAV client JSP as WebDAV client to Exchange 2003to Exchange 2003
Logic Data
JSP
Jetty
Apache Slide
Apache httpclient
JSP as WebDAV client JSP as WebDAV client to Exchange 2003to Exchange 2003
<searchrequest xmlns='DAV:'> <sql> SELECT "DAV:id", "DAV:href" FROM SCOPE('hierarchical traversal of "https://mail.microsoft.com/exchange/dinoch/Contacts"') WHERE "DAV:ishidden"=False AND "DAV:isfolder"=False </sql></searchrequest>
MS Word 2003MS Word 2003as Webservice clientas Webservice client
Client Web Service Data
Merriam-WebsterInternet site
Research Service
JBoss
JSP
Apache AXIS
Both of these Conform to the Microsoft Both of these Conform to the Microsoft Office 2003 Research Service Schema. Office 2003 Research Service Schema. Word acts as the Client, the Java side Word acts as the Client, the Java side acts as the server.acts as the server.
Word 2003
Windows
SQL Server
JSP producing WordMLJSP producing WordML
Logic Data
JSP
Jetty
JAXP
FileSystem
Microsoft Word 2003
Internet Explorer
Client
save
Integrating Across ServicesIntegrating Across Services
What You NeedWhat You NeedTo Benefit from SOATo Benefit from SOA Service Oriented ArchitectureService Oriented Architecture Skills Skills Application portfolios/ecosystem Application portfolios/ecosystem Great softwareGreat software
between heterogeneous systems between heterogeneous systems Development ToolsDevelopment Tools OrchestrationOrchestration Operational Infrastructure – for Operational Infrastructure – for
management of Data, Applications, management of Data, Applications, Security & Identity, and so on. Security & Identity, and so on.
Summary & Call to ActionSummary & Call to Action SOA represents a better way to SOA represents a better way to
model enterprise ITmodel enterprise IT You need great software and You need great software and
skills to deliver truly skills to deliver truly Connected SystemsConnected Systems
Microsoft is a leader in Web Microsoft is a leader in Web ServicesServices
.NET Connects… with virtually .NET Connects… with virtually everythingeverything
Utilize Microsoft technologies today to Utilize Microsoft technologies today to build build Connected SystemsConnected Systems, and exploit and , and exploit and benefit from SOAbenefit from SOA