기타 기능

이 장에서는 앞의 장에서 다루지 않은 X-UP의 기타 서비스에 대해 소개하고 핸들링 하는 방법에 대하여 설명합니다.

X-UP Global Event

이 절에서는 X-UP에서 모든 모델 혹은 Invoke에서 사용할 수 있는 X-UP Global Event에 대해 설명합니다.

X-UP은 AOP(Aspect Oriented Programming) 사상을 적용하여 Method 실행에 대한 Join Point를 제공합니다. 실행되는 대상의 경우 개발되어지는 모델의 Event 항목에 대해 설정 가능합니다.

X-UP Global Event를 통해 다음과 같은 작업들을 처리할 수 있습니다.

X-UP Global Event는 도메인 별적용 됩니다.

다음 예는 모델 실행 시 Logging에 대한 방법으로 X-UP Global Event를 적용하는 방법입니다.
개발하는 단계는 다음과 같습니다.

이 절에서는 SAP RFC Invoke를 이용한 모델 개발하기절에서 만든 모델을 사용합니다.

X-UP Global Event 생성하기

  1. Create Global Event icon[](1) 혹은 메뉴의 [X-UP > Create Global Event] (2) 을 선택하여 Global Event를 생성합니다.

  1. 확인 창이 나타날 경우 OK 버튼을 클릭합니다.

  1. Global Event가 생성된 화면은 다음과 같습니다.

Event 적용대상 설정하기

X-UP Global Event 설정항목

Name

Description

ID

Global Event 별 고유한 식별자입니다.

TagetClass

Event를 적용하고자 하는 대상입니다. X-UP에서 적용가능한 대상은 Automation모델, Invoke별 FlowEvent, 데이터소스 연결을 위한 DataSourceEvent 입니다.

TargetMethod

Event를 적용하고자 하는 대상의 Method를 지정합니다. 적용되는 대상 별 Event 는 다음과 같습니다.

TargetClass

TargetMethod

Description

AutomationLogic

start

모델이 실행될 경우 적용가능한 Event

end

모델이 종료되기 직전 적용 가능한 Event

XXXFlowEvent

onBegin

Invoke가 실행될 경우 적용 가능한 Event

onEnd

Invoke가 종료되기 직전 적용 가능한 Event

onExceptionOccured

Invoke 실행 중 예외가 발생할 경우에 적용 가능한 Event

XXXDataSourceEvent

onBeforeExecute

데이터소스를 통해 Legacy와 연결을 맺기 직전에 적용가능한 Event

onAfterExecute

데이터소스를 통해 Legacy와 연결을 맺은 직후에 적용 가능한 Event

UserClass

Event에 적용되는 Business Logic을 삽입합니다.

TargetClass 별 class를 생성하거나 혹은 선택할 수 있습니다.

Package 구성에 따라 TargetClass와 TargetMethod는 항목이 변경될 수 있습니다.

  1. Global Event를 설정하기 위해 추가[] 버튼을 클릭하여 적용되는 Event를 추가 합니다.

  2. 모든 모델에 적용하기 위해 TargetClassAutomationLogic을 선택하고 TargetMethodstart를 선택합니다.

  3. Business Logic을 삽입하기 위해 UserClass를 생성합니다.

  4. 생성하고자 하는 Class 명칭을 입력하고 Class버튼[]을 클릭하여 Class를 생성합니다.

  1. 생성된 UserClass는 다음과 같습니다.

package user.globalEvent; 
 
import com.nexacro.xup.aop.intercept.interceptor.AutomationModelInterceptor; 
import com.nexacro.xup.ParameterSet; 
import com.nexacro.xup.component.automation.AutomationFailException; 
 
public class AutomationModelTracer extends AutomationModelInterceptor { 
                                                                                   
  public void start(ParameterSet globalParameterSet) throws AutomationFailException{ 

  }

}

생성된 Class, Method, 입력 아규먼트의 명칭변경해서는 안됩니다.

Interceptor Class 작성하기

  1. 데이터 로깅을 위해 start 메서드안에 다음과 같은 코드를 추가합니다.

log("DEBUG", "AutomationModel start. data=["+globalParameterSet.getDebugInfo()+"]");

적용되는 Event별 사용 가능한 메서드는 다릅니다.

