온라인 어플리케이션 설계

1. 자원

온라인 어플리케이션에서 설계할 수 있는 자원은 다음과 같습니다.

자원 설명

컨트롤러

@Controller 또는 @RestController 애노테이션을 갖는 클래스 자원.

서비스

@Service 애노테이션을 갖는 클래스 자원.

컴포넌트

@Component 애노테이션을 갖는 클래스 자원.

DBIO

DATABASE 에 접근하는 SQL 을 작성할 수 있는 자원.

IO

전송 가능한 데이터로 변환할수 있는 Data Transfer Object 역할을 하는 자원.

2. 컨트롤러 추가

  1. 컨트롤러 영역을 우클릭하여 컨텍스트 메뉴를 띄웁니다. 추가할 컨트롤러(컨트롤러, LRA 컨트롤러)를 선택합니다. 본 가이드에서는 새로운 컨트롤러 추가를 선택합니다.

    ko/designApp/designApp01
  2. 단어를 입력한 후 Enter 혹은 검색 버튼을 눌러 메타에 등록된 단어를 검색하여 논리 이름을 완성합니다. 복합어의 단어와 단어 사이는 . 을 통하여 구분하고, 논리 이름과 물리 이름이 정확히 입력된 것을 확인한 후 OK 버튼을 눌러 컨트롤러 생성을 완료합니다.

    ko/designApp/designApp02

    논리이름은 메타에서 검색하거나 직접 입력하여 구성할 수 있습니다. 필요한 경우 '메타에서 검색' 만 사용하거나 '직접 입력' 만 사용할 수 있습니다. 아래 옵션으로 설정을 변경할 수 있습니다.

    • key : application.designer.meta.nameSelectOption

    • value : META_AND_DIRECT 또는 META_ONLY 또는 DIRECT_ONLY

      • META_AND_DIRECT: 기본값. '메타에서 검색' 과 '직접 입력' 을 함께 사용

      • META_ONLY: '메타에서 검색' 만 사용

      • DIRECT_ONLY: '직접 입력' 만 사용

    1. '메타에서 검색' 만 사용할 경우에는 대화창에 메타 검색 컨트롤만 활성화됩니다. 메타를 검색하여 논리이름을 구성합니다.

      ko/designApp/designApp01_1
    2. '직접 입력’만 사용할 경우에는 대화창에 직접 입력 컨트롤만 활성화됩니다. 직접 논리이름과 물리이름을 입력하여 구성합니다.

      ko/designApp/designApp01_2
  1. RestController 사용 여부 및 매핑 URL을 입력합니다.

    ko/designApp/designApp03
  2. 생성된 컨트롤러를 더블 클릭하여 편집창을 열고, 메소드 목록에서 우클릭하여 새로운 컨트롤러 메소드 추가를 클릭합니다.

    ko/designApp/designApp04
  3. 팝업에서 접두어를 선택하고, 메타 단어를 검색하여 메소드를 생성합니다.

    ko/designApp/designApp05
  4. 컨트롤러 메소드를 더블 클릭하여 메소드 상세 페이지를 오픈합니다.

    ko/designApp/designApp06
  5. 컨트롤러 메소드 입력은 추가 버튼을 클릭하여 오픈된 팝업에서 추가할 수 있습니다. JAVA 기본 타입 및 IO 타입으로 설정할 수 있습니다.

    ko/designApp/designApp07
  6. 입력 파라미터 추가에 팝업에서 IO 타입을 클릭하면 IO 검색 대화창이 열리고 추가할 IO를 검색합니다. 검색 결과 목록에서 추가하려는 IO 타입을 선택하고 OK 버튼을 누릅니다.

    ko/designApp/designApp08
  7. 입력의 이름, 설명, Binding 및 pathVariable 사용 여부를 지정합니다.

    ko/designApp/designApp09
  8. 출력은 선택 버튼을 클릭하여 입력과 동일하게 추가할 수 있습니다.

    ko/designApp/designApp78
  9. Request Mapping 정보를 설정합니다.

    ko/designApp/designApp10

업무 흐름 설계는 자원의 업무 흐름 설계에서 설명합니다.

3. 서비스 추가

  1. 서비스 영역을 우클릭하여 새로운 서비스 추가버튼을 선택합니다. 이후 과정은 컨트롤러와 동일합니다.

    ko/designApp/designApp11
    ko/designApp/designApp12

4. 컴포넌트 추가

  1. 컴포넌트 영역을 우클릭하여 새로운 컴포넌트 추가버튼을 선택합니다. 이후 과정은 서비스와 동일합니다.

    ko/designApp/designApp13

5. DBIO 추가

  1. DBIO 영역을 우클릭하여 새로운 DBIO 추가버튼을 선택합니다. 이후 과정은 컴포넌트와 동일합니다.

    ko/designApp/designApp14
  2. 메소드 목록에서 SQL ID를 추가한 후, Statement를 알맞게 선택합니다.

    ko/designApp/designApp15

