42
Interstage 5 –Apworks 이용한 EJB Application 개발가이드 한국후지쯔 Internet사업부 Revision History Edition Date Author Reviewed by Remarks 1 2002/10/11 이준수 2 2003/05/19 이준수 3 2003/06/18 이준수 EJB디버깅 추가 4 2003/09/25 이준수 Apworks5.1 버전으로 내용변경 1

Interstage 5 –Apworks 를 이용한 EJB Application …...Interstage 5 –Apworks 를 이용한 EJB Application 개발가이드 한국후지쯔 Internet사업부 Revision History

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Interstage 5 –Apworks 를 이용한 EJB Application …...Interstage 5 –Apworks 를 이용한 EJB Application 개발가이드 한국후지쯔 Internet사업부 Revision History

Interstage 5 –Apworks 를 이용한 EJB Application 개발가이드

한국후지쯔 Internet사업부 Revision History

Edition Date Author Reviewed by Remarks

1 2002/10/11 이준수

2 2003/05/19 이준수

3 2003/06/18 이준수 EJB디버깅 추가

4 2003/09/25 이준수 Apworks5.1 버전으로 내용변경

1

Page 2: Interstage 5 –Apworks 를 이용한 EJB Application …...Interstage 5 –Apworks 를 이용한 EJB Application 개발가이드 한국후지쯔 Internet사업부 Revision History

[ Stateless Session Bean ] Apworks는 Java 어플리케이션, 각종 Web Application 및 EJB 어플리케이션을 개발하기 위한 툴

이다. 본 문서는 EJB의 개념보다는, EJB어플리케이션을 개발하여 Interstage서버상에 Deploy 하는 과

정에 대하여 기술되어 있으며 전체적인 순서는 다음과 같다.

Session Bean ( Stateless Bean )개발

Deployment Tool 을 이용하여 Deploy

EJB 기동 및 Test

이 과정에 대한 실습을 위해서는 아래 소프트웨어를 설치하여야 한다.

- Interstage Application Server Plus Developer V5.0.1 위의 제품을 설치하게 되면 WAS 인 Interstage Application Server 와 개발툴인 Apworks 가 설치된다. 로컬 PC 에서 개발 및 테스트가 가능하며, 실제 운영기기에 EJB Application 을 Remote 로 Deploy 할 수 있다.

개발자 PC 에 설치할 경우 필요한 O/S 사양은 다음과 같다.

No. Operating System Name Version, level

1 Windows NT(R) Server 4.0(*1)

2 Windows NT(R) Server, Enterprise Edition 4.0(*1)

3 Windows(R) 2000 Server -

4 Windows(R) 2000 Advanced Server -

5 Windows(R) 2000 Professional -

6 Windows(R) XP Professional -

Fujitsu 는 개발툴 표준 프레임워크 단체인 Eclipse 에 Board Member 로 참가하고 있으며 Apworks 또한 Eclipse 기반에 근거하고 있다.

2

Page 3: Interstage 5 –Apworks 를 이용한 EJB Application …...Interstage 5 –Apworks 를 이용한 EJB Application 개발가이드 한국후지쯔 Internet사업부 Revision History

< Stateless Session Bean의 작성 > APWORKS를 기동한다.( [시작] – [프로그램] – [Interstage Plus] – [Apworks] – [Apworks]) 1. [파일] – [신규] – [프로젝트] 메뉴 선택 -> Enterprise JavaBeans Project 프로젝트를 선택한다

3

Page 4: Interstage 5 –Apworks 를 이용한 EJB Application …...Interstage 5 –Apworks 를 이용한 EJB Application 개발가이드 한국후지쯔 Internet사업부 Revision History

2. 프로젝트 이름과 프로젝트 파일들이 위치할 폴더를 지정한다. ( HelloEJB 를 입력 ) ( 기본 위치 이외에도 원하는 위치를 지정할 수 있다. )

