5.X-UP 설정

Edit

이 장에서는 사용자가 개발시에 필요한 X-UP 서버와 X-UP 빌더의 환경설정에 대하여 설명합니다.

5.1X-UP 서버 설정

X-UP 서버를 설정하기 위해서 여러 가지 환경설정 파일을 제공합니다. X-UP 서버를 설치했다는 가정하에 환경설정 관련 파일에 대한 설명입니다.

WAS 설치 경로에서 [webapps > xup > WEB-INF > xup > conf] 경로로 가면 아래 그림과 같이 여러 환경 설정 파일이 존재합니다.

Name

Description

authInfo.xml

X-UP 서버에 관한 계정정보를 가진 파일입니다.

log4j_config.xml

X-UP의 에러로그 설정에 관한 정보를 가진 파일입니다.

xup_config.xml

X-UP이 구동하기 위한 설정정보를 가진 파일입니다.

xup_env.property

X-UP의 환경 설정에 대한 정보를 가진 파일입니다.

X-UP_Server_License.xml

X-UP 서버의 라이선스 파일입니다.

5.1.1xup_config.xml

xup_config.xml파일에는 X-UP Server에 대한 아래와 같은 환경설정 정보를 가지고 있습니다.

Name

Type

Description

isBundleDevMode

Boolean

X-UP에서 실행되는 Bundle을 개발할 경우 사용하는 옵션입니다.

isManageMode

Boolean

X-UP 관리자 실행 여부입니다.

isDebugMode

Boolean

디버그에 대한 실행 여부입니다. 로그설정과 관계없이 true일 경우에만 로그를 남깁니다. (시스템 로그, 사용자 로그는 관계없음)

exception.loglevel

Int

예외처리에 대한 로그 레벨 설정입니다.

enableModelSingleton

Boolean

모델의 싱글톤 가능 여부입니다.

logger.Api.enabled

Boolean

X-UP 서버의 내부 API단에서 생기는 로그를 남길지에 대한 여부입니다.

logger.Parameter.enabled

Boolean

X-UP 서버의 파라미터를 핸들링할 때 발생하는 로그를 남길지에 대한 여부입니다.

logger.DataSetBuilder.enabled

Boolean

Gathering 모델에서 원시데이터를 데이터셋으로 바꿔줄 때 발생하는 로그를 남길지에 대한 여부입니다.

logger.ParameterSetBuilder.enabled

Boolean

Invoke에서 발생하는 로그를 남길지에 대한 여부입니다.

enableModelSingleton - 싱글톤으로 설정 되어 있을 경우 자바 소스를 편집하여 사용하는 모델의 경우 클래스의 멤버 필드인 Variable 사용에 주의하여야 합니다. 스레드간 멤버 필드인 Variable이 공유되어 사용되어지기 때문입니다.

X-UP Server에서 사용하는 exception log level은 다음과 같습니다.

레벨

설명

1

allException

전체 예외에 대하여 전체 StackTrace와 메시지를 뿌립니다.

2

allException shortly

전체 예외에 대하여 간단한 StackTrace와 메시지만 뿌립니다.

3

userException

현재 예외에 대해 전체 StackTrace와 메시지를 뿌립니다.

4

userException

현재 예외에 대해 간단한 StackTrace와 메시지를 뿌립니다. 4 레벨이 예외 로그가 가장 최소화되어 있습니다.

로그에 관하여 xup_config.xml 파일의 isDebugMode의 설정이 가장 우선 시 됩니다. isDebugMode가 'False'로 설정되어 있다면 log4j.xml 파일의 설정과 상관없이 로그를 남기지 않습니다.

5.1.2log4j.xml

X-UP은 자바 애플리케이션에서 빠르고 효과적으로 로깅할 수 있도록 도와주는 오픈 소스 프로젝트인 Apache log4j를 지원합니다.

log4j는 아래와 같이 구성되어 있습니다.

항목

설명

Logger(Category)

로깅 메시지를 Appender에 전달합니다.

Appender

전달된 로깅 메시지를 파일에다 기록할 것인지, 콘솔에 출력할 것인지 아니면 DB에 저장할 것인지 매개체 역활을 합니다.

Layout

Appender가 어디에 출력할 것인지 결정했다면 어떤 형식으로 출력할 것인지 출력 layout을 결정합니다.

log4j의 로깅 레벨은 아래와 같습니다.

레벨

설명

FATAL

가장 심각한 에러가 일어났을 때 사용합니다.

ERROR

일반 에러가 일어났을 때 사용합니다.

WARN

에러는 아니지만, 주의할 필요가 있을 때 사용합니다.

INFO

