Components Overview

When developing a solution using the PureWeb SDK, you work with three main components: the service, the client, and the server.

Service

The service is the back-end component that contains the application logic and performs all the heavy computation, including image rendering.

If you are using the PureWeb SDK to web-enable a workstation or desktop application, then the service is your existing application. You use the service APIs to allow your application to communicate with remote web and mobile clients through the PureWeb server.

The service APIs also enable your service to expose your existing application logic using a combination of views, application state and commands. The combination of these building blocks provides an overall service that clients can use to create a custom view of your running application.

Services can be managed or unmanaged. In a managed service, the PureWeb server controls the application/process life cycle, starting and stopping the service application when clients first connect. In an unmanaged service, these tasks are handled outside of the PureWeb server. The sample applications provide examples of both managed and unmanaged services.

You can develop your PureWeb service to run without a GUI, using only the service APIs to interact with clients.

Client

The client is the front-end interface that end users interact with. It can be either a web or a mobile application and it uses the PureWeb client API to link into the service-side logic.

You can create several clients for the same service, each with its own look, feel and feature set. It is not uncommon, for example, to create a mobile client with a reduced feature set in comparison to the web client, to adapt to the limited screen real estate.

The images below show a solution where only a subset of the feature-rich desktop application (above) has been exposed in the client (below).

 

Much of the effort involved in developing a client for a PureWeb service is completed using the client platform's native elements, and therefore you should be familiar with your chosen platform's language. Client APIs are available in HTML5, iOS, Android, Flex, Java Swing and Silverlight.

What's unique to PureWeb clients is how they display the service's graphical interface as remoted views. Since the service handles all the image rendering and keeps the source data in its original location, your clients can securely be used to interact with graphics-intensive 2D/3D visualization applications, even across low-bandwidth networks. Client APIs also provide the necessary mechanisms to link your client's native interface elements to the service-side application logic.

With the collaboration features, different users on different client instances can interact with the same service instance.

Server

The PureWeb server is the glue that connects the service and its client(s) together. All communications between these components happen via the server. The server plays a crucial role in PureWeb applications, coordinates connections and manages collaboration sessions.

The server is implemented as a standard Java Web Application, using common Java components including the Apache Tomcat 7.0 web container (tomcat.apache.org) and various libraries from the Spring Framework (www.springsource.org).

The server provides a graphical interface to facilitate application and system configuration.

You can install the server either on Windows or on Linux.