3. 프로젝트 정보를 세팅한다. 필요한 Java Library가 있다면 [라이브러리] 탭에서 추가한다.

4

Page 5: Interstage 5 –Apworks 를 이용한 EJB Application …...Interstage 5 –Apworks 를 이용한 EJB Application 개발가이드 한국후지쯔 Internet사업부 Revision History

4. Code Geneation 에 대한 여부를 선택하는 화면이다. 디폴트로 [완료] 버튼을 클릭한다.

5. 작성할 EJB의 유형을 선택하고, Package명과 EJB명을 입력한다.(패키지명 : packageHelloEJB EJB 명 : HelloEJB )

5

Page 6: Interstage 5 –Apworks 를 이용한 EJB Application …...Interstage 5 –Apworks 를 이용한 EJB Application 개발가이드 한국후지쯔 Internet사업부 Revision History

6. Transaction Management Type을 설정한다. ( ‘Container’를 선택 )

7. ejbCreate() 메서드를 설정하는 부분이다. 그냥 넘어간다.

6

Page 7: Interstage 5 –Apworks 를 이용한 EJB Application …...Interstage 5 –Apworks 를 이용한 EJB Application 개발가이드 한국후지쯔 Internet사업부 Revision History

8. 비즈니스 메서드를 추가하는 화면이다. 필요한 만큼 아래 과정을 반복하여 Business 메서드의 정의를 추가한다. Business 메서드는 개발자가 실질적으로 구현할 로직이 작성되는 부분이다 (‘add’버튼을 눌러 hello()라는 메서드를 추가한다.)

*)콤보 박스의 항목 이외에도 원하는 Return Type을 입력할 수 있다.

7

Page 8: Interstage 5 –Apworks 를 이용한 EJB Application …...Interstage 5 –Apworks 를 이용한 EJB Application 개발가이드 한국후지쯔 Internet사업부 Revision History

9. 소스가 생성된다. HelloEJBHome.java : 홈 인터페이스 HelloEJBRemote.java : Remote 인터페이스 HelloEJB.java : EJB ejb-jar.xml : ejb속성 정의 파일

10. HelloEJB.java 파일에 다음과 같은 소스 내용을 추가한다.

*소스 시나리오 – EJB의 환경 프로퍼티(ejb-jar.xml) 중 ‘LANG’이란 값을 읽어 각 경우에 대해 처리하는 로직을 구현한다.

(1) 소스 상단 부분에 JNDI관련 라이브러리를 import 하는 코딩 추가

import javax.naming.*; ….

(2) hello() 메서드 로직을 아래와 같이 작성한다.

…. public String hello() { System.out.println("hello Method called ========="); try { Context ic = new InitialContext(); String lang = (String)ic.lookup("java:comp/env/LANG"); if (lang.equalsIgnoreCase("KOREAN")) { return "안녕하십니까? EJB"; } else if (lang.equalsIgnoreCase("ENGLISH")) { return "Hello EJB"; } } catch (Exception e) { } return "???? EJB!!"; } ……

8

Page 9: Interstage 5 –Apworks 를 이용한 EJB Application …...Interstage 5 –Apworks 를 이용한 EJB Application 개발가이드 한국후지쯔 Internet사업부 Revision History

11. ejb-jar.xml파일에 Bean에 대한 환경 정의를 한다. Apworks화면의 좌측 패키지 탐색기의 Tree에서 ejb-jar.xml을 더블 클릭하여 내용을 변경한다. 여기에서는 HelloBean의 ‘Environment Property’ Tab에서 ‘LANG’ 환경 변수를 추가하고

‘KOREAN’이란 값을 Setting하였다. *Property Name : LANG *Type : java.lang.String *Value : KOREAN

12. 프로젝트를 Build한다. * [프로젝트] – [프로젝트 빌드] (단축 키는 F7 ) 이 때 프로젝트 폴더에 HelloEJB.jar파일이 작성되었음을 확인한다. 이렇게 Build된 jar파일은 각 WAS제품이 제공하는 방법을 통해서 Deploy될 수 있다. 여기에서는 Interstage의 J2EE Management Tool을 이용하는 방법과 EJB Deployment Wizard 를 이용하여 Interstage에 Deploy하는 2가지 방법을 설명한다.

