JMobile Client module


JMobile clients rely on a server for live data exchange; clients interact with the server through interfaces and thus have access to the real-time database. Communication details are hidden through the abstraction of proxy and stub. To cover most of scenarios where client and server are requested to operate, the JMobile suite provides optimized proxies and stubs based on web services (SOAP - OPC XML like), CGI, as well as protocols like ICEE for high-performance internet communication. When running in the same box instead, proxy and stub may wrap IPC (inter-process communication) abstractions for performance reasons. In any case, however, the JMobile Client code does use the same API.


When networking, proxy and stub implement a firewall-friendly communication that is transparent to the application. No network configuration and/or management problems with firewalls and proxies are required to settle operations. The JMobile suite provides a portfolio of options for proxy and stub to virtually fit any application scenario. Proxies are also available as ActiveX or library format to easily integrate with third party applications and standard programming platforms (e.g. VB, c#, etc). A particular focus has been maintained on web technologies as well. An AJAX proxy is available for integration with web 2.0 applications.
Finally, data are rendered by the HMI engine. The HMI engine is responsible for the lifespan of HMI objects. An HMI object such as a meter, a scale, a selector or a push button is a combination of graphic elements described in terms of SVG format and its behavior defined in code.
To render graphic elements, the HMI engine enforces eSVG, a highly optimized embedded SVG player.
All the objects in a JMobile application are described in Scalable Vector Graphic language (SVG) and their information treated in their native vector format; this approach leads to many important advantages such as: scalability, direct access to all object properties (colors, size, positions, opacity, etc.), compact description and simple transfer to target. SVG is JavaScript ready: objects properties indeed, as well as live data, can be manipulated and controlled using embedded scripting in documents.