Title: Diapositive 1
1(No Transcript)
2CALA Juniors Days
Guillaume Dufrêne
Evolution of Service Oriented Architecture
Guillaume.Dufrene_at_lifl.fr
3Agenda
- Bridging component frameworks
- Toward a deployment system for distributed
heterogeneous component-based applications
4Introduction
- Many Component frameworks
- Fractal, SCA, CCM, OSGi
- Component framework interoperability?
- Data exchanges
- Workflow
- Case Study
- interoperability between Fractal SCA
5Fractal
- ObjectWeb component model
- Hierarchical with sharing
- Unified vision of business and control
interfaces - No predefined set of control interfaces
- Support for primitive and composite bindings
6Service Component Architecture
- Specifications by IBM, BEA, Oracle, SAP
(version 0.9, november 2005 version 0.95,
july 2006) - SOA based on a components model
- Two levels of assembly
- Tightly coupled components programming in the
small - Loosely coupled service-oriented services
programming in the large
7Service Component Architecture
8Service Component Architecture
- Service Component Definition Language
- as in Fractal ADL
- XML files, defines the architecture
- One .module file per module
- Optional .subsystem group modules into
business logical processes - Component annotation, defines the implementation
- .componentType file
- JAVA 5 annotations
9Service Component Architecture
- Tuscany (Milestone 1 released on 07/06/2006 M2
released on 22/12/2006) - Implements SCA specifications
- JAVA and C runtimes
- Service Data Object
- Data Access Service
- http//incubator.apache.org/tuscany
10Proposal about a bridge
- Bridging Fractal SCA
- Goal
- Fractal to SCA
- SCA to Fractal
11Bridging Fractal SCA / GOAL
- Goal let Fractal SCA applications interoperate
- Common communication mechanism (SOAP)
- Fractal to SCA
- SCA to Fractal
- 2 prototyped solutions
- shadow delegating components
- SOAPBindingController
12Bridging Fractal SCA / Fractal to SCA
- Shadow delegating components
Java annotated interface
SCA Cpn.
Generated
EP
SCA Shadow
Fractal Cpn.
Soap layer
13Bridging Fractal SCA / Fractal to SCA
- Shadow SCA delegate
- Pros
- Simplest way to connect to a SCA component
- Component description in the Fractal
architecture - Cons
- Static generation, at compile time
14Bridging Fractal SCA / Fractal to SCA
SOAPBC
Fractal Cpn.
Soap layer
SCA Cpn.
EP
15Bridging Fractal SCA / Fractal to SCA
- SOAP Controller
- Pros
- Dynamic service binding
- Cons
- Written by programmer
- No component representation of the SCA service
16Bridging Fractal SCA / SCA to Fractal
- SCA client, Fractal server
SCA Cpn.
Fractal Cpn.
Extern.service
?
17Bridging Fractal SCA / SCA to Fractal
Comanche
register
Fractal Cpn.
Soap layer
SCA Cpn.
ES
18Bridging Fractal SCA
- New feature Fractal client, Fractal server
JVM
JVM
ClientImpl
AccountImpl
SOAP !
19Conclusion
- Ability to bind Fractal SCA
- Static solution Shadow delegate component
- Dynamic solution SOAPBindingController
SCDL
SCA Web-app(with tuscany runtime)
Tomcat
JRE
FractalADL
AOKellruntime
Fractal Appl
JRE
20Toward a deployment system for distributed heterog
eneous component-based applications
GOALS
- Easy deployment of applications
- Overview of the architecture
21FDF a Generic Deployment Framework
- FDF provides a set of generic, and extensible,
deployment components used by developpers
end-users - These components implement basic generic server
interfaces - Protocol, User, Port, Hostname, Shell, Transfer,
etc. - Many implementations available
- Protocol interface implemented by SSH, Telnet
components - Shell interface implemented by SH, CSH or
WinCommand components
Protocol void send(command)
AbstractProtocol
inherits
AbstractSSH
AbstractTelnet
ApacheJSCH
ExternalTelnet
OpenSSH
JTelnet
22FDF a Generic Deployment Framework
- Bindings between components symbolize
dependencies
String get_login()User String
get_password() String get_private_key()
void execute(cmd_to_exec)Shell void
setVariable(name,value) void
unsetVariable(name,value)
BasicUser
Port int get_port_number()
SH
OpenSSH
Protocol void send(command)
BasicHostname
23FDF a Generic Deployment Framework
- Generic abstract host composite
- Reify physical hosts such as nodes
- Composition of some generic deployment components
- Main server interfaces exported, such as Shell,
Protocol...
Abstract Host composite
User
Transfer
Protocol
Shell
Shell
Port
Transfer
Hostname
Hostname
24FDF a Generic Deployment Framework
- Personalities Software component composite
- Contain an abstract Host composite status
component (INSTALLED, STARTED...)
Software component
Abstract Host composite
status
Deployment
Other needed components
25FDF a Generic Deployment Framework
- Personalities Software component composite
- Implement generic Deployment interface that
provides main elementary deployment actions
(install, start, stop, uninstall) - Personalities are written once by developpers for
each software to deploy - Integrated automaton for orchestration
Automaton
interface Deployment install() start()
stop() uninstall()
start
install
UNINSTALLED
INSTALLED
STARTED
specificaction
uninstall
stop
26(No Transcript)
27FDF a Generic Deployment Framework
Configuration to deploy described as a FDF file
lt!-- The declaration of user configuration to
deploy --gtMyDeployment lt!-- The declaration
of nodes --gtHosts oar_node
INTERNET.HOST user
INTERNET.USER(flissi, ,/.ssh/id_rsa)
hostname INTERNET.HOSTNAME(oar.lille.grid5000.
fr) protocol PROTOCOL.OpenSSH
shell SHELL.SH
g5k-nodes apply
For(i,0,1000) node-i
GRID5000.DYNAMICNODE(/nodeslist)
user INTERNET.USER(flissi, ,/.ssh/id_rsa)
transfer TRANSFER.SCP
lt!-- end declaration of
nodes --gt
28Overview
End-User Configuration
Generic deployment components
Translate
Shell
Host
Personalities
Fractal ADL
uses
uses
Protocol
Port
Variable
User
Transfer
Fractal ADL tool
...
Instantiate
Global composite reifying the users
configuration to deploy
Deploy
Network
Cluster
lille
orsay
bordeaux
G5K site
Grid5000 Infrastructure
29Heterogeneous ADL
FDF File
Tomcat
SCDL
SCA Web-app(with tuscany runtime)
JRE
AOKellruntime
FractalADL
Fractal Appl
JRE
30Mapping between ADLs
SCDL
Translate SCDL to Fractal-ADL extend Fractal ADL
with regions multi-language AST cf
Fractal-ADL v3 (Think)
FractalADL
31From application architecture to FDF deployment
descriptor
Lack of information to obtain a deployment file
_at_
_at_
Desc
FDF
Annotate the heterogeneous description XML files
can be annotated (similar to JAVA 5 annotations)
Add an additionnal file for technical
informations another common way to annotate
things as in SCA
32Conclusion
- A way to bridge component frameworks
- Toward a deployment system for distributed
heterogeneous CB applications
Questions ?