9

Page 10: Interstage 5 –Apworks 를 이용한 EJB Application …...Interstage 5 –Apworks 를 이용한 EJB Application 개발가이드 한국후지쯔 Internet사업부 Revision History

< Client 개발 환경 설정 > 개발툴 Apworks 가 설치되어 있는 머신에 설치된 Interstage 형태가 Interstage Client Package 라면 아래 2가지 환경설정을 해주어야 한다.

(1) hosts 파일 설정 Interstage Server의 실제 호스트명과 IP를 기술한다.

Windows2000 의 경우 : c:\winnt/system32/drivers/etc/hosts Windows95/98의 경우 : c:\windows/hosts (파일이 없으면 새로 작성할 것)

……. 203.248.112.37 hostname

(2) C:\INTERSTAGE\ODWIN\etc\INITHOST 파일에 다음 내용을 기술한다.

hostname 8002 < 작성한 Bean의 디플로이 1 : J2EE Management Tool를 이용하는 방법 > 1. 메뉴에서 [실행] – [외부 도구] – [Interstage Operation Tool]을 기동한다. 해당 Interstage설치된 서버의 IP혹은 host명을 입력한다. (포트는 12000)

2. O/S 시스템 관리자 계정과 암호를 입력하고 로그인한다.

10

Page 11: Interstage 5 –Apworks 를 이용한 EJB Application …...Interstage 5 –Apworks 를 이용한 EJB Application 개발가이드 한국후지쯔 Internet사업부 Revision History

3. 로그인 한후 왼쪽 메뉴에서 J2EE Management Tool 을 클릭한다.

4. EJB를 Deploy할 IJServer를 선택하고 [Deploy/UnDeploy]를 클릭한다.

여기에서는 ‘MyServer’라는 이름의 IJServer에 EJB를 Deploy한다.

11

Page 12: Interstage 5 –Apworks 를 이용한 EJB Application …...Interstage 5 –Apworks 를 이용한 EJB Application 개발가이드 한국후지쯔 Internet사업부 Revision History

5. 해당 EJB에 대한 jar파일을 입력하고 ‘Deploy’버튼을 누른다. ( ‘Deploy’버튼 아래에 있는 ‘Start’버튼도 체크할 것 )

HelloEJB가 디플로이 되었음.

12

Page 13: Interstage 5 –Apworks 를 이용한 EJB Application …...Interstage 5 –Apworks 를 이용한 EJB Application 개발가이드 한국후지쯔 Internet사업부 Revision History

< 작성한 Bean의 디플로이 2 : J2EE Management Tool를 이용하는 방법 > 1. 메뉴에서 [실행] – [외부도구] - [EJB Deployment Wizard] 를 기동한다. ‘Next >’ 버튼을 누른다.

2. Deploy할 EJB 이름을 확인하고, ‘Next>’ 버튼을 클릭. 만약 해당 EJB에 대한 SOAP Service Application도 생성하려면 SOAP에 체크한다.

13

Page 14: Interstage 5 –Apworks 를 이용한 EJB Application …...Interstage 5 –Apworks 를 이용한 EJB Application 개발가이드 한국후지쯔 Internet사업부 Revision History

3. 디플로이를 위한 Server file과 Client파일이 생성되는 경로를 확인한 다음 ‘Deploy’버튼 클릭.

[ Server 파일 ] – EJB Application 의 설치파일을 만든다. 후에 개발 툴을 사용하지 않아도 이 디렉토리에 있는 파일만으로 EJB Container에 Deploy할 수 있다.

C:\INTERSTAGE\J2EE\var\deployment\deployed\ejb [ Client 파일 ] – EJB Client 용의 Stub 파일을 저장한다. 이 디렉토리의 경로는 Test Application 실행시 참조하여야 한다.

