microsoft's soa strategy or, how current and future microsoft technologies fit into a...

79
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

Upload: laurence-hensley

Post on 17-Jan-2016

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Microsoft's SOA Strategy or, How current and future Microsoft technologies fit into a heterogeneous, evolvable IT architecture Dino Chiesa Microsoft dinoch@microsoft.com

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

Page 2: Microsoft's SOA Strategy or, How current and future Microsoft technologies fit into a heterogeneous, evolvable IT architecture Dino Chiesa Microsoft dinoch@microsoft.com

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

Page 3: Microsoft's SOA Strategy or, How current and future Microsoft technologies fit into a heterogeneous, evolvable IT architecture Dino Chiesa Microsoft dinoch@microsoft.com

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

Page 4: Microsoft's SOA Strategy or, How current and future Microsoft technologies fit into a heterogeneous, evolvable IT architecture Dino Chiesa Microsoft dinoch@microsoft.com

ServiceService ServiceService ServiceService

ServiceService ServiceService ServiceService

BusBus

An Improved Architecture An Improved Architecture is the Solutionis the Solution

KKYYFF

Page 5: Microsoft's SOA Strategy or, How current and future Microsoft technologies fit into a heterogeneous, evolvable IT architecture Dino Chiesa Microsoft dinoch@microsoft.com

Service-Oriented ArchitectureService-Oriented Architecture

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

Page 6: Microsoft's SOA Strategy or, How current and future Microsoft technologies fit into a heterogeneous, evolvable IT architecture Dino Chiesa Microsoft dinoch@microsoft.com

PurchasePurchase

E-commerceE-commerceportalportal

Customer Customer relationshiprelationshipservicesservices

Fulfillment servicesFulfillment services

Authentication Authentication and authorization and authorization servicesservices

Credit authorizationCredit authorization

Billing servicesBilling services

SOA in ActionSOA in Action

Page 7: Microsoft's SOA Strategy or, How current and future Microsoft technologies fit into a heterogeneous, evolvable IT architecture Dino Chiesa Microsoft dinoch@microsoft.com

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

FoundationalFoundationalTenetsTenets

Page 8: Microsoft's SOA Strategy or, How current and future Microsoft technologies fit into a heterogeneous, evolvable IT architecture Dino Chiesa Microsoft dinoch@microsoft.com

The Elements of SOAThe Elements of SOA

ServiceService MessageMessage InterfaceInterface PolicyPolicy StateState

ConversationConversation TransactionsTransactions ContractContract ProcessProcess

Page 9: Microsoft's SOA Strategy or, How current and future Microsoft technologies fit into a heterogeneous, evolvable IT architecture Dino Chiesa Microsoft dinoch@microsoft.com

ServicesServices

Message ExchangeMessage ExchangePatternPattern

describedescribe

OperationalOperationalRequirementsRequirements

enforceenforce

StateState

managemanage

ApplicationsApplications

composed ofcomposed of

MessagesMessages

exchangeexchange

is a set ofis a set ofContractsContracts

bound bybound by

containcontain SchemasSchemas define structure ofdefine structure of

governed bygoverned byPoliciesPolicies

havehave

Service OrientationService OrientationKey Concepts Key Concepts

Page 10: Microsoft's SOA Strategy or, How current and future Microsoft technologies fit into a heterogeneous, evolvable IT architecture Dino Chiesa Microsoft dinoch@microsoft.com

Service OrientationService Orientation

Basic Consumer/Provider viewBasic Consumer/Provider view

BusinessBusinessComponentComponent

ServiceServiceFaçadeFaçade

Service ConsumerService Consumer Service ProviderService Provider

Page 11: Microsoft's SOA Strategy or, How current and future Microsoft technologies fit into a heterogeneous, evolvable IT architecture Dino Chiesa Microsoft dinoch@microsoft.com

logiclogicstatestatemessagemessage

interfaceinterface

The Elements of SO (1)The Elements of SO (1)

policypolicy

Service #1Service #1 Service #2Service #2

