우수 사례: 비즈니스 서비스용 모듈 및 패키징

비즈니스 통합 응용프로그램 개발 시, JSP 파일, JAR 파일, Web 프로젝트, Java™ 프로젝트 및 J2EE 프로젝트 등의 자원에 대해 작업해야 할 수도 있습니다. 이 주제에서는 프로젝트와 자원을 빌드하여 WebSphere® Process Server로 배치할 수 있도록 프로젝트와 자원을 설정하는 데 도움이 되는 정보를 제공합니다.

독립형 참조를 사용하여 작업하는 JavaServer Pages 파일

JavaServer Pages(JSP) 파일은 모듈 어셈블리에서 독립형 참조를 사용하여 SCA(Service Component Architecture) 컴포넌트를 호출합니다. JSP 파일은 모듈 어셈블리와 동일한 EAR 파일에 배치되어야 합니다. 다음은 모듈로 JSP 파일을 추가하는 단계에 대한 설명입니다.
  1. 웹 프로젝트를 작성하십시오.
  2. 웹 프로젝트에서 JSP 파일을 빌드하십시오. 코드를 가져오는 경우, 이 웹 프로젝트로 가져오십시오. 샘플 JSP 코드 내용을 참조하십시오.
  3. 종속성 편집기로 모듈(독립형 참조가 있는)을 여십시오. J2EE 프로젝트로서 웹 프로젝트에 종속성을 추가하십시오. 웹 프로젝트를 EAR 파일에 추가할 수 있도록 모듈에 배치 선택란 옵션을 선택했는지 확인하십시오.
주: sca.references 파일을 다른 EAR 파일로 복사하지 마십시오. 파일이 속하는 모듈 외부에서는 파일이 작동하지 않습니다.

웹 프로젝트가 다른 EAR 파일에 있는 경우, JSP 파일은 다른 모듈에 있으므로 다른 모듈에 있는 서비스에 대해 작업하려면 가져오기 및 내보내기가 필요합니다.

샘플 JSP 코드

다음은 모듈 어셈블리에서 독립형 참조를 사용하는 일부 JSP 코드 샘플입니다.

com.ibm.websphere.sca.Service bankService = (com.ibm.websphere.sca.Service)com.ibm.websphere.sca.ServiceManager.INSTANCE.locateService("BankServicePartner");
=> "BankServicePartner" 참조 이름은 모듈에 있는 sca.references 파일에서 가져온 것입니다(예. <reference name="BankServicePartner">...). 이 파일은 연결 편집기에서 독립형 참조를 작성한 후에도 존재합니다.
com.ibm.websphere.sca.scdl.OperationType operationType = bankService.getReference().getOperationType("openAccount");
=> 오퍼레이션 유형을 사용하여 호출 오퍼레이션으로 전달해야 하는 DataObject 유형을 확보합니다.
com.ibm.websphere.bo.BOFactory factory = (com.ibm.websphere.bo.BOFactory) new com.ibm.websphere.sca.ServiceManager().locateService("com/ibm/websphere/bo/BOFactory");
=> 비즈니스 오브젝트를 작성하는 팩토리를 확보하는 표준 방식입니다.
commonj.sdo.DataObject input = factory.createByType(operationType.getInputType());
=> 오퍼레이션에서 입력으로 예상하는 적합한 유형의 데이터 오브젝트를 작성합니다.
commonj.sdo.DataObject customer = input;
=> 현재 줄 바꾸기된 입력은 없는 것으로 가정합니다.
if(operationType.isWrapperType(operationType.getInputType()))
{
=> 이 경우 참조를 호출하려면, 인터페이스의 WSDL 파일에서 정의한 랩퍼를 전달해야 합니다. 그러면 줄 바꾸기한 데이터 오브젝트를 작성하고 이를 랩퍼에서 설정할 수 있습니다(특성 이름은 WSDL 파일에 포함된 스키마에서 가져 옵니다).
customer = factory.createByType(operationType.getInputType().getProperty("customer").getType());
input.set("customer", customer);
}
customer.setString("firstName", "Bob");
customer.setString("lastName", "Smith");
customer.setString("address", "7 Holly Drive");
customer.setBoolean("isGold", true);
customer.setInt("birthYear", 1976);
=> 위 5개 행은 사용자에 대한 속성을 설정합니다.
commonj.sdo.DataObject output = (commonj.sdo.DataObject)bankService.invoke("openAccount",input);
commonj.sdo.DataObject account = null;
if(operationType.isWrapperType(operationType.getOutputType()))
account = output.getDataObject("account");
else
	account = output;