6. IO 추가

  1. IO 영역을 우클릭하여 새로운 IO 추가 버튼을 클릭합니다.

    ko/designApp/designApp16
  2. 필드 정의에서 우클릭하여 필드 추가를 위한 팝업을 오픈합니다.

    ko/designApp/designApp17
  3. 메타를 검색하여 필요한 필드를 구성에 추가한 후, OK 버튼을 누릅니다.

    ko/designApp/designApp18

7. 자원의 업무 흐름 설계

업무 흐름 설계 방법에 대해서 설명합니다.

업무 흐름은 실제 코드 작성이 아닌 업무의 논리적인 흐름을 나타낼수 있도록 Pseudo-Code 형태로 작성합니다. 설계가 완료된 이후, 개발단계에서는 Pseudo-Code 형태로 생성된 코드를 보다 상세하게 실행 가능한 코드로 작성해야 합니다.

7.1. 흐름 노드

업무 흐름 설계에 사용하는 흐름 노드의 종류에 대해서 설명합니다.

종류 노드 형태 설명

ko/designApp/designApp24

ko/designApp/designApp25

논리 흐름을 그룹으로 묶기 위한 노드입니다. 업무 흐름을 식별하는데 도움을 줄 수 있는 노드이지만 실제 생성되는 코드에서는 코드블럭({..}) 정도의 의미만 갖습니다.

ko/designApp/designApp26

ko/designApp/designApp27

논리 흐름상 할일에 해당하는 내용을 작성합니다. 작성된 내용은 실제 코드에서 /* TODO 내용 */ 형태의 주석으로 생성됩니다.

ko/designApp/designApp28

ko/designApp/designApp29

조건문을 설계할 때 사용합니다. 실제 코드에서는 if( true ) {..} 형태의 코드가 생성됩니다.

ko/designApp/designApp30

ko/designApp/designApp31

조건문에 다른 조건을 추가할 때 사용합니다. 실제 코드에서는 `else if ( true ) {..}`형태의 코드가 생성됩니다.

ko/designApp/designApp32

ko/designApp/designApp33

상위 조건을 모두 만족시키지 못할 경우에 실행 시 사용합니다. 실제 코드에서는 else {.. } 형태의 코드가 생성됩니다.

ko/designApp/designApp34

ko/designApp/designApp35

반복문을 설계할 때 사용합니다. 실제 코드에서는 for(Object object: new Object[0]){ .. } 형태의 코드가 생성됩니다.

ko/designApp/designApp36

ko/designApp/designApp37

클래스 자원의 메소드를 호출할 때 사용합니다. 실제 코드에서는 /* 지정한 클래스의 메소드를 호출 */ 하는 형태의 코드가 생성됩니다.

ko/designApp/designApp38

ko/designApp/designApp39

DBIO의 SQL ID를 호출할 때 사용합니다. 클래스 자원의 메소드 호출과 마찬가지로 /* 지정한 DBIO의 메소드를 호출 */ 하는 형태의 코드가 생성됩니다.

ko/designApp/designApp40

ko/designApp/designApp41

논리 흐름상 예외 발생이 있을 수 있고 예외 처리를 해야할 경우에 사용합니다. 실제 코드에서는 try{..} catch(Exception e) {..} 형태의 코드가 생성됩니다.

ko/designApp/designApp42

ko/designApp/designApp43

예외처리문 안의 내용에서 예외가 발생 시 처리할 내용을 설계할 때 사용합니다. 예외 내용이 여러 개 있을 경우 추가로 예외 처리 노드를 등록할 수 있습니다. 실제 코드에서는 catch(Exception e) {..} 형태의 코드가 생성됩니다.

ko/designApp/designApp44

ko/designApp/designApp45

예외처리문이 실행된 후 반드시 실행할 내용을 설계할 때 사용합니다. 실제 코드에서는 finally{..} 형태의 코드가 생성됩니다.

ko/designApp/designApp46

ko/designApp/designApp47

논리 흐름상 어플리케이션 예외를 발생해야 하는 경우에 사용합니다.

7.2. 업무 흐름 설계

흐름 노드를 사용하여 업무 흐름을 설계하는 방법을 설명합니다. 자원의 종류에 따라 노드의 종류가 약간 다르나 본 가이드에서는 컴포넌트 메소드의 업무 흐름을 설계하는 과정을 설명합니다.

7.2.1. 그룹

  1. 팔레트에서 그룹노드를 드래그하여 업무 흐름 영역으로 가져옵니다.

    ko/designApp/designApp48
  2. 노드를 마우스로 클릭하면 설명창이 뜹니다. 설명창에 필요한 내용을 기입하고 Enter를 입력하여 적용합니다.

    ko/designApp/designApp49

    그룹 노드는 노드의 타이틀을 직접 입력할 수 있습니다.

    1. 타이틀 편집: 타이틀 영역에 커서를 옮기면 회색으로 변하는데 이를 클릭하면 편집 모드가 활성화됩니다.

      ko/designApp/designApp49_1
    2. 설명 편집: 설명 영역에 커서를 옮기면 회색으로 변하는데 이를 클릭하면 편집 모드가 활성화됩니다.

      ko/designApp/designApp49_2