Page 12: Microsoft's SOA Strategy or, How current and future Microsoft technologies fit into a heterogeneous, evolvable IT architecture Dino Chiesa Microsoft dinoch@microsoft.com

logiclogicstatestate

The Elements of SO (1)The Elements of SO (1)

policypolicy

RequestorRequestor ReceiverReceiver

• SerializeSerialize• SignSign• EncryptEncrypt• RouteRoute• TransportTransport• ReliabilityReliability

• Transport Transport • De-serializeDe-serialize• ValidateValidate• AuthenticateAuthenticate• AuthorizeAuthorize• Audit/LogAudit/Log• MonitorMonitor

Page 13: Microsoft's SOA Strategy or, How current and future Microsoft technologies fit into a heterogeneous, evolvable IT architecture Dino Chiesa Microsoft dinoch@microsoft.com

The Elements of SO (2)The Elements of SO (2)

ConversationConversationDefined by a ContractDefined by a Contract

Page 14: Microsoft's SOA Strategy or, How current and future Microsoft technologies fit into a heterogeneous, evolvable IT architecture Dino Chiesa Microsoft dinoch@microsoft.com

The Elements of SO (3)The Elements of SO (3)

processprocess

conversationconversation

transactiontransaction

Page 15: Microsoft's SOA Strategy or, How current and future Microsoft technologies fit into a heterogeneous, evolvable IT architecture Dino Chiesa Microsoft dinoch@microsoft.com

Layering and Composability Layering and Composability of Services of Services

Business Business ProcessesProcessesexposed asexposed as

Coarse-Grained Coarse-Grained ServicesServices

Finer Grained Internal Service Finer Grained Internal Service OperationsOperations

ConsumerConsumerApplicationApplication

ConsumerConsumerApplicationApplication

BusinessBusinessComponentsComponents ObjectsObjects DataData

Page 16: Microsoft's SOA Strategy or, How current and future Microsoft technologies fit into a heterogeneous, evolvable IT architecture Dino Chiesa Microsoft dinoch@microsoft.com

ServicesServices

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.

Page 17: Microsoft's SOA Strategy or, How current and future Microsoft technologies fit into a heterogeneous, evolvable IT architecture Dino Chiesa Microsoft dinoch@microsoft.com

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

Page 18: Microsoft's SOA Strategy or, How current and future Microsoft technologies fit into a heterogeneous, evolvable IT architecture Dino Chiesa Microsoft dinoch@microsoft.com

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

Broad vendor Broad vendor supportsupport

WS-I assures WS-I assures widespread widespread compatibility compatibility

Page 19: Microsoft's SOA Strategy or, How current and future Microsoft technologies fit into a heterogeneous, evolvable IT architecture Dino Chiesa Microsoft dinoch@microsoft.com

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

Page 20: Microsoft's SOA Strategy or, How current and future Microsoft technologies fit into a heterogeneous, evolvable IT architecture Dino Chiesa Microsoft dinoch@microsoft.com

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

Page 21: Microsoft's SOA Strategy or, How current and future Microsoft technologies fit into a heterogeneous, evolvable IT architecture Dino Chiesa Microsoft dinoch@microsoft.com

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

Page 22: Microsoft's SOA Strategy or, How current and future Microsoft technologies fit into a heterogeneous, evolvable IT architecture Dino Chiesa Microsoft dinoch@microsoft.com

Web Services ArchitectureWeb Services Architecture

Connected Applications

XMLBasic Web Services

Secure Reliable

Transacted

HTTP …TCP/IP SMTP MQHTTP

Connected Application

s

Basic Web

Services

Page 23: Microsoft's SOA Strategy or, How current and future Microsoft technologies fit into a heterogeneous, evolvable IT architecture Dino Chiesa Microsoft dinoch@microsoft.com

Web Services ArchitectureWeb Services ArchitectureProcessProcess

Specification Specification PublishedPublished

Customer and Customer and Industry Industry

FeedbackFeedbackGatheredGathered

Publish Publish Addendum(s),Addendum(s),