일반 정보를 나타낼 때 사용합니다.

DEBUG

일반 정보를 상세히 나타낼 때 사용합니다.

5.1.3auth_info.xml

auth_info 파일은 X-UP 에 대한 계정정보를 가진 파일입니다.

기본 배포 시 계정은 없으며, bin/encrypt.bat 파일을 이용해서 계정을 설정해야 합니다. 아래는 계정 설정하는 방법입니다.

해당 bin폴더로 계정을 설정하기 위해 이동합니다.

name과 password를 설정합니다.

계정이 추가된 뒤의 authInfo.xml 파일 내용입니다.

<?xml version="1.0" encoding="utf-8"?>
<authInfo>
  <userList>
    <user>
      <name>xup</name>
      <password>n1M4xHQzLqhyIJjrzPIsFg==</password>
    </user>
  </userList>
</authInfo>

새로운 계정을 추가한다면 encrypt.bat 새로운name 새로운password 로 계정을 추가할 수 있습니다.

auth_info에 계정 및 비밀번호를 변경하게 되면 X-UP 관리자 계정 등에도 변경된 계정으로 적용됩니다.

5.1.4web.xml

X-UP 서버의 웹 애플리케이션 루트 폴더 밑의 xup/WEB-INF에 web.xml 파일이 위치합니다. web.xml 파일은 서블릿의 설정과 서블릿 매핑, 필터, 인코딩 설정을 담당합니다.

<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE web-app
    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
    "http://java.sun.com/dtd/web-app_2_3.dtd">

<web-app>

    <!-- xupservice, webservice, ui5 -->
    <servlet>
        <servlet-name>FrontControllerServlet</servlet-name>
        <servlet-class>com.nexacro.xup.service.FrontControllerServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    
    <!-- deploy, undeploy -->
    <servlet>
        <servlet-name>DeploymentServiceServlet</servlet-name>
        <servlet-class>com.nexacro.xup.service.DeploymentServiceServlet</servlet-class>
    </servlet>
    
    <!-- serviceInfo, webServiceWSDL -->
    <servlet>
        <servlet-name>ServiceInfoServiceServlet</servlet-name>
        <servlet-class>com.nexacro.xup.service.ServiceInfoServiceServlet</servlet-class>
    </servlet>
    
    <!-- manage -->
    <servlet>
        <servlet-name>ManageServiceServlet</servlet-name>
        <servlet-class>com.nexacro.xup.service.ManageServiceServlet</servlet-class>
    </servlet>

    
    <!-- Servlet Mapping -->
    <servlet-mapping>
        <servlet-name>FrontControllerServlet</servlet-name>
        <url-pattern>/FrontControllerServlet.do</url-pattern>
    </servlet-mapping>
    
    <servlet-mapping>
        <servlet-name>DeploymentServiceServlet</servlet-name>
        <url-pattern>/DeploymentServiceServlet.do</url-pattern>
    </servlet-mapping>
    
    <servlet-mapping>
        <servlet-name>ServiceInfoServiceServlet</servlet-name>
        <url-pattern>/ServiceInfoServiceServlet.do</url-pattern>
    </servlet-mapping>
    
    <servlet-mapping>
        <servlet-name>ManageServiceServlet</servlet-name>
        <url-pattern>/ManageServiceServlet.do</url-pattern>
    </servlet-mapping>
</web-app>

5.1.5JCO 라이브러리

아래 라이브러리들은 SAP 가이드에서 시스템이 설정된 경로에 해당 라이브러리를 위치시켜 사용하도록 권장하고 있습니다.

표 5-1Windows 계열

JCO 2.0 Version에 필요한 라이브러리

JCO 3.0 Version에 필요한 라이브러리

librfc32.dll

sapjcorfc.dll

sapjco.jar

sapjco3.dll

sapjco3.jar

X-UP에서는 X-UP 빌더를 통한 개발 시 좀더 편리하게 사용할 수 있도록 해당 라이브러리를 배포하여 사용할 수 있도록 하고 있습니다. X-UP에서는 JCO 2.0일 경우 librfc32를 로딩하여 jco 내부에서 sapjcorfc.dll을 로딩합니다. JCO 3.0일 경우는 jco 내부에서 sapjco3.dll을 로딩하기 때문에 X-UP에서는 별도로 로딩하지 않습니다.

JCO 3.0 기준이며, JCO 3.0일 경우 sapjco3.dll에 적용했을 때 설치 시 방안은 아래와 같습니다.

다음과 같은 형태의 에러가 발생할 경우 OS Platform, JRE, SAP DLL bit version을 동일하게 설정 합니다.

caused by java.lang.NoClassDefFoundError :

