jex 관련 개념 사용법 정리

Jex Framework 기본설명

1. Jex Framework

  • JAVA Extension Framework
  • 일반적 MVC2 모델에서 Controller(servlet), model(EJB, POJO), view(jsp) 사용하는 것과 달리 Web(service), Action, View 로 이뤄져 있으며, Client->(request)->Web(service)->Action->view->(response)의 과정으로 요청/응답 받음

2. JexFrameWork 구성

  • JexFrameWork 는 화면 표시 담당하는 PT(Presentation Tier)와 BT(Business Tier)로 이뤄짐.
  • PT와 BT는 하나의 서버로 구성 가능

3. JexFrameWork 개발 시스템 구성도

  • JexFrameWork 는 jexStudio라는 web기반 개발 도구와 SVN을 통환 개발 환경 제공
  • SVN 통해 관리 및 공유, JexDeploy 를 통해 개발 서버에 자동으로 컴파일 후 배포

4. JexFramework 용어

공통

  1. input/output field
  • JexFramework 기반의 모든 컴포넌트 실행 위한 입출ㄹ력값
  • JexStudio에서 컴포넌트 생성시 자동으로 XML 파일 정의
  • JexStudio의 표준 용어에 등록 된 값만 사용 가능
  1. IDO(Integrated Data Object)
  • DB SQL Query를 수행하기 위한 정보를 가지고 있는 컴포넌트
  • JexStudio에서 IDO를 등록 후 SQL을 입력하면 자동으로 필요한 input/output을 정의하며 XML 파일로 생성
  1. IMO(Integrated Message Object)
  • 메시지 통신(전문) 수행하기 위한 정보 가진 컴포넌트
  • JexStudio에서 IMO를 등록하여 입/출력 값 (전문 입/출력)을 설정 시 Input/output 필드를 가진 XML 파일로 생성
  1. CMO (Common Message Object)
  • IMO, Service 등 컴포넌트 들의 Input/output 필드에서 공통적으로 사용하는 값을 정의 하는 컴포넌트
  • JexStudio에서 CMO를 등록 하여 설정시 Input/output필드를 가진 XML파일로 생성

PT(Presentation Tier)

  1. WebService
  • Web 프로그래밍에서 JSP로 업무 호출하는 걸 JexFramework에서는 WebService라 부름
  • WebService는 Jex에서 등록하게 되며, XML 파일로 새애성됨
    • WebService 등록 시, 화면을 구성하는 View와 업무로직을 구성하는 Action 여부 선택
    • View 호출 시 http://project.host.com/webService_ID.act와 같이 .act확장자로 호출
    • Action 호출 시 http://project.host.com/webService_ID.jct와 같이 .jct확장자로 호출
  1. Action
  • WebService의 업무로직을 구현하는 컴포넌트
  • WebService 등록시 Action을 사용하게 설정하면 JSP 파일이 생성됨
  • IDO, IMO를 사용하여 다른 서버와 통신 가능
  1. View
  • WebService의 화면을 구현하는 컴포넌트
  • WebService 등록시 View를 사용하게 설정하면 JSP 파일이 생성됨

BT(Business Tier)

  1. Service
  • PT의 Action과 동일하게 업무 로직을 구현하는 컴포넌트
  • Jex에서 service를 등록하여 입/출력값 설정시 Input/output 필드를 가진 XML 파일과, 업무로직 기술할 수 있는 JAVA 파일이 생성됨
  • 화면 없이 입/출력 값으로만 동작, PT의 Action에서 IMO를 통해 호출, 또는 외부 서버와 연계 할 때도 사용
  1. BCS(Business Component Service)
  • 공통적으로 사용하는 업무로직 기술
  • jex에서 BCS를 등록하여 입/출력 값을 설정하면 Input/output 필드를 가진 XML파일과 업무 로직 기술할 수 있는 JAVA 파일 생성

표준관리

메타 관리

개요

  • 메타관리는 표준단어를 관리하기 위한 메뉴, 각 컴포넌트의 I/O 필드 정보 추가 시 사용
  • 일반적으로 각 프로젝트에서 표준단어 추가하는 경우, 각 프로젝트 내에서만 사용
  • 그러나 모든 프로젝트에서 동일한 표준단어 사용하고 싶은 경우 ‘Studio Manager’ 프로젝트에 추가하여 각 프로젝트에서 모두 사용하도록 함(Studio Manager는 관리자 계정만 접근 가능)
  • 개인적으로 느끼기엔 DTO 마냥 하나의 엔티티 느낌인 듯.

