Top Banner
WEB490 Developing Service- Oriented Architectures Brian Travis Chief Technical Officer Architag International Corp
45

WEB490 Developing Service-Oriented Architectures Brian Travis Chief Technical Officer Architag International Corp.

Jan 15, 2016

Download

Documents

Roger Rogers
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: WEB490 Developing Service-Oriented Architectures Brian Travis Chief Technical Officer Architag International Corp.

WEB490

Developing Service-Oriented Architectures

Brian TravisChief Technical OfficerArchitag International Corp

Page 2: WEB490 Developing Service-Oriented Architectures Brian Travis Chief Technical Officer Architag 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

[email protected]

Developing Service-Oriented Architectures

TechEd 2003

Page 3: WEB490 Developing Service-Oriented Architectures Brian Travis Chief Technical Officer Architag International Corp.

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

Page 4: WEB490 Developing Service-Oriented Architectures Brian Travis Chief Technical Officer Architag International Corp.

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

Page 5: WEB490 Developing Service-Oriented Architectures Brian Travis Chief Technical Officer Architag International Corp.

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

Page 6: WEB490 Developing Service-Oriented Architectures Brian Travis Chief Technical Officer Architag International Corp.

Copyright © 1995-2003, Architag International Corporation.All rights reserved. Use without express written permission from Architag International Corporation is strictly forbidden.

Traditional Application Architecture

Page 7: WEB490 Developing Service-Oriented Architectures Brian Travis Chief Technical Officer Architag International Corp.

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

Page 8: WEB490 Developing Service-Oriented Architectures Brian Travis Chief Technical Officer Architag International Corp.

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

Page 9: WEB490 Developing Service-Oriented Architectures Brian Travis Chief Technical Officer Architag International Corp.

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

Page 10: WEB490 Developing Service-Oriented Architectures Brian Travis Chief Technical Officer Architag International Corp.

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

Page 11: WEB490 Developing Service-Oriented Architectures Brian Travis Chief Technical Officer Architag International Corp.

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

Page 12: WEB490 Developing Service-Oriented Architectures Brian Travis Chief Technical Officer Architag International Corp.

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

Page 13: WEB490 Developing Service-Oriented Architectures Brian Travis Chief Technical Officer Architag International Corp.

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

Page 14: WEB490 Developing Service-Oriented Architectures Brian Travis Chief Technical Officer Architag International Corp.

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

Page 15: WEB490 Developing Service-Oriented Architectures Brian Travis Chief Technical Officer Architag International Corp.

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.

Page 16: WEB490 Developing Service-Oriented Architectures Brian Travis Chief Technical Officer Architag International Corp.

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

Page 17: WEB490 Developing Service-Oriented Architectures Brian Travis Chief Technical Officer Architag International Corp.

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

Page 18: WEB490 Developing Service-Oriented Architectures Brian Travis Chief Technical Officer Architag International Corp.

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

Page 19: WEB490 Developing Service-Oriented Architectures Brian Travis Chief Technical Officer Architag International Corp.

Copyright © 1995-2003, Architag International Corporation.All rights reserved. Use without express written permission from Architag International Corporation is strictly forbidden.

Layered Architecture

Page 20: WEB490 Developing Service-Oriented Architectures Brian Travis Chief Technical Officer Architag International Corp.

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

Page 21: WEB490 Developing Service-Oriented Architectures Brian Travis Chief Technical Officer Architag International Corp.

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

Page 22: WEB490 Developing Service-Oriented Architectures Brian Travis Chief Technical Officer Architag International Corp.

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

Page 23: WEB490 Developing Service-Oriented Architectures Brian Travis Chief Technical Officer Architag International Corp.

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

Page 24: WEB490 Developing Service-Oriented Architectures Brian Travis Chief Technical Officer Architag International Corp.

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

Page 25: WEB490 Developing Service-Oriented Architectures Brian Travis Chief Technical Officer Architag International Corp.

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

Page 26: WEB490 Developing Service-Oriented Architectures Brian Travis Chief Technical Officer Architag International Corp.

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

Page 27: WEB490 Developing Service-Oriented Architectures Brian Travis Chief Technical Officer Architag International Corp.

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…

Page 28: WEB490 Developing Service-Oriented Architectures Brian Travis Chief Technical Officer Architag International Corp.

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?

Page 29: WEB490 Developing Service-Oriented Architectures Brian Travis Chief Technical Officer Architag International Corp.

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

Page 30: WEB490 Developing Service-Oriented Architectures Brian Travis Chief Technical Officer Architag International Corp.

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

Page 31: WEB490 Developing Service-Oriented Architectures Brian Travis Chief Technical Officer Architag International Corp.

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

Page 32: WEB490 Developing Service-Oriented Architectures Brian Travis Chief Technical Officer Architag International Corp.

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

Page 33: WEB490 Developing Service-Oriented Architectures Brian Travis Chief Technical Officer Architag International Corp.

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

Page 34: WEB490 Developing Service-Oriented Architectures Brian Travis Chief Technical Officer Architag International Corp.

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

Page 35: WEB490 Developing Service-Oriented Architectures Brian Travis Chief Technical Officer Architag International Corp.

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

Page 36: WEB490 Developing Service-Oriented Architectures Brian Travis Chief Technical Officer Architag International Corp.

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

Page 37: WEB490 Developing Service-Oriented Architectures Brian Travis Chief Technical Officer Architag International Corp.

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

Page 38: WEB490 Developing Service-Oriented Architectures Brian Travis Chief Technical Officer Architag International Corp.

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

Page 39: WEB490 Developing Service-Oriented Architectures Brian Travis Chief Technical Officer Architag International Corp.

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

Page 40: WEB490 Developing Service-Oriented Architectures Brian Travis Chief Technical Officer Architag International Corp.

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

Page 41: WEB490 Developing Service-Oriented Architectures Brian Travis Chief Technical Officer Architag International Corp.

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

Page 42: WEB490 Developing Service-Oriented Architectures Brian Travis Chief Technical Officer Architag International Corp.

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

Page 43: WEB490 Developing Service-Oriented Architectures Brian Travis Chief Technical Officer Architag International Corp.

Community Resources

Community Resourceshttp://www.microsoft.com/communities/default.mspx

Most Valuable Professional (MVP)http://www.mvp.support.microsoft.com/

NewsgroupsConverse online with Microsoft Newsgroups, including Worldwidehttp://www.microsoft.com/communities/newsgroups/default.mspx

User GroupsMeet and learn with your peershttp://www.microsoft.com/communities/usergroups/default.mspx

Page 44: WEB490 Developing Service-Oriented Architectures Brian Travis Chief Technical Officer Architag International Corp.

evaluationsevaluations

Page 45: WEB490 Developing Service-Oriented Architectures Brian Travis Chief Technical Officer Architag International Corp.

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