Service Oriented Architectures
in Heterogeneous Environments
Yarema Mazuryk
4-Oct-15
Y. Mazuryk, [email protected]
TU/e Informatica, System Architecture and Networking
1
Context – Connected Home
G
G
Wireless LAN
Firewire (IEEE1394)
Bluetooth
Ethernet
Powerline
4-Oct-15
Y. Mazuryk, [email protected]
TU/e Informatica, System Architecture and Networking
2
Connected Home
Client Mobility
Heterogeneous Network
Ad Hoc Network
4-Oct-15
Y. Mazuryk, [email protected]
TU/e Informatica, System Architecture and Networking
3
Key Aspects
Self organizing networks
Advanced interaction
Minimal (zero)
configuration
Privacy
Open protocols
Embedded intelligence
4-Oct-15
Transparent control
Y. Mazuryk, [email protected]
TU/e Informatica, System Architecture and Networking
4
Service Oriented Architecture - Place
Client1
Service1
Client
Service
Application
API
API
Client
API
Service Oriented
Middleware
Platform
Service Oriented
Platform
Transport
Transport
Service
API
Open protocol
4-Oct-15
Y. Mazuryk, [email protected]
TU/e Informatica, System Architecture and Networking
5
Service Oriented Architecture – Addressed
Issues
Reusability
Maintainability
Scalability
Agility
4-Oct-15
Interoperability
Y. Mazuryk, [email protected]
TU/e Informatica, System Architecture and Networking
Functional
Incrementalism
6
Service Oriented Architecture – Conceptual
Model
Service
+name
Service
Description
Service Advertisement
Service
Implementation
provides
+address
uses
Eventing,
Control
4-Oct-15
Service
Advertisement
+address
Service
User
retrieves
Y. Mazuryk, [email protected]
TU/e Informatica, System Architecture and Networking
Service
Discovery
7
Service Description Example (UPnP)
<actionList>
<action> <!-- are we playing now? -->
<name>GetPlayMode</name>
<argumentList>
<argument>
<name>Mode</name>
<relatedStateVariable>PlayMode</relatedStateVariable>
<direction>out</direction>
<retval />
</argument>
</argumentList>
</action>
</actionList>
<serviceStateTable>
<stateVariable sendEvents="yes">
<name>PlayMode</name>
<dataType>string</dataType>
<allowedValueList>
<allowedValue>PLAY</allowedValue>
<allowedValue>PAUSE</allowedValue>
<allowedValue>STOP</allowedValue>
</allowedValueList>
</serviceStateTable>
4-Oct-15
Y. Mazuryk, [email protected]
TU/e Informatica, System Architecture and Networking
8
SOA – “Publish-Find-Bind-Execute” Model
1 Publish
Provider
Network
Find 2
Consumer
3 Bind
Contract
4 Execute
4-Oct-15
Y. Mazuryk, [email protected]
TU/e Informatica, System Architecture and Networking
9
SOA vs Component Based Development
SOA
COM
Central
-
Communication model
Message
based
API
based
Interfaces
Coarsegrained
Finegrained
Instantiation
Single &
active
As
needed
Networking environment
4-Oct-15
Y. Mazuryk, [email protected]
TU/e Informatica, System Architecture and Networking
10
Addressing & Naming
Uniform addressing scheme
Independent from physical network addressing
4-Oct-15
Y. Mazuryk, [email protected]
TU/e Informatica, System Architecture and Networking
11
Discovery - GOALS
Locate the service provider
Acquire additional information
4-Oct-15
Retrieve provider’s access interface
Y. Mazuryk, [email protected]
TU/e Informatica, System Architecture and Networking
12
Discovery - METHODS
Service
Discovery
Preconfigured
Nonconfigured
Location
aware
Mediated
Immediate
Nontransparent
4-Oct-15
Transparent
Active
Y. Mazuryk, [email protected]
TU/e Informatica, System Architecture and Networking
Passive
13
Advertisement
Publish information about the service implementation
Provider’s location
4-Oct-15
Service Description
Y. Mazuryk, [email protected]
TU/e Informatica, System Architecture and Networking
14
Eventing & Control
Provider
execute action A,
subscribe to event B
Event B
Consumer
4-Oct-15
Y. Mazuryk, [email protected]
TU/e Informatica, System Architecture and Networking
15
Existing Approaches
UPnP
- IP-bound, has scalability problems
JXTA
- Network independent, existing implementation has
performance problems
Pastry
- Focuses on efficient request routing
Web services
- IP-bound
Can we base on one of these
or do we need something new?
4-Oct-15
Y. Mazuryk, [email protected]
TU/e Informatica, System Architecture and Networking
16
What is JXTA?
*borrowed from www.jxta.org
4-Oct-15
Y. Mazuryk, [email protected]
TU/e Informatica, System Architecture and Networking
17
JXTA Vision
•
promote communication (not isolation) among
applications
•
keep the core small and elegant
•
support multiple platforms and languages, micro
devices to servers
•
address security from the beginning
•
JXTA is an open source project
4-Oct-15
Y. Mazuryk, [email protected]
TU/e Informatica, System Architecture and Networking
18
JXTA Architecture
4-Oct-15
Y. Mazuryk, [email protected]
TU/e Informatica, System Architecture and Networking
19
JXTA – Set of XML-based Protocols
Peer Discovery Protocol—Enables peers to discover peer services
on the network
Peer Resolver Protocol—Allows peers to send and process generic
requests
Rendezvous Protocol—Handles the details of propagating
messages between peers
Peer Information Protocol—Provides peers with a way to obtain
status information from other peers on the network
Pipe Binding Protocol—Provides a mechanism to bind a virtual
communication channel to a peer endpoint
Endpoint Routing Protocol—Provides a set of messages used to
enable message routing from a source peer to a destination peer
4-Oct-15
Y. Mazuryk, [email protected]
TU/e Informatica, System Architecture and Networking
20
JXTA – Key Concepts
Peer Group
Pipe
Peer
Peer
Peer
Rdv
Peer
4-Oct-15
Peer
Relay
Peer
Y. Mazuryk, [email protected]
TU/e Informatica, System Architecture and Networking
21
Case Study
Distributed Data Storage in Service-Oriented Fashion
JXTA
UPnP
...
ANALYZE & COMPARE:
Performance (discovery latency, memory
usage, ...)
Scalability
Ad hoc networking
Client mobility
...
PROPOSE: Service Oriented Framework
4-Oct-15
Y. Mazuryk, [email protected]
TU/e Informatica, System Architecture and Networking
22
Future Work
Accommodate real-time requirements in SOA
Investigate security aspects
Interaction with the user
Interaction between services
Group services
Mobile services
...
4-Oct-15
Y. Mazuryk, [email protected]
TU/e Informatica, System Architecture and Networking
23
4-Oct-15
Y. Mazuryk, [email protected]
TU/e Informatica, System Architecture and Networking
24
Descargar

Service Oriented Architectures in Heterogeneous …