JLense is a plugin-based application framework for building Java applications.
JLense consists of a core runtime kernel that supports 'plugins' and a set of
plugins that support the development of Java applications.
The JLense project develops plugins that make it easier for Java developers to
create world-class, slim-client, Swing-based, zero-adminstration GUIs to
enterprise web services.
The JLense project also develops plugins that make it easier to create and deploy
The first production release of JLense will include a set of plugins that
implement the following features:
A reusable GUI framework that provides extension points for adding new UI
components to a central application frame called the Workbench.
Among other things, new views, actions, menus, and toolbars can be added
to the workbench by plugins. Help items may also be contributed by plugins
and be integrated into the workbench's main help system.
An abstract API for accessing data in enterprise systems. This API provides
other plugins with a generic method for accessing data while hiding
the specifics of where the data and services reside or the specific technology used
to access the data and services.
A discovery service that enables plugins to lookup interface based services provided
by other plugins.
A Forms framework that makes it easy to develop forms and to automatically bind
forms to data.
A reporting framework that makes it easy to develop and integrate reports into
the JLense workbench.
An update mechanism that can automatically update an installed application without
requiring user intervention.
A plugin that makes it easy to develop new web services
without requiring a lot of J2EE skills.
A JAAS-based security mechanism for enforcing authentication and authorization rules.
Today there is a plethora of high-quality, open-source Java components and libraries.
These components can give developers a serious boost when creating
desktop and server applications to meet the demands of today's small businesses and
JLense utilizes its plugin framework to assemble the best open-source Java
technologies into a unified framework. The end result is a synergistic, highly
productive, yet low-cost platform suitable for development teams, independent
developers, and everyone in between.
The platform on which JLense is built includes a runtime engine that starts the
platform base and dynamically discovers plug-ins.
A plug-in is a structured component that describes itself to the system
using a XML-based manifest file (plugin.xml).
The platform maintains a registry of installed plug-ins and the function they provide.
Functionality is added to JLense using a common extension model.
Extension points are well-defined function points in the system that can be extended
by plug-ins. When a plug-in contributes an implementation for an extension point, we
say that it adds an extension to the platform. Plug-ins can define their own
extension points, so that other plug-ins can integrate tightly with them.
The extension mechanisms is the most basic means of adding function to the platform and
Developers that want to build rich, full-featured, zero-administration, slim-client
GUIs to back-end services.
Developers that want to build multi-tiered J2EE-based applications.
Developers working in teams. Separate teams may implement JLense application
functionality as plugins. These plugins may be developed and tested independently of
one another. The plugins are only integrated when they are deployed together in the
When used properly the JLense plugin-based architecture can provide a high degree of
separation of application concerns.