테스트하기

  1. Global Event가 적용되었는지를 테스트 하기 위해 모델을 실행(1)합니다.

  1. 테스트를 수행할 경우 로깅된 데이터(2)를 확인할 수 있습니다.

Session Handling

이 절에서는 X-UP에서 Session을 Handling하는 방법에 대해 설명합니다.

X-UP에서는 Session을 처리할 수 있는 UserSession 객체를 제공합니다.

UserSession은 httpSession객체를 Wrapping한 객체로 이 절에서는 UserSession객체를 사용하여 세션의 생성, 세션값 체크, 세션 해제 등의 기능을 로그인, 사용자 정보 가져오기, 로그인 세션 해제하기라는 샘플 모델로 만들어 확인하는 방법을 설명합니다.

다음은 Session 처리하는 서비스를 개발하는 단계는 다음과 같습니다.

X-UP 프로젝트 생성하기

  1. [File > New > X-UP Project] 메뉴를 선택하여 New X-UP Project Wizard를 실행합니다.

  2. New X-UP Project Wizard에서 Project name 필드에 원하는 프로젝트 이름을 입력하고 ‘Finish’ 버튼을 클릭합니다.

  1. X-UP Explorer에 아래와 같이 X-UP 프로젝트가 생성된 것을 확인합니다.

Automation 모델 생성하기

  1. [File > New > X-UP Automation Model] 메뉴를 선택하여 New Model Wizard를 실행합니다.

  2. New Model Wizard에서 Model Name 필드에 모델 이름을 입력하고 OK 버튼을 클릭합니다.

  1. New Model Wizard가 완료 후 나타나는 화면은 아래와 같습니다.

UserMethod 생성하기

  1. UserMethod를 더블 클릭하여 아래와 같이 소스 코드를 입력합니다.

// session 생성
UserSession session = this.getUserSession();
session.setAttribute("USER_ID","test");
session.setAttribute("USER_PW","1234");

세션값 체크 Automation 모델 생성하기

  1. [File > New > X-UP Automation Model] 메뉴를 선택하여 New Model Wizard를 실행합니다.

  2. New Model Wizard에서 Model Name 필드에 모델 이름을 입력하고 OK 버튼을 클릭합니다.

  1. New Model Wizard가 완료 후 나타나는 화면은 아래와 같습니다.

user_id , user_pw 파라메터와 UserMethod 생성하기

  1. Variable 파라메터 두 개를 선언하고 이름을 user_id, user_pw로 지정합니다.

  2. UserMethod 컴포넌트를 더블 클릭하여 아래와 같이 소스코드를 입력합니다.

// session 생성
UserSession session = this.getUserSession();
globalParameterSet.add("user_id",session.getAttribute("USER_ID"));
globalParameterSet.add("user_pw",session.getAttribute("USER_PW"));
  1. user_id, user_pw Variable을 userMethod에 output 파라메터로 Connect합니다

세션해제 Automation 모델 생성하기

  1. [File > New > X-UP Automation Model] 메뉴를 선택하여 New Model Wizard를 실행합니다.

  2. New Model Wizard에서 Model Name 필드에 모델 이름을 입력하고 OK 버튼을 클릭합니다.

  1. New Model Wizard가 완료 후 나타나는 화면은 아래와 같습니다.

UserMethod 생성하기

  1. UserMethod 컴포넌트를 더블 클릭하여 아래와 같이 소스 코드를 입력합니다.

// session 해제
UserSession session = this.getUserSession();
session.invalidate(true);

테스트

  1. 위에서 작성한 모델 3개를 서버로 디플로이 합니다.

  1. UserLogin 모델을 호출합니다.

  1. 위 모델을 호출을 했으면 UserCheck 모델도 호출합니다.

    UserLogin 모델이 정상적으로 호출되었으면 session 값에 user_id, user_pw 값이 할당되어 있어야 합니다.

  1. User_id, user_pw 값이 정상적으로 출력되는지 확인합니다.

  1. 위 정보를 확인하고 세션을 해제하는 UserLogout 모델을 호출합니다. 호출하게 되면 이전에 생성한 세션 정보를 잃게 됩니다.

  2. 위 단계를 실행하고 UserCheck 모델을 호출해 이전에 저장한 세션 값이 null이 되었는지 확인합니다.

