시작하기
본 부록에서는 ProObject Studio를 사용해서 DO, DOF, BO, SO를 생성한 서비스를 등록하고 테스트하는 과정에 대해서 설명한다.
1. DataObject(DO) 생성
다음은 DO를 생성하는 과정에 대한 설명이다.
-
Package Explorer의 컨텍스트 메뉴에서 [New] > [DataObject]를 선택한다.
DO 생성 -
New Data Object 화면에서 프로젝트를 선택한 후 DataObject 정보를 입력한다. 각 항목을 입력한 후 [Finish] 버튼을 클릭한다.
New Data Object 화면DO 디자인 화면에서 Package Explorer의 meta 아래 '{물리명}.dto', .gen_src_dto 아래 '{물리명}.java’가 정상적으로 추가되었는지 확인한다.
DO 디자인 화면 -
MetaData View에서 DO의 필드에 추가할 메타를 검색한다. 메타는 사전에 등록되어 있어야하며, ProManager에서 등록할 수 있다.
MetaData view 화면검색한 메타들을 드래그 앤 드롭 방식 또는 더블클릭으로 메타들을 추가한다.
메타 추가 후 DataObject 에디터 화면
2. DataObject Factory(DOF) 생성
다음은 DOF를 생성하는 과정에 대한 설명이다.
-
Package Explorer의 컨텍스트 메뉴에서 [New] > [DataObject Factory]를 선택한다.
Data Object Factory생성 -
New DataObject Factory 화면에서 프로젝트를 선택 후 각 항목을 입력한 후 [Finish] 버튼을 클릭한다.
New DataObject Factory 화면아래의 화면과 같이 DOF가 생성된 것을 확인할 수 있다.
초기 DOF 화면DOF를 이용하기 위해서는 Target DO 선택, 스키마 선택, 쿼리 작성 의 작업이 추가적으로 진행되어야 한다.
3. BizObject(BO) 생성
다음은 BO를 생성하는 과정에 대한 설명이다.
-
Package Explorer의 컨텍스트 메뉴에서 [New] > [BizObject]를 선택한다.
BizObject 생성 -
New BizObject 화면의 각 항목을 입력한 후 [Finish] 버튼을 클릭한다.
New BizObject 화면아래의 화면과 같이 BO가 생성된 것을 확인할 수 있다.
초기 BizObject 화면 -
생성한 BO에 이전에 생성한 DOF 모듈을 추가해야 한다.
-
DOF를 모듈을 추가하기 위해서는 멤버 변수를 추가해야한다. 멤버 변수를 추가하기 위해서는 Member Variables의 [+]를 클릭한 후 이전에 생성한 DOF를 검색한 후 추가한다.
Member Variables 추가 화면 (1)DOF를 추가하면 DO factory ‘DO factory 변수 선언’에서 확인이 가능하며 사용할 데이터소스를 선택한다.
Member Variables 추가 화면 (2)다음은 멤버 변수를 추가했을 때의 화면이다.
Member Variables 추가 후 화면 -
메소드를 생성하고, ServiceObject에서 입력 받은 값을 받아와 처리해 그 값을 다시 반환하도록 설정한다. Methods의 [+]를 클릭한 후 기본 정보를 설정한다.
Methods 추가 화면 (1)메서드 정의 화면에서 각 항목을 입력한 후 [OK] 버튼을 클릭한다.
Methods 추가 화면 (2)다음은 메소드를 추가한 후의 화면이다.
Methods 추가 후 결과 화면추가된 메소드의 Properties에서 리턴 타입의 변경이 필요하며, 추가적으로 값을 받아오기 위한 매개변수를 추가하는 작업이 필요하다.
Method Property 화면 -
EMB Designer의 좌측 Palette에서 모듈을 추가한다. DOF를 추가하기 위해서는 Palette에서 를 클릭하고, 를 드래그 앤드 드롭해서 디자인 화면에 넣는다.
디자인 에디터 DOF 모듈 추가 화면 (1)디자인 에디터 DOF 모듈 추가 화면 (2)추가한 DOF Properties에는 'Query 타입'을 'FULL’로 선택한 후 'Query 선택' 항목을 택하면 'SQL 종류'가 자동으로 설정된다.
DOF 모듈 Properties 화면추가한 모듈에 조회 파라미터를 매핑하기 위해 모듈에 마우스를 이동하고 버튼을 클릭한다.
파라미터 매핑 화면조회 파라미터를 매핑할 경우 이에 대한 결과는 소스 영역에서 확인할 수 있다. 필요에 따라 결과값도 동일하게 사용한다.
-
[SELECT]
마지막으로 메소드의 반환값을 작성한다.
파라미터를 매핑하는 방법은 쿼리 종류마다 약간의 차이가 있으며, 상황에 따라 변경해서 사용한다.
-
[INSERT]
-
[UPDATE]
-
[DELETE]
-
-
4. ServiceObject(SO) 생성
다음은 ServiceObject(SO)를 생성하는 과정에 대한 설명이다.
-
Package Explorer의 컨텍스트 메뉴에서 [New] > [ServiceObject]를 선택한다.
ServiceObject 생성 -
SO의 경우 다른 메타와는 달리 in/output DO를 등록해야 한다.
New ServiceObject 화면 -
SO를 생성한 후 을 클릭해서 메소드를 추가한다.
비구현 메소드 추가 화면 (1)다음은 메소드를 추가한 결과 화면이다.
비구현 메소드 추가 화면 (2) -
BO Member 변수를 추가하려면 [+]를 클릭한다. 다음의 화면에서 [Object 타입] 탭을 선택한 후 이전에 생성했던 BO를 검색한 후 추가한다.
멤버 변수 추가 (1)다음과 같이 변수가 추가된 것을 확인할 수 있다.
멤버 변수 추가 (2) -
service 메소드를 더블클릭하여 디자인 화면으로 이동한다. 디자인 화면에서 을 클릭한 후 BO 모듈을 추가한다.
디자인 - BO 모듈 추가입력 받은 값을 BO에 전달하고, BO에서 처리한 값을 다시 받아오게 해야 한다. 추가한 BO 모듈의 을 클릭하여 해당 작업을 진행할 수 있다.
리턴 값 - 인자값 추가 -
마지막으로 버추얼 모듈을 추가하여, 반환 값을 작성한다.
버추얼 모듈 추가버추얼 모듈 반환 값 추가
5. 서비스 등록(Generate Application DD)
만든 서비스를 PO 런타임에서 돌리기 위해 서비스를 등록해야 한다. 등록할 SO를 선택한 후 컨텍스트 메뉴에서 [프로오브젝트] > [Generate Application DD]를 선택한다.
등록한 SO에 대한 정보는 [META-INF]의 servicegroup.xml에 반영된다.
6. 서비스 테스트
다음은 서비스 테스트 하는 방법에 대한 설명이다. 서비스 테스트는 스튜디오와 ProManager에서 진행할 수 있다(ProManager로 테스트하는 방법은 HotDeploy 및 Servcie Test를 참고한다).
-
서비스 테스트를 진행해 주기 위해서는 테스트 케이스를 만든다. 업무 트리에서 [Service Test]를 선택한 후 [Next] 버튼을 클릭한다.
Service Test 생성 (1) -
새 프로오브젝트 테스트 케이스 화면에서 테스트할 서비스 오브젝트(SO)를 선택하고, 테스트 케이스 정보를 각각 작성한다.
Service Test 생성 (2) -
생성된 테스트 케이스는 Pakckage Exploer의 [test] > [src]에서 확인할 수 있다.
테스트 케이스 - 일반 화면 -
서비스 테스트를 디버그 모드로 실행을 클릭하면 서비스 테스트가 실행되며, DB Commit을 체크하고 실행할 경우 실제로 DB에 값이 들어가는지 확인할 수 있다. 만약 입력할 데이터가 있다면 [테스트 데이터] 탭을 선택하면 다음과 같이 필드에 값을 넣고 테스트할 수 있는 화면으로 이동한다.
테스트 케이스 - 테스트 데이터 화면 -
테스트 결과는 [테스트 결과] 탭에서 확인할 수 있다.
테스트 케이스 - 테스트 결과 화면 -
다음은 생성한 서비스를 테스트하기 위해 입력값을 넣고 수행한 결과이다.
테스트 케이스 - 테스트 결과1의 경우는 [테스트 데이터] 탭에서 입력값에 대한 내용이며, 2의 경우 DOF에서 설정한 쿼리가 입력 받은 값을 반영한 결과이다.