This section describes the deployment scenarios that are targeted by JLense. That is, JLense is expected to be most commonly used to develop applications that are deployed in the ways described below.
Standalone Client Application
In this scenario JLense is used to develop a client GUI application to some back-end service. The back-end service may be a web service, a CORBA service, an Enterprise Java Bean, whatever. The application is installed on a workstation using a conventional installation program. After installation the application is automatically updates itself from an update server each time it starts. The application user is asked for permission to perform an update before proceeding.
This scenario is in many ways similar to the lifecycle of a Java Web Start application.
Standalone Server Application
In this scenario JLense is used to develop a server application. In many companies software is developed on developer workstations and devlopment servers and deployed on 'production' servers. Often staff other than the development staff is responsible for maintaining and monitoring a production server application. In such a situation it will be advantageous for the production staff to deploy the server application on the production host machine just once. From then, when updates and new versions of the server application become available, the production staff will update the server application from a development-hosted JLense update server.
If the application includes a client tier then client applications may also update themselves from the update server.
Delivering Multi-User, Multi-Tiered Applications to a Small Business
In this scenario JLense is used to a deliver a complete multi-tiered, multi-user application to a small business. The application vendor deploys thier update server to a machine that is available on the Internet. A small business installs the client and server portions of the application on a single machine that is similarly connected to the Internet.
Local workstations within the business load the application from the server on which the client applicaton has been installed. Each workstation uses a workspace its disk, not on the network file server. A workspace in this context means a workspace in the JLense/Eclipse sense, for saving user preferences, etc.
The entire application installation, both client and server tiers, is updated whenever the server application is restarted and there are updates available.
This method of deploying software is meant to be an alternative to the current industry trend towards delivering software to small businesses as hosted services that are accessed via a web browser or other thin-client technology. This delivery method significantly reduces the cost of providing such services to small businesses by moving the server tier as well as the client tier to the small business. Such a scheme retains the benefits of the software-as-service model, application updates and maintanence are transparent to users, while providing additional benefits to the small business such as increased availability (your applications aren't offline when your Internet access is not working).