Cookie Handling

Cookie란 웹 서버가 클라이언트에게 전송한 텍스트로 클라이언트에 저장되어 동일한 웹 서버에 접속할 때 마다 요청 헤더에 key=value형식으로 자동으로 서버에 전달되는 값입니다.

이 절에서는 Cookie Handling 하는 방법을 설명합니다. X-UP의 header 파라메터를 이용하여 클라이언트에서 넘어오는 header 값을 읽어 그 중 cookie값을 변경하는 방법을 설명합니다.

이 절에서의 모델 개발단계는 다음과 같습니다.

X-UP 프로젝트 생성하기

  1. [File > New > X-UP Project] 메뉴를 선택하여 New X-UP Project Wizard를 실행합니다.

  2. New X-UP Project Wizard에서 Project name 필드에 원하는 프로젝트 이름을 입력하고 ‘Finish’ 버튼을 클릭합니다.

  1. X-UP Explorer에 아래와 같이 X-UP 프로젝트가 생성된 것을 확인합니다.

Automation 모델 생성하기

  1. [File > New > X-UP Automation Model] 메뉴를 선택하여 New Model Wizard를 실행합니다.

  2. New Model Wizard에서 Model Name 필드에 모델 이름을 입력하고 OK 버튼을 클릭합니다.

  1. New Model Wizard가 완료 후 나타나는 화면은 아래와 같습니다.

Header 파라미터와 UserMethod 생성하기

  1. header 파라메터를 추가하고, 이름은 " cookie ", Schema는 "cookie"로 입력해줍니다.

  2. UserMethod를 추가한 후 생성한 UserMethod로 input 파라메터로 cookie를 Connect합니다.

UserMethod 로직 구현하고 output 파라미터 설정하기

  1. UserMethod를 더블클릭하여 아래와 같이 소스코드를 입력합니다.

//클라이언트로 부터 받아온 header 중 cookie 값을 얻는다.
MashupHeader cookie= globalParameterSet.getHeader("cookie");
//key = value 형식으로 되어있는 값을 파싱한다.
String [] arrCookie = cookie.getValue().trim().split(";");
String cookieFullValue = "";
for(int iKey = 0; iKey < arrCookie.length; iKey++) {
	String[] cookieKeyVal = arrCookie[iKey].trim().split("=");
	String key = "";
	String value = "";
	if(cookieKeyVal.length == 1) {
		key = cookieKeyVal[0];
		value = "";
	} else {
		key = cookieKeyVal[0];
		value = cookieKeyVal[1];
	}
	if(key.equals("g_emp_no")) {
		value = "54321";
	}
	cookieFullValue += key+"="+value+"; ";
}
MashupHeader cookie1= globalParameterSet.getHeader("out_cookie");
cookie1.setValue(cookieFullValue);
  1. header 파라메터를 추가하고 이름은 " out_cookie ", Schema는 "Set-Cookie" InOut타입은 “out”으로 입력해줍니다.

  2. UserMethod와 생성한 out_cookie 파라미터를 connect 합니다.

테스트 화면 만들기

UX-Studio에서 프로젝트 만들기, 폼 화면 만들기 설명은 생략합니다.

  1. UX-Studio를 실행하고 “header_Form” 이라는 이름의 form 화면 하나를 생성합니다.

  2. GlobalVariables의 variable을 아래와 같이 생성합니다.

  1. 생성한 화면에 버튼을 추가하고 더블 클릭하여 아래와 같은 function 스크립트를 입력합니다.

function Button00_onclick(obj:Button, e:ClickEventInfo)
{
	alert(g_emp_no);
	var svcID = "testService";
	var svcparam = "domain=XupCOMM" // X-UP 도메인 이름
		+"&model=header_sample&service=xupservice" // X-UP 모델 이름
		+"&format=xml"
		+"&version=xplatform";

	var svcurl = "SERVER::xupservice.do?" + svcparam;
	var inputDataset = "";
	var outputDataset = "";
	var strArgument = "";
	transaction(svcID, svcurl, inputDataset, outputDataset, strArgument, 	
		"CallbackFunc",false);
}