Deliver Dev Deliver Dev ProductProduct

StandardizationStandardization WS-IWS-IInteroperability Interoperability

ProfileProfile

Page 24: Microsoft's SOA Strategy or, How current and future Microsoft technologies fit into a heterogeneous, evolvable IT architecture Dino Chiesa Microsoft dinoch@microsoft.com

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

Page 25: Microsoft's SOA Strategy or, How current and future Microsoft technologies fit into a heterogeneous, evolvable IT architecture Dino Chiesa Microsoft dinoch@microsoft.com

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

Page 26: Microsoft's SOA Strategy or, How current and future Microsoft technologies fit into a heterogeneous, evolvable IT architecture Dino Chiesa Microsoft dinoch@microsoft.com

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

Page 27: Microsoft's SOA Strategy or, How current and future Microsoft technologies fit into a heterogeneous, evolvable IT architecture Dino Chiesa Microsoft dinoch@microsoft.com

Microsoft Brings It All TogetherMicrosoft Brings It All Together

Analyze, Analyze, Act & Act &

InteractInteract

Deploy &Deploy &OperateOperate

Design Design & Build& Build

Page 28: Microsoft's SOA Strategy or, How current and future Microsoft technologies fit into a heterogeneous, evolvable IT architecture Dino Chiesa Microsoft dinoch@microsoft.com

ManagementManagementSupport Lifecycle: 10 Support Lifecycle: 10 yearsyearsUpdates & PatchingUpdates & PatchingScripting & WMIScripting & WMITrainingTrainingGuidance, whitepapersGuidance, whitepapers

Page 29: Microsoft's SOA Strategy or, How current and future Microsoft technologies fit into a heterogeneous, evolvable IT architecture Dino Chiesa Microsoft dinoch@microsoft.com

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.

Page 30: Microsoft's SOA Strategy or, How current and future Microsoft technologies fit into a heterogeneous, evolvable IT architecture Dino Chiesa Microsoft dinoch@microsoft.com

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?”

Overall

Utilities and telecom

Finance and insurance

Manufacturing

Retail and wholesale trade

Media, entertainmentand leisure

Business services

Public sector

00 1001001010 2020 3030 4040 5050 6060 7070 8080 9090

35%35%

44%44%

65%65%

56%56%

45%45%

42%42%

38%38%

65%65%

56%56%

35%35%

44%44%

55%55%

58%58%

62%62%

36%36% 64%64%

J2EEJ2EE .NET

Page 31: Microsoft's SOA Strategy or, How current and future Microsoft technologies fit into a heterogeneous, evolvable IT architecture Dino Chiesa Microsoft dinoch@microsoft.com

Gartner’s Enterprise Tracker SurveyGartner’s Enterprise Tracker Survey

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

Page 32: Microsoft's SOA Strategy or, How current and future Microsoft technologies fit into a heterogeneous, evolvable IT architecture Dino Chiesa Microsoft dinoch@microsoft.com

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?”

Page 33: Microsoft's SOA Strategy or, How current and future Microsoft technologies fit into a heterogeneous, evolvable IT architecture Dino Chiesa Microsoft dinoch@microsoft.com

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?”

Page 34: Microsoft's SOA Strategy or, How current and future Microsoft technologies fit into a heterogeneous, evolvable IT architecture Dino Chiesa Microsoft dinoch@microsoft.com

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?”

Page 35: Microsoft's SOA Strategy or, How current and future Microsoft technologies fit into a heterogeneous, evolvable IT architecture Dino Chiesa Microsoft dinoch@microsoft.com

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

Page 36: Microsoft's SOA Strategy or, How current and future Microsoft technologies fit into a heterogeneous, evolvable IT architecture Dino Chiesa Microsoft dinoch@microsoft.com

Getting from Here toGetting from Here to

Page 37: Microsoft's SOA Strategy or, How current and future Microsoft technologies fit into a heterogeneous, evolvable IT architecture Dino Chiesa Microsoft dinoch@microsoft.com

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