=> 리턴된 출력에서는 줄 바꾸기가 발생하거나 또는 발생하지 않을 수도 있습니다.

Java 코드에 대한 작업

우수 사례: Java 응용프로그램을 개발하거나 비즈니스 통합 모듈에서 사용할 JAR 파일을 가져와야 하는 경우, 코드에 대한 Java 프로젝트를 작성하고 Java 프로젝트에 대한 종속성을, Java 코드를 사용할 모듈에 추가해야 합니다.

비즈니스 통합 라이브러리 또는 모듈의 Java 특성은 배치 코드 생성 시 문제점을 발생시킬 수 있으므로 변경해서는 안됩니다. 따라서 복잡한 Java 응용프로그램을 개발하거나 응용프로그램을 사용하기 위해 라이브러리 또는 모듈로 JAR 파일을 가져오는 것은 권장하지 않습니다. 또한 어셈블리 다이어그램에서 컴포넌트에 대한 Java 구현을 생성할 때, 생성된 Java 구현은 다른 Java 클래스를 호출하기 위한 시작점으로 사용되어야 합니다.

비즈니스 통합 보기에서는 어셈블리 다이어그램에서 사용되는 Java 구현 및 인터페이스만을 표시합니다. 이를 사용하는 모듈 아래에 표시됩니다. Java 프로젝트에 대해 작업해야 하는 경우, Java Perspective에서의 작업으로 전환할 수 있습니다.

Java Perspective로 전환

다음과 같이 Java Perspective를 여십시오.

  1. 메뉴에서 > Perspective 열기 > 기타...를 선택하십시오.
  2. Java를 선택하고 확인을 클릭하십시오.

Java Perspective에서 Workbench 창의 맨 위 오른쪽 코너에 두 개의 열린 Perspective가 표시되면, 아래 이미지에서 처럼 비즈니스 통합 Perspective 단추를 클릭하여 비즈니스 통합 Perspective로 전환할 수 있습니다.

두 Perspective 단추를 표시하는 Workbench 창의 맨 위 오른쪽 코너

다음은 Java 프로젝트에서 Java를 개발하기 위한 지시사항입니다.
  • Java 프로젝를 작성하십시오.
  • Java 프로젝트에서 Java를 개발하십시오. JAR 파일을 가져와야 하는 경우, 파일을 Java 프로젝트로 가져오십시오. JAR 파일을 모듈 또는 라이브러리로 가져오지 마십시오. JAR은 EAR 파일로 추가되지 않습니다.
  • 종속성 편집기에서 Java 코드를 사용할 모듈을 여십시오. Java 프로젝트를 종속자로 추가하고 모듈에 배치 선택란이 선택되었는지 확인하십시오. 종속성 편집기는 Java 프로젝트를 모듈의 클래스 경로로 추가합니다. JAR 파일은 모듈을 사용하여 배치됩니다.

가져오기 및 내보내기를 위한 비즈니스 오브젝트 및 인터페이스