1. 설정

  • jexStudio의 ‘jex.studio.xml’의 설정 수정

stdWrdUseYN : ‘Studio Manager’ 프로젝트에 등록한 표준 단어를 Y인 경우 모든 프로젝트에 보이도록 설정, N인 경우 각 프로젝트 내에서 추가한 표준 단어만 보이도록 설정

2. 메타정보 조회

  • 표준단어 ‘%’로 like조회 가능(ex. %계좌%, %계좌, 계좌%)
  • 표준단어 검색시 초성 검새개도 가능(ex. %ㄱㅈ%, %ㄱㅈ, ㄱㅈ)

3. 메타 정보 등록 및 수정

  • 한글명 : 등록할 표준 단어 한글 명
  • 영문 약어명 : 표준 단어 나타낼 약어명. 등록 후 변경 불가
  • 영문명 : 등록할 표준 단어의 영문명을 입력합니다.
  • 타입 : 해당 표준단어가 문자형인지, 숫자형인지 구분하여 선택
  • 길이 : 표준 단어를 IMO에서 사용할 시 기본 길이 ㅈ정
  • 설명 : 등록할 표준 단어에 대한 설명 입력

코드 관리

코드 관리는 “정적인 정보”를 관리하기 위해 사용

  • 대코드는 여러개의 소코드 포함 가능
  • 소코드는 소분류 코드와 언어별 소분류명을 등록할 수 있다.
  • 언어별로 등록이 가능하므로 다국어 페이지 개발 시 동일하게 소분류 코드를 사용하여 코딩 해두면, 언어에 따라 변경된 소 분류명을 알아서 반환해준다.

1. 설정

  • 코드는 jex형상 관리를 통해 테스트, 운영서버로 직접 파일 배포하는 것과, jexAdmin을 통해 업무서버로 배포하는 방법 2가지가 제공된다.

2. 대코드

  • 대코드는 소코드의 그룹이라 할 수 있으며, 소코드는 항상 대코드에 소속되어 있어야 한다.
  • 업무 소스에서는 대코드를 사용해 대코드의 모든 소코드 정보 가져오기 가능
  • 대코드는 업무에서 원하는 대로 명명해서 사용 가능하나, jex 표준 대분류 코드가 존재한다
  • 대코드가 패키지 느낌인 듯 하다. 소코드가 그 안의 java파일 처럼 패키지 안의 파일인 거 같고

jex 표준 대분류 코드

  • RSPS_CD (응답코드): 업무에서 Exception 시, Error 메세지 코드 집합.
  • SYS_ERR_CD (jex 시승템 코드): jex 에러 코드를 관리하는 코드집합.
  • SYS_CD (미사용 메시지 코드) : jexadmin-서비스 제어관리에서 미사용 메시지 코드 사용하는 경우 사용되는 코드 집합

예제.

js에서 코드 정보를 가져오기 위해서는 먼저 code_manager객체 생성

사용 가능한 옵션

  • order_base (value) : “key”,”code”,”usr”
    • 기본값 : key
    • 정렬 기준이 되는 값을 의미(Key: 소분류 코드를 기준으로 정렬, CODE: 소분류 명을 기준으로 정렬, USR: 소분류 순번을 기준으로 정렬)
  • order (value) : “ASC”,”DESC”
    • 기본값 : ASC
    • 정렬순서 의미 (ASC: 오름차순, DESC: 내림차순)

객체 기본 생성 방법

객체 생성 방법

  • code_manager 기본 객체 생성 방법
var JexUtil = {};
JexUtil.getCodeManager = function(){
    return jex.js.plugin("code_manager,{
        "ORDER_BASE":"USR"
    });
    return codeManager;
}

코드 정보 가져오기 예제(js)

  • 소분류명 가져오기

var code = JexUtil.getCodeManager.getCode(“TG1”, “TC1”); //테스트 코드

  • 소분류 약어명 가져오기 var code = JexUtil.getCodeManager.getSimpleCode(“TG1”,”TC1”); //테스트 코드 약어 명

  • 대코드에 대한 소코드 리스트 정보 가져오기 var codeList = JexUtil.getCodeManager.getCode(“TG1”); // {“TC1”:”테스트코드입니다”, “TC2”:”테스트코드2입니다.”}

  • 소분류 순번에 의해 정렬된 소 코드 정보 가져오기

var codeList = JexUtil.getCodeManagerByUsrSort().getCode(“TG1”);//{“TC1”:”테스트코드입니다”TC2”:”테스트코드2입니다.”}







© 2021.03. by yacho

Powered by github