Page 38: Microsoft's SOA Strategy or, How current and future Microsoft technologies fit into a heterogeneous, evolvable IT architecture Dino Chiesa Microsoft dinoch@microsoft.com

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

Page 39: Microsoft's SOA Strategy or, How current and future Microsoft technologies fit into a heterogeneous, evolvable IT architecture Dino Chiesa Microsoft dinoch@microsoft.com

Information IntegrationInformation Integration

Schema RationalizationSchema RationalizationSQL ServerSQL Server(in house)(in house)

SiebelSiebel(commercial)(commercial)

OtherOther(J2EE based)(J2EE based)

ContactTb

PK CntctI

FK2 CompanyIFirsNameMiddleNameLastNameSpouseNameAlteranateNameSalutationHobbiesInterestFunctionsEventsKeyContactFlgDecisionMakerFlgCitivisionIDType

FK3 BusinessAddressIFK4 OtherAddressIFK5 HomeAddressIFK9 CellPhoneI

EmailEmail3Comments

FK7 LastModifiedByLastModifiedTimeDeletedFlgDeleteComment

FK6 OwnerCreationTime

FK8 CreatedByFK1 SystemI

ContactTb

PK CntctI

FK2 CompanyIFirsNameMiddleNameLastNameSpouseNameAlteranateNameSalutationHobbiesInterestFunctionsEventsKeyContactFlgDecisionMakerFlgCitivisionIDType

FK3 BusinessAddressIFK4 OtherAddressIFK5 HomeAddressIFK9 CellPhoneI

EmailEmail3Comments

FK7 LastModifiedByLastModifiedTimeDeletedFlgDeleteComment

FK6 OwnerCreationTime

FK8 CreatedByFK1 SystemI

ContactSchema

PK CntctI

KnownAsMIIndexLastAlteranateNameSalutationKeyContactFlgDecisionMakerFlgTypeBusinessAddressOtherAddressHomeAddressMobileEmailEmailOtherCommentsLastModifiedByLastModifiedTimeDeletedFlgDeleteCommentOwnerCreationTimeCreatedOwnerSiebelIndex

ContactSchema

PK CntctI

KnownAsMIIndexLastAlteranateNameSalutationKeyContactFlgDecisionMakerFlgTypeBusinessAddressOtherAddressHomeAddressMobileEmailEmailOtherCommentsLastModifiedByLastModifiedTimeDeletedFlgDeleteCommentOwnerCreationTimeCreatedOwnerSiebelIndex

MyBusinessContacts

PK ContactID

FirstMiddleLastAlteranateNameSalutationBusinessAddressOtherAddressHomeAddressMobileEmailEmailOtherCommentsLastModifiedByLastModifiedTimeOwnerCreationTimePrimaryContactOpportunityIndexEmail2Email3

MyBusinessContacts

PK ContactID

FirstMiddleLastAlteranateNameSalutationBusinessAddressOtherAddressHomeAddressMobileEmailEmailOtherCommentsLastModifiedByLastModifiedTimeOwnerCreationTimePrimaryContactOpportunityIndexEmail2Email3

+Save(in overwrite : bool)

-ID : int-PrimaryCompanyI : int-FirstName : string-MiddleName : string-LastName : string-SpouseName : string-AlternateName : string-Associations : string-Salutation : string-HobbiesInterests : string-FunctionsEvents : string-KeyContact : bool-DecisionMaker : bool-WhoKnowsMe : UserCollection-Assistants : AssistantCollection-CitiVisionID : string-Attachments : AttachmentCollection-RecentMailings : AttachmentCollection-BusinessAddress : Address-OtherAddress : Address-HomeAddress : Address-CellPhone : Phone-Email : string-Email2 : string-Email3 : string-BLOBData : string

«implementation class»Contact

+Save(in overwrite : bool)

