Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 September 2007 – Tango Meeting – D. Baraba-Rossa, M. Ounsy TANGO WEB Protocol.

Similar presentations


Presentation on theme: "1 September 2007 – Tango Meeting – D. Baraba-Rossa, M. Ounsy TANGO WEB Protocol."— Presentation transcript:

1 1 September 2007 – Tango Meeting – D. Baraba-Rossa, M. Ounsy TANGO WEB Protocol

2 2 September 2007 – Tango Meeting – D. Baraba-Rossa, M. Ounsy Goals  Tango Web is a new API which allow to access to the Tango System through Internet.  The communication between Application and the Tango Web Server use only HTTP(80) or HTTPs(443) port.

3 3 September 2007 – Tango Meeting – D. Baraba-Rossa, M. Ounsy Parameters  During project development of Tango Web, these goals have been forseen : Low cost and quick development cycle. Low cost and easy maintenance. Reduce network traffic between client application and the Tango Web Server.

4 4 September 2007 – Tango Meeting – D. Baraba-Rossa, M. Ounsy Applications launching

5 5 September 2007 – Tango Meeting – D. Baraba-Rossa, M. Ounsy TANGO WEB : General scheme Tango Database JBOSS DeviceTree Jive WEB Browser Port 80 ou 443 FireWall MachineStatus Port 80 ou 443 LDAP

6 6 September 2007 – Tango Meeting – D. Baraba-Rossa, M. Ounsy TANGO WEB Architecture TANGO ATKCore.jar ATKWidget.jar TangORB.jar ATKPanel.jarDeviceTree.jar

7 7 September 2007 – Tango Meeting – D. Baraba-Rossa, M. Ounsy TANGO WEB Architecture TANGO WEB WebTangORB.jar ATKCore.jar ATKWidget.jar TangORB.jar ATKPanel.jarDeviceTree.jar TangORBServer.war The applications reach TANGO via Internet thanks to three jars: -WebTangORB : Data Access Object module. -ATKAppLauncher : Client side launcher -TangORBServer : The Tango Web Server Core. Server Client ATKAppLauncher.jar

8 8 September 2007 – Tango Meeting – D. Baraba-Rossa, M. Ounsy WebTangORB  The data access is performed in two steps : ATK components call WebTangORB components instead of TangORB components. WebTangORb serializes and sends request to the Tango Web Server.

9 9 September 2007 – Tango Meeting – D. Baraba-Rossa, M. Ounsy Code refactoring DeviceProxy (Facade) Private IDeviceProxyDAO deviceProxyDAO Public … state(…) { } Public … command_list_query (…) { } Public … get_attribute_property (…) { } Public … write_attribute (…) { } IDeviceProxy (Interface) Public … state(…) ; Public … command_list_query (…); Public … get_attribute_property (…) ; Public … write_attribute (…); DeviceProxyWEBImpl Public … state(…) { } Public … command_list_query (…) { } Public … get_attribute_property (…) { } Public … write_attribute (…) { } DeviceProxyDefaultImpl Public … state(…) { } Public … command_list_query (…) { } Public … get_attribute_property (…) { } Public … write_attribute (…) { } TangORBCommon TangORBWebTangORB

10 10 September 2007 – Tango Meeting – D. Baraba-Rossa, M. Ounsy Components serialization  A class could be serializable only if it implements the « java.io.serializable » interface.  For non-serializable objects : use of a « remote reference » system.

11 11 September 2007 – Tango Meeting – D. Baraba-Rossa, M. Ounsy The « remote reference » system  The object is store in the http session of the Web Server with a single id.  Only the id is transmitted to the client. The client transfers the id to the server with every subsequent request. 12453 MAP IDObjet 12453DeviceData Serveur Client

12 12 September 2007 – Tango Meeting – D. Baraba-Rossa, M. Ounsy Communication protocol ServletWebServerClientWebRequest arguments : Object[] WebResponse response : Object[] Request Response

13 13 September 2007 – Tango Meeting – D. Baraba-Rossa, M. Ounsy Tango Web Server  Tasks : Process client requests (Tango device access or database access). Provide Java Web Start deployment descriptors  Tango Web Server delivery as a War (Web Application Archive) file. This file is deployed on a Java application Server (JBoss).

14 14 September 2007 – Tango Meeting – D. Baraba-Rossa, M. Ounsy Request processing ProcessAction Class name Method name Object id Method name 1- Get the remote referents process(String objectID…) 1- Create Object process(String strClass…) 2 – Method call processMethod(..) TangORB 5 – Send the results 3 –TangORB process 4 – Store non serializable objects SerializeObject.serializeObject() ActionServlet

15 15 September 2007 – Tango Meeting – D. Baraba-Rossa, M. Ounsy War file content  html : html files used by application  jsp : Java Web Start descriptors (jnlp)  img : icons, …  lib : downloadable client JAR files.  WEB-INF classes : classes and applications properties files lib : Server JAR files web.xml : Tango Web Server configuration file

16 16 September 2007 – Tango Meeting – D. Baraba-Rossa, M. Ounsy Java Web Start  Use a « jnlp » file to download all resources needed (Jar files, configuration files …).  On each execution Java WS download the last version of the application.  All applications launched with Java WS are executed in a Sandbox much like Applets.  For a total access to the client workstation, the application must be signed.

17 17 September 2007 – Tango Meeting – D. Baraba-Rossa, M. Ounsy An example of TANGO WEB deployment Tango Base de données Serveur JBOSS 2 Serveur Apache DeviceTree Jive WEB Browser Port 8080 ou 8443 Port 80 ou 443 Port 80 ou 443 Port 80 ou 443 FireWall MachineStatus Port 80 ou 443 Annuaire LDAP Serveur JBOSS 1 ??? FireWall

18 18 September 2007 – Tango Meeting – D. Baraba-Rossa, M. Ounsy Any questions ?


Download ppt "1 September 2007 – Tango Meeting – D. Baraba-Rossa, M. Ounsy TANGO WEB Protocol."

Similar presentations


Ads by Google