message=Could not initialize class com.sap.conn.jco.rt.JCoRuntimeFactory

혹은 Error getting the version of the native layer:

java.lang.UnsatisfiedLinkError: no sapjco3 in java.library.path

5.2X-UP 빌더 Preference 설정

X-UP Preference는 X-UP Builder의 전체 환경설정 정보를 설정할 수 있습니다. X-UP Preference는 [Window > Preferences.. > X-UP] 으로 실행할 수 있습니다.

현재 X-UP Preference는 아래와 같이 항목으로 구성되어 있습니다.

5.2.1X-UP

공통적인 환경설정 정보를 정의할 수 있습니다.

'Is show X-UP Builder log message to console' 항목은 로그 출력을 console에 할 것인지 설정할 수 있습니다. 또한 'include package and class debug line message' 항목 설정을 통해 만약 로그 출력을 콘솔에서 한다면 'package'와 'class line message'를 포함할 것인지 정의할 수 있습니다.

'SAP RFC GROUP Search limit count' 항목은 그룹 조회 시 너무 많은 데이터가 나올 수 있으므로 정의된 숫자만큼만 출력되도록 제약을 줄 수 있습니다. 앞으로 다양한 환경설정 정보는 계속 추가될 예정입니다.

5.2.2DataSource

자주 사용되는 데이터 소스들을 X-UP 빌더에 미리 저장하여 X-UP 모델 생성 시 참조 또는 재사용하기 위한 기능을 제공합니다.

등록된 데이터소스들은 프로젝트나 모델에 상관없이 어느 곳에서나 참조될 수 있습니다.


Name

Description

1

DataSource Table

데이터소스 리스트 테이블은 등록된 데이터소스의 리스트를 보여줍니다.

Name : 데이터소스의 이름

CheckBox : 체크박스에 체크가 된 데이터소스만 모델 개발 시 데이터소스 선택화면에서 나타나게 됩니다.

Description : 데이터소스 작성 시 등록된 설명

Service : 등록된 데이터소스의 타입을 출력합니다.

2

Action Buttons

New : 새로운 데이터소스 생성

Edit : 기존 데이터소스를 편집

Remove : 선택한 데이터소스를 삭제

Copy as : 선택한 데이터소스를 복사

Import : 외부 데이터소스를 등록

Export : 등록된 모든 데이터소스를 xml 형태파일로 원하는 외부 디렉터리에 저장(백업).

3

Preview

선택된 데이터소스의 상세 정보를 출력합니다.

X-UP 빌더의 Preference에서 아래와 같은 방법으로 데이터소스 정의하고 사용할 수 있습니다.

  1. [Window > Preferences..] 메뉴를 클릭하여 Preferences 위자드를 실행합니다.

  1. X-UP DataSource 메뉴를 선택하면 데이터소스 설정화면이 나타납니다.

  1. New 버튼을 클릭하여 새로운 데이터소스를 정의합니다.

  1. 위와 같이 정의된 데이터소스는 X-UP 프로젝트에서 복사하여 사용할 수 있습니다. X-UP 모델 생성 위자드의 'Define DataSource' 창에서 Copy From… 버튼을 클릭하여 Preference에서 정의한 데이터소스를 복사합니다.

5.2.3Jetty Web Server

X-UP Builder에 포함된 Jetty Web Server 기능을 사용하기 위해 아래의 설정을 합니다.


Name

Description

1

HTTP Port

HTTP Port를 설정합니다.

2

Path

Path를 설정합니다.

3

Service URL Pattern

Service URL Pattern을 설정합니다.

4

Service Info URL Pattern

Service Info URL Pattern을 설정합니다.

5

Manage URL Pattern

Manage URL Pattern을 설정합니다.

6

Deployment URL Pattern

Deployment URL Pattern을 설정합니다.

7

Add Module

Web Module을 등록합니다.

8

Edit

Web Module에 등록된 항목을 편집합니다.

9

Remove

Web Module에 등록된 항목을 삭제합니다.

5.2.4compile 버전 변경

X-UP 빌더가 사용하는 JRE 버전은 1.6입니다. 따라서 사용자가 아래와 같이 X-UP 빌더에서 컴파일 버전을 변경할 수 있습니다.

X-UP 빌더의 Preference에서 아래와 같은 방법으로 컴파일 버전을 1.5로 변경할 수 있습니다.

  1. [Window > Preferences] 메뉴를 클릭하여 Preferences 위자드를 실행합니다.

  1. Java Compiler 메뉴를 클릭합니다.

  1. JDK Compliance의 Compiler compliance level을 1.5를 선택하고 Apply 버튼을 클릭합니다.