Developing data access applications

Data access applications allow you to manipulate data from outside sources for use within your application serving environment.

About this task

You can access data in various ways:
  • using standard or extended APIs
  • using container-managed persistence beans
  • using bean-managed persistence beans, session beans, or Web components.
  • using Service Data Objects (SDO)

Procedure

  1. Decide how to implement data access.

    The Enterprise JavaBeans (EJB) programming model provides several distinct server-side component types: entity, session, and message-driven beans, and servlets. Of these types, entity beans are typically used to model business components in an application. Entity beans have both state and behavior.

    The state of entity beans is persistent and is stored in a database. As changes are made to an entity bean, its state is kept in synchronization with the database record representing the bean. There are two types of entity beans provided by the EJB model and these two types differ in the mechanism used to provide persistence. These two types of entity beans are container-managed persistence (CMP) beans and bean-managed persistence (BMP) beans.

    • With BMP beans, the developer manually produces code to manage the persistent state of the bean.
    • With CMP beans, the EJB container manages the persistent state of the bean. Persistent state management is a complex and difficult task; using CMP beans allows the developer to concentrate on business logic by delegating persistence behavior to the container.

      Typical examples of CMP beans are Customer, Account, and so on. Because CMP beans are objects, their data (state) is accessed using field accessors. For example, a Customer entity bean is likely to have fields such as name and phoneNumber. These pieces of data are accessed using the accessor methods getName()/setName() and getPhoneNumber()/setPhoneNumber(). As a developer, you are not concerned with how this data is eventually stored and retrieved from the backend database and can assume that the integrity of the data is maintained by the container.

    See the Developing enterprise beans article for information on developing entity beans.
    Tips:
    • [AIX HP-UX Linux Solaris Windows] [z/OS] To maximize the efficiency of application requests to relational databases, consider using Structured Query Language in Java (SQLJ) when developing BMP and CMP beans. This option is available for applications that use the DB2 JDBC Universal Driver to access DB2 databases.

      [z/OS] The only exception to this driver requirement applies to SQLJ-backed BMP beans that access DB2 for z/OS; this schema requires the DB2 for z/OS Legacy Driver (required for the DB2 for z/OS Local JDBC Provider RRS).

    • [AIX HP-UX Linux Solaris Windows] [z/OS] Also consider using cursor holdability for potential performance gains; see the Cursor holdability support for JDBC applications article for details.

    An alternative to developing entity beans is using the Service Data Objects (SDO) framework, which is a unified framework for data application development. With SDO, you do not need to be familiar with a technology-specific API in order to access and utilize data. You need to know only one API, the SDO API, which lets you work with data from multiple sources, including relational databases, entity EJB components, XML pages, Web services, the Java Connector Architecture, JavaServer Pages, and more.

  2. Look up a data source or connection factory using a resource reference (Looking up data sources with resource references for relational access). Do not perform this step if you work with CMP beans, however; the EJB container handles this process for CMP beans.
    To run applications on WebSphere Application Server, your code must use resource references to logically named data sources or connection factories. Mapping the resource references to actual resources is usually done at assembly time. The Application Server administrator configures those resources.
    • For relational database access, administrators configure a JDBC provider and associated data sources, which work with the embedded WebSphere Relational Resource Adapter.
    • For non-relational database access, administrators install a J2EE Connector Architecture (JCA) resource adapter onto an application server and configure associated connection factories.
  3. Get a connection to a data source or a connection factory. (See the "Getting connections" section of Connection life cycle for details.) Do not perform this step if you work with CMP beans. The EJB container handles this process for CMP beans.

    The connection management architecture for both relational and procedural access to enterprise information systems (EIS) is based on the J2EE Connector Architecture (JCA) specification. The Connection Manager (CM), which pools and manages connections within an application server, is capable of managing connections obtained through both resource adapters (RAs) defined by the JCA specification, and data sources defined by the JDBC Extensions Specification.

  4. [z/OS] Use thread identity to assign an owner to the connection.



In this information ...


IBM Redbooks, demos, education, and more

(Index)

Use IBM Suggests to retrieve related content from ibm.com and beyond, identified for your convenience.

This feature requires Internet access.

Task topic    

Terms of Use | Feedback

Last updated: Sep 20, 2010 11:08:29 PM CDT
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=vela&product=was-nd-mp&topic=impdatacc
File name: tdat_impdatacc.html