function CallbackFunc(strSvcID, nErrorCode, strErrorMag)
{
	if (nErrorCode != 0)
	{
		alert(nErrorCode + " : " + strErrorMag);
		return;
	}
	alert(g_emp_no);
}
  1. 폼 화면을 실행시켜 버튼을 클릭합니다.

  2. 최초 쿠키 값이 빈 값으로 출력되는지 확인합니다.

  1. 다시 한번 OK 버튼을 클릭해 변경된 쿠키값이 들어오는지 확인합니다.

File Handling

이 절에서는 File 파라메터를 이용한 모델 개발 방법에 대해 설명합니다.

이 절에서 사용한 데이터베이스 테이블 정보는 예제 DB 테이블 생성 스크립트를 참조하십시오.

이 절에서 설명하는 File 파라메터를 이용한 모델 개발단계는 다음과 같습니다.

X-UP 프로젝트 생성하기

  1. [File > New > X-UP Project] 메뉴를 선택하여 New X-UP Project Wizard를 실행합니다.

  2. New X-UP Project Wizard에서 Project name 필드에 원하는 프로젝트 이름을 입력하고 ‘Finish’ 버튼을 클릭합니다.

  1. X-UP Explorer에 아래와 같이 X-UP 프로젝트가 생성된 것을 확인합니다.

Automation 모델 생성하기

  1. [File > New > X-UP Automation Model] 메뉴를 선택하여 New Model Wizard를 실행합니다.

  2. New Model Wizard에서 Model Name 필드에 모델 이름을 입력하고 OK 버튼을 클릭합니다.

  1. New Model Wizard가 완료 후 나타나는 화면은 아래와 같습니다.

File 파라메터와 UserMethod 생성하기

  1. File 파라메터를 추가하고, 이름은 ‘file’, Schema는 ‘text/xml’로 입력해 줍니다.

  2. UserMethod 함수를 추가한 후 생성한 UserMethod함수에 input 파라메터로 위에서 추가한 파일 파라메터 file을 Connect합니다.

UserMethod 로직 구현하고 테스트 파라메터 설정하기

  1. UserMethod를 더블 클릭하여 아래와 같이 소스 코드를 입력합니다.

MashupFile file = globalParameterSet.getParameter("file").getFile();

String name = file.getName();
String path = file.getPath();

DataSet dataset1 = globalParameterSet.getDataSet("dataset1");

int row = dataset1.newRow();
dataset1.set(row, "NAME", name);
dataset1.set(row, "PATH", path);

globalParameterSet.add("dataset1", dataset1);
  1. DataSet을 추가하고 이름은 "dataset1"로 하고 스키마는 아래와 같이 정의합니다.

Name

Type

Size

NAME

string

20

PATH

string

100

  1. UserMethod로 부터 output 파라메터를 dataset1로 Connect합니다.

Modify Invoke 및 Select Invoke 생성하고 출력 로직 설정하기

  1. Modify Invoke를 추가합니다.

  2. 타겟 DataSet은 dataset1이며 Modify Invoke에 input 파라메터로 Connect해줍니다.

  1. Modify Invoke를 더블클릭하고 insert 쿼리에 아래와 같이 입력합니다.

