Você está na página 1de 15

Triana: Service-Oriented Examples

SKHIRI MOHAMED

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)

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)

Triana, the GAT and the GAP


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

GAT Interface
Condor Unicore GridFTP GRMS WSRF

GAP Interface Web Services


UDDI JXTA Pipes SOAP

P2PS
P2PS Discovery

JXTA
JXTA Discovery

Globus RLS
SSH

PBS
SGE

GridLab LDR

.NET
Other..

P2PS Pipes

Grid services

Short Course: Service-Oriented Usage


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

GAP Interface
Motivation by GAT A Simple Service based API, for
Service Deployment, Service Discovery Pipe Based Communication

Qu i k Ti me a d a c n TIF (Un co m p r s s e d d e co m p r s s o r F e ) e a re n e e d d to s e e th s p i tu re . e i c

Static application interface with multiple middleware bindings


P2PS (name?) JXTA Web services
GAP Interface

P2PS
P2PS Discovery P2PS Pipes

JXTA

Web Services
UDDI SOAP JXTA Pipes

JXTA Discovery

Service Oriented Comms


en_fr
hello network

Service Discovery
Dynamic? Decentralized? Message Format
SOAP?

bonjour

BabelFish
babelfish. altavista. com

Communication

Transport Protocol
TCP? UDP?

GAP Interface
Simple Java API
Peer-to-Peer Discovery Pipe-Based Communication

Multiple Bindings
JXTA P2PS Web Services (WSPeer)

GAP Interface
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()); WSPeer()); } }

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 (centraliseddecentralised)

P2PS Overview
Discovery Service
Broadcast/Locate Adverts + Queries in Discovery Subnet

Pipe Service
Connect Pipes using Endpoint Resolvers P2PS Peer Discovery Service Rendezvous Service

Rendezvous Service
Send/Receive Adverts + Queries from known Rendezvous Peers
Pipe Service

Resolvers
Pluggable Network Interfaces For Ns2 simulation environment

UDP Resolver
UDP

TCP Resolver
TCP

??? Resolver
???

Network

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)

Short Course: Service-Oriented Usage


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

WSPeer
Application
deploy publish locate invoke

WSPeer HTTP/UDDI WSPeer P2PS


publish publish deploy deploy locate locate invoke

UDDI
launch server invoke

HTTP Server

END

Você também pode gostar