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

Slides:



Advertisements
Similar presentations
17 Copyright © 2005, Oracle. All rights reserved. Deploying Applications by Using Java Web Start.
Advertisements

WEB AND WIRELESS AUTOMATION connecting people and processes InduSoft Web Solution Welcome.
Welcome to Middleware Joseph Amrithraj
Cognos Web Services Business Intelligence. SOA SOA (Service Oriented Architecture) The SOA approach involves seven key principles: -- Coarse -grained.
WEB SERVICES. FIRST AND FOREMOST - LINKS Tomcat AXIS2 -
Web Toolkit Julie George & Ronald Lopez 1. Requirements  Java SDK version 1.5 or later  Apache Ant is also necessary to run command line arguments 
Bringing Handheld, PDA’s, and Smart Phone to the Enterprise Martin Graf Group Product Manager Oracle Corporation Session id:
An architecture for webb applications, J2EE
INTERNET DATABASE Chapter 9. u Basics of Internet, Web, HTTP, HTML, URLs. u Advantages and disadvantages of Web as a database platform. u Approaches for.
Web Servers How do our requests for resources on the Internet get handled? Can they be located anywhere? Global?
INTERNET DATABASE. Internet and E-commerce Internet – a worldwide collection of interconnected computer network Internet – a worldwide collection of interconnected.
1 Build a Web Application on J2EE. 2 J2EE Scenario Client – Web Server – EIS Resources Client – Web Server – EIS Resources Client – Application Server.
Apache Tomcat Server Typical html Request/Response cycle
Objectives:1. Investigate the Web application deployment descriptor 2. Install and deploy Tomcat and struts 3. Design and deploy a struts application Struts.
CIS 365 Vandana Janeja Nov 27 th 2001 Connecting Cobol programs to Other Languages- Visual Basic, Java,HTML.
Session-01. What is a Servlet? Servlet can be described in many ways, depending on the context: 1.Servlet is a technology i.e. used to create web application.
Web Applications Basics. Introduction to Web Web features Clent/Server HTTP HyperText Markup Language URL addresses Web server - a computer program that.
Java Servlets and JSP.
Gayle J Yaverbaum, PhD Professor of Information Systems Penn State Harrisburg.
Emmanuel Cecchet et al.  Performance Scalability of J2EE application servers.  Test effect of: ◦ Application Implementation Methods ◦ Container Design.
Struts. Agenda Preface Struts and its components An example The architecture required for Struts Applications.
UNIT-V The MVC architecture and Struts Framework.
INTRODUCTION TO WEB DATABASE PROGRAMMING
Beyond DHTML So far we have seen and used: CGI programs (using Perl ) and SSI on server side Java Script, VB Script, CSS and DOM on client side. For some.
Configuration Management and Server Administration Mohan Bang Endeca Server.
Chapter 4: Core Web Technologies
HTTP client wide area network (Internet) HTTP proxy HTTP server HTTP gateway firewall HTTP tunnel Copyright Springer Verlag Berlin Heidelberg 2004.
Java Servlets CS-422. Application Mapping Your servlet application will be mapped to a directory structure: –“myapp” maps to some directory C:/docs/apps/myapp.
Enabling Embedded Systems to access Internet Resources.
CS441 CURRENT TOPICS IN PROGRAMMING LANGUAGES LECTURE 5_1 George Koutsogiannakis/ Summer
AN OVERVIEW OF SERVLET TECHNOLOGY SERVER SETUP AND CONFIGURATION WEB APPLICATION STRUCTURE BASIC SERVLET EXAMPLE Java Servlets - Compiled By Nitin Pai.
Chapter 17 - Deploying Java Applications on the Web1 Chapter 17 Deploying Java Applications on the Web.
第十四章 J2EE 入门 Introduction What is J2EE ?
J2EE Structure & Definitions Catie Welsh CSE 432
CSCI 6962: Server-side Design and Programming Web Services.
® IBM Software Group © 2007 IBM Corporation J2EE Web Component Introduction
Lecturer: Prof. Piero Fraternali, Teaching Assistant: Alessandro Bozzon, Advanced Web Technologies: Struts–
Source: Peter Eeles, Kelli Houston, and Wojtek Kozaczynsky, Building J2EE Applicationa with the Rational Unified Process, Addison Wesley, 2003 Prepared.
Implement An Online Management System for PBX Presented by: Bui Phuong Nhung Advisor: Dr. Wei, Chao-Huang.
Remote Access Using Citrix Presentation Server December 6, 2006 Matthew Granger IT665.
Proprietary & Confidential Java WebStart Created by Bob Hays.
Overview One-click launch of application Auto-install feature Provide versioning/caching feature for update/fast startup Provide some API for desktop application.
Copyright © 2002 ProsoftTraining. All rights reserved. JavaServer Pages.
INTRODUCTION TO WEB APPLICATION Chapter 1. In this chapter, you will learn about:  The evolution of the Internet  The beginning of the World Wide Web,
Module 7: Advanced Application and Web Filtering.
Web application architecture1 Based on Jim Conallen: Web Applications with UML.
1 Java Servlets l Servlets : programs that run within the context of a server, analogous to applets that run within the context of a browser. l Used to.
1 Introduction to Servlets. Topics Web Applications and the Java Server. HTTP protocol. Servlets 2.
Module: Software Engineering of Web Applications Chapter 2: Technologies 1.
Remote Method Invocation by James Hunt, Joel Dominic, and Adam Mcculloch.
Intro to Web Services Dr. John P. Abraham UTPA. What are Web Services? Applications execute across multiple computers on a network.  The machine on which.
HTTP protocol Java Servlets. HTTP protocol Web system communicates with end-user via HTTP protocol HTTP protocol methods: GET, POST, HEAD, PUT, OPTIONS,
Java Programming: Advanced Topics 1 Building Web Applications Chapter 13.
Glink for Java: applet, application and an API for integrating access to Bull, IBM, UNIX and Minitel systems with your Java based e-business applications.
Topics to be covered (ni) Client side validation JSF (free tools as well) Webservices Tell Resources e.g. sites Packaging and deploying web applications.
Distributed Computing & Embedded Systems Chapter 4: Remote Method Invocation Dr. Umair Ali Khan.
1 Web Programming with Servlets & JSPs WEB APPLICATIONS – AN OVERVIEW.
1 Chapter 1 INTRODUCTION TO WEB. 2 Objectives In this chapter, you will: Become familiar with the architecture of the World Wide Web Learn about communication.
APACHE TOMCAT WEB SERVER
TangoWeb Status Raphaël GIRARDOT Synchrotron Soleil Software engineer
EXPORTING ATK APPLICATIONS ON THE WEB A PRPOSAL
Web Development Web Servers.
WEB SERVICES.
Java Servlets By: Tejashri Udavant..
Introduction to J2EE Architecture
DWR: Direct Web Remoting
The Model Layer What is Model?
Google App Engine Ying Zou 01/24/2016.
Objectives In this lesson you will learn about: Need for servlets
Struts BY: Tejashri Udavant..
Presentation transcript:

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

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 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 September 2007 – Tango Meeting – D. Baraba-Rossa, M. Ounsy Applications launching

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 September 2007 – Tango Meeting – D. Baraba-Rossa, M. Ounsy TANGO WEB Architecture TANGO ATKCore.jar ATKWidget.jar TangORB.jar ATKPanel.jarDeviceTree.jar

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 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 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 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 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 MAP IDObjet 12453DeviceData Serveur Client

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

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 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 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 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 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 September 2007 – Tango Meeting – D. Baraba-Rossa, M. Ounsy Any questions ?