이 장에서는 GUI 에디터를 이용하여 하나의 서비스에 해당하는 로직을 다이어그램으로 Graphical하게 표현하는 Automation 모델 개발 방법에 대해 설명하고, 실제로 데이터를 수집 및 가공하는 여러 서비스를 이용하여 개발하는 방법에 대해 설명합니다.
X-UP 모델 개발단계는 다음과 같습니다.
X-UP Builder를 이용하여 모델을 개발한다.
X-UP Builder에서 개발된 모델을 테스트한다.
개발된 모델을 X-UP Builder의 deploy 기능을 이용하여 X-UP 서버에 배치시킨다.
X-UP 테스트 웹 페이지에서 배치된 모델을 테스트한다.
Automation 모델에서 사용하는 Invoke를 통해 데이터 소스로부터 데이터를 획득합니다.
각각의 Invoke는 모듈 단위 처리가 가능하며 복수개의 Invoke를 통하여 모델을 구성할 수 있습니다.
이 장의 구성은 다음과 같습니다.
SAP RFC Invoke를 이용한 모델 개발하기
Select Invoke를 이용한 모델 개발하기
Modify Invoke를 이용한 모델 개발하기
Procedure Invoke를 이용한 모델 개발하기
OpenApi Invoke를 이용한 모델 개발하기
X-UP Invoke를 이용한 모델 개발하기
Visual Cobol Invoke를 이용한 모델 개발하기
DataSet Row Loop Function을 이용하여 데이터 가공하기
Merge Function을 이용하여 데이터 가공하기
Quick Merge Function을 이용하여 데이터 가공하기
XML Parser Function을 이용하여 데이터 가공하기
SAP RFC Invoke를 이용한 모델 개발하기
이 절에서는 SAP RFC Function을 이용한 모델 개발방법을 설명합니다.
이 절에서 설명하는 Automation 모델의 SAP RFC Invoke 개발단계는 다음과 같습니다.
X-UP 프로젝트 생성하기
Automation 모델 생성 및 SAP RFC Invoke 생성 하기
데이터 소스 생성 및 Properties 설정 하기
Invoke 테스트하기
모델 테스트하기
X-UP 프로젝트 생성하기
[File > New > X-UP Project] 메뉴를 선택하여 New X-UP Project Wizard를 실행합니다.
New X-UP Project Wizard에서 Project name 필드에 원하는 프로젝트 이름을 입력하고 ‘Finish’ 버튼을 클릭합니다.
X-UP Explorer에 아래와 같이 X-UP 프로젝트가 생성된 것을 확인합니다.
Automation 모델 생성 및 SAP RFC Invoke 생성하기
[File > New > X-UP Automation Model] 메뉴를 선택하여 New Model Wizard를 실행합니다.
New Model Wizard에서 Model Name 필드에 원하는 모델 이름을 입력하고 OK 버튼을 클릭합니다.
New Model Wizard가 완료 후 나타나는 화면은 아래와 같습니다.
Palette 의 Invoke 중 ‘SAP RFC’를 선택하고 에디터를 클릭하게 되면 SAP RFC Invoke가 생성 됩니다.
데이터소스 생성 및 Properties 설정하기
생성 된 SAP RFC Invoke를(1) 더블클릭 하거나 ‘Properties’ 탭을 클릭하여 ‘SAP RFC icon’[ ](2)을 클릭하면 위자드가 실행 됩니다.
Invoke SAP RFC 위자드에서 create new DataSource []를 클릭합니다.
New DataSource 페이지에서 새로운 데이터소스를 정의합니다. 아래와 같이 각 필드 값을 입력한 후 ‘Test Connection’ 버튼을 선택하여 DataSource와 연결이 정상적으로 맺어지는지 확인합니다.
Connection 확인 후에 ‘Finish’ 버튼을 클릭합니다.
Field Name | Field Value |
---|---|
Name | ‘SAP RFC’ 데이터소스 이름으로 다른 데이터소스 이름과 중복되지 않는 값을 입력합니다. |
ID | SAP RFC 서버 접속 ID |
PASSWORD | SAP RFC 서버 접속 PASSWORD |
Client | 로그인 계정에서 사용할 client 정보 |
Host Name | 서버의 IP |
System Number | 로그인 계정에서 사용 할 System Number 정보 |
Repository | 로그인 계정에서 사용할 Repository 정보 |
Charset | 사용할 charset |
Timeout | 서버와의 접속을 유지할 최대 시간 |
DataSource를 SAP RFC을 선택하고 get function list 버튼 [] 을 클릭하여 서버에 등록된 Function 리스트를 호출 합니다.
그룹(function) 검색 시 * 검색이 가능 합니다.
검색된 function 리스트 중 호출하고자 하는 function을 선택(1) 하면 해당 function의 입력 파라메터와 출력 파라메터의 정보를 확인(2) 할 수 있습니다.
동시에 SAP RFC 파라메터 형태를 X-UP Parameter 형태(3)로 나타납니다.
Test 버튼(4)을 클릭하여 생성된 Define Input Value 위자드의 입력 파라메터의 값을 설정하고 ‘Finish’ 버튼을 클릭하여 정상적으로 데이터가 표시되는지 확인합니다.
OK 버튼을 클릭할 경우 입력 파라메터와 출력 파라메터가 생성된 것을 확인할 수 있습니다.
Invoke 테스트하기
생성된 SAP RFC Invoke입니다. Invoke의 테스트 결과를 바탕으로 입력 파라메터와 출력 파라메터가 생성됩니다.
SAP RFC Invoke의 Properties의 ‘InvokeInfo’를 선택하고 [ ] 를 클릭하여 테스트를 진행합니다.
Define Input Value 위자드가 생성되면 Properties 설정 시 입력한 테스트 값을 입력하고 "Finish" 버튼을 클릭합니다.
테스트가 성공적으로 완료되면 Test Result 에서 결과를 확인할 수 있습니다.
모델 테스트하기
모델 에디터에서 마우스를 오른쪽 클릭하면 팝업 메뉴가 나타납니다. 팝업 메뉴에서 Test를 선택하면 모델을 테스트 할 수 있습니다.
테스트가 끝나면 모델의 출력을 Result ParameterSet 뷰에서 보여줍니다.
Test 버튼을 누르면 Result ParameterSet에 결과가 출력됩니다.
Select Invoke를 이용한 모델 개발하기
이 절에서는 Automation 모델을 이용하여 데이터베이스로부터 Select 쿼리로 데이터를 획득하는 개발방법에 대하여 설명합니다.
이 절에서 사용한 데이터베이스 테이블 정보는 예제 DB 테이블 생성 스크립트를 참조하십시오.
이 절에서 설명하는 Automation 모델의 Select Invoke 개발단계는 다음과 같습니다.
X-UP 프로젝트 생성하기
Automation 모델을 생성 및 Select Invoke 생성하기
입력 파라메터 설정 및 Properties 설정하기(SQL 변경)
Invoke 테스트하기
모델 테스트하기
X-UP 프로젝트 생성하기
[File > New > X-UP Project] 메뉴를 선택하여 New X-UP Project Wizard를 실행합니다.
New X-UP Project Wizard에서 Project name 필드에 원하는 프로젝트 이름을 입력하고 ‘Finish’ 버튼을 클릭합니다.
X-UP Explorer에 아래와 같이 X-UP 프로젝트가 생성된 것을 확인합니다.
Automation 모델 생성 및 Select Invoke 생성하기
[File > New > X-UP Automation Model] 메뉴를 선택하여 New Model Wizard를 실행합니다.
New Model Wizard에서 Model Name 필드에 모델 이름을 입력하고 OK 버튼을 클릭합니다.
New Model Wizard가 완료 후 나타나는 화면은 아래와 같습니다.
화면 우측의 X-UP DataSource 뷰에서 new DataSource를 선택해 Wizard를 실행합니다.
New DataSource 위자드에서 새로운 데이터소스를 정의합니다. 아래와 같이 각 필드 값을 입력한 후 ‘Test Connection’버튼을 선택하여 DataSource와 연결이 정상적으로 맺어지는지 확인합니다.
Connection 확인 후에 ‘Finish’ 버튼을 클릭합니다.
Field Name | Field Value |
---|---|
Name | ‘DB_ORACLE’ 데이터소스 이름으로 다른 데이터소스 이름과 중복되지 않는 값을 입력합니다. |
DBMS | 사용할 데이터베이스 시스템을 선택합니다. 이 예제는 ‘Oracle’를 사용합니다. |
Connection URL | JDBC Connection String을 입력합니다. |
User ID | 데이터베이스 사용자 ID를 입력합니다. |
User PW | 데이터베이스 사용자 암호를 입력합니다. |
Database | 사용할 데이터베이스의 이름을 입력합니다. |
Charset | ‘UTF-8’ 문자 인코딩에 대한 값을 입력합니다. |
Timeout(msec) | ‘10000’ 서버와의 접속을 유지할 최대 시간 |
ConnectionPool MaxActive | ‘30’ 사용하는 커넥션 최대수 |
ConnectionPool MaxIdle | ‘30’ 사용하지 않는 커넥션의 최대수 |
ConnectionPool maxWait | ‘5000’ 커넥션을 열기 위해 최대 기다리는 시간 |
X-UP DataSource 뷰에서 DataSource []를 선택 해 테이블 목록을 가져옵니다.
가져온 테이블 목록에서 ‘ADDRESS_BOOK’ 테이블을 선택하여 에디터로 드래그 앤 드롭합니다.
Select Invoke와 Modify Invoke 중 Select Invoke를 하면 Select Invoke 가 생성됩니다.
또는 Palette 의 Invoke 중 Select Invoke를 선택하고 에디터를 클릭 하게 되면 Select Invoke를 생성할 수 있습니다.
생성된 Select Invoke 기본적으로 데이터셋 을 출력 파라메터로 가지게 됩니다.
그리고 생성된 SQL문은 모든 컬럼을 where 절 없이 조회하는 Select SQL 입니다.
입력 파라메터 설정 및 Properties 설정하기(SQL 변경)
이번 단계에서는 입력 파라메터를 정의하는 것과 데이터소스로부터 데이터를 획득하기 위해 필요한 정보를 입력하는 Properties를 설정 합니다.
데이터셋을 입력 파라메터로 설정 할 경우 첫번째 행의 값이 설정됩니다.
Palette의 DataSet (1)를 선택 후 에디터를 클릭(2)하면 데이터셋이 생성 됩니다.
생성 된 데이터셋 의 기본 명칭은 ‘dataset + index’ 입니다. 이름과 Alias를 IN_DS로 변경(3)합니다.
변경된 데이터셋 을 Palette 의 Connect(1)를 이용하여 Select Invoke 와 연결(2)합니다.
연결할 경우 데이터셋의 아이콘이 파란색으로 변경되며 입력으로 필요한 파라매터가 됩니다.
Properties의 ‘InOut’ 탭을 통해 ‘in’ 으로 변경된 것(3)을 확인할 수 있습니다.
Output으로 나오는 데이터셋은 OUT_DS로 Alias와 이름을 바꾸고, ‘out’으로 선택합니다.
데이터셋 파라메터의 사용 시 Alias와 Name의 구분
Alias : 사용자가 원하는 별칭을 정의합니다. 한글 입력도 가능합니다.
Name : 데이터셋의 이름을 정의합니다. 에디터상에서 다른 파라메터와 중복되지 않는 이름으로 영어로만 정의합니다.
개발 시 에디터 화면에서 보이는 것은 Alias 이나, 자바코드 및 소스 제너레이션 시 실제로 구분되어지는 것은 Name입니다.
그리고 IN_DS 데이터셋을 선택해 Properties의 ‘Schema’를 선택하여 ID를 추가 하고 데이터의 Type을 지정합니다.
Select Invoke를 더블클릭 하면 자동으로 생성 된 SQL문을 수정할 수 있습니다. 예제는 IN_DS의 ID를 입력변수로 받아서 주소록 테이블(ADDRESS_BOOK)을 조회합니다. 조회 시 ID가 Null이 아닐 경우 입력변수로 받은 ID 만을 조회 합니다.
$r_title(수정 전) select ID, NAME, COMPANY, EMAIL, PHONE, BIRTHDAY, NOTES from MIMASHUP.ADDRESS_BOOK
$r_title(수정 후) select ID, NAME, COMPANY, EMAIL, PHONE, BIRTHDAY, NOTES from ADDRESS_BOOK <dynamic prepend="where"> <isNotNull property="IN_DS.ID"> ID = #IN_DS.ID# </isNotNull> </dynamic>
Invoke 테스트하기
Select Invoke의 Properties InvokeInfo에 보이는 SQL뷰의 우측 상단의 preview 버튼[]을 클릭합니다. Define Test Value 창에서 Row를 추가하여 ‘5’를 입력하고 ‘Finish’ 버튼을 클릭합니다.
Result ParameterSet 뷰에 테스트 결과값이 표시됩니다
모델 테스트하기
모델 에디터에서 마우스를 오른쪽 클릭하면 팝업 메뉴가 나타납니다. 팝업 메뉴에서 Test를 선택하면 모델을 테스트 할 수 있습니다.
테스트가 끝나면 모델의 출력을 Result ParameterSet 뷰 에서 보여줍니다.
Result ParameterSet 뷰의 하단 탭에는 Parameters와 DataSets의 탭이 있습니다. 출력 파라메터로는 ‘OUT_DS’이라는 이름의 데이터셋이 존재하는 것을 확인 할 수 있습니다.
Modify Invoke를 이용한 모델 개발하기
이 절에서는 Automation 모델을 이용하여 데이터베이스의 데이터를 변경하는 개발방법을 설명합니다.
이 절에서 사용한 데이터베이스 테이블 정보는 예제 DB 테이블 생성 스크립트를 참조하십시오.
이 절에서 설명하는 Automation 모델의 Modify Invoke 개발단계는 다음과 같습니다.
X-UP 프로젝트 생성하기
Automation 모델을 생성 및 select Invoke 생성하기
입력 파라메터 설정 및 Properties 설정하기
Invoke 테스트하기
모델 테스트하기
X-UP 프로젝트 생성하기
[File > New > X-UP Project] 메뉴를 선택하여 New X-UP Project Wizard를 실행합니다.
New X-UP Project Wizard에서 Project name 필드에 원하는 프로젝트 이름을 입력하고 ‘Finish’ 버튼을 클릭합니다.
X-UP Explorer에 아래와 같이 X-UP 프로젝트가 생성된 것을 확인합니다.
Automation 모델 생성 및 Modify Invoke 생성하기
[File > New > X-UP Automation Model] 메뉴를 선택하여 New Model Wizard를 실행합니다.
New Model Wizard에서 Model Name 필드에 모델 이름을 입력하고 OK 버튼을 클릭합니다.
New Model Wizard가 완료 후 나타나는 화면은 아래와 같습니다.
화면 우측의 X-UP DataSource 뷰에서 new DataSource를 선택해 Wizard를 실행합니다.
New DataSource 위자드에서 새로운 데이터소스를 정의합니다. 아래와 같이 각 필드 값을 입력한 후 ‘Test Connection’버튼을 선택하여 DataSource와 연결이 정상적으로 맺어지는지 확인합니다.
Connection 확인 후에 ‘Finish’ 버튼을 클릭합니다.
Field Name | Field Value |
---|---|
Name | ‘DB_ORACLE’ 데이터소스 이름으로 다른 데이터소스 이름과 중복되지 않는 값을 입력합니다. |
DBMS | 사용할 데이터베이스 시스템을 선택합니다. 이 예제는 ‘Oracle’를 사용합니다. |
Connection URL | JDBC Connection String을 입력합니다. |
User ID | 데이터베이스 사용자 ID를 입력합니다. |
User PW | 데이터베이스 사용자 암호를 입력합니다. |
Database | 사용할 데이터베이스의 이름을 입력합니다. |
Charset | ‘UTF-8’ 문자 인코딩에 대한 값을 입력합니다. |
Timeout(msec) | ‘10000’ 서버와의 접속을 유지할 최대 시간 |
ConnectionPool MaxActive | ‘30’ 사용하는 커넥션 최대수 |
ConnectionPool MaxIdle | ‘30’ 사용하지 않는 커넥션의 최대수 |
ConnectionPool maxWait | ‘5000’ 커넥션을 열기 위해 최대 기다리는 시간 |
X-UP DataSource 뷰에서 DataSource []를 선택 해 테이블 목록을 가져옵니다.
가져온 테이블 목록에서 ‘ADDRESS_BOOK’ 테이블을 선택하여 에디터로 드래그 앤 드롭합니다.
Select Invoke와 Modify Invoke 중 Modify Invoke를 하면 Select Invoke 가 생성됩니다.
또는 Palette 의 Invoke 중 Modify Invoke를 선택하고 에디터를 클릭 하게 되면 Modify Invoke를 생성할 수 있습니다.
X-UP DataSource 뷰에서 생성 시 해당 테이블에 대한 CUD 작업을 할 수 있는 기본 쿼리가 자동생성됩니다.
Modify Invoke 생성 시 최초 컬럼을 선택할 수 있는 위자드가 실행됩니다.
‘Select All’ 버튼을 선택한 후 ‘OK’버튼을 선택합니다. 생성된 Modify Invoke 기본적으로 입력 데이터셋과 출력 데이터셋을 파라메터로 가지게 됩니다.
입력 파라메터 설정 및 Properties 설정하기
입력 데이터셋을 클릭하여 Properties의 ‘General’을 선택하여 이름과 Alias를 ‘IN_DS’로 변경합니다.
입력 데이터셋 명칭을 변경 할 경우 쿼리에 바인딩되는 데이터셋의 명칭도 변경 됩니다.
좌측 Palette 에서 Modify Invoke를 생성 하였을 경우 입력 파라메터를 수동으로 생성(아래그림 1번)하여 입력 파라메터 ‘IN_DS’의 Schema를 지정해야 합니다. Import 버튼을 클릭(아래그림 3번)합니다.
데이터셋의 컬럼 설정은 ‘Add’ 버튼[]을 클릭하여 사용자가 직접 입력하거나 ‘Import’ 버튼을 클릭하여 데이터베이스 테이블 또는 다른 X-UP 모델, XML 파일에서 컬럼 정보를 가져올 수 있습니다.
Import 데이터셋 Schema 위자드에서 DB Table의 데이터소스 ‘DB_ORACLE’의 ‘ADDRESS_BOOK’ 테이블의 스키마를 선택합니다.
Import Source | 설명 |
---|---|
DB Table | 데이터베이스의 테이블로부터 컬럼 정보를 가져옵니다. 현재 X-UP 프로젝트에 하나 이상의 DB 데이터소스가 설정되어 있어야 사용 가능합니다. |
X-UP Model | 현재 X-UP 프로젝트에 존재하는 다른 모델의 출력 데이터셋을 이용하여 컬럼 정보를 가져옵니다. |
XML File | XML 파일로부터 데이터셋의 컬럼 정보를 가져옵니다. 해당 컬럼정보는 Nexaweb에서 제공하는 데이터셋의 Schema 형식이어야 사용 가능합니다. |
입력 데이터셋의 명칭 변경 후 Modify Invoke를 더블클릭하고 Invoke Modify SQL 팝업창의 Target DataSet 콤보박스가 나오는데 입력 파라메터 중 데이터셋의 종류를 보여줍니다. 여기서는 ‘IN_DS’ 를 선택합니다. 자동으로 Insert / Update / Delete 쿼리가 입력된 것을 확인할 수 있습니다.
Target DataSet 이 선택되지 않았을 경우 delete / insert / update SQL 순으로 무조건 1번씩 실행됩니다.
Enable Surround CDATA
Invoke Modify SQL 창에서 아래 옵션 메뉴인 Enable Surround CDATA는 체크항목에 대해서만 CDATA 처리를 수행합니다. 예를 들어, Insert SQL만 선택했다면 Insert 쿼리에만 적용이 되고 전부 선택했다면 모든 쿼리를 수행할 때마다 CDATA 처리를 수행합니다.
Invoke 테스트하기
Modify Invoke의 Properties InvokeInfo에 보이는 SQL뷰의 우측 상단의 preview 버튼[]을 클릭하여 테스트를 진행합니다.
Define Input Value 위자드가 생성 되면 Modify Invoke 테스트에 사용할 데이터를 입력합니다.
Add 버튼[]을 클릭하여 데이터를 입력합니다.
데이터를 입력하고 난 후 ‘Finish’ 버튼을 클릭합니다.
입력한 Row의 트랜잭션 처리 방법(Action) 필드에 대한 설명은 아래를 참조하십시오.
Action | Description |
---|---|
INSERT | ‘INSERT’가 설정된 Row는 DB 테이블에 추가됩니다 |
UPDATE | ‘UPDATE’가 설정된 Row는 테이블에서 동일한 레코드를 찾아 업데이트를 수행합니다. 동일한 레코드는 기본 키(Primary Key) 컬럼의 값이 입력 데이터셋의 값과 동일한 레코드를 의미합니다. 그러므로 하나 이상의 기본 키 컬럼이 설정된 테이블에서만 ‘UPDATE’를 수행 할 수 있습니다. |
DELETE | ‘DELETE’가 설정된 Row는 테이블에서 동일한 레코드를 찾아 삭제합니다. 동일한 레코드는 기본 키(Primary Key) 컬럼의 값이 입력 데이터셋의 값과 동일 한 레코드를 의미합니다. 그러므로 하나 이상의 기본 키 컬럼이 설정된 테이블에서만 ‘DELETE’를 수행 할 수 있습니다. |
NORMAL | 입력 데이터로만 사용되며 DB 트랜잭션에는 관여하지 않습니다. |
테스트가 성공적으로 완료되면 Result ParameterSet 뷰에서 결과를 확인할 수 있습니다.
모델 테스트하기
모델 에디터에서 마우스를 오른쪽 클릭하면 팝업 메뉴가 나타납니다. 팝업 메뉴에서 Test를 선택하면 모델을 테스트 할 수 있습니다.
테스트 데이터는 ‘Invoke 테스트하기’ 와 동일한 테스트 데이터를 입력하여 테스트를 합니다.
테스트가 끝나면 모델의 출력을 Result ParameterSet 뷰 에서 보여줍니다.
Result ParameterSet 뷰의 하단 탭에는 Parameters와 DataSets의 탭이 있습니다. DataSets의 출력 파라메터로는 ‘RESULT0’가 존재하는 것을 확인할 수 있습니다.
Procedure Invoke를 이용한 모델 개발하기
이 절에서는 Automation 모델을 이용하여 데이터베이스의 Procedure or function을 호출하는 개발방법을 설명합니다.
이 절에서 사용한 데이터베이스 테이블 정보는 예제 DB 테이블 생성 스크립트를 참조하십시오.
이 절에서 설명하는 Automation 모델의 Procedure Invoke 개발단계는 다음과 같습니다.
X-UP 프로젝트 생성하기
Automation 모델 생성 및 procedure Invoke 생성하기
Invoke 테스트하기
모델 테스트하기
X-UP 프로젝트 생성하기
[File > New > X-UP Project] 메뉴를 선택하여 New X-UP Project Wizard를 실행합니다.
New X-UP Project Wizard에서 Project name 필드에 원하는 프로젝트 이름을 입력하고 ‘Finish’ 버튼을 클릭합니다.
X-UP Explorer에 아래와 같이 X-UP 프로젝트가 생성된 것을 확인합니다.
Automation 모델 생성 및 Procedure Invoke 생성하기
[File > New > X-UP Automation Model] 메뉴를 선택하여 New Model Wizard를 실행합니다.
New Model Wizard에서 Model Name 필드에 원하는 모델 이름을 입력하고 OK 버튼을 클릭합니다.
New Model Wizard가 완료 후 나타나는 화면은 아래와 같습니다.
화면 우측의 X-UP DataSource 뷰에서 new DataSource를 선택해 Wizard를 실행합니다.
New DataSource 위자드에서 새로운 데이터소스를 정의합니다. 아래와 같이 각 필드 값을 입력한 후 ‘Test Connection’버튼을 선택하여 DataSource와 연결이 정상적으로 맺어지는지 확인합니다.
Connection 확인 후에 ‘Finish’ 버튼을 클릭합니다.
Field Name | Field Value |
---|---|
Name | ‘DB_ORACLE’ 데이터소스 이름으로 다른 데이터소스 이름과 중복되지 않는 값을 입력합니다. |
DBMS | 사용할 데이터베이스 시스템을 선택합니다. 이 예제는 ‘Oracle’를 사용합니다. |
Connection URL | JDBC Connection String을 입력합니다. |
User ID | 데이터베이스 사용자 ID를 입력합니다. |
User PW | 데이터베이스 사용자 암호를 입력합니다. |
Database | 사용할 데이터베이스의 이름을 입력합니다. |
Charset | ‘UTF-8’ 문자 인코딩에 대한 값을 입력합니다. |
Timeout(msec) | ‘10000’ 서버와의 접속을 유지할 최대 시간 |
ConnectionPool MaxActive | ‘30’ 사용하는 커넥션 최대수 |
ConnectionPool MaxIdle | ‘30’ 사용하지 않는 커넥션의 최대수 |
ConnectionPool maxWait | ‘5000’ 커넥션을 열기 위해 최대 기다리는 시간 |
X-UP DataSource 뷰에서 DataSource []를 선택(1) 해 Procedure와 Function의 목록을 가져옵니다.
가져온 프로시저 목록에서 대상을 선택하여 에디터로 드래그 앤 드롭(2)합니다.
또는 Palette 의 Invoke 중 Procedure Invoke(3)를 선택하고 에디터를 클릭 하게 되면 Procedure Invoke를 생성할 수 있습니다.
procedure를 선택하면 정의 된 입-출력 파라메터의 정보가 나타납니다. 파라메터는 입력 파라메터, 출력 파라메터 순으로 보여지게 되며 파라메터 명칭 앞 파란색 동그라미 이미지는 입력 파라메터를 나타내고, 빨간색 동그라미는 출력 파라메터를 나타냅니다.
실행된 위자드에서 테스트 버튼을 클릭합니다.
Procedure 및 Function은 테스트를 수행하기 전 까지 확실한 출력의 값을 알 수 없습니다. (MSSQL, MySql) 그래서 테스트를 수행하고난 뒤 출력결과를 확인한 후에 Procedure Invoke가 생성됩니다.
Define Input Value에 값을 넣고 ‘Finish’ 버튼을 클릭합니다.
Procedure를 호출 했을 경우의 출력의 값을 확인 할 수 있습니다.
‘OK’ 버튼을 클릭 하면 Procedure Invoke의 입력 파라메터와 출력 파라메터 설정을 완료 하게 됩니다.
Invoke 테스트하기
생성 된 Procedure Invoke입니다. Invoke의 테스트 결과를 바탕으로 입력 파라메터와 출력 파라메터가 생성됩니다.
Procedure Invoke의 Properties의 ‘InvokeInfo’를 선택하고 [ ] 를 클릭하여 테스트를 진행합니다.
‘Automation 모델을 생성 및 Procedure Invoke 생성하기’ 에서 Procedure Invoke 생성 시 ‘Test’ 버튼을 클릭 했을 때와 동일 하게 값을 입력하고 테스트를 진행하게 되면 결과를 확인 할 수 있습니다.
테스트가 성공적으로 완료되면 Result ParameterSet 뷰에서 결과를 확인 할 수 있습니다.
모델 테스트하기
모델 에디터에서 마우스를 오른쪽 클릭하면 팝업 메뉴가 나타납니다. 팝업 메뉴에서 Test를 선택하면 모델을 테스트 할 수 있습니다.
테스트 데이터는 ‘Procedure Invoke 테스트하기’ 와 동일한 테스트 데이터를 입력하여 테스트를 합니다.
테스트가 끝나면 모델의 출력을 Result ParameterSet 뷰 에서 보여줍니다.
OpenApi Invoke를 이용한 모델 개발하기
이 절에서는 Apple사의 Apple store 서비스를 이용한 OpenApi모델 개발방법을 설명합니다.
Apple store에는 각 카테고리 별 신작자료 및 인기순위 리스트를 제공합니다. 데이터는 XML기반의 RSS 형태로 제공 됩니다. X-UP Builder로 XML형태의 데이터를 수집하여 정형화된 파라메터를 생성 합니다.
이 절에서 설명하는 Automation 모델의 OpenApi Invoke 개발단계는 다음과 같습니다.
X-UP 프로젝트 생성하기
Automation 모델 생성 및 OpenApi Invoke 생성 하기
데이터 소스 생성 및 Properties 설정 하기
Invoke 테스트 하기
모델 테스트하기
X-UP 프로젝트 생성하기
[File > New > X-UP Project] 메뉴를 선택하여 New X-UP Project Wizard를 실행합니다.
New X-UP Project Wizard에서 Project name 필드에 원하는 프로젝트 이름을 입력하고 ‘Finish’ 버튼을 클릭합니다.
X-UP Explorer에 아래와 같이 X-UP 프로젝트가 생성된 것을 확인합니다.
Automation 모델 생성 및 OpenApi Invoke 생성하기
[File > New > X-UP Automation Model] 메뉴를 선택하여 New Model Wizard를 실행합니다.
New Model Wizard에서 Model Name 필드에 원하는 모델 이름을 입력하고 OK 버튼을 클릭합니다.
New Model Wizard가 완료 후 나타나는 화면은 아래와 같습니다.
Palette 의 Invoke 중 ‘OpenApi’ 를 선택하고 에디터를 클릭 하게 되면 OpenApi Invoke가 생성 됩니다.
데이터소스 생성 및 Properties 설정하기
생성 된 OpenApi Invoke를(1) 더블클릭 하거나 ‘properties’ 뷰의 InvokingInfo탭(2)을 클릭하여 ‘OpenApi icon’[ ](3) 을 클릭하면 위자드가 실행 됩니다.
위자드에서 create new DataSource [] 를 클릭합니다.
New DataSource 페이지에서 새로운 데이터소스를 정의합니다. 아래와 같이 각 필드 값을 입력한 후 ‘Test Connection’버튼을 선택하여 DataSource와 연결이 정상적으로 맺어지는 지 확인합니다.
Connection 확인 후에 ‘Finish’ 버튼을 클릭합니다.
Field Name | Field Value |
---|---|
Name | ‘OPENAPI_APPLE’ 데이터소스 이름으로 다른 데이터소스 이름과 중복되지 않는 값을 입력합니다. |
HTTP URL | ‘https://itunes.apple.com/us/rss/’ OpenAPI 서비스에 대한 Base URL를 입력합니다. |
OpenApi를 제공하는 호스트가 HTTP Basic인증을 요구하는 경우에는 HTTP auth Info의 ‘Id’와 ‘Password’에 유효한 값을 입력합니다.
정의 된 데이터 소스에서 'OPENAPI_APPLE'를 선택 합니다.
Base Path에 적합한 Sub Path를 입력 하고 테스트 버튼을 클릭 합니다.
예제의 Sub Path는 ‘topfreeapplications/limit=10/xml’ 입니다.
서비스가 정상 적으로 호출 되어졌을 경우 아래와 같이 ‘BODY’ 와 실제 서비스 요청 시의 HTTP Header 응답 값을 확인 할 수 있습니다.
OK 버튼을 클릭 할 경우 테스트 시 확인 한 값이 출력 파라메터로 설정 된 것을 알 수 있습니다.
불 필요한 HTTP Header의 정보는 지워도 정상 작동 합니다
Invoke 테스트하기
생성 된 OpenApi Invoke입니다. Invoke의 테스트 결과를 바탕으로 입력 파라메터와 출력 파라메터가 생성됩니다.
사용하지 않는 HTTP Header 응답 값을 지웁니다.
OpenApi Invoke(1)의 Properties의 ‘InvokeInfo’(2)를 선택하고 [ ] 를 클릭(3)하여 테스트를 진행합니다.
테스트가 성공적으로 완료되면 Result ParameterSet 뷰에서 결과를 확인 할 수 있습니다. (본 예제와 같이 입력 파라메터가 없을 경우는 바로 출력 결과가 나타납니다.)
모델 테스트하기
모델 에디터에서 마우스를 오른쪽 클릭하면 팝업 메뉴가 나타납니다. 팝업 메뉴에서 Test를 선택하면 모델을 테스트 할 수 있습니다.
테스트가 끝나면 모델의 출력을 Result ParameterSet 뷰 에서 보여줍니다.
X-UP Invoke를 이용한 모델 개발하기
이 절에서는 Automation 모델을 이용하여, 웹 어플리케이션 서버에 배포된 X-UP 모델을 호출하여 개발방법을 설명 합니다.
디플로이 방법은 The internal link is invalid.를 참조하십시오.
이 절에서 설명하는 Automation 모델의 X-UP Invoke 개발단계는 다음과 같습니다.
X-UP 프로젝트 생성하기
Automation 모델을 생성 및 X-UP Invoke 생성하기
데이터 소스 생성 및 Properties 설정하기
Invoke 테스트하기
모델 테스트하기
X-UP 프로젝트 생성하기
[File > New > X-UP Project] 메뉴를 선택하여 New X-UP Project Wizard를 실행합니다.
New X-UP Project Wizard에서 Project name 필드에 원하는 프로젝트 이름을 입력하고 ‘Finish’ 버튼을 클릭합니다.
X-UP Explorer에 아래와 같이 X-UP 프로젝트가 생성된 것을 확인합니다.
Automation 모델 생성 및 X-UP Invoke 생성하기
File New X-UP Automation Model 메뉴를 선택하여 New Model Wizard를 실행합니다.
New Model Wizard에서 Model Name 필드에 모델 이름을 입력하고 "Finish" 버튼을 클릭합니다.
New Model Wizard가 완료 후 나타나는 화면은 아래와 같습니다.
Palette 의 Invoke 중 ‘X-UP’를 선택하고 에디터를 클릭 하게 되면 X-UP Invoke가 생성 됩니다.
생성된 X-UP Invoke를(1) 더블클릭 하거나 ‘properties’ 탭을 클릭하여 ‘X-UP icon’[ ](2)을 클릭하면 위자드가 실행 됩니다.
데이터소스 생성 및 Properties 설정하기
X-UP Model List 위자드에서 create new DataSource []를 클릭합니다.
New DataSource 위자드에서 새로운 데이터소스를 정의합니다. 아래와 같이 각 필드 값을 입력한 후 ‘Test Connection’버튼을 선택하여 DataSource와 연결이 정상적으로 맺어지는 지 확인합니다.
Connection 확인 후에 ‘Finish’ 버튼을 클릭합니다.
Field Name | Field Value |
---|---|
Name | ‘XUP_REMOTE’ 데이터 소스 이름으로 다른 데이터소스 이름과 중복되지 않는 값을 입력합니다. |
Description | ‘remote xup server’ 데이터 소스의 간략한 설명을 입력합니다. |
ServerURL | ‘http://host:port/xup’ 데이터 소스를 로딩 할 수 있는 서버의 URL을 입력합니다. |
ServicePath | '/FrontControllerServlet.do' Service Path를 설정합니다. |
ServiceInfoPath | '/ServiceInfoServiceServlet.do' Service Info Path를 설정합니다. |
Charset | ‘UTF-8’ 문자 인코딩을 나타냅니다. |
Timeout | ‘10000’ 서버와의 접속을 유지할 최대 시간 |
Parameters | 넘겨 줄 파라메터 값을 입력합니다. |
데이터 소스가 정상적으로 ‘XUP_REMOTE’로 지정이 되었는지 확인합니다.
1호출하고자 하는 도메인과 모델을 선택합니다.
2모델의 입력 파라메터와 출력 파라메터의 정보를 확인 할 수 있습니다.
3‘OK’버튼을 클릭하여 위자드를 종료합니다.
OK 버튼을 클릭 할 경우 입력 파라메터와 출력 파라메터가 생성이 된 것을 확인 할 수 있습니다.
Invoke 테스트하기
X-UP Invoke의 Properties의 ‘InvokeInfo’를 선택하고 []를 클릭하여 테스트를 진행합니다.
테스트가 성공적으로 완료되면 Result ParameterSet 뷰에서 결과를 확인 할 수 있습니다.
모델 테스트하기
모델 에디터에서 마우스를 오른쪽 클릭하면 팝업 메뉴가 나타납니다. 팝업 메뉴에서 Test를 선택하면 모델을 테스트 할 수 있습니다.
테스트가 끝나면 모델의 출력을 Result ParameterSet 뷰 에서 보여줍니다.
DataSet Row Loop Function을 이용하여 데이터 가공하기
이 절에서는 데이터셋의 행의 갯수만큼 반복적인 비지니스 로직을 수행할 수 있는 DataSet Row Loop Function에 대해 설명합니다.
예제는 SAP RFC Invoke를 이용하여 FLIGHT LIST를 조회 하고 특정 조건을 만족하는 데이터만을 새로운 데이터셋으로 가공하는 예제입니다.
이 절에서 설명하는 DataSetRowLoop 함수를 이용한 모델 개발단계는 다음과 같습니다.
X-UP 프로젝트 생성하기
Automation 모델 생성하기
입력 파라메터를 위한 SAP RFC로직 구현하기
DataSetRowLoop 함수 생성하고 이벤트 추가하기
UserMethod Function을 이용하여 출력 파라메터 설정하기
Function 테스트하기
모델 테스트
X-UP 프로젝트 생성하기
[File > New > X-UP Project] 메뉴를 선택하여 New X-UP Project Wizard를 실행합니다.
New X-UP Project Wizard에서 Project name 필드에 원하는 프로젝트 이름을 입력하고 ‘Finish’ 버튼을 클릭합니다.
X-UP Explorer에 아래와 같이 X-UP 프로젝트가 생성된 것을 확인합니다.
Automation 모델 생성하기
[File > New > X-UP Automation Model] 메뉴를 선택하여 New Model Wizard를 실행합니다.
New Model Wizard에서 Model Name 필드에 원하는 모델 이름을 입력하고 OK 버튼을 클릭합니다.
New Model Wizard가 완료 후 나타나는 화면은 아래와 같습니다.
입력 파라메터를 위한 SAP RFC로직 구현하기
Palette 의 Invoke 중 ‘SAP RFC’ 를 선택하고 에디터를 클릭하게 되면 SAP RFC Invoke가 생성 됩니다.
생성 된 SAP RFC Invoke를(1) 더블클릭 하거나 ‘Properties’ 탭을 클릭하여 ‘SAP RFC icon’[ ](2)을 클릭하면 위자드가 실행 됩니다.
Invoke SAP RFC 위자드에서 create new DataSource []를 클릭합니다.
New DataSource 페이지에서 새로운 데이터소스를 정의합니다. 아래와 같이 각 필드 값을 입력한 후 ‘Test Connection’ 버튼을 선택하여 DataSource와 연결이 정상적으로 맺어지는지 확인합니다.
Connection 확인 후에 ‘Finish’ 버튼을 클릭합니다.
Field Name | Field Value |
---|---|
Name | ‘SAP RFC’ 데이터소스 이름으로 다른 데이터소스 이름과 중복되지 않는 값을 입력합니다. |
ID | SAP RFC 서버 접속 ID |
PASSWORD | SAP RFC 서버 접속 PASSWORD |
Client | 로그인 계정에서 사용할 client 정보 |
Host Name | 서버의 IP |
System Number | 로그인 계정에서 사용 할 System Number 정보 |
Repository | 로그인 계정에서 사용할 Repository 정보 |
Charset | 사용할 charset |
Timeout | 서버와의 접속을 유지할 최대 시간 |
DataSource를 SAP RFC을 선택하고 get function list 버튼 [] 을 클릭하여 서버에 등록된 Function 리스트를 호출 합니다.
그룹(function) 검색 시 * 검색이 가능 합니다.
검색된 function 리스트 중 호출하고자 하는 function을 선택(1) 하면 해당 function의 입력 파라메터와 출력 파라메터의 정보를 확인(2) 할 수 있습니다.
동시에 SAP RFC 파라메터 형태를 X-UP Parameter 형태(3)로 나타납니다.
Test 버튼(4)을 클릭하여 생성된 Define Input Value 위자드의 입력 파라메터의 값을 설정하고 ‘Finish’ 버튼을 클릭하여 정상적으로 데이터가 표시되는지 확인합니다.
OK 버튼을 클릭할 경우 입력 파라메터와 출력 파라메터가 생성된 것을 확인할 수 있습니다.
DataSetRowLoop 함수 생성하고 이벤트 추가하기
Palette의 Function 중 ‘DataSetRowLoop’를 선택하고 에디터를 클릭하게 되면 DataSetRowLoop 함수가 생성 됩니다.
SAP RFC Invoke의 output 파라메터인 ‘FLIGHT_LIST1’을 Connect(1)를 이용하여 DataSetRowLoop 함수의 input 파라메터로 연결(2)시켜줍니다.
DataSetRowLoop 함수를 마우스 우클릭하여 Add Event loopEvent 선택하여 이벤트를 추가합니다.
UserMethod Function을 이용하여 출력 파라메터 설정하기
이벤트의 output으로 자동생성 된 rowIndex와 dataset 파라메터를 Connect를 이용하여 UserMethod 함수의 input 파라매터로 연결시켜줍니다.
출력 파라매터를 설정하기 위해 Palette에서 DataSet을 선택하여 추가(1)하고, 다음과 같이 UserMethod 함수의 output 파라매터로 연결(2)시켜줍니다.
생성한 데이터셋의 명칭을 'FILTERED_FLIGHT_LIST'로 변경(3)합니다.
FILTERED_FLIGHT_LIST 데이터셋의 스키마를 아래와 같이 추가합니다.
Name | Type | Size |
---|---|---|
AIRLINE | string | 20 |
CONNECTIONID | int | 4 |
FLIGHTDATE | date | 8 |
UserMethod 함수를 더블클릭하여 자동이동된 로직 클래스에서 다음과 같이 소스코드를 입력후 저장합니다.
DataTypes부분에서 에러가 난다면, com.nexacro.xapi.data.datatype.DataType 클래스를 import 해줍니다
public void userMethod(ParameterSet globalParameterSet, EuserMethodParameters eps) throws AutomationFailException { DataSet filteredDataSet = globalParameterSet.getDataSet("FILTERED_FLIGHT_LIST"); DataSet dataset = eps.getDataSet(); int month = (dataset.getDateTime(0, "FLIGHTDATE").getMonth()); // data filter if(month == 4) { int row = filteredDataSet.newRow(); filteredDataSet .set(row, "AIRLINE", dataset.getString(0, "AIRLINE")); filteredDataSet .set(row, "CONNECTID", dataset.getInt(0, "CONNECTID")); filteredDataSet .set(row, "FLIGHTDATE", dataset.getString(0, "FLIGHTDATE")); } }
모델 테스트하기
모델 에디터에서 Palette의 Connect를 선택하여 Start 노드와 SAP RFC Invoke, DataSetRowLoop 함수, End 노드를 연결 해 줍니다.
모델 에디터에서 마우스를 오른쪽 클릭하면 팝업 메뉴가 나타납니다. 팝업 메뉴에서 Test를 선택하면 모델을 테스트 할 수 있습니다.
Quick Merge Function을 이용하여 데이터 가공하기
이 절에서는 복수의 Invoke 혹은 Function으로 부터 얻어진 두개의 데이터셋을 융합하여 새로운 데이터셋을 생성하는 Quick Merge 함수에 대해 설명합니다.
두개의 데이터셋을 기준으로 하며 Sort Merge 혹은 Hash Join 알고리즘을 통해 데이터셋을 융합합니다.
이 절에서 설명하는 Quick Merge 함수를 사용하는 개발단계는 다음과 같습니다.
X-UP 프로젝트 생성하기
Automation 모델 생성 및 Quick Merge 함수 생성하기
융합 할 데이터셋 생성 하기
융합 로직 설정하기
Function 테스트 하기
모델 테스트하기
X-UP 프로젝트 생성하기
[File > New > X-UP Project] 메뉴를 선택하여 New X-UP Project Wizard를 실행합니다.
New X-UP Project Wizard에서 Project name 필드에 원하는 프로젝트 이름을 입력하고 ‘Finish’ 버튼을 클릭합니다.
X-UP Explorer에 아래와 같이 X-UP 프로젝트가 생성된 것을 확인합니다.
Automation 모델 생성 및 Quick Merge 함수 생성하기
[File > New > X-UP Automation Model] 메뉴를 선택하여 New Model Wizard를 실행합니다.
New Model Wizard에서 Model Name 필드에 모델 이름을 입력하고 ‘Finish’ 버튼을 클릭합니다.
New Model Wizard가 완료 후 나타나는 화면은 아래와 같습니다.
Palette의 Function 중 'Quick Merge'를 선택하고 에디터를 클릭하게 되면 Quick Merge 함수가 생성됩니다.
융합 할 데이터셋 생성하기
화면 Palette에서 ‘DataSet’을 선택 하여 에디터를 클릭 합니다.
생성된 데이터셋의 기본 명칭은 ‘dataset’ 입니다. 이름과 Alias를 DS_BOOK 으로 변경합니다.
Properties의 Schema에서 []를 클릭하여 Column 정보를 다음과 같이 추가 합니다.
Dataset Name | DS_BOOK | ||
Column Info | Name | Type | Size |
id | int | 10 | |
book_name | string | 255 | |
author | string | 255 |
DS_BOOK과 Merge 함수를 Palette의 Connect를 이용하여 연결합니다.
위와 같은 방법으로 DataSet 하나를 더 생성하여 이름과 Alias를 DS_AUTHOR로 변경합니다.
Properties의 Schema에서 []를 클릭하여 Column 정보를 다음과 같이 추가합니다.
Dataset Name | DS_AUTHOR | ||
Column Info | Name | Type | Size |
no | int | 10 | |
name | string | 255 | |
work | string | 255 |
DS_AUTHOR와 Merge 함수를 Palette의 Connect를 이용하여 연결합니다.
융합로직 설정하기
에디터의 Quick Merge 함수(1)를 더블클릭 하거나 ‘Properties’ 탭을 클릭하여 ‘Quick Merge icon’[](2)을 클릭하면 위자드가 실행 됩니다.
입력 된 두개의 데이터셋이 기본적으로 설정 되며, 'Key Column' 항목을 'DS_BOOK' 의 경우 'book_name' 컬럼으로 설정하고 'DS_AUTHOR'의 경우 'work' 항목으로 설정합니다. 그 외 항목은 기본값 으로 설정합니다.
Quick Merge Wizard의 Test 버튼을 클릭하여 융합 로직을 테스트 합니다.
Define Input Value에 다음의 값을 넣고 ‘Finish’ 버튼을 클릭합니다.
DS_BOOK | |||
---|---|---|---|
Action | id | book_name | author |
INSERT | 10 | Java Development with Ant | Erik Hatcher |
INSERT | 20 | being digital | Nicholas Negroponte |
INSERT | 30 | Visualize This | Nathan Yau |
INSERT | 40 | Data Structures in C | Chun In-gook |
INSERT | 50 | HTML : the comlete reference | Thomas A |
INSERT | 60 | Search & Destroy: Why You Can't Trust Google Inc | Scott Cleland |
DS_AUTHOR | |||
---|---|---|---|
Action | id | name | work |
INSERT | 1 | Tomas A | HTML : the comlete reference |
INSERT | 2 | Tomas A | Global Sourcing Logistics |
INSERT | 3 | Tomas A | Elements Of Distribution Theory |
INSERT | 4 | Erik Hatcher | Java Development wth Ant |
INSERT | 5 | Erik Hatcher | Lucene in Action |
INSERT | 6 | Susan M. Weinschenk | Neuro Web Design: What makes them click?) |
INSERT | 7 | Scott Cleland | Search & Destroy: Why You Can't Trust Google Inc |
Function 테스트하기
테스트 결과를 바탕으로 출력 파라메터가 생성됩니다.
Quick Merge 함수의 Properties의 ‘InvokeInfo’를 선택하고 []를 클릭하여 테스트를 진행합니다.
위 ‘융합 로직 설정 하기’ 에서 Wizard에서 Test 버튼을 선택했을 경우와 동일하게 값을 입력하고 테스트를 진행하게 되면 결과를 확인할 수 있습니다.
테스트가 성공적으로 완료되면 Result ParameterSet 뷰에서 결과를 확인할 수 있습니다.
Invoke 테스트하기
모델 에디터에서 마우스를 오른쪽 클릭하면 팝업 메뉴가 나타납니다. 팝업 메뉴에서 Test를 선택하면 모델을 테스트 할 수 있습니다.
테스트 데이터는 ‘Function 테스트하기’ 와 동일한 테스트 데이터를 입력하여 테스트를 합니다.
테스트가 끝나면 모델의 출력을 Result ParameterSet 뷰 에서 보여줍니다.
Merge Function을 이용하여 데이터 가공하기
이 절에서는 복수의 모델로부터 얻어진 데이터셋들을 융합하여 새로운 데이터셋을 생성하는 Merge 함수에 대해 설명합니다.
이 절에서 설명하는 융합 모델 개발단계는 다음과 같습니다.
X-UP 프로젝트 생성하기
Automation 모델 생성 및 Merge 함수 생성 하기
융합 할 데이터셋 생성 하기
융합 로직 설정하기
Merge 테스트 하기
모델 테스트하기
X-UP은 내부적으로 메모리 데이터베이스 시스템을 사용하여 융합 모델을 구현하고 있습니다. 따라서 대량의 데이터를 출력하는 모델들을 융합할 경우 X-UP서버가 운영되는 WAS의 메모리 및 성능에 영향을 미칠 수 있습니다.
X-UP 프로젝트 생성하기
[File > New > X-UP Project] 메뉴를 선택하여 New X-UP Project Wizard를 실행합니다.
New X-UP Project Wizard에서 Project name 필드에 원하는 프로젝트 이름을 입력하고 ‘Finish’ 버튼을 클릭합니다.
X-UP Explorer에 아래와 같이 X-UP 프로젝트가 생성된 것을 확인합니다.
Automation 모델 생성 및 Merge Function 생성하기
[File > New > X-UP Automation Model] 메뉴를 선택하여 New Model Wizard를 실행합니다.
New Model Wizard에서 Model Name 필드에 모델 이름을 입력하고 ‘Finish’ 버튼을 클릭합니다.
New Model Wizard가 완료 후 나타나는 화면은 아래와 같습니다.
Palette 의 Function 중 ‘Merge’ 를 선택하고 에디터를 클릭 하게 되면 Merge 함수가 생성 됩니다.
융합 할 데이터셋 생성하기
화면 Palette에서 ‘DataSet’을 선택 하여 에디터를 클릭 합니다.
생성된 데이터셋의 기본 명칭은 ‘dataset’ 입니다. 이름과 Alias를 DS_BOOK 으로 변경합니다.
Properties의 Schema에서 []를 클릭하여 Column 정보를 다음과 같이 추가 합니다.
Dataset Name | DS_BOOK | ||
Column Info | Name | Type | Size |
id | int | 10 | |
book_name | string | 255 | |
author | string | 255 |
DS_BOOK과 Merge 함수를 Palette의 Connect를 이용하여 연결합니다.
위와 같은 방법으로 DataSet 하나를 더 생성하여 이름과 Alias를 DS_AUTHOR로 변경합니다.
Properties의 Schema에서 []를 클릭하여 Column 정보를 다음과 같이 추가합니다.
Dataset Name | DS_AUTHOR | ||
Column Info | Name | Type | Size |
no | int | 10 | |
name | string | 255 | |
work | string | 255 |
DS_AUTHOR와 Merge 함수를 Palette의 Connect를 이용하여 연결합니다.
융합로직 설정하기
에디터의 Merge 함수(1)를 더블클릭 하거나 ‘Properties’ 탭을 클릭하여 ‘Merge icon’[ ](2) 을 클릭하면 위자드가 실행 됩니다.
‘Create Default Merging SQL’을 클릭하면 기본적인 융합 로직이 SQL에디터에 생성됩니다.
SQL 에디터에 설정된 융합 로직을 아래와 같이 수정합니다.
$r_title(수정 전) select a.id, a.book_name, a.author, b.no, b.name, b.work from DS_BOOK a, DS_AUTHOR b
$r_title(수정 후) select a.id, a.book_name, a.author, b.no, b.name, b.work from DS_BOOK a, DS_AUTHOR b where a.book_name = b.work
SQL 에디터의 Test 버튼을 클릭하여 융합 로직을 테스트 합니다.
Define Input Value에 다음의 값을 넣고 ‘Finish’ 버튼을 클릭합니다.
DS_BOOK | |||
---|---|---|---|
Action | id | book_name | author |
INSERT | 10 | Java Development with Ant | Erik Hatcher |
INSERT | 20 | being digital | Nicholas Negroponte |
INSERT | 30 | Visualize This | Nathan Yau |
INSERT | 40 | Data Structures in C | Chun In-gook |
INSERT | 50 | HTML : the comlete reference | Thomas A |
INSERT | 60 | Search & Destroy: Why You Can't Trust Google Inc | Scott Cleland |
DS_AUTHOR | |||
---|---|---|---|
Action | id | name | work |
INSERT | 1 | Tomas A | HTML : the comlete reference |
INSERT | 2 | Tomas A | Global Sourcing Logistics |
INSERT | 3 | Tomas A | Elements Of Distribution Theory |
INSERT | 4 | Erik Hatcher | Java Development wth Ant |
INSERT | 5 | Erik Hatcher | Lucene in Action |
INSERT | 6 | Susan M. Weinschenk | Neuro Web Design: What makes them click?) |
INSERT | 7 | Scott Cleland | Search & Destroy: Why You Can't Trust Google Inc |
Function 테스트하기
테스트 결과를 바탕으로 출력 파라메터가 생성됩니다.
Merge 함수의 Properties의 ‘InvokeInfo’를 선택하고 [] 를 클릭하여 테스트를 진행합니다.
위 ‘융합 로직 설정 하기’ 에서 SQL 에디터에서 Test 버튼을 선택했을 경우와 동일하게 값을 입력하고 테스트를 진행하게 되면 결과를 확인할 수 있습니다.
테스트가 성공적으로 완료되면 Result ParameterSet 뷰에서 결과를 확인할 수 있습니다.
모델 테스트하기
모델 에디터에서 마우스를 오른쪽 클릭하면 팝업 메뉴가 나타납니다. 팝업 메뉴에서 Test를 선택하면 모델을 테스트 할 수 있습니다.
테스트 데이터는 ‘Function 테스트하기’ 와 동일한 테스트 데이터를 입력하여 테스트를 합니다.
테스트가 끝나면 모델의 출력을 Result ParameterSet 뷰 에서 보여줍니다.
XML Parser Function을 이용하여 데이터 가공하기
XML 형태의 데이터를 데이터셋 형태나 Primitive 타입의 데이터로 손쉽게 생성할 수 있는 XML Parser Function를 이용한 모델 개발방법을 설명합니다.
예제에서 사용되는 XML 은 XML Parser Function 사용 시 필요한 예제 XML를 이용합니다.
이 절에서 설명하는 Automation 모델의 XML Parser를 이용한 개발단계는 다음과 같습니다.
X-UP 프로젝트 생성하기
Automation 모델을 생성 및 XML Parser 생성 하기
XML 파싱 룰 정의하기
Function 테스트 하기
모델 테스트하기
X-UP 프로젝트 생성하기
[File > New > X-UP Project] 메뉴를 선택하여 New X-UP Project Wizard를 실행합니다.
New X-UP Project Wizard에서 Project name 필드에 원하는 프로젝트 이름을 입력하고 ‘Finish’ 버튼을 클릭합니다.
X-UP Explorer에 아래와 같이 X-UP 프로젝트가 생성된 것을 확인합니다.
Automation 모델 생성 및 XML Parser Function 생성하기
[File > New > X-UP Automation Model] 메뉴를 선택하여 New Model Wizard를 실행합니다.
New Model Wizard에서 Model Name 필드에 원하는 모델 이름을 입력하고 OK 버튼을 클릭합니다.
New Model Wizard가 완료 후 나타나는 화면은 아래와 같습니다.
Palette의 Function 중 ‘XML Parser’ 를 선택하고 에디터를 클릭하게 되면 XML Parser가 생성됩니다.
XML 파싱 룰 정의하기
XML Parser를(1) 더블클릭 하거나 ‘Properties’ 탭의 ‘ParserInfo’를 클릭하여 ‘XML Parser icon’[ ](2) 을 클릭하여 XML Parser 위자드를 실행 시킵니다.
데이터 입력을 위해 XML Parser Function 사용 시 필요한 예제 XML의 XML 데이터를 복사합니다.
XML Parser 위자드의 ‘XML Content’ 영역에 XML 문자열을 붙여넣기 합니다.
다음과 같이 XML Content에 xml 값이 보여지게 되고 pretty view를 클릭하면 알아보기 쉽게 나타납니다.
그리고 하단의 ‘Parser Info’ 부분에 XML이 Tree 형태로 보여지게 됩니다.
데이터를 파싱하기 위해 ParseInfo에서 반복이 되는 'PLANT' (1) 노드를 선택하여 Parse List로 Drag and Drop(2) 합니다.
또한, 좌측 상단의 ‘Parse List’ 의 Add 버튼[](3)을 클릭하여 생성할 수 있습니다.
Parse List에 추가가 되면 ‘Parse Info’ 부분의 ‘XPath, Const column, Condition, Option’ (4)탭이 활성화 됩니다.
선택한 노드가 XPath에 자동으로 할당되고 자식노드들이 포함됩니다. 해당 정보가 데이터셋으로 변환됩니다.
Field Name | Field Value |
---|---|
XPath | 실제 xml 을 파싱하기 위한 ROOT xpath |
Const column | XPath 가 반복적인 노드를 선택 했을 경우 데이터셋의 Const Column 영역을 지정 할 수 있습니다. |
Condition | XPath의 조건을 설정 할 수 있습니다. 해당 조건에 만족하는 노드들 만 출력으로 지정 됩니다. |
Options | ‘Parse List’ 에 해당 하는 하나의 ‘Parse Info’ 에 의거 하여 중복 되는 노드의 명칭이 있을 경우 해당 구분자를 통해 하나의 명칭으로 생성이 됩니다. |
또한 반복되는 'PLANT' 노드를 XPath로 Drag and drop 할 수도 있습니다.
‘Test’(1) 버튼을 클릭하여 결과를 ‘Preview’ (2)를 통해 확인합니다.
OK 버튼을 클릭 하게 되면 출력 파라메터로 ‘PLANT’ 라는 이름의 데이터셋이 생성이 됩니다.
데이터셋의 스키마는 XPath에 해당하는 하위 노드의 명칭으로 구성이 됩니다.
Function 테스트하기
XML Parser의 Properties의 ‘ParserInfo’를 선택하고 [ ] 를 클릭하여 테스트를 진행합니다.
Define Input Value 위자드가 실행되면 XML 파싱 룰 정의할 때 사용된 XML이 자동 입력됩니다.
‘Finish’ 버튼을 클릭 합니다.
테스트가 성공적으로 완료되면 Result ParameterSet 뷰에서 결과를 확인 할 수 있습니다.
모델 테스트하기
모델 에디터에서 마우스를 오른쪽 클릭하면 팝업 메뉴가 나타납니다. 팝업 메뉴에서 Test를 선택하면 모델을 테스트 할 수 있습니다.
테스트가 끝나면 모델의 출력을 Result ParameterSet 뷰 에서 보여줍니다.
Visual Cobol Invoke를 이용한 모델 개발하기
이 절에서는 Visual Cobol Invoke을 이용한 모델 개발방법을 설명합니다.
이 절에서 설명하는 Automation 모델의 Visual Cobol Invoke 개발단계는 다음과 같습니다.
X-UP 프로젝트 생성하기
Automation 모델 생성 및 SAP RFC Invoke 생성 하기
데이터 소스 생성 및 Properties 설정 하기
Invoke 테스트하기
모델 테스트하기
X-UP 프로젝트 생성하기
[File > New > X-UP Project] 메뉴를 선택하여 New X-UP Project Wizard를 실행합니다.
New X-UP Project Wizard에서 Project name 필드에 원하는 프로젝트 이름을 입력하고 ‘Finish’ 버튼을 클릭합니다.
X-UP Explorer에 아래와 같이 X-UP 프로젝트가 생성된 것을 확인합니다.
Automation 모델 생성 및 Visual Cobol Invoke 생성하기
[File > New > X-UP Automation Model] 메뉴를 선택하여 New Model Wizard를 실행합니다.
New Model Wizard에서 Model Name 필드에 원하는 모델 이름을 입력하고 OK 버튼을 클릭합니다.
New Model Wizard가 완료 후 나타나는 화면은 아래와 같습니다.
Palette 의 Invoke 중 ‘Visual Cobol’를 선택하고 에디터를 클릭하게 되면 Visual Cobol Invoke가 생성 됩니다.
데이터소스 생성 및 Properties 설정하기
생성 된 Visual Cobol Invoke를(1) 더블클릭 하거나 ‘Properties’ 탭을 클릭하여 ‘Visual Cobol Icon’[ ](2)을 클릭하면 위자드가 실행 됩니다.
Invoke Cobol 위자드에서 create a new DataSource []를 클릭합니다.
New DataSource 페이지에서 새로운 데이터소스를 정의합니다. 아래와 같이 각 필드 값을 입력한 후 ‘Test Connection’ 버튼을 선택하여 DataSource와 연결이 정상적으로 맺어지는지 확인합니다.
Connection 확인 후에 ‘Finish’ 버튼을 클릭합니다.
Name | Description |
---|---|
Name | 데이터소스 이름 |
Description | 설명 |
Path | 사용할 Visual Cobol 리소스 경로 |
Charset | 인코딩 (default : UTF-8) |
Database List | 프로젝트에 등록된 Database Connection List |
Cobol Code Preview | Database를 등록 후 버튼을 누르면 생성 Cobol Code를 미리 볼 수 있음 |
DataSource를 Cobol을 선택하고 Select Method 버튼 [] 을 클릭합니다
원하는 Class의 Method를 선택 후 OK 버튼을 클릭합니다.
Test 버튼을 클릭합니다.
Define Input Value 위자드의 입력 파라메터의 값을 설정하고‘Finish’ 버튼을 클릭하여 정상적으로 데이터가 표시되는지 확인합니다.
테스트 결과 값을 확인합니다.
OK 버튼을 클릭합니다.
Visual Cobol Invoke가 생성된 것을 확인할 수 있습니다.
Invoke 테스트하기
생성된 Visual Cobol Invoke입니다. Invoke의 테스트 결과를 바탕으로 입력 파라메터와 출력 파라메터가 생성됩니다.
Visual Cobol Invoke의 Properties의 ‘InvokeInfo’를 선택하고 [ ] 를 클릭하여 테스트를 진행합니다.
Define Input Value 위자드가 생성되면 Properties 설정 시 입력한 테스트 값을 입력하고 "Finish" 버튼을 클릭합니다.
테스트가 성공적으로 완료되면 Test Result 에서 결과를 확인할 수 있습니다.
모델 테스트하기
모델 에디터에서 마우스를 오른쪽 버튼을 클릭하면 팝업 메뉴가 나타납니다. 팝업 메뉴에서 Test를 선택하면 모델을 테스트 할 수 있습니다.
테스트가 끝나면 모델의 출력을 Result ParameterSet 뷰에서 보여줍니다.
Test 버튼을 누르면 Result ParameterSet에 결과가 출력됩니다.