Skip navigation.
Arch2Arch Tab BEA.com

CommonJ

BEA and IBM Joint Specifications

In response to requests from customers and joint Independent Software Vendor (ISV) partners, BEA and IBM are collaborating on specifications for programming models and APIs for Java™ 2 Enterprise Edition (J2EE) application servers that provide programmers with simpler and more powerful ways of building portable server applications. Three specifications have been published under royalty-free terms and will be implemented in upcoming releases of the BEA WebLogic Platform and IBM WebSphere Application Server. Further, Java Specification Requests (JSRs) are being filed in the areas of these specifications for formal consideration for standardization within the Java Community Process (JCP).

Our rationale for publishing these specifications now is to rapidly facilitate experimentation, implementation, feedback, and early adoption in advance of standardization and ratification within the JCP. We welcome open source projects and our commercial competitors to implement these specifications (the specifications are royalty free; see the specific licenses in the Copyright section of the specifications).

Our hope and expectation is that this initiative be received positively across the entire Java community. We invite your feedback.

Service Component Architecture: Building Systems using a Service Oriented Architecture

Service component architecture (SCA) is a new technology to simplify application development and implementation in a service-oriented architecture (SOA). With SCA, customers will be able to more easily create new, and transform existing, IT assets into reusable services that may be rapidly adapted to changing business requirements. Furthermore, these new technologies greatly reduce complexity associated with developing applications by providing a way to unify these services regardless of the programming languages they were written in and the platforms used to run them.

For more information, including white papers, specifications, Javadocs and API source files, please see the SCA specification page.

Service Data Objects: Simplifying the Programming Model for Data Access

Service Data Objects (SDO) is designed to simplify and unify the way in which applications handle data. Using SDO, application programmers can uniformly access and manipulate data from heterogeneous data sources, including relational databases, XML data sources, Web services, and enterprise information systems. For more information about the goals and architecture of SDO, see the white paper titled Next-Generation Data Programming: Service Data Objects.

SDO is based on the concept of disconnected data graphs. Under the disconnected data graphs architecture, a client retrieves a data graph (i.e., a collection of tree-structured or graph-structured data objects) from a data source, mutates the data graph, and can then apply the data graph changes back to the data source.

The task of connecting applications to data sources is performed by data mediator services. Client applications can query data mediator services and get a data graph in response. Client applications can then send an updated data graph to a data mediator service to have the updates applied to the original data source. This architecture allows applications to deal principally with data graphs and data objects.

SDO enables both a static (or strongly typed) programming model and a dynamic (or loosely typed) programming model. This enables a simple programming model without sacrificing the dynamic model needed by tools and frameworks.

SDO also provides a metadata API, which allows applications, tools, and frameworks to introspect the data model for a data graph. The SDO metadata API unifies data-source-specific metadata APIs to enable applications to uniformly handle data from heterogeneous data sources.

For more information about SDO, including white papers, specifications, online Javadocs, and interface source files, please visit the SDO specification page.

Work Manager and Timer: Utilities for J2EE Programmers

The Timer and Work Manager for Application Servers specification provide J2EE programmers with often-needed utilities. The Work Manager provides a simple API for application-server-supported concurrent execution of work items. This enables J2EE-based applications (including Servlets and EJBs) to schedule work items for concurrent execution, which will provide greater throughput and increased response time. After an application submits work items to a Work Manager for concurrent execution, the application can gather the results. The Work Manager provides common "join" operations, such as waiting for any or all work items to complete. The Work Manager for Application Servers specification provides an application-server-supported alternative to using lower-level threading APIs, which are inappropriate for use in managed environments such as Servlets and EJBs, as well as being too difficult to use for most applications.

The Timer API included by this specification provides a simple API for setting timers in an application-server-supported fashion. This enables J2EE-based applications (including Servlets, EJBs, and JCA Resource Adapters) to schedule future timer notifications and receive timer notifications. The Timer for Application Servers specification provides an application-server-supported alternative to using the J2SE java.util.Timer class, which is inappropriate for use in managed environments such as Servlets and EJBs.

For more information about Time and Work Manager for Application Servers, including specifications, Javadocs, and interface source files, please visit the Timer and Work Manager for Application Servers specification page.


Enterprise Metadata Discovery: Metadata API for JCA Adapters

J2EE is a rich environment for building and managing enterprise class applications and solutions. With the rise of Service-Oriented Architectures (SOA), more and more enterprises are deploying SOA solutions in a J2EE environment, but need to service-enable their existing IT assets in order to realize the full benefits of business automation via SOA. IBM and BEA have collaborated on a specification that will enable more productive development of and deployment of this "last mile" of integration. "Enterprise Metadata Discovery" is a cross-industry initiative spearheaded by IBM and BEA. For more information about EMD, see the white paper titled Enterprise Metadata Discovery.

This new specification provides a standard way of managing this "last mile" in a seamless design-time experience, thus allowing customers significant productivity improvements in service-enabling their existing IT assets.

The specification introduces a new metadata discovery and import model for adapters. This new model can dramatically improve the usability of adapters within a tooling framework. Using this model, developers will be able to gather information about the data and functions of an EIS (via metadata discovery). Having gathered this information, the developer will use the metadata import facilities to define a new custom interface to the required data and functions in the EIS.

For more information about EMD, including the white paper, specification, online Javadocs, and interface binary files, please visit the Enterprise Metadata Discovery specification page.