triana: service-oriented examples

14
Triana: Service-Oriented Examples Ian Taylor Cardiff University, and the Center for Computation and Technology (CCT) @ LSU

Upload: livi

Post on 09-Jan-2016

37 views

Category:

Documents


0 download

DESCRIPTION

Triana: Service-Oriented Examples. Ian Taylor Cardiff University, and the Center for Computation and Technology (CCT) @ LSU. Our Research Motivation. Based on research within the Triana project: Triana - a vehicle for investigating research into distributed systems - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Triana: Service-Oriented Examples

Triana:Service-Oriented

Examples

Ian Taylor

Cardiff University,

and the Center for Computation and Technology (CCT) @ LSU

Page 2: Triana: Service-Oriented Examples

Our Research Motivation• Based on research within the Triana project:• Triana - a vehicle for investigating research into

distributed systems• a workflow-based Problem Solving Environment

• Goals:• To make the access of distributed services as

seamless as possible• To connect heterogeneous Grids• To abstract the core capabilities needed for service-

based computing (in P2P, Web services or Grid Computing)

Page 3: Triana: Service-Oriented Examples

Research Scope

• Triana is currently funded through 2 main research projects:• GridOneD: to investigate P2P and

integrating visual distributed programming for Gravitational Wave applications

• GridLab: one of the 2 project applications (other is Cactus) used to shape the Grid Application Toolkit (GAT)

Page 4: Triana: Service-Oriented Examples

Triana, the GAT and the GAP

P2PS JXTAWeb

Services

GAP Interface

UDDISOAP

P2PSDiscovery

P2PSPipes

JXTADiscovery

JXTAPipes

GAT Interface

Condor

Globus RLS

Unicore

PBS GridLab

GRMS

SGESSH

WSRF

LDR

.NET

Other..

GridFTP

Grid Computing:

Job Submission, File services

A Graphical Grid Computing

Environment or Portal

Service Based Computing:

Deployment, discovery and communication with distributed services e.g. P2P and (GSI) Web services

Grid services

Page 5: Triana: Service-Oriented Examples

• Service Discovery + Choreography• Web services

• Connecting Web services and integrating with other Triana units

• Service Deployment• Peer-to-peer services

• Distributing Audio !!! • Generic example - can try and distribute using other

networks• Shows the basic interface to distribution

Short Course:Service-Oriented Usage

Page 6: Triana: Service-Oriented Examples

GAP Interface• Motivation by GAT• A Simple Service based API, for

• Service Deployment,• Service Discovery• Pipe Based Communication

• Static application interface with multiple middleware bindings• P2PS (name…?)• JXTA• Web services

P2PS JXTAWeb

Services

GAP Interface

UDDISOAP

P2PSDiscovery

P2PSPipes

JXTADiscovery

JXTAPipes

QuickTime™ and aTIFF (Uncompressed) decompressorare needed to see this picture.

Page 7: Triana: Service-Oriented Examples

Service Oriented Comms

network

babelfish.altavista.

com

BabelFish

en_fr

hello

bonjour• Service Discovery

• Dynamic?• Decentralized?

• Communication• Message Format

• SOAP?

• Transport Protocol• TCP?• UDP?

GAP

Page 8: Triana: Service-Oriented Examples

GAP Interface

• Simple Java API• Peer-to-Peer Discovery• Pipe-Based Communication

• Multiple Bindings• JXTA• P2PS• Web Services (WSPeer)

Page 9: Triana: Service-Oriented Examples

public class Server implements MessageListener {

public Server(Peer parentpeer) throws PeerException { // create the server service Peer peer = parentpeer.createService(SERVER_SERVICE);

// create the server contrrol pipe peer.createControlPipe(SERVER_PIPE, this);

// deploy and advertise the service peer.deployService(); peer.advertiseService(); }

public void messageReceived(MessageEvent event) { // do something when a message is received }

public static void main(String[] args) { new Server(new JXTAPeer()); }}

public class Server implements MessageListener {

public Server(Peer parentpeer) throws PeerException { // create the server service Peer peer = parentpeer.createService(SERVER_SERVICE);

// create the server contrrol pipe peer.createControlPipe(SERVER_PIPE, this);

// deploy and advertise the service peer.deployService(); peer.advertiseService(); }

public void messageReceived(MessageEvent event) { // do something when a message is received }

public static void main(String[] args) { new Server(new JXTAPeer()); }}

public class Server implements MessageListener {

public Server(Peer parentpeer) throws PeerException { // create the server service Peer peer = parentpeer.createService(SERVER_SERVICE);

// create the server contrrol pipe peer.createControlPipe(SERVER_PIPE, this);

// deploy and advertise the service peer.deployService(); peer.advertiseService(); }

public void messageReceived(MessageEvent event) { // do something when a message is received }

public static void main(String[] args) { new Server(new WSPeer()); }}

GAP Interface

Page 10: Triana: Service-Oriented Examples

P2P GAP Bindings

• Two Main Bindings• Jxta

• legacy implementation, due to upgrade soon…

• P2PS • Simple (lightweight) P2P System• Uses in Triana, NRL (sensor nets) and Simulations

(within NS-2)• Useful in highly dynamic environments• Based on some Jxta principles i.e. pipes, rendezvous

nodes, dynamic discovery, etc• Capable of building small-world networks (centralised-

decentralised)

Page 11: Triana: Service-Oriented Examples

P2PS Overview• Discovery Service

• Broadcast/Locate Adverts + Queries in Discovery Subnet

• Pipe Service• Connect Pipes using

Endpoint Resolvers

• Rendezvous Service• Send/Receive Adverts +

Queries from known Rendezvous Peers

• Resolvers• Pluggable Network

Interfaces• For Ns2 simulation

environment TCP Resolver ??? Resolver

DiscoveryService

RendezvousService

P2PS Peer

PipeService

UDP Resolver

NetworkUDP TCP ???

Page 12: Triana: Service-Oriented Examples

WSPeer• High Level Interface to Web Services

• Discovery • Invocation• Deployment• Hosting

• Abstract from usual Web Service Discovery and Communication Mechanisms (i.e. UDDI and HTTP)

• P2PS Web Service Discovery?

• Uses Apache AXIS as SOAP Engine• Extends Capabilities of Apache AXIS

• Stubless Invocation (including complex types)• Non Standard Transports (i.e. P2PS)

Page 13: Triana: Service-Oriented Examples

WSPeer

WSPeer – P2PS

Application

WSPeer – HTTP/UDDI

deploy publish locate invoke

UDDI

HTTPServer

deploy

launch server

publish locate

invoke

deploy

publish locate

invoke

Page 14: Triana: Service-Oriented Examples

• Service Discovery + Choreography• Web services

• Connecting Web services and integrating with other Triana units

• Service Deployment• Peer-to-peer services

• Distributing Audio !!! • Generic example - can try and distribute using other

networks• Shows the basic interface to distribution

Short Course:Service-Oriented Usage