C:\INTERSTAGE\J2EE\var\deployment\deployed\distribute

4. Deployment파일 작성되었음을 확인한다.

14

Page 15: Interstage 5 –Apworks 를 이용한 EJB Application …...Interstage 5 –Apworks 를 이용한 EJB Application 개발가이드 한국후지쯔 Internet사업부 Revision History

5. Remote Install Deploy하는 방법은 다음 두 가지가 있다. (1) 리모트로 Interstage Server에 Install할 수 있다. - C:\INTERSTAGE\J2EE\var\deployment\deployed\ejb\HelloEJB 디렉토리를

Interstage 서버로 복사한 후 디렉토리내의 install.sh나 install.bat를 실행한다. (2) 3의 화면에서 ‘Remote Install 을 클릭하여 Remote로 설치한다.

Option 을 지정한다. (예 : -s [디플로이 할 IJServer명] )

시스템의 administrator 패스워드를 입력하여 Install한다. ( Solairs의 경우에는 root)

<주의 : 해당 IJServer를 종료한 후 실행해야 한다. > 5. Install된 EJB Application 정보는 다음과 같은 명령어로도 볼 수 있다. # ejbinfoapfolder -l path: C:\Interstage\J2EE\var\deployment\deployed\ejbapp name type ssl CartBean EB/stateful OFF HelloEJB EB/stateless OFF total 2 EJB application(s) entried

15

Page 16: Interstage 5 –Apworks 를 이용한 EJB Application …...Interstage 5 –Apworks 를 이용한 EJB Application 개발가이드 한국후지쯔 Internet사업부 Revision History

< 기동 > 기동방법에는 다음과 같이 3가지가 있다. 단, 먼저 Interstage가 기동되어 있어야 한다.

1. ejbdstarteb 명령어를 이용. 2. isstartwu 명령어를 이용. 3. J2EE Management Tool을 이용.

1. ejbdstarteb 명령어를 이용. ( # ejbstarteb –s [IJServer명] ) # ejbdstarteb -s MyServer 2. 워크유닛 기동명령어를 이용.

# isstartwu MyServer 3. J2EE Management Tool을 이용. ( ‘Start’ 버튼 클릭 )

16

Page 17: Interstage 5 –Apworks 를 이용한 EJB Application …...Interstage 5 –Apworks 를 이용한 EJB Application 개발가이드 한국후지쯔 Internet사업부 Revision History

< Test Application 작성 >

1. [파일] – [신규] – [프로젝트] 메뉴 선택 -> Pure Java Project 프로젝트를 선택한다

2. 프로젝트 명 입력 ( 예: TestHelloEJB )

17

Page 18: Interstage 5 –Apworks 를 이용한 EJB Application …...Interstage 5 –Apworks 를 이용한 EJB Application 개발가이드 한국후지쯔 Internet사업부 Revision History

3. 다음 화면의 ‘라이브러리’ 탭에서 ‘고급’ 버튼을 누른다.

4. 클래스 경로항목추가에서 Interstage J2EE Library 를 선택하고 ‘확인’버튼

18

Page 19: Interstage 5 –Apworks 를 이용한 EJB Application …...Interstage 5 –Apworks 를 이용한 EJB Application 개발가이드 한국후지쯔 Internet사업부 Revision History

5. ‘Call EJB application from J2EE Application Client’ 를 선택하고 ‘완료’ 버튼.

6. ‘라이브러리’ 탭에서 ‘Add External Folders’ 버튼을 누른 다음 다음 경로도 추가한다.

C:\INTERSTAGE\J2EE\var\deployment\deployed\distribute\HelloEJB\eb 주의) - orb.properties 파일이 각 JDK디렉토리의 \jre\lib 디렉토리로 복사되어 있는지 확인한다. C:\INTERSTAGE\EJB\etc\orb.properties 파일을 C:\APW\JBK3\jdk\jre\lib 디렉토리로 복사한다. Orb.properties파일에는 CORBA 관련 실제 구현 클래스의 이름이 지정되어 있다.

