1 / 14

Triana: Service-Oriented Examples

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

livi
Download Presentation

Triana: Service-Oriented Examples

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Triana:Service-OrientedExamples Ian Taylor Cardiff University, and the Center for Computation and Technology (CCT) @ LSU

  2. 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)

  3. 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)

  4. Grid services Triana, the GAT and the GAP Service Based Computing: Grid Computing: Deployment, discovery and communication with distributed services e.g. P2P and (GSI) Web services Job Submission, File services A Graphical Grid Computing Environment or Portal GAP Interface GAT Interface P2PS JXTA Web Services Condor Unicore GridFTP GRMS WSRF Globus RLS PBS .NET GridLab P2PS Discovery UDDI JXTA Discovery SOAP P2PS Pipes SSH SGE LDR Other.. JXTA Pipes

  5. 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

  6. GAP Interface P2PS JXTA Web Services P2PS Discovery UDDI JXTA Discovery SOAP P2PS Pipes JXTA Pipes 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

  7. Service Discovery Dynamic? Decentralized? Communication Message Format SOAP? Transport Protocol TCP? UDP? Service Oriented Comms en_fr hello network bonjour BabelFish GAP babelfish. altavista. com

  8. GAP Interface • Simple Java API • Peer-to-Peer Discovery • Pipe-Based Communication • Multiple Bindings • JXTA • P2PS • Web Services (WSPeer)

  9. 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()); } } 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()); } }

  10. 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)

  11. 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 P2PS Overview P2PS Peer Discovery Service Rendezvous Service Pipe Service UDP Resolver TCP Resolver ??? Resolver UDP TCP ??? Network

  12. 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)

  13. locate publish publish locate deploy deploy invoke invoke launch server UDDI HTTP Server WSPeer Application deploy publish locate invoke WSPeer – HTTP/UDDI WSPeer – P2PS

  14. 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

More Related