Title: Inventory of Distributed Computing Concepts and Web services
1Inventory of Distributed Computing Concepts and
Web services
2Motivation
- Earlier attempts to replace existing systems
failed - Distributed computing environment (DCE) emphasis
-- distribution - Common object request broker architecture
(CORBA) emphasis -- interoperability - Uniqueness of SOA is that it leverages existing
middleware and distributed computing concepts - RPC, distributed objects, message-oriented
middleware (MOM), application coupling, etc.
3Technical Layers
Core
Assets
Participant A
Participant C
Participant B
Business Logic
Technology Independent Interface Description
Technology Independent Interface Description
Technology Independent Interface Description
XML
ORB
Middleware Mapping
Technology Adapters
Middleware Buses
Communication facilities
CORBA
XML Web services
4Technical Layer 2 Chapter 3
Core
Assets
Participant A
Participant C
Participant B
Business Logic
Technology Independent Interface Description
Technology Independent Interface Description
Technology Independent Interface Description
XML
ORB
Middleware Mapping
Technology Adapters
Middleware Buses
Communication facilities
CORBA
XML Web services
5Technical Layer 1 Ch. 4 -7
Core
Assets
Participant A
Participant C
Participant B
Business Logic
Technology Independent Interface Description
Technology Independent Interface Description
Technology Independent Interface Description
XML
ORB
Middleware Mapping
Technology Adapters
Middleware Buses
Communication facilities
CORBA
XML Web services
6Communication Network
Application
Application
Network Protocol Stack
Network Protocol Stack
- A communication middleware framework isolates the
application developers from the details of the
network protocol.
7Communication Middleware
Application
Application
Middleware
Middleware
Network Protocol Stack
Network Protocol Stack
8Remote procedure call (RPC)
Client Application
Server Application
Procedure call
Execute call
RPC Stub code
RPC stub code
RPC library/runtime
RPC library/runtime
Network Protocol Stack
Network Protocol Stack
RPC stubs and runtime enable location
transparency, encapsulate RPC communication
infrastructure and provide a procedure call
interface.
9Distributed Objects
Client Application
Server Application
invoke method
Execute method
Client proxies
Server skeletons
ORB
ORB
Network Protocol Stack
Network Protocol Stack
ORBs enable client applications to remotely
instantiate, locate, invoke methods and Delete
server objects Java RMI, Microsofts DCOM CORBA
is meant to be platform independent.
10Separation of Interface and Implementation
- An important contribution of CORBA is IDL or
Interface Definition Language. - Interface and implementation can be in two
different languages. - Interface abstracts and protects details (trade
secrets) from client - Interface offers a means of expressing design
without worrying about implementation.
11J2EE Application Programming Model for Web-based
applications
Business Logic
Web Service
Web client
12J2EE Application Programming Model for Three-tier
Applications
13Interface vs Payload Semantics
- Typically interaction between a client and a
server results in the execution of an activity
(ot transaction) - Request needs to be specified by the request.
- Interface semantics Requested activity can be
encoded in the operation signature in the
servers interface or - Payload semantics It can be embedded in the
message itself
14Interface Semantics
Process1
Process2
getCustomer()
retrieveCustomerData()
returnResult()
Semantics of the activity is explicitly stated in
the message/method call
15Payload Semantics
Envelop With message
Process 1
Process 2
Requested transaction/activity is embedded in the
message Details of the activity not explicit the
semantics are embedded in the message
16Payload Semantics
onMessage()
17Payload semantics is generic
- String transferMoney (amt decimal, accTo
String) -
- String executeService (message String)
-
18Document-centric Messages
- With emergence of self-descriptive data
structures such as XML, document-centric has
become popular - Semantically rich messages where operation name,
its parameters, return type are self descriptive. - SOAP (Simple Object Access Protocol) over XML is
an example (look at the example in p.45 of your
text) - Lets look at XML, SOAP, WS evolution. WS?SOA
19Tight vs. Loose Coupling
- An important characteristics of an SOA that is a
loosely coupled system. - On the technology front this is driven by dynamic
discovery and binding enabled by Universal
Description, Discovery and Integration (UDDI) - On the business front loose coupling addresses
the growing need for companies to be flexible and
agile with respect changes in their own processes
and those of their partners (read p.46) - How does loose coupling help in improving
agility, flexibility and performance?
20Tight vs. Loose coupling