위의 파일을 복사하지 않으면, Apworks의 EJB Test Client 어플리케이션에서 EJB를 호출할 수 없다.

19

Page 20: Interstage 5 –Apworks 를 이용한 EJB Application …...Interstage 5 –Apworks 를 이용한 EJB Application 개발가이드 한국후지쯔 Internet사업부 Revision History

7. 다음 화면에서 ‘ EJB Test Client ‘ 를 선택하고 ‘완료’버튼을 클릭한다.

8. 패키지명과 자바 어플리케이션 명을 입력하고, Test할 EJB jar파일을 브라우징한다.

20

Page 21: Interstage 5 –Apworks 를 이용한 EJB Application …...Interstage 5 –Apworks 를 이용한 EJB Application 개발가이드 한국후지쯔 Internet사업부 Revision History

9. Client type 을 J2EE1.3 으로 선택한다.

10. 왼쪽의 패키지 탐색기에서 TestHelloEJB.java를 클릭한 다음 [실행] -> [실행도구] -> [Java응용 프로그램] 을 실행하고 콘솔에서 결과를 확인한다.

21

Page 22: Interstage 5 –Apworks 를 이용한 EJB Application …...Interstage 5 –Apworks 를 이용한 EJB Application 개발가이드 한국후지쯔 Internet사업부 Revision History

<부록(참조) : EJB 를 Access하는 jsp application 만들기 > 다음 소스를 참조하여, HelloEJB Bean을 호출하는 jsp어플리케이션을 만들 수 있다.

<%@ page contentType="text/html; charset=EUC-KR" %> <%@ page import ="javax.ejb.*,java.io.*" %> <%@ page import ="javax.naming.*" %> <%@ page import ="javax.rmi.*" %> <%@ page import ="PackageHelloEJB.*" %> <% javax.naming.Context ic = new javax.naming.InitialContext(); java.lang.Object obj = (Object)ic.lookup("java:comp/env/ejb/HelloEJB"); HelloEJBHome home = (HelloEJBHome)javax.rmi.PortableRemoteObject.narrow(obj,HelloEJBHome.class); try{ HelloEJBRemote eb = home.create(); String strHello = eb.hello(); out.println("HelloEJB Bean' return String : |" + strHello + "|"); eb.remove(); }catch (java.rmi.RemoteException e) { e.printStackTrace(); }catch (javax.ejb.CreateException e) { e.printStackTrace(); }catch(Exception e){ e.printStackTrace(); } out.println("Fighting"); %>

22

Page 23: Interstage 5 –Apworks 를 이용한 EJB Application …...Interstage 5 –Apworks 를 이용한 EJB Application 개발가이드 한국후지쯔 Internet사업부 Revision History

[ Entity Bean ]

< Test용 DB Table만들기 > Sample 을 위해 다음 형태대로 Table 을 만든다.

Schema SCOTT

Table MEMBER

NAME

ID

AGE Column

SALARY

