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