WEB490 Developing Service- Oriented Architectures Brian Travis Chief Technical Officer Architag International Corp
Jan 15, 2016
WEB490
Developing Service-Oriented Architectures
Brian TravisChief Technical OfficerArchitag International Corp
Copyright © 1995-2003, Architag International Corporation.All rights reserved. Use without express written permission from Architag International Corporation is strictly forbidden.
Brian Travis, Chief Technical OfficerArchitag International Corporation
Developing Service-Oriented Architectures
TechEd 2003
Copyright © 1995-2003, Architag International Corporation.All rights reserved. Use without express written permission from Architag International Corporation is strictly forbidden.
3
Web Services Implementation GuideVolume 1: Getting Started
Copyright © 1995-2003, Architag International Corporation.All rights reserved. Use without express written permission from Architag International Corporation is strictly forbidden.
4
Joint Enhanced Sub-System for Integrating the Enterprise
JESSIE
Web OrderProcessingSubsystem
OrderOrderenteredentered
Back-endERP
OrderOrdercomes incomes in
JESSIEJESSIEJESSIEJESSIE
OrderOrderProcessedProcessed
Copyright © 1995-2003, Architag International Corporation.All rights reserved. Use without express written permission from Architag International Corporation is strictly forbidden.
5
Data Communication• Can we build the technology that enables
programs to communicate?• What kind of architecture is needed?• What kind of building blocks are needed?
Service-centric view
Process-centric view
Solution:Define services and operations instead of applications and data
Copyright © 1995-2003, Architag International Corporation.All rights reserved. Use without express written permission from Architag International Corporation is strictly forbidden.
Traditional Application Architecture
Copyright © 1995-2003, Architag International Corporation.All rights reserved. Use without express written permission from Architag International Corporation is strictly forbidden.
7
Application
• User interface• Executable program• Scheduled execution• Business logic• Procedures
Traditional Application Architecture
Data
Data Access
• Typical application has this proprietary structure
• Must recreate for each application
• No interaction between different objects, languages, data sources
• Existing applications are tightly coupled
SQL Database
XML FlatFile
Copyright © 1995-2003, Architag International Corporation.All rights reserved. Use without express written permission from Architag International Corporation is strictly forbidden.
8
Application Communication
Tight Coupling•COM•CORBA•EXE•Batch
Application
• User interface• Executable program• Scheduled execution• Business logic• Procedures
Data
Data Access
SQL Database
XML FlatFile
Application
• User interface• Executable program• Scheduled execution• Business logic• Procedures
Data
Data Access
SQL Database
XML FlatFile
Application
• User interface• Executable program• Scheduled execution• Business logic• Procedures
Data
Data Access
SQL Database
XML FlatFile
Copyright © 1995-2003, Architag International Corporation.All rights reserved. Use without express written permission from Architag International Corporation is strictly forbidden.
9
Problems with Traditional Architecture
• The application’s functions cannot be re-used
• Difficult to debug the program as it grows, and maintain it as it is deployed
• Security is another problem because the user-interface cannot be isolated from the rest of the program
• Difficult to integrate applications that reside in different platforms
• Scalability is all but impossible
Copyright © 1995-2003, Architag International Corporation.All rights reserved. Use without express written permission from Architag International Corporation is strictly forbidden.
10
What if...?
• What if every layer could have a standard format of expressing data rather than each speaking a proprietary language that only some can understand?
• In the data source• In the data access• In the application, class, any output after
some functionality is applied to the data
Copyright © 1995-2003, Architag International Corporation.All rights reserved. Use without express written permission from Architag International Corporation is strictly forbidden.
Service-Oriented Architecture
Encapsulating Business Processes
Copyright © 1995-2003, Architag International Corporation.All rights reserved. Use without express written permission from Architag International Corporation is strictly forbidden.
12
Application
Data
Data Access
SQL Database
XML FlatFile
Process-centric to Service-centric
•User interface•Executable program•Scheduled execution•Business logic•Procedures
Service
Data
Data Access
SQL Database
XML FlatFile
Common interface• Encapsulation• Alphabet, language, format• Error Handling
Business Logic
Copyright © 1995-2003, Architag International Corporation.All rights reserved. Use without express written permission from Architag International Corporation is strictly forbidden.
13
Then….
• Decouples user experience from application logic
• Can be delivered to a user-interface in any language, any platform
Service
Common interface• Encapsulation• Alphabet, language, format• Error Handling
Data
Data Access
SQL Database
XML FlatFile
Business Logic
Copyright © 1995-2003, Architag International Corporation.All rights reserved. Use without express written permission from Architag International Corporation is strictly forbidden.
14
The Holy Grail…
ASP.NET WebApplication
WinUIApplication
MobileApplication
Java ConsoleApplication
ASP.NET Web Service
Common interface•Encapsulation•Alphabet, language, format•Error Handling
Data
Data Access
SQL Database
XML FlatFile
Business Logic
ASP.NET Web Service
J2EE Web Service
Common interface•Encapsulation•Alphabet, language, format•Error Handling
Data
Data Access
SQL Database
XML FlatFile
Business Logic
J2EE Web Service
• Applications talking to each other in a loosely coupled manner• Data uniform• Services delivered to
any user-experience• Seamless integration
• They can all communicate because• Common error handling• Common encapsulation
standards• Common alphabet• Common language
description
XML, SOAP, WSDL, XSLT, ...
XML,SOAP,WSDL,XSLT,...
XML, SOAP, WSDL, XSLT, ...
Web Services Architecture
Copyright © 1995-2003, Architag International Corporation.All rights reserved. Use without express written permission from Architag International Corporation is strictly forbidden.
15
Old: Process-Oriented Architecture
• Uses processes to act on data• Requires that the system have
intimate knowledge of the process details in order to interface with them
• Data is accessed and manipulated by these processes, which can lead to corruption of the data and can compromise security.
Copyright © 1995-2003, Architag International Corporation.All rights reserved. Use without express written permission from Architag International Corporation is strictly forbidden.
16
New: Service-Oriented Architecture
• Encapsulates processes and data• Exposes processes and data
together as a homogenized service• Can be utilized where necessary
while keeping the data isolated, secure, and centrally managed
Copyright © 1995-2003, Architag International Corporation.All rights reserved. Use without express written permission from Architag International Corporation is strictly forbidden.
17
A Service
• Can correspond to real-life business activities• Is the interface for business functions• Is usually discoverable, but not a requirement• Has a clearly defined interface, which is
exposed through some kind of standard contract
• Interacts with other services and components using loosely-coupled, message-based architecture
• Uses standards for communication• Provides interoperability• Is up and running all the time, unlike
components that must be instantiated before use
Copyright © 1995-2003, Architag International Corporation.All rights reserved. Use without express written permission from Architag International Corporation is strictly forbidden.
18
Benefits of a Service-Oriented Architecture
• Complexity is encapsulated• Code is mobile• Developer roles are focused• Development efforts can be done in
parallel• The service definition supports multiple
client types• More security can be included• More re-usability of components across
the heterogonous platforms is possible
Copyright © 1995-2003, Architag International Corporation.All rights reserved. Use without express written permission from Architag International Corporation is strictly forbidden.
Layered Architecture
Copyright © 1995-2003, Architag International Corporation.All rights reserved. Use without express written permission from Architag International Corporation is strictly forbidden.
20
Data Sources
Data Access Layer
Business Logic Layer
Presentation Layer
Users
Layered Architecture
Copyright © 1995-2003, Architag International Corporation.All rights reserved. Use without express written permission from Architag International Corporation is strictly forbidden.
21
OrderManager
WarehouseManager
InventoryManager
UpdateManager
Service Portfolio
Copyright © 1995-2003, Architag International Corporation.All rights reserved. Use without express written permission from Architag International Corporation is strictly forbidden.
22
UI Components
ExcelSpreadsheet
WebBrowser
ASP.NETSite
OrderInterface
WarehouseInterface
CompactInterface
ShippingManifest
PocketPC
ASP.NETWeb Service
UIComponents
UI Process Components
Web ServiceAccessPoint
Copyright © 1995-2003, Architag International Corporation.All rights reserved. Use without express written permission from Architag International Corporation is strictly forbidden.
23
Data Access and Sources
Data AccessClasses
DataStructureClasses
Service Agent
CreditCheck
Copyright © 1995-2003, Architag International Corporation.All rights reserved. Use without express written permission from Architag International Corporation is strictly forbidden.
24
Data Access Layer
Business Logic Layer
Presentation Layer
ExcelSpreadsheet
WebBrowser
ASP.NETSite
OrderInterface
WarehouseInterface
CompactInterface
OrderManager
WarehouseManager
InventoryManager
UpdateManager
BizTalkOrchestration
Business Logic
Classes
Data AccessClasses
ShippingManifest
PocketPC
DataStructureClasses
SynchronizeItem DB
Data Sources
Service Agent
ASP.NETWeb Service
UIComponents
UI Process Components
Service Portfolio
BusinessWorkflows,Business
Components,BusinessEntities
Web ServiceAccessPoint
Utility Project
CreditCheck
External Service
Interfaces, Services, and Data
Copyright © 1995-2003, Architag International Corporation.All rights reserved. Use without express written permission from Architag International Corporation is strictly forbidden.
25
Business Process Flows
StoreOrder Receive Order
Check Credit (Stores DB)
1. WebUI client2. Spreadsheet3. Compact device interface
Credit OK?No
Yes
EndEnd
Issue Exceptions
Item found?
No
Yes
Do error processing
Look up item (Inventory DB)
Enter order information
For each item requested
For each item requested
Copyright © 1995-2003, Architag International Corporation.All rights reserved. Use without express written permission from Architag International Corporation is strictly forbidden.
SOAP for A2A
Integrating Heterogeneous Internal Applications
Copyright © 1995-2003, Architag International Corporation.All rights reserved. Use without express written permission from Architag International Corporation is strictly forbidden.
27
Integrating the Enterprise
• SOAP is the protocol• Still have middleware problems (point-to-point)• Some departmental functions can be integrated
easily using this protocol• Internal services support leads to more flexible
IT environment• Questions:
• Is SOAP protocol ready for internal networks?• Is it fast, scalable? • Is it reliable?• Many more…
Copyright © 1995-2003, Architag International Corporation.All rights reserved. Use without express written permission from Architag International Corporation is strictly forbidden.
28
Integrating the Enterprise
• Why do we need to integrate?• When web services become the protocol
that supports reliable, secure messages and transactions
• When web services become scalable over internal networks
• What is integration? • What is the enterprise?• What are XML web services?• How can XML web services solve
integration issues?
Copyright © 1995-2003, Architag International Corporation.All rights reserved. Use without express written permission from Architag International Corporation is strictly forbidden.
29
SOAP in Action
HTTP SOAPServer
SOAPClient
RequestRequestDocumentDocument
ResponseResponseDocumentDocument
Object
Copyright © 1995-2003, Architag International Corporation.All rights reserved. Use without express written permission from Architag International Corporation is strictly forbidden.
30
SOAP in Action
HTTP SOAPServer
SOAPClient
RequestRequestDocumentDocument
ResponseResponseDocumentDocument
RemoteObject
Copyright © 1995-2003, Architag International Corporation.All rights reserved. Use without express written permission from Architag International Corporation is strictly forbidden.
31
RemoteObject
SOAP in A2A
TCPSOAPServer
SOAPClient
LocalObject
HTTP
InternalInternalNetworkNetwork
Copyright © 1995-2003, Architag International Corporation.All rights reserved. Use without express written permission from Architag International Corporation is strictly forbidden.
32
SOAP in A2A
SOAPServer
SOAPClient
LocalObject
LocalObject
TCP
Object isObject isthe Clientthe Client
Copyright © 1995-2003, Architag International Corporation.All rights reserved. Use without express written permission from Architag International Corporation is strictly forbidden.
33
LocalObject
LocalObject
SOAP in A2A
SOAPServer
SOAPClient
COBOLObject
CORBAObject
TCP
CORBACORBAObjectObject
COBOLCOBOLProgramProgramas Objectas Object
Copyright © 1995-2003, Architag International Corporation.All rights reserved. Use without express written permission from Architag International Corporation is strictly forbidden.
34
SOAP in A2A
COBOLObject
CORBAObject
TCP
COBOL nowCOBOL nowthe Clientthe Client
SOAPServer
SOAPClient
Copyright © 1995-2003, Architag International Corporation.All rights reserved. Use without express written permission from Architag International Corporation is strictly forbidden.
35
SOAP in A2A
SOAPClient
SOAPServer
COBOLObject
CORBAObject
TCP
SOAPClient
SOAPServer
Everyone isEveryone isa server anda server and
a clienta client
Everyone isEveryone isa server anda server and
a clienta client
Everyone isEveryone isa server anda server and
a clienta client
Everyone isEveryone isa server anda server and
a clienta client
Copyright © 1995-2003, Architag International Corporation.All rights reserved. Use without express written permission from Architag International Corporation is strictly forbidden.
36
SOAP in A2A
SOAPServer
CORBAObject
SOAPClient
CORBAObject
SOAPImpleme
n-tation
Client andClient andServer asServer as
implementationimplementation
Copyright © 1995-2003, Architag International Corporation.All rights reserved. Use without express written permission from Architag International Corporation is strictly forbidden.
37
SOAP in A2A
COBOLObject
SOAPImpleme
n-tation
CORBAObject
SOAPImpleme
n-tation TCP
Copyright © 1995-2003, Architag International Corporation.All rights reserved. Use without express written permission from Architag International Corporation is strictly forbidden.
38
TCP
SOAP in A2A
COBOLObject
SOAPImpleme
n-tation
CORBAObject
SOAPImpleme
n-tation
TCPUDP
MQ-Series
Any transportAny transportor queuingor queuingtechnologytechnology
Copyright © 1995-2003, Architag International Corporation.All rights reserved. Use without express written permission from Architag International Corporation is strictly forbidden.
39
SOAP in A2A
TCPUDP
MQ-Series
COBOLObject
SOAPImpleme
n-tation
CORBAObject
SOAPImpleme
n-tation
New objectNew object
COMObject
SOAPImpleme
n-tation
Copyright © 1995-2003, Architag International Corporation.All rights reserved. Use without express written permission from Architag International Corporation is strictly forbidden.
40
Components as Services
SQL Server 2000
SQL Server
OrderManager
Inventory
Stores
Items
StoreStoreStore
WebBrowser
ExcelSpreadsheet
PocketPC
CompactInterface
ASP.NETSite
CreditCheck
StoreOrders
Progressive Soup Co.
OrderInterface
Copyright © 1995-2003, Architag International Corporation.All rights reserved. Use without express written permission from Architag International Corporation is strictly forbidden.
41
Web Services Implementation GuideVolume 1: Getting Started
Copyright © 1995-2003, Architag International Corporation.All rights reserved. Use without express written permission from Architag International Corporation is strictly forbidden.
</Session>
Resources at http://architag.com/events
Community Resources
Community Resourceshttp://www.microsoft.com/communities/default.mspx
Most Valuable Professional (MVP)http://www.mvp.support.microsoft.com/
NewsgroupsConverse online with Microsoft Newsgroups, including Worldwidehttp://www.microsoft.com/communities/newsgroups/default.mspx
User GroupsMeet and learn with your peershttp://www.microsoft.com/communities/usergroups/default.mspx
evaluationsevaluations
© 2003 Microsoft Corporation. All rights reserved.© 2003 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.