IBM®
Skip to main content
    United States change      Terms of use
 
 
Select a scope:    
     Home      Products      Services & industry solutions      Support & downloads      My account     
alphaWorks  >  Java technology  >  

Dynamic Module Enabler for Unstructured Information Management Architecture Component Analytics

A package that provides the ability to develop and run UIMA analytics as OSGi modules in a component-based environment.


Date Posted: June 14, 2007
OverviewRequirements Download FAQs Forum Reviews

What is Dynamic Module Enabler for Unstructured Information Management Architecture Component Analytics?

Dynamic Module Enabler for Unstructured Information Management Architecture (UIMA) Component Analytics is designed to enable UIMA developers and customers to bundle their analytics as formal OSGi bundles and make use of the component-based features of this emerging standard. OSGi Technology provides a genuine component-based platform for creating, sharing, deploying, and running their analyses and applications. OSGi is emerging as the preferred standard for reuse of software components in commercial applications. It is expected that, through adoption of the OSGi technology, costs of software development and of maintenance will be significantly reduced. OSGi technology has already been adopted in such IBM® products as WebSphere®, Lotus® Sametime®, Tivoli®, products for Eclipse, and more.

OSGi enablement brings the following practical benefits to UIMA community:

  • easy packaging of analytic components that do not require special tools
  • better asset reusability: integration by reference instead of integration by copy
  • automated deployment of analytic components in OSGi container that enables developers to easily build analysis pipes and reconfigure UIMA applications on the fly
  • built-in version management and life cycle support for analytic components
  • simplified embedding of UIMA analytic components and applications in different environments, such as Java™ 2 Platform Enterprise Edition (J2EE), rich client platform (RCP), eRCP, etc.

OSGi technology is a widely-adopted dynamic module system for Java; it is accepted today as a standard way of managing the software life cycle through a service-oriented, component-based approach. The main focus of OSGi technology lies in the integration of software components based on the OSGi Service Platform, which defines a module called a bundle. The OSGi Framework provides a container for managing bundles and supports a full set of management operations for bundle life-cycles.

The module-based class-loading policy supports the module concept in the OSGi Framework. The OSGi Framework has a powerful and rigidly-specified class-loading model that allows modules to declare shared and private class space and that controls linking between modules. In this model, each bundle has its own class loader and forms a class-loading delegation network with other bundles. The OSGi Service Platform also defines a dynamic collaborative "find-and-bind" service model, where services are normal Java objects registered under one or more Java interfaces with the service registry. Bundles can register services, search for them, or receive notifications when their registration state changes.

How does it work?

Dynamic Module Enabler for UIMA Component Analytics allows the creation of UIMA analytics as standard OSGi bundles and aids in the development of applications by using these standard bundles. After the UIMA bundles are created, they are automatically deployed and their life cycles are managed by the OSGi container. The core of OSGi enablement is the OSGi Service Adaptor, which provides a layer between UIMA component bundles and UIMA Framework that are managed by the OSGi container. The main role of the OSGi Service Adaptor is to provide UIMA Framework and applications with dynamic access to UIMA analytic, type system, and resource component bundles installed in the OSGi container. The dynamic access to UIMA component bundles does not require any dependencies between the UIMA run-time bundle and the component bundles.

In addition, the OSGi Service Adaptor provides automated configuration management support for UIMA component bundles. The service adaptor layer is used to locate OSGi bundles that contain UIMA analytics, load them into the OSGi container, and register them as OSGi services. UIMA applications interact with the service adaptor layer to receive information about available components and to deploy and run them in OSGi environment by using UIMA Framework.

The work of the OSGi Service Adaptor is based on the following principles:

  • Each UIMA analytic component bundle registers its OSGi services, including the main service for the bundle itself and one additional service for each UIMA component descriptor specified in its manifest. UIMA component bundles that register their OSGi services are called active component bundles, as opposed to inactive component bundles, such as type systems or other resource bundles. Active component bundles can be discovered through OSGi Service Registry. Inactive component bundles must be wired to other component bundles in order to share their resources.
  • The Adaptor application programming interface (API) provides dynamic access to registered UIMA component services through the OSGi Service Registry.

The OSGi Service Adaptor comprises the following functional modules:

  • UIMA Services Integrator: Responsible for tracking all standard Adaptor services and notifying applications of UIMA service availability events. This module also provides convenient access to all standard Adaptor services.
  • UIMA Configurator: responsible for managing UIMA component bundles and notifying applications of life cycle events for UIMA components.
  • UIMA Component Services: responsible for providing access to shared resources of UIMA component bundles that are loaded into the OSGi container.
  • UIMA Component Registry: responsible for looking-up UIMA component bundles that are loaded into the OSGi container.


About the technology author(s):
Lev Kozakov, Ph.D., is a research staff member at the IBM T. J. Watson Research Center in Hawthorne, New York, with the Information Management Solutions Group. He has many years of experience in designing and developing software solutions including object-oriented user interfaces, medical imaging and communication systems, computer telephony architecture and frameworks, enterprise information search and delivery systems and unstructured information and knowledge management architecture and frameworks. Currently, Dr. Kozakov is focused on component-based computing platforms and their applications in the world of unstructured information and knowledge management.

Mirko Jahn worked for several years as an independent software consultant and tutor before joining the Unstructured Information Management Architecture (UIMA) group at IBM Research. At present, his major research areas cover component-based development strategies, component repositories, and migration approaches toward modular applications, along with service-oriented architecture. Mr. Jahn is heavily involved in making use of OSGi component-based developement standards in UIMA.

Yurdaer Doganata, Ph.D., is the manager of the Information Management Solutions group at the IBM T. J. Watson Research Center in Hawthorne, New York. He joined the Watson Research Center as a research staff member in 1989 and worked on projects in many diverse areas, including high-speed switching systems, multimedia servers, intelligent transportation systems, multimedia collaborative applications, e-services, and information search and retrieval systems for technical support. Dr. Doganata's current research interests include component-oriented computing environments and their applications to UIMA, as well as enablement of asset reuse through building of component repository services.


Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.
IBM, WebSphere, Lotus, Sametime, and Tivoli are trademarks of IBM Corporation in the United States, other countries, or both.
Other company, product, or service names may be trademarks or service marks of others.

Download now Download now
View demo View demo

Related technologies

For platform(s):
Java

For topics:
Architecture, Components, Eclipse, Java technology


 

    About IBM Privacy Contact