The Road To Service-oriented The Road To Service-oriented ArchitectureArchitecture
Eric Schmidt ([email protected])Technical EvangelistPlatform Strategy and Partner GroupMicrosoft Corporation
AgendaAgenda
Service OrientationService Orientation Web Services ArchitectureWeb Services Architecture Technology RoadmapTechnology Roadmap
Connected SystemsConnected SystemsEverything ConnectedEverything Connected
Service Oriented Service Oriented ArchitectureArchitecture
Web Services Web Services ArchitectureArchitecture
Application Application ArchetypesArchetypes
Shift To Service OrientationShift To Service Orientation
Connections = cost Connections = cost Function orientedFunction oriented Build to lastBuild to last Prolonged developmentProlonged development
FromFrom ToTo
Connections = valueConnections = value Process oriented Process oriented Build for changeBuild for change Incrementally deployedIncrementally deployed
Application silosApplication silos Tightly coupledTightly coupled Object orientedObject oriented
Orchestrated solutionsOrchestrated solutions Loosely coupledLoosely coupled Message orientedMessage oriented
Service OrientationService Orientation
A service oriented architecture (SOA) A service oriented architecture (SOA) significantly elevates the abstraction level significantly elevates the abstraction level for code re-usefor code re-use It allows applications to bind to services It allows applications to bind to services
that evolve and improve over time without that evolve and improve over time without requiring modification to the applications that requiring modification to the applications that consume themconsume them
Evolution not revolutionEvolution not revolution
Service OrientationService OrientationCore TenetsCore Tenets
Explicit BoundariesExplicit Boundaries AutonomousAutonomous Negotiation Via PolicyNegotiation Via Policy
Reuse Reuse & Dynamic& Dynamic
Exposed Schema Exposed Schema and Contractand Contract
Message DrivenMessage DrivenMeaningfuMeaningfu
llInformatioInformatio
nn
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
Service OrientationService OrientationBasic Consumer/Provider viewBasic Consumer/Provider view
BusinessBusinessComponentComponent
ServiceServiceFaçadeFaçade
Service ConsumerService Consumer Service ProviderService Provider
Service OrientationService OrientationRequired CapabilitiesRequired Capabilities
SecuritySecurity ReliabilityReliability TransactionsTransactions DiscoveryDiscovery ManagementManagement Transport independenceTransport independence InteroperabilityInteroperability Process orchestrationProcess orchestration
Service OrientationService Orientation
Business Process ViewBusiness Process View
BusinessBusinessComponentComponent
BusinessBusinessComponentComponent
Business Business ProcessProcess
ConsumerConsumerApplicationApplication
Finer Grained Finer Grained Internal Internal Service Service
OperationsOperations
Coarse Coarse Grained Web Grained Web
Service Service OperationsOperations
Fine Grained Fine Grained Object and Object and
database callsdatabase calls
Why This Is Important To You…Why This Is Important To You… How do you extract and leverage How do you extract and leverage
value from?value from? ConnectivityConnectivity DecompositionDecomposition Business process awareBusiness process aware Resilient to changeResilient to change Continuous improvementContinuous improvement ReuseReuse
Unified ConnectivityUnified Connectivity
Less overhead, reduced surface areaLess overhead, reduced surface area Consistent programming modelConsistent programming model Native interoperabilityNative interoperability
YourApplication
EJBEJB
MQMQ
DCOMDCOM
ODBCODBC
BusinessProcesses
BusinessProcesses
YourApplication
AbstractionAbstraction
Enables you to more gracefully Enables you to more gracefully decompose your applicationdecompose your application
Enables you to extend and optimize Enables you to extend and optimize your processesyour processes
BusinessProcess
DynamicDynamic Discovery enables you to add services and Discovery enables you to add services and
consume services at “run-time”consume services at “run-time” Policy enables services to dynamically Policy enables services to dynamically
calibrate and optimize overtimecalibrate and optimize overtime
Guaranteed Guaranteed DeliveryDelivery
PKIPKI
Windows Windows CredentialsCredentials
Guaranteed Guaranteed DeliveryDelivery
Windows Windows CredentialsCredentials
Custom Custom CredentialsCredentials
ResilientResilient Schema provides a mechanism to Schema provides a mechanism to
decouple database, programming and decouple database, programming and “wire” format – this makes your “wire” format – this makes your application more resilient to changeapplication more resilient to change Coarse grain messaging enables loose Coarse grain messaging enables loose
couplingcoupling
BusinessProcess
<ORDER>…..</ORDER><ORDER>…..</ORDER> <ITEMS>…..</ITEMS><ITEMS>…..</ITEMS> 1 Shoes 12.991 Shoes 12.99
ReuseReuse Decomposition promotes reuse and enables more dynamic Decomposition promotes reuse and enables more dynamic
business processesbusiness processes Requires you to embrace a business process modelRequires you to embrace a business process model
3.3. Procurement3.3. Procurement
3.3.1 Sourcing and Supplier Contract Management
3.3.3 Receiving of Indirect / Capital Goods and Services
3.3.2 Purchasing3.3.2 PurchasingRequest Resources
Acquire/Purchase Resources
CreatePurchase
Requisitions
PurchaseDirect
Materials &Supplies
PurchaseIndirect
Materials
PurchaseOutsideVendor
Services
PurchaseCapitalGoods
ConsolidateApproved
Requisitionsby Supplier
CreatePurchase
Orders
Choose orDefault
Supplier forGoods
ManageRFI/RFQ/
RFPprocess
ManageOpen to
Buy/BlanketPOs
Verify/Negotiate
Price
ManageRequisition
ApprovaProcessl
PerformEncumbrance
Check
Track OpenPOs
Manage Suppliers
ManageSupplier
Relationships
TrackSupplier
Commitments
MaintainSupplierCatalog
ManagePurchase
ItemCatalog
CreateAuction Bids
ManageAutomaticReplenish-
ment
ManagePurchasing
Methods
Approve& ValidateContract
Payments
ManageBuyer
Performance
Provide SupplierSelf-Help
000197 TBLEDIT SECTION.000197 TBLEDIT SECTION.000198******************************000198******************************000199*000199*000200 DISPLAY ROOM-TOTAL-000200 DISPLAY ROOM-TOTAL-NUM(TBL-IDX).NUM(TBL-IDX).000201 DISPLAY TBL-IDX.000201 DISPLAY TBL-IDX.000202 MOVE ROOM-TOTAL-000202 MOVE ROOM-TOTAL-NUM(TBL-IDX) TO WK-ALL.NUM(TBL-IDX) TO WK-ALL.000203 MOVE ROOM-RSV-000203 MOVE ROOM-RSV-NUM(TBL-IDX) TO WK-RSV.NUM(TBL-IDX) TO WK-RSV.000204 PERFORM RITU-COMP.000204 PERFORM RITU-COMP.000205 MOVE WK-ALL TO POW-000205 MOVE WK-ALL TO POW-0001.0001.000205 MOVE TBL-IDX TO POW-000205 MOVE TBL-IDX TO POW-0002.0002.000205 MOVE 1 TO POW-0003.000205 MOVE 1 TO POW-0003.000205 CALL 000205 CALL "_XPOWTABLESETNUMERICTO" "_XPOWTABLESETNUMERICTO" USING BY VALUE ROOMTBLUSING BY VALUE ROOMTBL000205 BY REFERENCE POW-0001 000205 BY REFERENCE POW-0001 BY VALUE POW-0002 POW-0003 .BY VALUE POW-0002 POW-0003 .
Foundation For Smart, Foundation For Smart, Visible ProcessesVisible Processes
Schema enables your services to Schema enables your services to become more strongly typed to become more strongly typed to business processbusiness process
Decomposition provides more Decomposition provides more discrete access to business visibility discrete access to business visibility (Milestones)(Milestones)
Information access drives smart Information access drives smart processesprocesses
Office BI ServicesOffice BI Services
Business ProcessBusiness ProcessReal-timeReal-time
MonitoringMonitoring
Real-timeReal-timecollection of collection of
activities activities Business Process Business Process Activity TrackingActivity Tracking
Security, Reliability, TransactionsSecurity, Reliability, Transactions The message dictates capabilities and The message dictates capabilities and
behaviorbehavior Efficiently cross boundariesEfficiently cross boundaries
Stand on the shoulders of the architecture Stand on the shoulders of the architecture and the plumbingand the plumbing
You can focus on building applications not You can focus on building applications not the infrastructurethe infrastructure
Service Oriented SystemsService Oriented SystemsBusiness ImpactBusiness Impact
ISV ImpactISV Impact Deployment and integration efficiencyDeployment and integration efficiency Flexibility, extensibility and reuseFlexibility, extensibility and reuse Broad new opportunitiesBroad new opportunities
Customer ImpactCustomer Impact New access to knowledge assetsNew access to knowledge assets Agility to react to business changeAgility to react to business change Solution flexibilitySolution flexibility
WRQ (Verastream)WRQ (Verastream)The emergence of Web services and The emergence of Web services and Service Service
OrientedOriented Architectures has invigorated a market for Architectures has invigorated a market for integration of legacy platforms… many companies integration of legacy platforms… many companies
now feel that they can take an now feel that they can take an incremental approachincremental approach to integrating with their legacy infrastructure and to integrating with their legacy infrastructure and
don't have implement a large, complex integration don't have implement a large, complex integration project. This has been good for WRQ because project. This has been good for WRQ because
customers have found Verastream to be the right customers have found Verastream to be the right tool to tool to abstractabstract their legacy applications into a series their legacy applications into a series of of reusable servicesreusable services that fit nicely into their Service- that fit nicely into their Service-
Oriented architectures.Oriented architectures.
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
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
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
Technology RoadmapTechnology RoadmapToday, This Year, FuturesToday, This Year, Futures
Infrastructure Infrastructure and Business and Business
ProcessProcess
Developer Developer EnablementEnablement
Smart Client and Smart Client and ReachReach
Developer EnablementDeveloper Enablement
GuidanceGuidance Authorization and Profile Application Authorization and Profile Application
Block Block Building Interoperable Web Services: Building Interoperable Web Services:
WS-I Basic Profile 1.0 WS-I Basic Profile 1.0 Web Service Façade for Legacy Web Service Façade for Legacy
ApplicationsApplications
Visual Studio .NET Visual Studio .NET 20032003
Foundation for XML WS Foundation for XML WS programming modelprogramming model
Key supported Key supported standardsstandards
Attribute based Attribute based developmentdevelopment
Schema driven XML Schema driven XML serializationserialization
WS-I Basic profile WS-I Basic profile compliant*compliant*
Web Services Enhancements Web Services Enhancements (WSE) 1.0(WSE) 1.0
Foundation for advanced Web Foundation for advanced Web service supportservice support
Improved extensibilityImproved extensibility WS-SecurityWS-Security
Infrastructure And Business ProcessInfrastructure And Business Process
GuidanceGuidance Information & Information &
Application Architecture Application Architecture for the Service-Oriented for the Service-Oriented EnterpriseEnterprise
Application Application Interoperability: Interoperability: MicrosoftMicrosoft .NET and J2EE
Windows Server Windows Server 20032003
MetadataMetadata AD & ADAMAD & ADAM
SecuritySecurity Authorization Authorization
ManagerManager Registry & DiscoveryRegistry & Discovery
Enterprise UDDIEnterprise UDDI QueuingQueuing
MSMQMSMQ HostingHosting
IIS 6.0 & Enterprise IIS 6.0 & Enterprise ServicesServices
ManagementManagement WMIWMI
BizTalk Server 2004BizTalk Server 2004 Connectivity (EAI/B2B)Connectivity (EAI/B2B)
350+ Adapters350+ Adapters Native Web service Native Web service
supportsupport Business ProcessBusiness Process
OrchestrationOrchestration Business Rule EngineBusiness Rule Engine Business Activity MonitoringBusiness Activity Monitoring Human Workflow ServicesHuman Workflow Services Partner ManagementPartner Management
SecuritySecurity Single Sign-OnSingle Sign-On
ManagementManagement
SQL Server 2000SQL Server 2000 Web Services SupportWeb Services Support
Smart Client And ReachSmart Client And Reach
Office System 2003Office System 2003 XML meta and XML meta and
persistence formatpersistence format InfoPath for schema, InfoPath for schema,
template driven template driven formsforms
Native Web service Native Web service consumerconsumer
Visual Studio .NET Visual Studio .NET integrationintegration
GuidanceGuidance Smart Client Offline Smart Client Offline
Application Block Application Block Asynchronous Invocation Asynchronous Invocation
Application BlockApplication Block Service Aggregation Service Aggregation
Application BlockApplication Block
Sharepoint Portal Sharepoint Portal Server for OfficeServer for Office
Windows Sharepoint Windows Sharepoint ServicesServices
.NET Compact .NET Compact FrameworkFramework
PocketPC and PocketPC and SmartPhoneSmartPhone
Flexible Business Processes With Flexible Business Processes With BizTalk Server 2004 (demo)BizTalk Server 2004 (demo)
Loose-couplingLoose-coupling Process OrchestrationProcess Orchestration Business Activity MonitoringBusiness Activity Monitoring Dynamic RulesDynamic Rules Secure, Policy Driven ServicesSecure, Policy Driven Services
Flexible Business Processes Flexible Business Processes with Microsoft BizTalk Server with Microsoft BizTalk Server 20042004
Loose-couplingLoose-coupling Process OrchestrationProcess Orchestration Business Activity MonitoringBusiness Activity Monitoring Dynamic RulesDynamic Rules Secure, Policy Driven ServicesSecure, Policy Driven Services
Efficient DevelopmentEfficient Development Service-oriented tools for both design time Service-oriented tools for both design time
and runtime dramatically reduces the time and runtime dramatically reduces the time to implement and deliver working processesto implement and deliver working processes BizTalk Server 2004 orchestration == Zero CodeBizTalk Server 2004 orchestration == Zero Code .NET Framework XML serialization == Zero .NET Framework XML serialization == Zero
CodeCode Web Services Enhancements policy == Zero Web Services Enhancements policy == Zero
CodeCode
FutureFuture
Visual Visual Studio 2005 Studio 2005
WS-I WS-I ComplianceCompliance
DSI/SDMDSI/SDM
SQL Server SQL Server 20052005
IndigoIndigo LonghornLonghorn
WinFSWinFS GuidanceGuidance
This YearThis Year
Visual Studio Visual Studio 2005 TAP2005 TAP
Indigo TAPIndigo TAP WSE 2.0WSE 2.0 WSE 3.0 TAPWSE 3.0 TAP InfoPath SP InfoPath SP GuidanceGuidance
TodayToday
Technology Roadmap Technology Roadmap
Visual Studio Visual Studio 2003 & .NET 2003 & .NET FrameworkFramework
WSE 1.0WSE 1.0 Office System Office System
20032003 Windows Windows
Server 2003Server 2003 BizTalk BizTalk
Server 2004Server 2004 SQL Server SQL Server
20002000 GuidanceGuidance
Calls To ActionCalls To Action Assess your current SOA and Web Assess your current SOA and Web
services strategyservices strategy What trajectory are you on?What trajectory are you on?
Engage nowEngage now Embrace ASP.NET Web services and or BizTalk Embrace ASP.NET Web services and or BizTalk
Server 2004 todayServer 2004 today Evolve strategicallyEvolve strategically
Map service oriented principles to the Map service oriented principles to the business value of your solutionbusiness value of your solution
© 2004 Microsoft Corporation. All rights reserved.© 2004 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.Content created by 3 Leaf SolutionsContent created by 3 Leaf Solutions
Contact Contact [email protected]@microsoft.com BizTalk Server 2004 GuidanceBizTalk Server 2004 Guidance WSE 2.0 GuidanceWSE 2.0 Guidance Indigo Technology Adoption ProgramIndigo Technology Adoption Program