Table 을 생성하는 DB Script 는 [Apworks 설치 디렉토리\etc\CreateOracle.sql 을 참조한다.

======================================== CREATE TABLE MEMBER ( NAME CHAR(20), ID NUMBER(5), AGE NUMBER(2), SALARY NUMBER(6), PRIMARY KEY(ID) )

======================================== The sections below explain how to create an entity bean, with an emphasis on special features of entity beans.

23

Page 24: Interstage 5 –Apworks 를 이용한 EJB Application …...Interstage 5 –Apworks 를 이용한 EJB Application 개발가이드 한국후지쯔 Internet사업부 Revision History

< Entity Bean 의 작성 > 1. [File]>[New]>[Project] 메뉴 선택하고 Enterprise JavaBeans Project 를 선택한다.

2. 프로젝트 이름을 지정한다. ( “EntityBean”)

24

Page 25: Interstage 5 –Apworks 를 이용한 EJB Application …...Interstage 5 –Apworks 를 이용한 EJB Application 개발가이드 한국후지쯔 Internet사업부 Revision History

3. 프로젝트 정보를 세팅한다. 필요한 Java Library가 있다면 [라이브러리] 탭에서 추가한다.

필요한 라이브러리를 추가한다. 추가한 Oracle JDBC드라이버는 나중에 Entity Bean 소스를 만들 때도 필요하다.

25

Page 26: Interstage 5 –Apworks 를 이용한 EJB Application …...Interstage 5 –Apworks 를 이용한 EJB Application 개발가이드 한국후지쯔 Internet사업부 Revision History

4. [Finish] 클릭

5. 만들고자 하는 Bean Type과 EJB명을 지정한다. 본 문서에서는 BMP에 대해 작성

26

Page 27: Interstage 5 –Apworks 를 이용한 EJB Application …...Interstage 5 –Apworks 를 이용한 EJB Application 개발가이드 한국후지쯔 Internet사업부 Revision History

6. Entity Bean에서 사용할 Data Source Name을 지정한다. ( 예: ORACLE )

27

Page 28: Interstage 5 –Apworks 를 이용한 EJB Application …...Interstage 5 –Apworks 를 이용한 EJB Application 개발가이드 한국후지쯔 Internet사업부 Revision History

7. Persistence Field 를 설정한다. 수동으로 입력할 경우에는 “Add”버튼을 누르고, DB스키마를 검색하여 자동입력하려면 “Browse DB…”을 클릭한다.

접속할 DB에 대한 정보를 입력한다.

28

Page 29: Interstage 5 –Apworks 를 이용한 EJB Application …...Interstage 5 –Apworks 를 이용한 EJB Application 개발가이드 한국후지쯔 Internet사업부 Revision History

원하는 Table을 선택한다.

Persistence field가 설정된 화면이며, 모든 사항은 수정 가능하다.

29

Page 30: Interstage 5 –Apworks 를 이용한 EJB Application …...Interstage 5 –Apworks 를 이용한 EJB Application 개발가이드 한국후지쯔 Internet사업부 Revision History

8. EjbCreate 를 설정하는 부분이다. [Next]클릭

9. Finder Method를 추가하는 부분이다. “Add”버튼을 누르고 표와 같이 finder메서드를 추가한다.

30

Page 31: Interstage 5 –Apworks 를 이용한 EJB Application …...Interstage 5 –Apworks 를 이용한 EJB Application 개발가이드 한국후지쯔 Internet사업부 Revision History

메서드 명 리턴 타입 파라미터 변수명 쿼리

ejbFindByAge java.util.Enumeration short age WHERE @AGE >= ?age?

ejbFindBySalary java.util.Collection long salary WHERE @SALARY >= ?salary?

EJB 스펙에서는 리턴 타입으로 Collection 타입을 사용하길 권장한다.

10. 위의 표 대로 ejbFindByAge method 를 설정하는 화면이다. 설정 후 OK 버튼 클릭.

Note

WHERE 절에서 컬럼명 앞에는 “@”표시, 변수명 앞과 뒤엔는 "?" 를 표시한다.

ejbFindBySalary 메서드도 위와 같은 방법으로 추가한다.

31

Page 32: Interstage 5 –Apworks 를 이용한 EJB Application …...Interstage 5 –Apworks 를 이용한 EJB Application 개발가이드 한국후지쯔 Internet사업부 Revision History

메서드가 모두 추가된 화면이다. [Next]버튼 클릭

11. Home메서드 추가화면이다. 그냥 “Next” 버튼 클릭.

32

Page 33: Interstage 5 –Apworks 를 이용한 EJB Application …...Interstage 5 –Apworks 를 이용한 EJB Application 개발가이드 한국후지쯔 Internet사업부 Revision History

12. 필요한 경우 Business 메서드를 추가한다. “Finish”버튼 클릭

”Finish”버튼을 클릭하게 되면 다음 소스들이 생성된다.

File name Description

ejb-jar.xml deployment descriptor file

MemberBmp.java Enterprise bean source

MemberBmpHome.java Home interface source

MemberBmpRemote.java Remote interface source

MemberBmpRecord.java Record class containing all persistence fields

MemberBmpPrimaryKey.java Primary key class

33

Page 34: Interstage 5 –Apworks 를 이용한 EJB Application …...Interstage 5 –Apworks 를 이용한 EJB Application 개발가이드 한국후지쯔 Internet사업부 Revision History

13. ejb-jar.xml 을 더블클릭 하여 수정한다.. 보통 entity bean 은 session bean 에서 호출되지만, Client Application 에서 바로 호출될 경우에는 transaction 속성을 [Required] 로 설정한다.

14. 프로젝트를 빌드한다. ( 앞의 Session Bean 만드는 방법 참조 )

15. EJB 를 Deploy 하고 기동한다. ( 앞의 Session Bean 만드는 방법 참조 )

※ JNDI Data Resource 등록 방법은 Interstage 운영 가이드를 참조한다.

34

Page 35: Interstage 5 –Apworks 를 이용한 EJB Application …...Interstage 5 –Apworks 를 이용한 EJB Application 개발가이드 한국후지쯔 Internet사업부 Revision History

[ Entity Bean 테스트 ]

1. [File]>[New]>[Project] 메뉴를 선택하여 “Pure Java Project”를 선택한다.

2. 프로젝트 명 설정

35

Page 36: Interstage 5 –Apworks 를 이용한 EJB Application …...Interstage 5 –Apworks 를 이용한 EJB Application 개발가이드 한국후지쯔 Internet사업부 Revision History

3. 다음 화면의 ‘라이브러리’ 탭에서 ‘고급’ 버튼을 누른다.

4. 클래스 경로항목추가에서 Interstage J2EE Library 를 선택하고 ‘확인’버튼

36

Page 37: Interstage 5 –Apworks 를 이용한 EJB Application …...Interstage 5 –Apworks 를 이용한 EJB Application 개발가이드 한국후지쯔 Internet사업부 Revision History

5. ‘Call EJB application from J2EE Application Client’ 를 선택하고 ‘완료’ 버튼.

6. ‘라이브러리’ 탭에서 ‘Add External Folders’ 버튼을 누른 다음 생성된 EntityBean.jar파일을 선택한다.

주의) - orb.properties 파일이 각 JDK디렉토리의 \jre\lib 디렉토리로 복사되어 있는지 확인한다. C:\INTERSTAGE\EJB\etc\orb.properties 파일을 C:\APW\JBK3\jdk\jre\lib 디렉토리로 복사한다. Orb.properties파일에는 CORBA 관련 실제 구현 클래스의 이름이 지정되어 있다.