-ID : int-PrimaryCompanyI : int-FirstName : string-MiddleName : string-LastName : string-SpouseName : string-AlternateName : string-Associations : string-Salutation : string-HobbiesInterests : string-FunctionsEvents : string-KeyContact : bool-DecisionMaker : bool-WhoKnowsMe : UserCollection-Assistants : AssistantCollection-CitiVisionID : string-Attachments : AttachmentCollection-RecentMailings : AttachmentCollection-BusinessAddress : Address-OtherAddress : Address-HomeAddress : Address-CellPhone : Phone-Email : string-Email2 : string-Email3 : string-BLOBData : string

«implementation class»Contact

Page 40: Microsoft's SOA Strategy or, How current and future Microsoft technologies fit into a heterogeneous, evolvable IT architecture Dino Chiesa Microsoft dinoch@microsoft.com

Key PracticeKey Practice

Extensible Message Schema Extensible Message Schema Use an “open” content model to allow Use an “open” content model to allow

extension and evolution (xsd:any )extension and evolution (xsd:any ) This can allow evolution of endpoints This can allow evolution of endpoints

without changing the contract without changing the contract Service A – v1Service A – v1

v1v1

Service A – v1Service A – v1

Service BService B

v2v2

Service A – v2Service A – v2

v2v2

Page 41: Microsoft's SOA Strategy or, How current and future Microsoft technologies fit into a heterogeneous, evolvable IT architecture Dino Chiesa Microsoft dinoch@microsoft.com

Key PracticeKey Practice

Extensible Message Schema Extensible Message Schema Balance flexibility with maintainabilityBalance flexibility with maintainability

<ProductQuery> <ProductInfo> <QueryID>11063</QueryID> <CustomerID>HUNGO</CustomerID> <DeliveryOption>3</DeliveryOption> <OrderDate>2005-04-30</OrderDate> </ProductInfo></ProductQuery>

<ProductQuery> <ProductInfo> <QueryID>11063</QueryID> <CustomerID>HUNGO</CustomerID> <DeliveryOption>3</DeliveryOption> <OrderDate>2005-04-30</OrderDate> <Attributes>….</Attributes> <Constraints>….</Constraints> </ProductInfo></ProductQuery>

<ProductQuery> <Rating>… </Rating> <Category>…</Category></ProductQuery>

OK

Page 42: Microsoft's SOA Strategy or, How current and future Microsoft technologies fit into a heterogeneous, evolvable IT architecture Dino Chiesa Microsoft dinoch@microsoft.com

Key PracticeKey Practice

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.

Page 43: Microsoft's SOA Strategy or, How current and future Microsoft technologies fit into a heterogeneous, evolvable IT architecture Dino Chiesa Microsoft dinoch@microsoft.com

Key PatternKey Pattern

Integrating “Non-Service” ComponentsIntegrating “Non-Service” Components

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

Recommendations:Recommendations:

Page 44: Microsoft's SOA Strategy or, How current and future Microsoft technologies fit into a heterogeneous, evolvable IT architecture Dino Chiesa Microsoft dinoch@microsoft.com

Integrating “Non-Service” ComponentsIntegrating “Non-Service” Components

Service FacadesService Facades

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)

API-basedAPI-based SAP’s DCOM Component ConnectorSAP’s DCOM Component Connector JDE’s OneWorld APIJDE’s OneWorld API

File-based/FTPFile-based/FTP

Page 45: Microsoft's SOA Strategy or, How current and future Microsoft technologies fit into a heterogeneous, evolvable IT architecture Dino Chiesa Microsoft dinoch@microsoft.com

Key PracticeKey Practice

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

Page 46: Microsoft's SOA Strategy or, How current and future Microsoft technologies fit into a heterogeneous, evolvable IT architecture Dino Chiesa Microsoft dinoch@microsoft.com

Interoperability ChallengeInteroperability Challenge

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.

Page 47: Microsoft's SOA Strategy or, How current and future Microsoft technologies fit into a heterogeneous, evolvable IT architecture Dino Chiesa Microsoft dinoch@microsoft.com

““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:

Page 48: Microsoft's SOA Strategy or, How current and future Microsoft technologies fit into a heterogeneous, evolvable IT architecture Dino Chiesa Microsoft dinoch@microsoft.com

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