insert into FILETEST (NAME, PATH) values (#dataset1.NAME#, #dataset1.PATH#)

  1. Test버튼을 클릭 합니다.

  2. Test 후에 자동 생성된 RESULT0 output 파라메테는 삭제합니다.

  3. Select Invoke를 추가하고 Invoke Select SQL 창에 아래와 같이 쿼리를 입력합니다.

select
	NAME,
	PATH
from FILETEST

  1. Test 버튼을 클릭하고 Ok 버튼을 클릭합니다.

모델 테스트하기

모델 에디터에서 마우스를 오른쪽 클릭하면 팝업 메뉴가 나타납니다. 팝업 메뉴에서 Test를 선택하면 모델을 테스트 할 수 있습니다.

테스트가 끝나면 모델의 출력을 Result ParameterSet 뷰 에서 보여줍니다.

User Library Handling

X-UP 모델 생성 시 에디터에서 제공하는 X-UP 함수 외에 사용자가 라이브러리를 추가하여 사용자 지정 함수를 사용할 수 있습니다.

User Library는 Import User Library Dialog에서 X-UP Model을 개발할 때 사용할 수 있도록 프로젝트에 등록해 줍니다.

Import User Library Dialog는 [Select project > mouse right-click > import > X-UP > User Libraries] 를 통해 실행할 수 있습니다.

유저 라이브러리를 선택하고 Finish를 하면 프로젝트에 userlib 폴더가 없다면 자동 생성되고, 선택한 jar파일을 userlib 폴더에 복사하며, 자동으로 선택한 jar 파일이 Classpath에 등록이 됩니다.

유저 라이브러리를 Build Path에서 제외하는 과정은 다음과 같습니다.

삭제하고자 하는 라이브러리를 선택한 후 [Build Path > Remove from Build Path]를 선택합니다.

Remove from Build Path를 선택하면 해당 파일은 빌드패스에서 제외되고 userlib 폴더밑에 파일이 보이게 됩니다. userlib폴더밑에 보이는 파일은 영구히 삭제하거나 나중에 다시 빌드패스에 추가할 수 있습니다.

Build Path에서 제외된 유저라이브러리를 다시 Build Path에 추가하는 과정은 다음과 같습니다.

추가하고자 하는 라이브러리를 선택한 후 [Build Path > Add to Build Path]를 선택합니다

Build Path에서 제외된 유저라이브러리를 프로젝트에서 삭제하는 과정은 다음과 같습니다.

삭제하고자 하는 라이브러리를 선택한 후 Delete를 선택합니다

X-UP Server 관리

실행과 중지

X-UP은 WAS(Web Application Server)위에서 웹 애플리케이션으로 동작합니다. 그렇기 때문에 서버의 구동과 중지는 X-UP이 설치된 WAS의 구동방법에 의존합니다.

Project Reporting

X-UP Builder에서는 X-UP Builder로 개발한 X-UP Model들의 자세한 사항들을 문서로 만들어 한 눈에 볼 수 있는 기능인 Export Project Report Dialog를 제공합니다. X-UP Project Reporting은 [Select Project > mouse right-click > Export > X-UP > Project Report] 를 통해 실행할 수 있습니다.

Next 버튼을 누르면 아래와 같이 진행됩니다.


Name

Description

1

Project Select List

프로젝트 선택 리스트

2

Model Select List

모델 선택 리스트

3

File Format

파일 형식 선택 (docx / xlsx / html / text)

4

Target Directory

Project Reporting File 저장 디렉토리 경로

5

Browse

Project Reporting File 저장 디렉토리 경로 편집

6

Finish

Project Reporting File 생성

Project Reporting을 원하는 모델을 선택한 뒤 원하는 File Format을 선택합니다. File Format은 HTML(html), Text(txt), MS Word(docx), MS Excel(xlsx) 총 4개의 형식을 선택할 수 있습니다. Target Directory는 Project Reporting 파일이 만들어질 디렉토리를 정해줍니다. 그리고 Finish 버튼을 누르게 되면 원하는 형식의 파일이 만들어지게 됩니다.

다음으로 나오는 아래의 그림들은 4개 형식(Text, Excel, MS Word, HTML)의 Reports 입니다.

Text 형식의 Report

Excel 형식의 Report

MS Word 형식의 Report

HTML 형식의 Report

Filtering

X-UP에서 한 Row에 대한 action(insert, update, delete) 을 처리하기 전 특정 Rule에 맞는 Row일 경우 해당 Row는 실행을 하지 않고 Filtering 됩니다.

다음은 Filtering에 대한 예입니다.

Name

Description

Rule Name

Rule을 구분하기 위한 값으로 다른 Rule과 중복되지 않는

값을 설정합니다.

Parameter

Rule에서 사용할 입력 파라매터를 설정합니다.

Comparator

입력 파라매터의 조건을 설정합니다.

Value

Comparator에서 설정한 값이 “not empty, empty, custom”이

아닌 경우 조건 상수를 입력합니다.

Filtering은 Modify Invoke에만 적용되는 사항입니다. 자세한 예제는 Modify Invoke를 이용한 모델 개발하기를 참조하세요

트랜잭션 관리

X-UP은 분산 트랜잭션을 지원합니다.

X-UP에서는 명시적으로 이용자가 commit과 rollback을 수행하지 않는 것을 권장합니다. 트랜잭션 제어는 X-UP에서 이미 처리하고 있으며 그 내용은 다음과 같습니다.

DB Connection 및 SAP JCO Connection과 같은 legacy Connection의 Commit과 Rollback은 다음과 같은 정책에 따라 결정됩니다.

따라서 만일 Rollback을 수행하고 싶을 경우 예외를 처리하거나 'ErrorCode' 파라미터를 생성하여 음수값을 설정할 경우 해당 Request에 대해 legacy Connection Rollback을 수행합니다.

다국어 처리

X-UP은 다음과 같은 원칙으로 다국어를 처리합니다.

예를 들어 클라이언트의 요청에 담긴 문자셋이 ‘euc-kr’일 경우 데이터 수집 시에 문자셋을 ‘euc-kr’"를 사용하여 데이터를 가져옵니다. 그리고 수집하고 가공된 데이터를 ‘euc-kr’로 클라이언트에 응답합니다. 하지만 만약 데이터소스에서 가져온 데이터가 ‘UTF-8’이라면 이를 ‘euc-kr’로 다시 인코딩하지 않고 그대로 ‘UTF-8’로 클라이언트에 전달합니다.

다음은 클라이언트의 요청에서 문자셋을 결정하는 로직입니다.

  1. 데이터 자체에 명시된 문자셋을 구한다.(xml과 같은 경우)

  2. 없으면, HttpRequest에 의한 요청일 경우 request에서 문자셋을 구한다.

    1. 헤더 ‘CONTENT-TYPE”’에 담긴 문자셋을 구한다.

    2. 없으면, 헤더 ‘ACCEPT-CHARSET’에 담긴 문자셋을 구한다.

    3. 없으면, 헤더 ‘ACCEPT-LANUAGE’에 담긴 언어를 가지고 문자셋을 구한다.

  3. 없으면, 모델에 설정된 문자셋으로 한다.

    1. 모델 metadata에 설정된 문자셋을 구한다.

    2. 없으면, 모델이 사용하는 datasource에 설정된 문자셋을 구한다.

  4. 없으면, ‘UTF-8’을 문자셋으로 한다.

Junit & Remote Class 생성

X-UP은 사용자에게 디버깅의 편리성을 제공하기 위한 기능으로 JUnit 클래스와 Remote 클래스를 자동 생성해 주는 기능을 제공하고 있습니다.

사용자가 테스트할 모델을 선택하고 아래 메뉴를 클릭하게 되면 간단한 JUnit 클래스와 Remote 클래스를 생성합니다.

Name

Description

generate Remote Test Source

선택한 모델을 기반하여 Remote 테스트를 할 수 있는 테스트 클래스를 생성

generate Junit Test Class

선택한 모델을 테스트할 수 있는 간단한 JUnit Test Case를 생성

generate All Junit Test Class

선택한 프로젝트에 존재하는 모든 모델을 대상으로 JUnit Test Case를 생성

JUnit Test Class 생성 방법

  1. 테스트할 모델을 선택합니다.

  2. 개발 도구 Bar에 [] 아이콘을 선택합니다.

  3. logics 폴더에 본래 클래스 이름 뒤에 ‘_junit’가 덧붙여진 JUnit Test 클래스가 생성되었음을 확인합니다.

  1. 또 다른 방법으로는 프로젝트를 선택한 후에 [Mouse Right-click > X-UP > Generate All Junit Test Class]

JUnit Test Class를 생성한 후 디버그 모드로 실행

BreakPoint를 추가한 후 모델 디버깅을 하기 위해선 해당 모델의 Junit Test Case 자동 생성 메뉴를 통해 테스트 케이스 자바파일을 생성한 후 자바 디버그 모드로 실행합니다.

이후는 일반 자바 디버그와 동일합니다.

Remote Test Source 생성 방법

  1. 테스트 할 모델을 선택합니다.

  2. 개발 도구 Bar에 [] 아이콘을 선택합니다.

  3. logics 폴더에 본래 클래스 이름 뒤에 ‘_remote’가 덧붙여진 Remote Test Source 클래스가 생성되었음을 확인합니다.

Jetty 기능

X-UP은 사용자에게 편리성을 제공하기 위한 기능으로 X-UP 자체에서 Jetty Web Server를 구동할 수 있습니다.

Start 버튼 또는 Debug 버튼을 눌러 Jetty Web Server를 구동하게 되면 X-UP Builder를 이용해 만든 모델들이 Deploy 과정없이 Jetty Web Server에 올라갑니다.

다음은 툴바에 있는 Jetty 아이콘에 대한 설명입니다.

번호

이름

설명

1

Debug

디버그 모드로 Jetty를 실행합니다.

2

Start

Jetty를 실행합니다.

3

Stop

Jetty를 중단합니다.

4

Restart

Jetty를 재실행합니다.

Jetty Web Server 실행 시 (Start)

Start 버튼을 클릭하면 위와 같은 화면을 볼 수 있습니다.

Jetty Web Server 실행 시 (Debug mode)

Debug 버튼을 클릭하면 위와 같은 화면을 볼 수 있습니다.

Quick Model 생성하는 방법

SAP RFC Invoke

X-UP 프로젝트 생성하기

  1. [File > New > X-UP Project] 메뉴를 선택하여 New X-UP Project Wizard를 실행합니다.

  2. New X-UP Project Wizard에서 Project name 필드에 원하는 프로젝트 이름을 입력하고 ‘Finish’ 버튼을 클릭합니다.

  1. X-UP Explorer에 아래와 같이 X-UP 프로젝트가 생성된 것을 확인합니다.

DataSource가 있을 경우, X-UP DataSource 뷰에서 원하는 DataSource []를 선택해 테이블 목록을 가져옵니다.

DataSource가 없을 경우, 아래와 같이 DataSource를 만듭니다.

화면 우측의 X-UP DataSource 뷰에서 new DataSource를 선택해 Wizard를 실행합니다.

DataSource를 "RFC_EC6"을 선택하고 search Entities버튼 [] 을 클릭하여 서버에 등록된 Function 리스트를 호출합니다.

검색하고자 하는 그룹을 검색합니다.

그룹(function) 검색 시 * 검색이 가능 합니다.

조회를 원하는 Function Group을 더블 클릭합니다.

그룹(function) 검색 시 * 검색이 가능 합니다.

  1. Automation Model로 만들고 싶은 Function을 선택합니다. (다중 Function 선택 가능합니다.)

  2. 마우스 오른쪽 버튼을 클릭합니다.

  3. Create Automation SapRfc Model를 클릭합니다.

Finish 버튼을 누릅니다.

다음과 같은 파일이 만들어진 것을 확인할 수 있습니다.

Select Invoke

X-UP 프로젝트 생성하기

  1. [File > New > X-UP Project] 메뉴를 선택하여 New X-UP Project Wizard를 실행합니다.

  2. New X-UP Project Wizard에서 Project name 필드에 원하는 프로젝트 이름을 입력하고 ‘Finish’ 버튼을 클릭합니다.

  1. X-UP Explorer에 아래와 같이 X-UP 프로젝트가 생성된 것을 확인합니다.

DataSource가 있을 경우, X-UP DataSource 뷰에서 원하는 DataSource []를 선택해 테이블 목록을 가져옵니다.

DataSource가 없을 경우, 아래와 같이 DataSource를 만듭니다.

화면 우측의 X-UP DataSource 뷰에서 new DataSource를 선택해 Wizard를 실행합니다.

Finish 버튼을 누릅니다.

생성된 모델의 결과의 예는 다음과 같습니다.

Modify Invoke

X-UP 프로젝트 생성하기

  1. [File > New > X-UP Project] 메뉴를 선택하여 New X-UP Project Wizard를 실행합니다.

  2. New X-UP Project Wizard에서 Project name 필드에 원하는 프로젝트 이름을 입력하고 ‘Finish’ 버튼을 클릭합니다.

  1. X-UP Explorer에 아래와 같이 X-UP 프로젝트가 생성된 것을 확인합니다.

DataSource가 있을 경우, X-UP DataSource 뷰에서 원하는 DataSource []를 선택해 테이블 목록을 가져옵니다.

DataSource가 없을 경우, 아래와 같이 DataSource를 만듭니다.

화면 우측의 X-UP DataSource 뷰에서 new DataSource를 선택해 Wizard를 실행합니다.

Finish 버튼을 누릅니다.

생성된 모델의 결과의 예는 다음과 같습니다.