1 / 18

TANGO WEB Protocol

TANGO WEB Protocol. 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. Parameters.

noelle-cote
Download Presentation

TANGO WEB Protocol

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. TANGO WEB Protocol

  2. 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. 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. Applications launching

  5. TANGO WEB : General scheme FireWall Tango JBOSS DeviceTree Port 80 ou 443 Jive Port 80 ou 443 MachineStatus Port 80 ou 443 Database WEB Browser Port 80 ou 443 LDAP

  6. TANGO WEB Architecture TANGO TangORB.jar ATKCore.jar ATKWidget.jar ATKPanel.jar DeviceTree.jar

  7. TANGO WEB Architecture • 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. TANGO WEB TangORB.jar Server TangORBServer.war WebTangORB.jar ATKCore.jar Client ATKWidget.jar ATKPanel.jar DeviceTree.jar ATKAppLauncher.jar

  8. 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. Code refactoring TangORBCommon DeviceProxy (Facade) Private IDeviceProxyDAO deviceProxyDAO Public … state(…) { } Public … command_list_query (…) { } Public … get_attribute_property (…) { } Public … write_attribute (…) { } TangORBCommon IDeviceProxy (Interface) Public … state(…) ; Public … command_list_query (…); Public … get_attribute_property (…) ; Public … write_attribute (…); WebTangORB TangORB 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 (…) { }

  10. 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. MAP ID Objet 12453 DeviceData 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. Serveur Client 12453

  12. WebRequest arguments : Object[] WebServerClient Servlet WebResponse response : Object[] Communication protocol Request Response

  13. 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. Request processing TangORB ProcessAction ActionServlet Class name Method name 1- Create Object process(String strClass…) 2 – Method call processMethod(..) 3 –TangORB process 1- Get the remote referents process(String objectID…) Object id Method name 4 – Store non serializable objects SerializeObject.serializeObject() 5 – Send the results

  15. 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. 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. An example of TANGO WEB deployment FireWall FireWall FireWall Serveur JBOSS 1 Serveur Apache Serveur JBOSS 2 DeviceTree Port 80 ou 443 Tango Jive Port 80 ou 443 Port 8080 ou 8443 ??? MachineStatus Port 80 ou 443 Base de données WEB Browser Port 80 ou 443 Annuaire LDAP

  18. Any questions?

More Related