Page 49: Microsoft's SOA Strategy or, How current and future Microsoft technologies fit into a heterogeneous, evolvable IT architecture Dino Chiesa Microsoft dinoch@microsoft.com

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.

Page 50: Microsoft's SOA Strategy or, How current and future Microsoft technologies fit into a heterogeneous, evolvable IT architecture Dino Chiesa Microsoft dinoch@microsoft.com

Be Pragmatic rather than PureBe Pragmatic rather than Pure

Use Existing TransportsUse Existing Transports Exploit what you already haveExploit what you already have

……existing MQ networkexisting MQ network ……existing sockets communicationsexisting sockets communications

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.

Page 51: Microsoft's SOA Strategy or, How current and future Microsoft technologies fit into a heterogeneous, evolvable IT architecture Dino Chiesa Microsoft dinoch@microsoft.com
Page 52: Microsoft's SOA Strategy or, How current and future Microsoft technologies fit into a heterogeneous, evolvable IT architecture Dino Chiesa Microsoft dinoch@microsoft.com

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

Page 53: Microsoft's SOA Strategy or, How current and future Microsoft technologies fit into a heterogeneous, evolvable IT architecture Dino Chiesa Microsoft dinoch@microsoft.com

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

Page 54: Microsoft's SOA Strategy or, How current and future Microsoft technologies fit into a heterogeneous, evolvable IT architecture Dino Chiesa Microsoft dinoch@microsoft.com

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

re-entry & copy/pastere-entry & copy/paste Leverage existing Office experience Leverage existing Office experience

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

Page 55: Microsoft's SOA Strategy or, How current and future Microsoft technologies fit into a heterogeneous, evolvable IT architecture Dino Chiesa Microsoft dinoch@microsoft.com

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

Page 56: Microsoft's SOA Strategy or, How current and future Microsoft technologies fit into a heterogeneous, evolvable IT architecture Dino Chiesa Microsoft dinoch@microsoft.com
Page 57: Microsoft's SOA Strategy or, How current and future Microsoft technologies fit into a heterogeneous, evolvable IT architecture Dino Chiesa Microsoft dinoch@microsoft.com

<ConferenceReport><ConferenceReport><Date>3/24/2004</Date><Date>3/24/2004</Date><Summary><Summary>

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

</Summary></Summary><Attendees><Attendees>

<Attendee Name=“John Doe”><Attendee Name=“John Doe”><Department>Health Agency</Department><Department>Health Agency</Department><Potential><Potential>

<Sales>100</Sales><Sales>100</Sales><Growth>25%</Growth><Growth>25%</Growth><Remarks>The team comprises <Remarks>The team comprises

great innovators</Remarks>great innovators</Remarks><ToDo>Contact their IT Manager</ToDo><ToDo>Contact their IT Manager</ToDo>

</Potential></Potential></Attendee></Attendee><Attendee Name=“Judith Jones”><Attendee Name=“Judith Jones”>

<Department>Finance Agency</Department><Department>Finance Agency</Department></Attendee></Attendee>

</Attendees></Attendees><Conclusion>Organize another European tour </Conclusion><Conclusion>Organize another European tour </Conclusion>

</ConferenceReport></ConferenceReport>

Page 58: Microsoft's SOA Strategy or, How current and future Microsoft technologies fit into a heterogeneous, evolvable IT architecture Dino Chiesa Microsoft dinoch@microsoft.com

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

Page 59: Microsoft's SOA Strategy or, How current and future Microsoft technologies fit into a heterogeneous, evolvable IT architecture Dino Chiesa Microsoft dinoch@microsoft.com

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

Integrated design-time experience, Integrated design-time experience, View Controls, Schema-based View Controls, Schema-based programming modelprogramming model

All the productivity of Visual Studio All the productivity of Visual Studio and the .NET Frameworkand the .NET Framework

.NET Framework support for Web .NET Framework support for Web ServicesServices

No-touch deployment (from network No-touch deployment (from network share)share)

Rich UserExperience

Responsive

DeveloperProductivity

