interstage 5 –apworks 를 이용한 ejb application …...interstage 5 –apworks 를 이용한...
TRANSCRIPT
![Page 1: Interstage 5 –Apworks 를 이용한 EJB Application …...Interstage 5 –Apworks 를 이용한 EJB Application 개발가이드 한국후지쯔 Internet사업부 Revision History](https://reader033.vdocuments.pub/reader033/viewer/2022043005/5f8d19324862aa61292f4a05/html5/thumbnails/1.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022043005/5f8d19324862aa61292f4a05/html5/thumbnails/2.jpg)
[ 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](https://reader033.vdocuments.pub/reader033/viewer/2022043005/5f8d19324862aa61292f4a05/html5/thumbnails/3.jpg)
< 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](https://reader033.vdocuments.pub/reader033/viewer/2022043005/5f8d19324862aa61292f4a05/html5/thumbnails/4.jpg)
2. 프로젝트 이름과 프로젝트 파일들이 위치할 폴더를 지정한다. ( HelloEJB 를 입력 ) ( 기본 위치 이외에도 원하는 위치를 지정할 수 있다. )
3. 프로젝트 정보를 세팅한다. 필요한 Java Library가 있다면 [라이브러리] 탭에서 추가한다.
4
![Page 5: Interstage 5 –Apworks 를 이용한 EJB Application …...Interstage 5 –Apworks 를 이용한 EJB Application 개발가이드 한국후지쯔 Internet사업부 Revision History](https://reader033.vdocuments.pub/reader033/viewer/2022043005/5f8d19324862aa61292f4a05/html5/thumbnails/5.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022043005/5f8d19324862aa61292f4a05/html5/thumbnails/6.jpg)
6. Transaction Management Type을 설정한다. ( ‘Container’를 선택 )
7. ejbCreate() 메서드를 설정하는 부분이다. 그냥 넘어간다.
6
![Page 7: Interstage 5 –Apworks 를 이용한 EJB Application …...Interstage 5 –Apworks 를 이용한 EJB Application 개발가이드 한국후지쯔 Internet사업부 Revision History](https://reader033.vdocuments.pub/reader033/viewer/2022043005/5f8d19324862aa61292f4a05/html5/thumbnails/7.jpg)
8. 비즈니스 메서드를 추가하는 화면이다. 필요한 만큼 아래 과정을 반복하여 Business 메서드의 정의를 추가한다. Business 메서드는 개발자가 실질적으로 구현할 로직이 작성되는 부분이다 (‘add’버튼을 눌러 hello()라는 메서드를 추가한다.)
*)콤보 박스의 항목 이외에도 원하는 Return Type을 입력할 수 있다.
7
![Page 8: Interstage 5 –Apworks 를 이용한 EJB Application …...Interstage 5 –Apworks 를 이용한 EJB Application 개발가이드 한국후지쯔 Internet사업부 Revision History](https://reader033.vdocuments.pub/reader033/viewer/2022043005/5f8d19324862aa61292f4a05/html5/thumbnails/8.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022043005/5f8d19324862aa61292f4a05/html5/thumbnails/9.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022043005/5f8d19324862aa61292f4a05/html5/thumbnails/10.jpg)
< 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](https://reader033.vdocuments.pub/reader033/viewer/2022043005/5f8d19324862aa61292f4a05/html5/thumbnails/11.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022043005/5f8d19324862aa61292f4a05/html5/thumbnails/12.jpg)
5. 해당 EJB에 대한 jar파일을 입력하고 ‘Deploy’버튼을 누른다. ( ‘Deploy’버튼 아래에 있는 ‘Start’버튼도 체크할 것 )
HelloEJB가 디플로이 되었음.
12
![Page 13: Interstage 5 –Apworks 를 이용한 EJB Application …...Interstage 5 –Apworks 를 이용한 EJB Application 개발가이드 한국후지쯔 Internet사업부 Revision History](https://reader033.vdocuments.pub/reader033/viewer/2022043005/5f8d19324862aa61292f4a05/html5/thumbnails/13.jpg)
< 작성한 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](https://reader033.vdocuments.pub/reader033/viewer/2022043005/5f8d19324862aa61292f4a05/html5/thumbnails/14.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022043005/5f8d19324862aa61292f4a05/html5/thumbnails/15.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022043005/5f8d19324862aa61292f4a05/html5/thumbnails/16.jpg)
< 기동 > 기동방법에는 다음과 같이 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](https://reader033.vdocuments.pub/reader033/viewer/2022043005/5f8d19324862aa61292f4a05/html5/thumbnails/17.jpg)
< Test Application 작성 >
1. [파일] – [신규] – [프로젝트] 메뉴 선택 -> Pure Java Project 프로젝트를 선택한다
2. 프로젝트 명 입력 ( 예: TestHelloEJB )
17
![Page 18: Interstage 5 –Apworks 를 이용한 EJB Application …...Interstage 5 –Apworks 를 이용한 EJB Application 개발가이드 한국후지쯔 Internet사업부 Revision History](https://reader033.vdocuments.pub/reader033/viewer/2022043005/5f8d19324862aa61292f4a05/html5/thumbnails/18.jpg)
3. 다음 화면의 ‘라이브러리’ 탭에서 ‘고급’ 버튼을 누른다.
4. 클래스 경로항목추가에서 Interstage J2EE Library 를 선택하고 ‘확인’버튼
18
![Page 19: Interstage 5 –Apworks 를 이용한 EJB Application …...Interstage 5 –Apworks 를 이용한 EJB Application 개발가이드 한국후지쯔 Internet사업부 Revision History](https://reader033.vdocuments.pub/reader033/viewer/2022043005/5f8d19324862aa61292f4a05/html5/thumbnails/19.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022043005/5f8d19324862aa61292f4a05/html5/thumbnails/20.jpg)
7. 다음 화면에서 ‘ EJB Test Client ‘ 를 선택하고 ‘완료’버튼을 클릭한다.
8. 패키지명과 자바 어플리케이션 명을 입력하고, Test할 EJB jar파일을 브라우징한다.
20
![Page 21: Interstage 5 –Apworks 를 이용한 EJB Application …...Interstage 5 –Apworks 를 이용한 EJB Application 개발가이드 한국후지쯔 Internet사업부 Revision History](https://reader033.vdocuments.pub/reader033/viewer/2022043005/5f8d19324862aa61292f4a05/html5/thumbnails/21.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022043005/5f8d19324862aa61292f4a05/html5/thumbnails/22.jpg)
<부록(참조) : 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](https://reader033.vdocuments.pub/reader033/viewer/2022043005/5f8d19324862aa61292f4a05/html5/thumbnails/23.jpg)
[ 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](https://reader033.vdocuments.pub/reader033/viewer/2022043005/5f8d19324862aa61292f4a05/html5/thumbnails/24.jpg)
< 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](https://reader033.vdocuments.pub/reader033/viewer/2022043005/5f8d19324862aa61292f4a05/html5/thumbnails/25.jpg)
3. 프로젝트 정보를 세팅한다. 필요한 Java Library가 있다면 [라이브러리] 탭에서 추가한다.
필요한 라이브러리를 추가한다. 추가한 Oracle JDBC드라이버는 나중에 Entity Bean 소스를 만들 때도 필요하다.
25
![Page 26: Interstage 5 –Apworks 를 이용한 EJB Application …...Interstage 5 –Apworks 를 이용한 EJB Application 개발가이드 한국후지쯔 Internet사업부 Revision History](https://reader033.vdocuments.pub/reader033/viewer/2022043005/5f8d19324862aa61292f4a05/html5/thumbnails/26.jpg)
4. [Finish] 클릭
5. 만들고자 하는 Bean Type과 EJB명을 지정한다. 본 문서에서는 BMP에 대해 작성
26
![Page 27: Interstage 5 –Apworks 를 이용한 EJB Application …...Interstage 5 –Apworks 를 이용한 EJB Application 개발가이드 한국후지쯔 Internet사업부 Revision History](https://reader033.vdocuments.pub/reader033/viewer/2022043005/5f8d19324862aa61292f4a05/html5/thumbnails/27.jpg)
6. Entity Bean에서 사용할 Data Source Name을 지정한다. ( 예: ORACLE )
27
![Page 28: Interstage 5 –Apworks 를 이용한 EJB Application …...Interstage 5 –Apworks 를 이용한 EJB Application 개발가이드 한국후지쯔 Internet사업부 Revision History](https://reader033.vdocuments.pub/reader033/viewer/2022043005/5f8d19324862aa61292f4a05/html5/thumbnails/28.jpg)
7. Persistence Field 를 설정한다. 수동으로 입력할 경우에는 “Add”버튼을 누르고, DB스키마를 검색하여 자동입력하려면 “Browse DB…”을 클릭한다.
접속할 DB에 대한 정보를 입력한다.
28
![Page 29: Interstage 5 –Apworks 를 이용한 EJB Application …...Interstage 5 –Apworks 를 이용한 EJB Application 개발가이드 한국후지쯔 Internet사업부 Revision History](https://reader033.vdocuments.pub/reader033/viewer/2022043005/5f8d19324862aa61292f4a05/html5/thumbnails/29.jpg)
원하는 Table을 선택한다.
Persistence field가 설정된 화면이며, 모든 사항은 수정 가능하다.
29
![Page 30: Interstage 5 –Apworks 를 이용한 EJB Application …...Interstage 5 –Apworks 를 이용한 EJB Application 개발가이드 한국후지쯔 Internet사업부 Revision History](https://reader033.vdocuments.pub/reader033/viewer/2022043005/5f8d19324862aa61292f4a05/html5/thumbnails/30.jpg)
8. EjbCreate 를 설정하는 부분이다. [Next]클릭
9. Finder Method를 추가하는 부분이다. “Add”버튼을 누르고 표와 같이 finder메서드를 추가한다.
30
![Page 31: Interstage 5 –Apworks 를 이용한 EJB Application …...Interstage 5 –Apworks 를 이용한 EJB Application 개발가이드 한국후지쯔 Internet사업부 Revision History](https://reader033.vdocuments.pub/reader033/viewer/2022043005/5f8d19324862aa61292f4a05/html5/thumbnails/31.jpg)
메서드 명 리턴 타입 파라미터 변수명 쿼리
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](https://reader033.vdocuments.pub/reader033/viewer/2022043005/5f8d19324862aa61292f4a05/html5/thumbnails/32.jpg)
메서드가 모두 추가된 화면이다. [Next]버튼 클릭
11. Home메서드 추가화면이다. 그냥 “Next” 버튼 클릭.
32
![Page 33: Interstage 5 –Apworks 를 이용한 EJB Application …...Interstage 5 –Apworks 를 이용한 EJB Application 개발가이드 한국후지쯔 Internet사업부 Revision History](https://reader033.vdocuments.pub/reader033/viewer/2022043005/5f8d19324862aa61292f4a05/html5/thumbnails/33.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022043005/5f8d19324862aa61292f4a05/html5/thumbnails/34.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022043005/5f8d19324862aa61292f4a05/html5/thumbnails/35.jpg)
[ 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](https://reader033.vdocuments.pub/reader033/viewer/2022043005/5f8d19324862aa61292f4a05/html5/thumbnails/36.jpg)
3. 다음 화면의 ‘라이브러리’ 탭에서 ‘고급’ 버튼을 누른다.
4. 클래스 경로항목추가에서 Interstage J2EE Library 를 선택하고 ‘확인’버튼
36
![Page 37: Interstage 5 –Apworks 를 이용한 EJB Application …...Interstage 5 –Apworks 를 이용한 EJB Application 개발가이드 한국후지쯔 Internet사업부 Revision History](https://reader033.vdocuments.pub/reader033/viewer/2022043005/5f8d19324862aa61292f4a05/html5/thumbnails/37.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022043005/5f8d19324862aa61292f4a05/html5/thumbnails/38.jpg)
7. 다음 화면에서 ‘ EJB Test Client ‘ 를 선택하고 ‘완료’버튼을 클릭한다.
8. 패키지명과 자바 어플리케이션 명을 입력하고, Test할 EJB jar파일을 브라우징한다.
38
![Page 39: Interstage 5 –Apworks 를 이용한 EJB Application …...Interstage 5 –Apworks 를 이용한 EJB Application 개발가이드 한국후지쯔 Internet사업부 Revision History](https://reader033.vdocuments.pub/reader033/viewer/2022043005/5f8d19324862aa61292f4a05/html5/thumbnails/39.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022043005/5f8d19324862aa61292f4a05/html5/thumbnails/40.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022043005/5f8d19324862aa61292f4a05/html5/thumbnails/41.jpg)
} /** * 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](https://reader033.vdocuments.pub/reader033/viewer/2022043005/5f8d19324862aa61292f4a05/html5/thumbnails/42.jpg)
} }
11. Test Client를 실행하여, 콘솔 창을 확인한다.
42