위의 파일을 복사하지 않으면, Apworks의 EJB Test Client 어플리케이션에서 EJB를 호출할 수 없다.

37

Page 38: Interstage 5 –Apworks 를 이용한 EJB Application …...Interstage 5 –Apworks 를 이용한 EJB Application 개발가이드 한국후지쯔 Internet사업부 Revision History

7. 다음 화면에서 ‘ EJB Test Client ‘ 를 선택하고 ‘완료’버튼을 클릭한다.

8. 패키지명과 자바 어플리케이션 명을 입력하고, Test할 EJB jar파일을 브라우징한다.

38

Page 39: Interstage 5 –Apworks 를 이용한 EJB Application …...Interstage 5 –Apworks 를 이용한 EJB Application 개발가이드 한국후지쯔 Internet사업부 Revision History

9. Client type 을 J2EE1.3 으로 선택한다.

10. 소스를 다음과 같이 수정한다.

Modify the run method processing for EntityTest.java.

package sample; /** * @author * * To change this generated comment, edit the template variable "typecomment": * Window>Preferences>Java>Templates. * To enable and disable the creation of type comments go to * Window>Preferences>Java>Code Generation. */ public class EntityTest { public static boolean bDump; /** * run. * @param args */

39

Page 40: Interstage 5 –Apworks 를 이용한 EJB Application …...Interstage 5 –Apworks 를 이용한 EJB Application 개발가이드 한국후지쯔 Internet사업부 Revision History

public void run(java.lang.String[] args) { // To output operation result to the file, delete the comment marks. // try { // System.setOut(new java.io.PrintStream( // new java.io.FileOutputStream("log.txt"))); // } // catch (java.io.FileNotFoundException ex) { // ex.printStackTrace(); // System.exit(1); // } // When the operation result is unnecessary, false is set. bDump = true; MemberBmpClient eb1 = new MemberBmpClient(); MemberBmpRecord record = new MemberBmpRecord(); record.NAME = "Taro Fujitsu"; record.ID = 4; record.AGE = 31; record.SALARY = 500; eb1.create(record); eb1.findByAge((short)20); eb1.getRecord(); while(eb1.nextElement() != null) { eb1.getRecord(); } eb1.findBySalary((long)300); eb1.getRecord(); while(eb1.nextElement() != null) { eb1.getRecord(); } } /** * main. * @param args */ public static void main(java.lang.String[] args) { System.setProperty( "com.fujitsu.interstage.j2ee.DeploymentDescriptorClient", "C:\\APW\\eclipse\\workspace\\EntityTest\\src\\META-INF\\application-client.xml"); // System.setProperty("java.naming.factory.initial", // "com.fujitsu.interstage.ejb.jndi.FJCNCtxFactoryForClient"); System.setProperty( "java.naming.factory.initial", "com.fujitsu.interstage.j2ee.jndi.InitialContextFactoryForClient"); EntityTest object = new EntityTest(); object.run(args);

40

Page 41: Interstage 5 –Apworks 를 이용한 EJB Application …...Interstage 5 –Apworks 를 이용한 EJB Application 개발가이드 한국후지쯔 Internet사업부 Revision History

} /** * dump. * @param s */ public static void dump(String s) { if (bDump) { System.out.println(s); } } /** * dump. * @param s * @param obj */ public static void dump(String s, Object obj) { if (bDump) { if (obj instanceof sample.MemberBmpRemote) { sample.MemberBmpRemote data = (sample.MemberBmpRemote) obj; EntityTest.dump(s + "{"); EntityTest.dump(" }"); } else if (obj instanceof sample.MemberBmpRecord) { sample.MemberBmpRecord data = (sample.MemberBmpRecord) obj; EntityTest.dump(s + "{"); EntityTest.dump(" NAME=" + data.NAME); EntityTest.dump(" ID=" + data.ID); EntityTest.dump(" AGE=" + data.AGE); EntityTest.dump(" SALARY=" + data.SALARY); EntityTest.dump(" }"); } else if (obj instanceof sample.MemberBmpPrimaryKey) { sample.MemberBmpPrimaryKey data = (sample.MemberBmpPrimaryKey) obj; EntityTest.dump(s + "{"); EntityTest.dump(" ID=" + data.ID); EntityTest.dump(" }"); } else if (obj instanceof java.util.Enumeration) { java.util.Enumeration data = (java.util.Enumeration) obj; EntityTest.dump(s + "{"); EntityTest.dump(" }"); } else if (obj instanceof java.util.Collection) { java.util.Collection data = (java.util.Collection) obj; EntityTest.dump(s + "{"); EntityTest.dump(" }"); } }

41

Page 42: Interstage 5 –Apworks 를 이용한 EJB Application …...Interstage 5 –Apworks 를 이용한 EJB Application 개발가이드 한국후지쯔 Internet사업부 Revision History

} }

11. Test Client를 실행하여, 콘솔 창을 확인한다.

42