Web Services &Offline/Online support

Easy ChangeManagement

Ease ofDeployment

Page 60: Microsoft's SOA Strategy or, How current and future Microsoft technologies fit into a heterogeneous, evolvable IT architecture Dino Chiesa Microsoft dinoch@microsoft.com

Call CenterCall Center

MS SalesMS Sales

CRMCRM

MarketinMarketingg

Outlook is the clientOutlook is the client• Familiar interfaceFamiliar interface• Offline supportOffline support• Integrated into Integrated into

workflowworkflow

Page 61: Microsoft's SOA Strategy or, How current and future Microsoft technologies fit into a heterogeneous, evolvable IT architecture Dino Chiesa Microsoft dinoch@microsoft.com
Page 62: Microsoft's SOA Strategy or, How current and future Microsoft technologies fit into a heterogeneous, evolvable IT architecture Dino Chiesa Microsoft dinoch@microsoft.com

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

Page 63: Microsoft's SOA Strategy or, How current and future Microsoft technologies fit into a heterogeneous, evolvable IT architecture Dino Chiesa Microsoft dinoch@microsoft.com

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.

Page 64: Microsoft's SOA Strategy or, How current and future Microsoft technologies fit into a heterogeneous, evolvable IT architecture Dino Chiesa Microsoft dinoch@microsoft.com

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:

SecuritySecurity LDAP, x.509, Kerberos, XMLDSIGLDAP, x.509, Kerberos, XMLDSIG NetegrityNetegrity

CryptoCrypto DSA, RSA, MD5, SHA, DES, AES,…DSA, RSA, MD5, SHA, DES, AES,…

CommunicationsCommunications HTTP/S, SMTP, FTP, HTML, CSS, HTTP/S, SMTP, FTP, HTML, CSS, SSL, IPSecSSL, IPSec

MQSeries, LU6.2 , IIOP, MQSeries, LU6.2 , IIOP, SAP RFCSAP RFC

DataData XML, XSL, XPath, XML-NS,XML, XSL, XPath, XML-NS, DOMDOM, , SOAPSOAP

ODBC, OLEDB, Oracle, DB2, ODBC, OLEDB, Oracle, DB2, VSAMVSAM

ServicesServices WSDL, WS-Security, SAML, BPELWSDL, WS-Security, SAML, BPEL WebSphere, Tibco RV, SAP, WebSphere, Tibco RV, SAP, CICS, OracleCICS, Oracle

ManagementManagement CIM, WBEM, IPMI, SNMPCIM, WBEM, IPMI, SNMP WMI, NET-IQ, OpenView, TivoliWMI, NET-IQ, OpenView, Tivoli

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

Page 65: Microsoft's SOA Strategy or, How current and future Microsoft technologies fit into a heterogeneous, evolvable IT architecture Dino Chiesa Microsoft dinoch@microsoft.com

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.

Page 66: Microsoft's SOA Strategy or, How current and future Microsoft technologies fit into a heterogeneous, evolvable IT architecture Dino Chiesa Microsoft dinoch@microsoft.com

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.

Page 67: Microsoft's SOA Strategy or, How current and future Microsoft technologies fit into a heterogeneous, evolvable IT architecture Dino Chiesa Microsoft dinoch@microsoft.com

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

Page 68: Microsoft's SOA Strategy or, How current and future Microsoft technologies fit into a heterogeneous, evolvable IT architecture Dino Chiesa Microsoft dinoch@microsoft.com

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

Page 69: Microsoft's SOA Strategy or, How current and future Microsoft technologies fit into a heterogeneous, evolvable IT architecture Dino Chiesa Microsoft dinoch@microsoft.com

Exchange 2003

JSP as WebDAV client JSP as WebDAV client to Exchange 2003to Exchange 2003

Logic Data

JSP

Jetty

Apache Slide

Apache httpclient

Page 70: Microsoft's SOA Strategy or, How current and future Microsoft technologies fit into a heterogeneous, evolvable IT architecture Dino Chiesa Microsoft dinoch@microsoft.com