7.2.2. 할일

  1. 팔레트에서 할일노드를 드래그하여 업무 흐름 영역으로 가져옵니다. 설명 입력 방법은 그룹과 동일합니다.

    ko/designApp/designApp50

7.2.3. 조건문

  1. 팔레트에서 조건문 노드를 드래그하여 업무 흐름 영역으로 가져옵니다.

    ko/designApp/designApp51
  2. 분기, 기타 분기, 반복문 등의 노드를 적절히 활용하여 원하는 조건을 설계합니다.

    ko/designApp/designApp52

7.2.4. 호출

  1. 팔레트에서 호출 노드를 드래그하여 업무 흐름 영역으로 가져옵니다.

    ko/designApp/designApp53
  2. 팝업에서 호출할 메소드, 혹은 SQL ID를 검색합니다.

    검색 범위를 프로젝트 전체, 혹은 현재 파일로 지정할 수 있으며 검색대상과 어느 정도 일치하는 결과를 확인할 것인지 선택할 수 있습니다.

    ko/designApp/designApp54
  3. DBIO 호출도 동일하게 설계할 수 있습니다.

    호출 노드를 클릭하면 하단의 Properties View에서 상세 정보를 확인할 수 있습니다. 메소드를 더블 클릭시, 해당 노드의 상세 페이지로 이동합니다.

    ko/designApp/designApp55

    호출 노드는 메소드 목록, 설계서 탐색기, 설계서 자원 검색, Outline 자원 탭에서 드래그해서 추가할 수도 있습니다.

    호출 노드는 지정된 옵션에 따라 호출하는 메소드의 내부도 표현할 수 있습니다.

    아래 옵션이 활성화 되어있다면 메소드 내부도 함께 표현 됩니다. 이 경우 메소드 내부는 직접 편집할 수 없습니다.

    • key : application.designer.flow.showMethodInternal

    • value : true 또는 false

      값이 true 인 경우에는 호출 노드의 오른쪽 상단에 메소드 내부를 접고 펼수 있는 버튼이 활성화됩니다.

      1. 접었을 때:

        ko/designApp/designApp55_1
      2. 펼쳤을 때:

        ko/designApp/designApp55_2

7.2.5. 예외처리

예외가 발생할 수 있는 로직의 경우, 예외 처리문을 통해 예외를 컨트롤할 수 있습니다.

  1. 팔레트에서 예외 처리문을 드래그합니다.

    ko/designApp/designApp56
  2. 예외 처리문 뒤의 박스에 예외처리할 로직을 작성합니다. 본 가이드에서는 앞서 호출한 DBIO 호출노드를 드래그하여 이동합니다.

    ko/designApp/designApp57
  3. 노드를 클릭하여 설명을 작성합니다.

    ko/designApp/designApp58
  4. 업무적으로 예외를 발생시키고자 할 때에는 어플리케이션 예외 발생을 이용합니다. 이때 코드 및 설명을 기입할 수 있습니다.

    ko/designApp/designApp59

    어플리케이션 예외 발생 노드는 노드의 타이틀에 공통 메시지 코드를 직접 입력할 수 있습니다.

    1. 코드 편집: 타이틀 영역에 커서를 옮기면 회색으로 변하는데 이를 클릭하면 편집 모드가 활성화됩니다.

      ko/designApp/designApp59_1

      편집 모드가 활성화된 상태에서 사용할 공통 메시지 코드를 직접 입력합니다. Ctrl+Space 를 입력하면 사용할 수 있는 공통 메시지 코드가 표시됩니다. 표시된 공통 메시지 코드를 선택할 수 있습니다. 공통 메시지 코드를 사용하지 않는 경우 값을 입력하지 않을 수 있습니다.

      ko/designApp/designApp59_3
    2. 설명 편집: 설명 영역에 커서를 옮기면 회색으로 변하는데 이를 클릭하면 편집 모드가 활성화됩니다.

      ko/designApp/designApp59_2

7.2.6. 소스 코드 미리보기

업무 흐름 설계가 완료되면 소스 코드 미리보기 아이콘을 클릭하여 생성할 자바 코드를 미리보기할 수 있습니다. (1) 아이콘을 클릭하면 컴포넌트 단위, (2) 아이콘을 클릭하면 메소드 단위로 볼 수 있습니다.

ko/designApp/designApp60
SWLab Bankware Global
  • 전체
  • BXM
  • BXCM
  • BXCP
  • BXI
제품 선택 시 더 정확한 매뉴얼 가이드를 제공해드립니다.

Copyright© Bankwareglobal All Rights Reserved.