데이터 액세스 애플리케이션 개발

데이터 액세스 애플리케이션을 사용하여 애플리케이션 지원 환경에서 사용할 수 있도록 외부 소스에서 데이터를 조작할 수 있습니다.

이 태스크 정보

여러 방법으로 데이터에 액세스할 수 있습니다.
  • 표준 또는 확장 API 사용
  • CMP(container-managed persistence) Bean 사용
  • BMP(bean-managed persistence) Bean, 세션 Bean 또는 웹 컴포넌트 사용
  • 서비스 데이터 오브젝트(SDO) 사용

프로시저

  1. 데이터 액세스 구현 방법을 결정하십시오.

    EJB(Enterprise JavaBeans) 프로그래밍 모델은 구별되는 여러 서버측 컴포넌트 유형, 즉 엔티티, 세션, 메시지 구동 Bean 및 서블릿을 제공합니다. 이들 유형 중에 엔티티 Bean은 일반적으로 애플리케이션에서 비즈니스 컴포넌트를 모델링하는 데 사용됩니다. 엔티티 Bean에는 statebehavior가 모두 있습니다.

    엔티티 Bean의 상태는 지속적이고 데이터베이스에 저장됩니다. 엔티티 Bean에 변경을 수행할 때 해당 상태는 Bean을 표시하는 데이터베이스 레코드와 계속 동기화됩니다. EJB 모델은 두 가지 유형의 엔티티 Bean을 제공하고 이 두 가지 유형은 지속을 제공하는 데 사용하는 메커니즘이 다릅니다. 이 두 유형의 엔티티 Bean은 container-managed persistence(CMP) Bean과 bean-managed persistence(BMP) Bean입니다.

    • BMP Bean의 경우 개발자가 코드를 수동으로 작성하여 Bean의 지속적 상태를 관리합니다.
    • CMP Bean의 경우에는 EJB 컨테이너가 Bean의 지속적 상태를 관리합니다. 지속적 상태 관리는 복잡하고 어려운 태스크이며, CMP Bean을 사용하면 개발자는 지속 작동을 컨테이너에 위임하여 비즈니스 로직에 집중할 수 있습니다.

      CMP Bean의 일반적인 예는 Customer, Account 등입니다. CMP Bean은 오브젝트이므로 해당 데이터(상태)는 필드 액세서를 사용하여 액세스됩니다. 예를 들면, Customer 엔티티 Bean은 namephoneNumber와 같은 필드를 가질 수 있습니다. 이러한 데이터는 액세스 메소드 getName()/setName()getPhoneNumber()/setPhoneNumber()를 사용하여 액세스됩니다. 개발자로서, 사용자는 이 데이터가 실제로 저장되고 백엔드 데이터베이스에서 검색되는 방법을 염두에 두지 않고 데이터의 무결성이 컨테이너에 의해 유지보수된다고 가정할 수 있습니다.

    엔티티 Bean 개발에 대한 정보는 엔터프라이즈 Bean 개발 주제를 참조하십시오.
    팁:
    • [AIX Solaris HP-UX Linux Windows][z/OS]관계형 데이터베이스에 대한 애플리케이션 요청의 효율을 최대화하려면 BMP 및 CMP Bean 개발 시 SQLJ(Structured Query Language in Java™)의 사용을 고려하십시오. 이 옵션은 DB2® 데이터베이스에 액세스하기 위해 DB2 JDBC Universal 드라이버를 사용하는 애플리케이션에 사용 가능합니다.

      [z/OS]이 드라이버 요구사항에 대한 유일한 예외는 DB2 for z/OS®에 액세스하는 SQLJ 기반 BMP Bean에 적용됩니다. 이 스키마에는 DB2 for z/OS 레거시 드라이버가 필요합니다(DB2 for z/OS 로컬 JDBC 제공자 RRS에 대해 필요).

    • [AIX Solaris HP-UX Linux Windows][z/OS]또한 잠재적 성능 이점을 위해서는 커서 홀드 기능의 사용을 고려하십시오(세부사항은 JDBC 애플리케이션 커서 홀드 기능 지원 토픽을 참조하십시오.
    • [IBM i]관계형 데이터베이스에 대한 애플리케이션 요청의 효율성 최대화를 위해서는 커서 홀드 기능의 사용을 고려하십시오.

    엔티티 Bean에 대한 대안은 데이터 애플리케이션 개발을 위한 통합 프레임워크인 서비스 데이터 오브젝트(SDO)를 사용하는 것입니다. SDO를 이용하면 데이터에 액세스하여 이를 사용하기 위해 기술 특정 API를 익힐 필요가 없습니다. 관계형 데이터베이스, 엔티티 EJB 컴포넌트, XML 페이지, 웹 서비스, Java 커넥터 아키텍처, JavaServer Pages 등을 포함한 여러 소스의 데이터에 대한 작업을 가능하게 하는 한 API인 SDO API만을 알고 있으면 됩니다.

  2. 자원 참조를 사용하여 데이터 소스 또는 연결 팩토리를 찾아보십시오. 자세한 정보는 관계형 액세스에 대한 자원 참조로 데이터 소스 찾아보기 주제를 참조하십시오. CMP Bean에 대해 작업하는 경우 이 단계를 수행하지 마십시오. EJB 컨테이너는 CMP Bean에 대해 이 프로세스를 핸들합니다.
    WebSphere® Application Server에서 애플리케이션을 실행하려면 코드가 자원 참조를 사용하여 논리적으로 데이터 소스 또는 연결 팩토리를 이름 지정해야 합니다. 자원 참조를 실제 자원에 맵핑하는 것은 보통 어셈블리 시점에 수행됩니다. Application Server 관리자는 이들 자원을 구성합니다.
    • 관계형 데이터베이스 액세스를 위해 관리자는 임베디드 WebSphere 관계형 자원 어댑터와 함께 작동하는 JDBC 제공자 및 연관된 데이터 소스를 구성합니다.
    • 비관계형 데이터베이스 액세스를 위해 관리자는 애플리케이션 서버에 Java EE(Java Platform, Enterprise Edition) 커넥터 아키텍처(JCA) 자원 어댑터를 설치하고 연관된 연결 팩토리를 구성합니다.

    일반 작업 컨텍스트 구현은 자원 어댑터가 실행을 위해 제품 작업 관리자에게 제출한 작업 인스턴스가 실행되는 컨텍스트를 제어할 수 있는 메커니즘을 자원 어댑터에 제공합니다. 자원 어댑터는 WorkContextProvider 인터페이스를 구현하는 작업 인스턴스를 제출하여 WebSphere Application Server에 다양한 유형의 컨텍스트를 전파할 수 있습니다. 그러면 Application Server가 전파된 컨텍스트 유형을 지원하는 경우 제공된 컨텍스트를 해당 실행 중 작업 인스턴스의 실행 컨텍스트로 설정합니다.

  3. 데이터 소스 또는 연결 팩토리에 대한 연결을 확보하십시오. 세부사항은 연결 라이프사이클 주제의 "연결 확보" 섹션을 참조하십시오. CMP Bean에 대해 작업하는 경우 이 단계를 수행하지 마십시오. EJB 컨테이너는 CMP Bean에 대해 이 프로세스를 핸들합니다.

    EIS(Enterprise Information Systems)에 대한 관계형 및 프로시저 액세스를 위한 연결 관리 아키텍처는 Java EE 커넥터 아키텍처(JCA) 스펙을 기초로 합니다. Application Server 내의 연결을 풀링하고 관리하는 CM(Connection Manager)은 JCA 스펙에 의해 정의된 RA(resource adapter)와 JDBC 확장 스펙에 의해 정의된 데이터 소스 둘 다를 통해 얻은 연결을 관리할 수 있습니다.

  4. [z/OS]스레드 ID를 사용하여 연결에 소유자를 지정하십시오. 자세한 정보는 스레드 ID 지원 사용 주제를 참조하십시오.

주제 유형을 표시하는 아이콘 태스크 주제



시간소인 아이콘 마지막 업데이트 날짜: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tdat_impdatacc
파일 이름:tdat_impdatacc.html