JSP as WebDAV client JSP as WebDAV client to Exchange 2003to Exchange 2003

SEARCH /exchange/dinoch/Contacts HTTP/1.1depth: 1Translate:fContent-Length: 252Content-Type: text/xml;charset=utf-8User-Agent: Jakarta Commons-HttpClient/3.0-rc2Host: mail.microsoft.comCookie: $Version=0; sessionid=37f9b3c6-4906-455c-a241-f109ee7726ae; $Path=/Cookie: $Version=0; cadata=1kwALaqaPn/4d+cs/JlM….wCmmEM/1hve7n1OjNJrDLn80P252w==; $Path=/

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

Page 71: Microsoft's SOA Strategy or, How current and future Microsoft technologies fit into a heterogeneous, evolvable IT architecture Dino Chiesa Microsoft dinoch@microsoft.com

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

Page 72: Microsoft's SOA Strategy or, How current and future Microsoft technologies fit into a heterogeneous, evolvable IT architecture Dino Chiesa Microsoft dinoch@microsoft.com

SQL Server

JSP producing WordMLJSP producing WordML

Logic Data

JSP

Jetty

JAXP

FileSystem

Microsoft Word 2003

Internet Explorer

Client

save

Page 73: Microsoft's SOA Strategy or, How current and future Microsoft technologies fit into a heterogeneous, evolvable IT architecture Dino Chiesa Microsoft dinoch@microsoft.com

Integrating Across ServicesIntegrating Across Services

Enterprise Message BrokerEnterprise Message Broker

EDIMSMQ

Web Services

RoleManageme

nt

ProtocolBridging

EntityAggregatio

n

Orchestration

ProcessMonitoring

EventEscalation

PolicyEnforceme

ntMQSeries

Page 74: Microsoft's SOA Strategy or, How current and future Microsoft technologies fit into a heterogeneous, evolvable IT architecture Dino Chiesa Microsoft dinoch@microsoft.com

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

Web services fabricWeb services fabric Secure, reliable & transacted interactions Secure, reliable & transacted interactions

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.

Endpoints – client softwareEndpoints – client software

SkillsSkills

ArchitectureArchitecture

PortfolioPortfolio

Page 75: Microsoft's SOA Strategy or, How current and future Microsoft technologies fit into a heterogeneous, evolvable IT architecture Dino Chiesa Microsoft dinoch@microsoft.com

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

Page 76: Microsoft's SOA Strategy or, How current and future Microsoft technologies fit into a heterogeneous, evolvable IT architecture Dino Chiesa Microsoft dinoch@microsoft.com

Thank YouThank You

Page 77: Microsoft's SOA Strategy or, How current and future Microsoft technologies fit into a heterogeneous, evolvable IT architecture Dino Chiesa Microsoft dinoch@microsoft.com

Configurations &Configurations &ConnectionsConnections

Page 78: Microsoft's SOA Strategy or, How current and future Microsoft technologies fit into a heterogeneous, evolvable IT architecture Dino Chiesa Microsoft dinoch@microsoft.com

Message

Queue

FileSystem

CICSOperational DB

Resources

JavaSAP

ASP.NET

IIS

Session Store

HTTP

SOAP / HTTP

Device

Web S

erver

Browser Web Service Client

ASP.NET Front End (1)ASP.NET Front End (1)

Page 79: Microsoft's SOA Strategy or, How current and future Microsoft technologies fit into a heterogeneous, evolvable IT architecture Dino Chiesa Microsoft dinoch@microsoft.com

Message

Queue

FileSystem

CICSOperationalDB

Resources

JavaSAP

ASP.NET

IIS

ASP.NETADO.NET

IIS

System.MessagingADO.NET

Enterprise Services

System.MessagingSystem.IO

Custom Application Host

Session Store

HTTP

SOAP / HTTP

Device

Web S

erverA

pplication S

ervers

Remoting

DCOM

SOAP / HTTP

Browser Web Service Client

ASP.NET Front End (2)ASP.NET Front End (2)