우수 사례: 어셈블리 다이어그램에서 가져오기 및 내보내기를 사용하려는 경우, 가져오기 및 내보내기에서 사용하는 비즈니스 오브젝트 및 인터페이스를 공유할 수 있도록 라이브러리에 넣는 것이 좋습니다. 그런 다음 라이브러리에 대한 종속성을 공통 자원을 사용하는 모든 모듈에 추가하십시오. 동일한 비즈니스 오브젝트 및 인터페이스를, 이를 사용하는 다른 모듈로 복사하지 마십시오.

공유되는 라이브러리 자원

배치 후 라이브러리에서 공유 자원을 변경하는 경우, 자원을 사용하는 모듈도 갱신해야 합니다. 예를 들어 두 모듈이 라이브러리에서 일부 자원을 공유합니다. 응용프로그램이 배치됩니다. 라이브러리에 있는 공유 자원 일부를 갱신하면 모듈 중 다른 하나도 갱신해야 합니다. 이 경우, 공유 자원의 변경사항이 적용되도록 두 번째 모듈을 갱신해야 합니다.

WSDL 파일은 모듈 또는 라이브러리에 있어야 함

모듈에서 WSDL 파일을 사용해야 하는 경우, 이를 모듈로 복사하십시오. 선택적으로 WSDL 파일을 라이브러리로 복사하고 모듈에서 라이브러리의 자원을 사용할 수 있도록 라이브러리에 대한 종속성을 설정하십시오. 다른 유형의 프로젝트(예: 웹 프로젝트)에서 WSDL 파일을 끌어다 놓으려는 경우, 오류 메시지가 표시되어 WSDL을 모듈이나 라이브러리로 복사하도록 합니다.

J2EE 모듈 이름

비즈니스 통합 모듈은 J2EE 프로젝트로 구성된 J2EE EAR 파일을 생성하는 단순 프로젝트입니다. 모듈의 이름이 MyApp인 경우, 동일한 이름의 J2EE 프로젝트가 생성되므로 사용자 J2EE 프로젝트에 이 이름을 사용해서는 안됩니다.
  • MyAppApp
  • MyAppEJB
  • MyAppEJBClient
  • MyAppWeb

편집기를 사용하지 않는 종속성 변경

종속성 편집기 외부에서 모듈 종속성을 수정하지 마십시오.

라이브러리, Java 프로젝트 또는 J2EE 프로젝트에 대한 종속성을 추가할 때, 모듈의 특성도 변경됩니다. 즉 모듈의 특성은 다음과 같이 변경됩니다.

  • Java 빌드 경로에서는 빌드 경로에 라이브러리 또는 프로젝트가 추가됩니다.
  • 프로젝트 참조는 모듈의 결과 EAR 파일에 포함될 J2EE 프로젝트 또는 유틸리티 JAR을 판별합니다. 종속성 편집기에서 라이브러리 또는 프로젝트가 모듈에 배치되도록 선택하면 프로젝트 참조에서는 라이브러리 또는 프로젝트가 배치할 EAR 파일에 추가하도록 선택됩니다.

특성을 편집하는 대신 종속성 편집기를 사용하여 모듈 또는 라이브러리의 프로젝트 종속성을 관리하십시오. 모듈 및 라이브러리의 특성에는 중요한 Java가 설정되어 있으므로, Java 특성을 수정해서는 안 됩니다(예: 소스 및 출력 변경).

관련 개념
모듈 및 라이브러리
모듈 및 라이브러리 종속성
비즈니스 통합 기능 및 역할
비즈니스 통합 치트 시트
비즈니스 서비스: 컴포넌트 및 모듈
중개 서비스: 컴포넌트 및 모듈
관련 태스크
비즈니스 서비스용 모듈 작성
중개 모듈 작성
기본 이름 공간 변경
도구 기능 사용
모듈 및 라이브러리에 종속성 추가
라이브러리 작성
내보내기 작성
관련 참조
WSDL, Java 인터페이스 및 참조

관련 정보

학습서: 모듈 및 라이브러리에 대한 작업

피드백
(C) Copyright IBM Corporation 2005, 2006. All Rights Reserved.