JLense Overview

What is JLense?

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 web services.

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.

Why use JLense?

Productivity

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 corporate workgroups.

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.

Extensibility

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 other plug-ins.

Who should use JLense?

  • 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 JLense framework.
    When used properly the JLense plugin-based architecture can provide a high degree of separation of application concerns.