agados cloud application builder guide-v1.1.kr(2014.12.15)
TRANSCRIPT
www.agadoss.com
1/264
Agados Cloud Platform No Code, Not Compile, Just Defined
제작자(아가도스 사용자) 매뉴얼
DOC. Version 1.1
2014.12.15
www.agadoss.com
2/264
저작권
Copyright © 2014 AGADOS Corp. All Rights Reserved.
이 문서는 정보 제공의 목적으로만 제공됩니다. ㈜ 아가도스는 이 문서에 수록된 정보의 완전성과
정확성을 검증하기 위해 노력하였으나, 발생할 수 있는 내용상의 오류나 누락에 대해서는 책임지지 않습니다.
따라서 이 문서의 사용이나 사용 결과에 따른 책임은 전적으로 사용자에게 있으며,
㈜ 아가도스는 이에 대해 명시적 혹은 묵시적으로 어떠한 보증도 하지 않습니다.
관련 URL 정보를 포함하여 이 문서에서 언급한 특정 소프트웨어 상품이나 제품은 해당 소유자가
속한 현지 및 국내외 관련법을 따르며, 해당 법률을 준수하지 않음으로 인해 발생하는 모든 결과에 대한
책임은 전적으로 사용자 자신에게 있습니다.
㈜ 아가도스는 이 문서의 내용을 예고 없이 변경할 수 있습니다.
www.agadoss.com
3/264
문서 정보
문서 개요
이 문서는 Agados의 모듈과 Control, Monitor 등 Agados 추가 기능을 개발하는 방법을 설명합니다.
이 문서의 내용은 Agados 1.0.x 버전을 기준으로 합니다.
독자
이 문서는 Agados cloud platform을 기반으로 비즈니스 어플리케이션을 개발하고자 하는 개발자를
대상으로 합니다. 이 문서에서는 Script ( C# , Jython , Python , VB Script ) 및 SQL 기술에 대해서 상세히
설명하지 않습니다. Script 와 SQL 기술에 대해서는 관련 서적을 참조하시기 바랍니다.
문의처
이 문서의 내용에 오류가 있거나 내용과 관련한 의문 사항이 있으면 아래의 연락처로 문의합니다.
연락처: [email protected]
문서 버전 및 이력
버전 일자 이력사항
1.0 2014.06.01 1.0 배포
1.1 2014.12.15 1.1 배포
www.agadoss.com
4/264
표기 규칙
참고 표기
참고
독자가 참고해야 할 내용을 기술합니다
주의 표기
주의
독자가 반드시 알아야 할 사항, 시스템 에러를 유발할 수 있는 사항, 수행하지 않았을 때
재산상의 피해를 줄 수 있는 사항을 기술합니다
윈도(창) 이름/사이트 이름/메뉴 이름/필드 이름/선택 값, 사용자 입력 값 및 기호 표기
이 문서에서 윈도(창) 이름, 사이트 이름, 메뉴 이름, 입력 필드 이름, 선택 값, 사용자 입력 값은
다음과 같이 표기합니다.
• 윈도(창) 이름 : 윈도 이름 폼
• 사이트 이름 : 'Agados 다운로드' 사이트
• 메뉴 이름 : 메뉴 > 하위메뉴
• 선택 값 : 조건을 선택합니다.
• 사용자 입력 값: localhost를 입력합니다
www.agadoss.com
5/264
Script 소스 코드 표기
이 문서에서 Script 소스 코드는 회색 바탕에 검정색 글씨로 표기합니다.
using System;
namespace xxxx.xx
{
public partial class xxxx
{
protected void Page_Load(object sender, EventArgs e)
{
}
}
}
www.agadoss.com
6/264
Table of Contents
1. AGADOS CLOUD 이해하기 ........................................................................................................... 10
개 요 ...................................................................................................................................................................................11
AGADOS CLOUD 작업 환경 ........................................................................................................................................12
AGADOS CLOUD 작업 사이클 ...................................................................................................................................13
AGADOS CLOUD 애플리케이션 계층 구조 .............................................................................................................14
AGADOS CLOUD 애플리케이션 OBJECT ...................................................................................................................15
AGADOS CLOUD VALUE 흐름 및 구조.......................................................................................................................16
BUILD ...................................................................................................................................................................................18
1.7.1. Solution Build ..........................................................................................................................................................................18
1.7.2. Project or Package Build ....................................................................................................................................................19
1.7.3. Object Build..............................................................................................................................................................................20
RUN ......................................................................................................................................................................................21
배포 .....................................................................................................................................................................................22
설치 .................................................................................................................................................................................22
2. AGADOS CLOUD 시작하기 ........................................................................................................... 23
AGADOS CLOUD 시작 .....................................................................................................................................................24
2.1.1. Connect Site .............................................................................................................................................................................25
2.1.2. Open Solution .........................................................................................................................................................................26
2.1.3. Set Main form .........................................................................................................................................................................28
2.1.4. Build .............................................................................................................................................................................................30
2.1.5. Run ...............................................................................................................................................................................................30
사용자 DB 확인 .............................................................................................................................................................31
3. AGADOS CLOUD 기본 작업 .......................................................................................................... 32
PROJECT 등록 ....................................................................................................................................................................33
PACKAGE 등록 ..................................................................................................................................................................34
OBJECT 등록 ......................................................................................................................................................................36
CONTROL (FORM) .........................................................................................................................................................38
3.4.1. Control 등록 (FORM)...........................................................................................................................................................38
3.4.2. Control Property 설정 .........................................................................................................................................................40
3.4.3. Control Delete ......................................................................................................................................................................45
3.4.4. Control Bound 저장 .............................................................................................................................................................46
NODE ...................................................................................................................................................................................47
3.5.1. Node 등록 ................................................................................................................................................................................47
3.5.2. Node Style 설정 .....................................................................................................................................................................48
3.5.3. Node Delete .............................................................................................................................................................................49
www.agadoss.com
7/264
3.5.4. Node Property (RULE 정의) ...........................................................................................................................................50
3.5.5. Node Connect ......................................................................................................................................................................51
3.5.6. Base Connect ...........................................................................................................................................................................51
3.5.7. Connect – One To One .......................................................................................................................................................52
3.5.8. Connect – One To Many ....................................................................................................................................................53
3.5.9. Flow Condition 설정 ............................................................................................................................................................54
3.5.10. Flow Condition 2 ( Start Node )......................................................................................................................................55
3.5.11. Flow Condition 3 ( Form Event ) .....................................................................................................................................57
3.5.12. Node Bound 저장 .................................................................................................................................................................59
NODE GROUP .....................................................................................................................................................................60
3.6.1. Node Group 등록 ..................................................................................................................................................................60
3.6.2. Looping Group 등록 ............................................................................................................................................................62
3.6.3. Synchronized Group 등록 ..................................................................................................................................................66
3.6.4. Filter Group 등록 ...................................................................................................................................................................66
MEMBER 등록 ...................................................................................................................................................................68
3.7.1. Base 등록 ..................................................................................................................................................................................68
3.7.2. Database column Search 등록 ........................................................................................................................................70
DATATABLE 등록 ..............................................................................................................................................................71
3.8.1. Base 등록 ..................................................................................................................................................................................71
3.8.2. Member Search 등록 ...........................................................................................................................................................73
IMAGECOLLECT 등록 ........................................................................................................................................................74
IMAGELIST 등록 ............................................................................................................................................................74
SCRIPT ..............................................................................................................................................................................74
3.11.1. Script 에서 사용하는 Agados class ..............................................................................................................................75
3.11.2. Script Node ..............................................................................................................................................................................88
3.11.3. Common Script ....................................................................................................................................................................92
솔루션 환경 설정 ......................................................................................................................................................93
3.12.1. Solution Attribute ..................................................................................................................................................................93
3.12.2. Database Adapter 설정 ................................................................................................................................................... 103
3.12.3. Http Server Address 설정 ............................................................................................................................................... 104
3.12.4. Control Style Sheet (CSS)설정 ....................................................................................................................................... 105
3.12.5. Locale Resource 설정 ........................................................................................................................................................ 107
4. COLLABORATION ......................................................................................................................... 109
COLLABORATION ............................................................................................................................................................. 109
4.1.1. Request 요청 ........................................................................................................................................................................ 109
4.1.2. Approval ................................................................................................................................................................................. 111
4.1.3. Change work mode ........................................................................................................................................................... 112
4.1.4. Collaboration list ................................................................................................................................................................. 113
4.1.5. Add User ................................................................................................................................................................................. 114
www.agadoss.com
8/264
EXPORT ............................................................................................................................................................................. 115
IMPORT ............................................................................................................................................................................. 116
5. LOG TRACE ................................................................................................................................. 118
BASE VIEW ....................................................................................................................................................................... 118
제공되어지는 LOG VIEW ........................................................................................................................................... 121
5.2.1. Access log view ................................................................................................................................................................... 121
5.2.2. Node log view ...................................................................................................................................................................... 122
5.2.3. Statement log view ............................................................................................................................................................ 127
5.2.4. Object log view.................................................................................................................................................................... 127
5.2.5. Throw log view .................................................................................................................................................................... 128
6. AGADOS 따라하기 .................................................................................................................... 129
TEST 용 USER TABLE 생성 .......................................................................................................................................... 129
6.1.1. Empinfo table 생성 ............................................................................................................................................................ 129
6.1.2. Depinfo table 생성 ............................................................................................................................................................ 129
WORK OBJECT 생성 ...................................................................................................................................................... 130
6.2.1. Create Object........................................................................................................................................................................ 130
6.2.2. EmpMem 와 EmpListMem 의 Memebr 등록 ........................................................................................................ 131
6.2.3. DepMem 의 Memebr 등록 ........................................................................................................................................... 131
6.2.4. EmpTa 와 EmpListTa 의 Column 등록.................................................................................................................. 131
6.2.5. DepTa 의 Column 등록 .................................................................................................................................................. 132
6.2.6. Used Memberset ( Object 과 FormObject ) .......................................................................................................... 132
6.2.7. Used DataTable ( Form ) ................................................................................................................................................. 133
MAIN FORM .................................................................................................................................................................... 134
6.3.1. BarManager ........................................................................................................................................................................... 135
6.3.2. TabbedMdiManager .......................................................................................................................................................... 137
EDIT FORM ....................................................................................................................................................................... 137
6.4.1. Form ......................................................................................................................................................................................... 138
6.4.2. DataTable ............................................................................................................................................................................... 139
6.4.3. ValueObject ........................................................................................................................................................................... 140
6.4.4. Label ......................................................................................................................................................................................... 140
6.4.5. TextEdit .................................................................................................................................................................................... 141
6.4.6. LookUpEdit ............................................................................................................................................................................ 142
6.4.7. Button ...................................................................................................................................................................................... 144
6.4.8. Grid ........................................................................................................................................................................................... 145
결과 보기 ....................................................................................................................................................................... 150
SELECT 패턴 – DEPARTMENT CODE LOAD ............................................................................................................ 152
6.6.1. EduPro.Event.EditEvt ( Form Object ) 구현 ........................................................................................................ 152
6.6.2. EduPro.Dao.EditDao (OBJECT) 구현 ......................................................................................................................... 154
www.agadoss.com
9/264
6.6.3. EduPro.Service.EditService (OBJECT) 구현............................................................................................................. 163
6.6.4. 결과 보기 ............................................................................................................................................................................... 170
SELECT 패턴 ................................................................................................................................................................. 171
6.7.1. EduPro.Event.EditEvt (FORMOBJECT) 구현 ........................................................................................................... 171
6.7.2. EduPro.Dao.EditDao (OBJECT) 구현 ......................................................................................................................... 174
6.7.3. EduPro.Service.EditService (OBJECT) 구현............................................................................................................. 182
6.7.4. 결과 보기 ............................................................................................................................................................................... 185
INSERT 패턴 ................................................................................................................................................................. 186
6.8.1. EduPro.Event.EditEvt (FORMOBJECT) 구현 ........................................................................................................... 186
6.8.2. EduPro.Dao.EditDao (OBJECT) 구현 ......................................................................................................................... 195
6.8.3. EduPro.Service.EditService (OBJECT) 구현 ............................................................................................................... 200
6.8.4. 결과 ........................................................................................................................................................................................... 208
GRID CLICK 패턴 ........................................................................................................................................................... 209
6.9.1. EduPro.Event.EditEvt (FORMOBJECT) 구현 ........................................................................................................... 209
6.9.2. 결과 ........................................................................................................................................................................................... 214
UPDATE 패턴 ........................................................................................................................................................... 215
6.10.1. EduPro.Event.EditEvt (FORMOBJECT) 구현 ........................................................................................................... 215
6.10.2. EduPro.Dao.EditDao (OBJECT) 구현 ......................................................................................................................... 215
6.10.3. EduPro.Service.EditService (OBJECT) 구현............................................................................................................. 219
6.10.4. 결과 ........................................................................................................................................................................................... 220
DELETE 패턴 ............................................................................................................................................................. 221
6.11.1. EduPro.Event.EditEvt (FORMOBJECT) 구현 ........................................................................................................... 221
6.11.2. EduPro.Dao.EditDao (OBJECT) 구현 ......................................................................................................................... 224
6.11.3. EduPro.Service.EditService (OBJECT) 구현............................................................................................................. 227
6.11.4. 결과 ........................................................................................................................................................................................... 231
7. WIZARD 따라 하기 ................................................................................................................... 232
DATASOURCE 유형에 따른 오브젝트 생성 ........................................................................................................ 232
MODEL WIZARD ............................................................................................................................................................. 235
LIST WIZARD.................................................................................................................................................................... 239
SINGLE ROW WIZARD .................................................................................................................................................... 246
MASER AND DETAIL WIZARD ....................................................................................................................................... 256
8. AUTO QUERY BUILD .................................................................................................................... 263
DATABASE METADATA 활용 ........................................................................................................................................ 263
QUERY BUILD 활용 ........................................................................................................................................................ 264
www.agadoss.com
10/264
1. AGADOS CLOUD 이해하기
이 장에서는 Agados Cloud Platform 주요 기능과 기본 구조를 소개합니다.
www.agadoss.com
11/264
개 요
Agados Cloud Platform 은 Cloud 환경에서 개발자들이 원하는 비즈니스 애플리케이션을
만드는 기반이 되는 플랫폼입니다. Cloud 환경에서 사용자는 DB, WAS 등 System 전반에
관련된 사항은 신경 쓸 필요가 없습니다. Cloud 환경에서 자신이 정의(디자인)한 로직을 바로 실행해
볼 수 있습니다.
또한 Cloud 환경에서 개발자들은 구성한 앱을 서로 참여, 공유 할 수 있습니다.
자신의 앱에 다른 사용자를 참여 시켜, 함께 작업을 할 수 있으며
, 자신의 앱을 배포 사이트에 등록하여 여러 사용자들이 사용 할 수 있도록 제공 할 수
있습니다.
Agados Cloud Platform 은 No Code, Not Compile, Just Defined 를 지향합니다.
Cloud 환경에서 자신이 개발한 어플리케이션을 Compile 없이 바로 실행해 볼 수 있습니다.
또한 Visibility 기능을 제공하여 로직에 대한 분석, 추적 기능을 제공합니다.
Agados Cloud Platform 은 구성한 앱에 대한 Base 와 Extension 구조를 제공하여
Package 환경에 있어 커스터마이징 및 사이트 배포에 가장 적합한 기능을 제공합니다.
Agados Cloud Platform 은 구성한 앱의 실행정보를 분석, 추적 할 수 있는 기능을 제공합니다.
이 장에서는 Agados Cloud Platform 의 주요 기능과 기본 구조를 설명합니다.
www.agadoss.com
12/264
AGADOS CLOUD 작업 환경
Agados Cloud 에서 지원하는 환경은 다음과 같습니다.
사용자 실행 환경 및 작업 환경 입니다.
구분 환경
사용자 작업 환경
(Building Time)
Windows 7 ( 64bit, 32bit )
.NET Framework 4.5 이상
사용자 실행 환경
(Running Time)
Windows XP , Vista , 7
( 32 or 64 bit )
.NET Framework 4.5 이상
Internet Explorer , Safari, Swing
Agados Cloud 에서 제공하는 환경입니다.
구분 환경
WAS
( Web Application Server )
IIS 7.0+ ( Default )
JBoss 7.0+
Weblogic 11g +
DB
( Database )
MySql 5.5 + ( Default )
Sql Server 2008 R2 +
Oracle 11g
Server
Windows 2008 ( Default )
Linux
Unix
Message Server Rabbit MQ ( Default )
Local DB SQL Lite ( Default )
Report DevExpress Report
SMTP Server
제공되는 환경 및 버전은 당사의 사정에 의해 변경 될 수 있습니다.
기본 제공된 것 외의 선택 시 별도 비용이 발생할 수도 있습니다.
www.agadoss.com
13/264
AGADOS CLOUD 작업 사이클
Agados Cloud 의 작업 사이클은 다음과 같습니다.
1. 사용자는 Agados Cloud 에 등록된 ID 로 접속합니다.
2. 기 등록된 솔루션을 선택합니다.
3. 사용자가 원하는 오브젝트를 생성, 수정합니다.
4. 정의 작업이 완료된 후 사용자는 빌드 작업을 수행합니다.
5. 빌드(규칙정보 XML 파싱) 완료된 앱을 실행하여 확인합니다.
사용자는 간단한 작업을 통하여 자신이 만든 애플리케이션을 실행, 배포, 공유할 수 있습니다.
Agados Cloud Platform 연결
솔루션 열기
Object 생성 Cloud Repository 저장
Build Rule Xml 생성
Run
www.agadoss.com
14/264
AGADOS CLOUD 애플리케이션 계층 구조
Agados cloud 를 구성하는 오브젝트 계층 구조는 다음과 같습니다.
구분
솔루션 솔루션은 최상위 단위입니다.
전체 오브젝트를 관리하는 단위이며, 사용자간의 공유 단위입니다.
프로젝트 솔루션의 하위 단위이며 한 솔루션 내에 여러 개의 프로젝트를 가질 수 있습니다.
프로젝트는 1 Level 가능합니다.
패키지 패키지는 오브젝트를 구분 관리할 수 있는 단위입니다.
패키지는 N Level 의 계층구조를 가지면 패키지는 패키지를 하위로 가질 수 있습니다.
오브젝트 사용자가 정의하는 화면, 로직, 스크립트 , 이미지를 관리하는 단위입니다.
오브젝트는 유형에 따라 서로 다른 형식을 정의 할 수 있습니다.
Agados Cloud 의 계층구조는 다음과 같습니다.
Object 의 Full name 은 Project.Package1.Package1-1.Package1-1-1.Object 1 으로 구성되어집니다.
예) Project1.Pack1.Pack1-1.Pack1-1-1.Object1 으로 표현되어집니다.
Package 의 계층 구조는 N level 까지 가능합니다.
www.agadoss.com
15/264
AGADOS CLOUD 애플리케이션 OBJECT
Agados 기반 애플리케이션의 Object 는 화면에 대한 정보, 로직 정의한 정보를 가지고 있습니다.
다음은 오브젝트의 유형에 대해 알아 보겠습니다.
오브젝트 타입
로직 관련 Object 일반적인 Rule 를 관리하는 Object
Web Object ( Java ) Java 환경에서 운영되는 Object
Web Object ( .Net ) . Net 환경에서 운영되는 Object
Event Object 화면에서 실행되어지는 Rule 를 관리하는 Object
Process 일반적인 Process 를 관리하는 Object
Event Process 화면에서 실행되어지는 Process 를 관리하는 Object
화면 관련 Form 화면 및 Event 를 관리하는 객체
IForm 다른 Form 에서 Form 단위로 포함시킬 수 있는 구조이다.
Popup Contain Popup. Control 에 연결되지 않고 단독으로 보여지는 Popup.
Popup Control Popup. Control 에 연결되어 보여지는 Popup
데이터 관련 Memberset 값을 관리하는 Collection set 객체
Datatable Form 의 Control 의 값을 관리하는 Collection set 객체. 형식은
. Net Framework 에서 제공하는 Datatable 과 같다.
Constant 전역 상수를 관리하는 Collection set 객체
이미지 관련 ImageCollect
Image 를 관리하는 Collection set 객체. Image 별로 접근 가능한
구조이다.
Image List Image 를 관리하는 Collection set 객체. List 단위로 참조되며
포함된 Image 는 Index 로 접근 가능한 구조이다.
Script 관련 VB Script Common Script 를 관리하는 객체 (VB 전용)
C# Script Common Script 를 관리하는 객체 (C# 전용)
IronPython Script Common Script 를 관리하는 객체 (IronPython 전용)
Jython Script Common Script 를 관리하는 객체 (Jython 전용)
www.agadoss.com
16/264
AGADOS CLOUD VALUE 흐름 및 구조
Agados Cloud 내에서 Value 흐름은 다음과 같습니다.
Object 와 Form Object 는 MemberSet 의 단위로 Value 를 관리합니다.
MemberSet 은 하나의 객체로 정의되며 Life time 은 사용된 Object 에 한정됩니다.
Form 에서의 Value 관리 객체는 DataTable 입니다.
각각의 Control 은 DataTable 의 Column 에 binding 됩니다.
Life time 은 Form 의 Life time 에 귀속됩니다.
DataTable 과 Memberset 의 Data 관계성은 DataTable 의 정의되어지는 연관 정보를 활용하며
필요에 따라 User 가 개별적으로 정의할 수 있습니다.
Value 정의 및 전달 단위는 개별 Item (Member or DataColumn) 또는 Set 단위 (MemberSet or
DataTable) 둘 다 제공하고 있습니다.
www.agadoss.com
17/264
Agados Member Collection 은 기본적으로 데이터를 관리하는 Model 입니다.
Collection 는 여러 개의 Member set 을 가지고 있습니다.
Member set 은 여러 개의 Row 를 가집니다.
Row 는 여러 개의 Member 별 데이터를 가집니다.
일반적으로 비교하면 DB Table 의 Column 구조와 유사하다고 할 수 있습니다.
Agados Member Collection
A Memberset Row ( member , member , … ) - 1
Row ( member , member , … ) - 2
Row ( member , member , … ) - N
B Memberset Row ( member , member , … ) - 1
Row ( member , member , … ) - 2
C Memberset Row ( member , member , … ) - 1
www.agadoss.com
18/264
BUILD
Agados Cloud 에서 정의(디자인)된 규칙정보들은 Agados 규칙 Repository 에 저장됩니다.
제작한 애플리케이션(저장된 규칙)을 실행 환경에서 사용하려면 Xml 형식으로 규칙정의 정보를
변환시켜야 합니다.
이 변환의 단계가 Build 입니다. 3GL 언어를 사용한 프로그램에서 컴파일(Compile)에 해당합니다.
Build 는 Build 메뉴, Ctrl + B , Solution Explorer 에서 Popup , 각 정의 화면에서의 Build Button 을
통하여 실행할 수 있습니다. 사용자가 로직 및 화면 정보를 변경한 경우에는 꼭 Build 작업을
실행하여야 합니다.
1.7.1. SOLUTION BUILD
Solution 전체에 대한 Build 를 수행합니다. 빌드 단위는 Object, Resource, All 이 있습니다.
Build 는 Object + Resource, Build (Object) 는 Object 만, Build (Resource) 는 Resource 만
빌드 합니다.
Download Xml File 은 Build 되어져 있는 Xml File 을 내 PC 에 Download 받는 기능입니다..
① Menu 에서 Build 를 선택합니다.
www.agadoss.com
19/264
② Solution Explorer 에서 Solution Node 를 선택 한 후 Popup 을 호출합니다.
1.7.2. PROJECT OR PACKAGE BUILD
Project 나 Package 에 속해 있는 모든 Object 를 Build 할 수 있습니다.
① Solution Explorer 에서 Project 나 Package Node 를 선택 한 후 Popup 을 호출한다.
www.agadoss.com
20/264
1.7.3. OBJECT BUILD
Object 단위 별로 Build 할 수 있습니다.
① Solution Explorer 에서 Object Node 를 선택 한 후 Popup 을 호출합니다.
② Object 의 Design Form ( Tab 의 Title bar ) 에서 Popup을 호출합니다.
③ 각각의 Design Form 내의 버튼을 실행합니다.
Object 또는 Resource 정의 Form 내에 이 버튼이 존재한다면 개별적으로 Build 할 수 있음을
뜻합니다.
www.agadoss.com
21/264
RUN
Agados Cloud 에서 Build 된 Xml 정보를 실행합니다.
Run 은 Test > Run 에서 또는 F5 (단축키)를 통해 실행할 수 있습니다.
메뉴 Test > Run 을 실행합니다.
Test 환경에서 Run 할 경우 Main Form 이 설정되어야 합니다.
Main Form 은 메뉴 Solution > Solution Attribute 내에 Design Tab 에서
확인 할 수 있습니다.
또는 Solution Explorer 의 Popup 에서 Object 선택 후 메뉴 Set Run Form >
에서 선택 할 수 있습니다.
www.agadoss.com
22/264
배포
Agados Cloud 에서 배포는 세 가지 유형이 존재합니다.
유형별 배포 방식을 설명합니다.
구분
Agados Tools
Agados Designer, Configurator, Monitor, Admin 등은 MS Click Once 를 사용하여 배포
합니다.
자세한 사항은 Click Once 정책을 확인하시기 바랍니다.
Agados Smart
Agados Smart 는 정의한 Rule 을 클라이언트에서 실행하는 엔진입니다.
사용자가 Designer 에서 정의한 내역을 Smart 에서 실행 할 수 있습니다.
Smart 는 MS Click Once 를 사용하여 배포합니다.
자세한 사항은 Click Once 정책을 확인하시기 바랍니다.
사용자 정의 Rule
(Object)
사용자 정의 Object (Rule) 은 Agados 에서 제공하는 Deploy engine 을 사용합니다.
Deploy 정책은 Object 별 Version 을 관리하며 사용자의 현재 버전을 비교하여
선별적으로 배포합니다.
Import , Export 사용자가 정의한 로직을 타 사용자와 공유하기 위한 기능입니다.
현재 정의한 Rule 을 선별하여 Agados 가 정의한 파일의 형태로 변환합니다.
설치
Agados Cloud 은 기본적으로 Cloud 환경에서 실행합니다.
그러나 사용자 의 요구에 의해 여러 가지 형태로 설치될 수 있습니다.
필요에 따라 사용자 사이트에 로컬로 설치될 수도 있습니다.
이 경우에 아가도스 클라우드는 Private Cloud 플랫폼으로 동작합니다.
자세한 사항은 [email protected] 연락 주십시요.
www.agadoss.com
23/264
2. AGADOS CLOUD 시작하기
이 장에서는 Agados cloud platform 을 시작하는 방법과 기능을 소개합니다.
www.agadoss.com
24/264
AGADOS CLOUD 시작
Agados 의 시작 시 절차를 설명합니다.
Agados 홈페이지 사이트(www.agadoss.com)에서 User 를 먼저 등록 하셔야 합니다.
이 장에서 설명하는 내용은 User 등록 후 내용입니다.
User 가 정상적으로 등록 된 경우 Download page 에서 Agados cloud platform 을
설치할 수 있습니다.
Agados Cloud Platform 에서의 접속 ID 와 Password 는 Agados 홈페이지의 정보와
동일합니다.
Agados 실행 ( Download Page )
Connect Site
Open Solution 템플릿 설치 ( 자동 )
Set Main Form
Build
첫 시작인 경우
User 등록 ( Agados Site ) User Activation
Run
www.agadoss.com
25/264
2.1.1. CONNECT SITE
Email 에 전송된 URL 로 접속하면 다음 화면을 볼 수 있습니다.
이 화면에서 Agados Cloud Platform 으로 연결됩니다.
메뉴 File > Connect Site 에서 실행할 수 있습니다.
- Connect Site Form
① AGADOS.CLOUD 는 Agados 에서 지정한 사이트 명 입니다.
② Site 의 접속 URL 를 입력합니다.
접속 URL 은 Default 로 Setting 됩니다.
만약 접속 URL 을 재문의 할 경우 [email protected] 으로 연락 주십시오
③ Agados 사이트 에서 등록한 User id 와 Password 를 입력합니다.
④ 저장 버튼을 Click 하면 List 창에 등록된 사이트가 나옵니다.
⑤ Connect 버튼을 Click 합니다. 정상적으로 연결되는 것을 확인합니다.
1
5 4
3
6
2
www.agadoss.com
26/264
2.1.2. OPEN SOLUTION
사용자가 사용할 Solution 을 선택합니다.
Cloud 환경에서 솔루션은 User 당 하나씩 생성됩니다. 그리고 솔루션을 추가하는 기능은
Cloud 환경에서는 지원되지 않습니다.
Menu 에 File > Open Solution 에서 실행 할 수 있습니다.
- Open Solution Form
① 등록된 Solution 중 사용할 Solution을 선택합니다.
② OK 버튼을 Click 한 후 정상적으로 오픈 됨을 확인합니다.
정상적으로 Open 된 경우 Main Form의 Solution Explorer 에서 Solution을 확인할 수 있습니다.
Cloud 환경에서 Solution 은 자동 생성됩니다.
Solution 에 대한 권한은 생성자는 Owner, 참여자는 Follow 로 지정됩니다.
Cloud 환경에서 첫 연결 시 자동으로 템플릿이 Export 됩니다.
Export 여부는 Solution Explorer 에서 확인 할 수 있습니다.
1 2
www.agadoss.com
27/264
- Solution Explorer
① Export 된 내용을 확인합니다.
1
www.agadoss.com
28/264
2.1.3. SET MAIN FORM
사용자가 사용할 Solution 을 선택합니다.
Cloud 환경에서 솔루션은 User 당 하나씩 생성됩니다. 그리고 솔루션을 추가하는 기능은
Cloud 환경에서는 지원되지 않습니다.
Menu 에 Solution > ‘솔루션명’ Attribute 에서 실행 할 수 있습니다.
해당 탭 중 Design 을 선택합니다.
- Solution Attribute Form 에서 Run Form 설정
① Desgin Tab 을 선택합니다.
② Run Form 에 Form 을 선택합니다.
Form 명은 BizDemo.Poc1.Forms.CodeListForm 을 선택합니다.
③ 저장 버튼을 Click 합니다.
2
1 3
www.agadoss.com
29/264
- Solution Explorer Popup 에서 Run form 설정
① Solution Explorer 애서 CodeListForm 을 선택합니다.
② Popup 에서 Set run form 을 선택합니다.
1
www.agadoss.com
30/264
2.1.4. BUILD
Solution 을 빌드합니다.
1.7 Build 에서 빌드 방법을 참조합니다.
빌드 는 Solution Build 을 수행합니다.
2.1.5. RUN
Solution 을 실행합니다.
1.8 Run 에서 Run 방법을 참조합니다.
- 실행 화면
www.agadoss.com
31/264
사용자 DB 확인
Agados Cloud 에서 제공하는 Default DB 를 확인합니다.
Agados Cloud 에서는 MySQL 를 User DB 로 기본으로 제공합니다.
DB 에 대한 관리 제어 및 Table 생성은 MySQL Workbench 를 사용하시기 바랍니다.
메뉴 Solution > Adapter > Database 를 실행합니다.
① Adapter Name 중 AGADOS.CLOUD 를 선택합니다.
② Connection String 에서 DB Name 과 User, Password 를 확인합니다.
1
www.agadoss.com
32/264
3. AGADOS CLOUD 기본 작업
이 장에서는 Agados cloud platform 에서 기본적으로 사용하는 작업들에 대해 설명합니다.
www.agadoss.com
33/264
PROJECT 등록
Agados 에서 Project 를 등록하는 방법을 설명합니다.
Solution Explorer 에서 Solution 을 선택, Popup 에서 Add Project 를 선택합니다.
또는 메뉴 File > New Project 로 실행 할 수도 있습니다.
- Add Project Form
① Project 명을 입력한다. Project 명은 Solution 내에서 Unique 해야 합니다.
② OK 버튼을 Click 한 후 정상적으로 저장됨을 확인합니다.
정상적으로 저장되는 경우 Solution Explorer 에서 Project 가 Add 됨을 볼 수 있습니다.
1 2
www.agadoss.com
34/264
- Solution Explorer 에서 등록된 Project 확인
PACKAGE 등록
Solution Explorer 에서 Project 또는 Parent Package 을 선택
, Popup 에서 Add Package 를 선택합니다.
www.agadoss.com
35/264
- Add Package Form
① Parent 명을 확인한다. 선택한 Project or Package 가 맞는 지 확인합니다.
② Package 명을 입력합니다.
③ OK 버튼을 Click 한 후 정상적으로 저장됨을 확인합니다.
정상적으로 연결되는 경우 Solution Explorer 에서 Package 가 Add 됨을 볼 수 있습니다.
- Solution Explorer 에서 등록된 Package 확인
1
3
2
www.agadoss.com
36/264
OBJECT 등록
Solution Explorer 에서 Project 또는 Parent Package 을 선택
, Popup 에서 Add Object 를 선택합니다.
- Add Object Form
1
5
2
3
4
www.agadoss.com
37/264
① Object 유형을 선택합니다.
② Parent 명을 확인합니다. 선택한 Project or Package 가 맞는 지 확인합니다.
③ Object 명을 입력합니다.
④ Form 항목은 FormObject Type 일 경우 Relation Form 을 지정할 수 있습니다.
⑤ OK 버튼을 Click 한 후 정상적으로 저장됨을 확인합니다.
정상적으로 연결되는 경우 Solution Explorer 에서 Object 가 Add 됨을 볼 수 있습니다.
- Solution Explorer 에서 등록된 Object 확인
www.agadoss.com
38/264
CONTROL (FORM)
Form 에서 화면을 구성하는 것이 Control 입니다.
Agados Cloud 는 다양한 Control 을 제공하고 있습니다.
자세한 사항은 별도 문의하시기 바랍니다.
3.4.1. CONTROL 등록 (FORM)
Form 에서 Control 를 추가합니다. Control 의 추가는 Tool Box 와 Control Resource 에서
추가 할 수 있습니다. 먼저 Add 할 Control Type 을 선택 한 후 Form 에 Control 를
위치시키면 됩니다. Control Resource 에서는 Data 형식의 Control 를 선택 할 수 있습니다.
TOOL BOX 에서 CONTROL ADD
메뉴 View > Tool Box 를 선택합니다.
- Control Tool Box
1
www.agadoss.com
39/264
① Control Box 에서 Control 를 선택합니다.
선택 후 Form 에서 위치할 영역에 그려 줍니다.
CONTROL RESOURCE 에서 CONTROL ADD
2
1
3
www.agadoss.com
40/264
① Form Design 에서 Control Resource Tab 을 선택합니다.
② Drop Box 에서 Add 할 Control Type을 선택합니다.
③ Add 버튼을 Click 한 경우 Control 이 아래 List에 Add 됨을 확인합니다.
3.4.2. CONTROL PROPERTY 설정
Control 을 선택 후 속성 창에서 Control 속성을 수정 할 수 있습니다.
BASE PROPERTY 설정
① Control 를 선택하거나 Control 선택 후 오른쪽 마우스 Click 후 보여지는
Popup 에서 Properties 를 선택한다.
② Property (속성) 창이 나오면 Control 의 속성을 변경한다.
③ Event 버튼을 Click 시 Event 를 등록할 수 있는 속성 창이 보입니다.
④ Property 버튼을 Click 시 Property 를 등록할 수 있는 속성 창이 보입니다.
2
3 4
www.agadoss.com
41/264
PROPERTIES BY TYPE 설정
같은 유형의 Control 에 사용자가 변경하는 Property 를 동일하게 적용할 수 있는 기능이다.
① 여러 개의 Control 을 선택 후 오른쪽 마우스 Click 후 보여지는
Popup 에서 Properties 를 선택한다.
② Property (속성) 창에서 상위 버튼들 중 (Properties by type) 버튼을 선택한다.
1
2
www.agadoss.com
42/264
③ 선택된 Control 유형별 또는 선택한 Control 의 Child 유형이 표시됩니다.
변경할 유형을 선택 후 오른 쪽의 Property 을 수정하면 같은 유형의 모든 Control 에
변경된 내역이 적용됩니다.
3
www.agadoss.com
43/264
PROPERTY COLLECT 설정
Collect 유형의 Control (Grid, Chart 등) 일 경우 트리 구조로 Control 의 Child 을 표현해 준다.
또한 해당 화면에서 Property 를 수정하거나 Child Control 를 추가 삭제 할 수 있다.
① Property (속성) 창에서 상위 버튼들 중 (Collect) 버튼을 선택합니다.
② Control 을 선택한 후 Control Property 를 수정하거나 Child 를 추가 할 수 있습니다.
2
www.agadoss.com
44/264
PROPERTY COPY 설정
Control 의 Property 를 같은 유형의 Control 에 Copy 할 수 있는 기능입니다.
① Property (속성) 창에서 상위 버튼들 중 (Copy Property) 버튼을 선택합니다.
② Source Control 에서 Copy 할 Property 를 선택합니다.
③ 적용 할 Control 를 선택합니다.
④ Save 버튼을 Click 한 후 저장 된 내역을 확인합니다.
필요에 따라서 Form 을 Refresh 해야 할 필요가 있습니다.
2 3
www.agadoss.com
45/264
3.4.3. CONTROL DELETE
Control 을 선택 후 Popup 에서 Delete 하거나 Delete 버튼을 눌러 삭제할 수 있습니다.
① Control 를 선택 후 Delete 키를 누르거나 Control 선택 후 오른쪽 마우스 Click 후 보여지는
Popup 에서 Properties 를 선택합니다.
② Ok 버튼을 Click 한 후 정상적으로 삭제 되는 것을 확인합니다.
1
2
www.agadoss.com
46/264
3.4.4. CONTROL BOUND 저장
Control 의 Bound 를 변경한 후 저장하지 않으면 변경된 정보가 반영되지 않습니다.
그러므로 변경이 발생 시 필히 정보를 저장하여야 합니다.
① Control 또는 Form 를 선택한 상태에서 Ctrl + S 를 하거나 Form 의 빈 공간에서
오른쪽 마우스 Click 후 보여지는 Popup 에서 Save Form 를 선택합니다.
② 정상적으로 저장된 것을 확인합니다.
www.agadoss.com
47/264
NODE
Agados Cloud 에서는 사용자의 로직은 Rule 과 Flow 로 구성됩니다.
Node 는 Rule 을 담당합니다. 다양한 유형의 Node 를 제공하며 이 Node 를 사용하여
로직을 구성할 수 있습니다.
자세한 사항은 별도 문의하시기 바랍니다.
3.5.1. NODE 등록
Object 에 Node 를 등록합니다. Node 는 사용자가 로직을 정의할 수 있습니다.
Canvas 의 빈 공간에서 오른쪽 마우스 Click 후 보여지는 Popup 에서 Add Node 를 선택한다.
- Add Control Form
2 3
4 5
6
www.agadoss.com
48/264
① Node Type 을 선택합니다.
② Node SubType 을 선택합니다.
등록할 Sub Type 를 한번에 여러 개 선택할 수도 있습니다.
③ Node Name 을 입력합니다.
④ Node 생성 개수를 입력합니다.
⑤ Ok 버튼을 Click 한 후 정상적으로 저장되는 것을 확인합니다.
정상적으로 저장되는 경우 Canvas 에 노드가 보여집니다.
3.5.2. NODE STYLE 설정
① Node 를 선택한 후 오른쪽 마우스 Click 후 보여지는 Popup 에서 Style 를 선택한다.
2
5
3 4
6
www.agadoss.com
49/264
② Node의 Note 을 입력합니다.
③ Node Title 의 Font 를 선택합니다.
④ Node Title 의 ForeColor 을 선택합니다.
⑤ Node 의 Shape 속성을 정의 합니다.
⑥ Ok 버튼을 Click 한 후 정상적으로 저장되는 것을 확인합니다.
정상적으로 저장되는 경우 노드의 모양이 바뀌는 것을 확인할 수 있습니다.
3.5.3. NODE DELETE
Node 을 선택 후 Popup 에서 Delete 하거나 Delete 버튼을 눌러 삭제할 수 있습니다.
① Node 를 선택한 후 오른쪽 마우스 Click 후 보여지는 Popup 에서 Remove Node 를
선택합니다. 또는 Delete key 를 선택합니다.
② Yes 버튼을 Click 한 후 정상적으로 삭제되는 것을 확인합니다.
www.agadoss.com
50/264
3.5.4. NODE PROPERTY (RULE 정의)
Node Property 는 Node 별 구성된 로직을 등록 할 수 있습니다.
노드 유형에 따라 다양한 로직을 정의할 수 있습니다.
① Node 를 선택한 후 Double Click 을 하거나 오른쪽 마우스 Click 후 보여지는
Popup 에서 Properties 를 선택합니다.
② Save 버튼 – Rule 을 저장할 수 있습니다.
③ Search 버튼 – Rule 의 최신 정보를 조회 할 수 있습니다.
2 3
www.agadoss.com
51/264
3.5.5. NODE CONNECT
Node 의 흐름을 정의합니다. Node 와 Node 사이에 선을 연결함으로 인하여 Node 실행 순서
또는 흐름을 정합니다.
3.5.6. BASE CONNECT
① Canvas 의 빈 공간에서 오른쪽 마우스 Click 후 보여지는 Popup 에서 Link 를 선택한다
② Canvas 의 Link Mode 에서 연결 할 두 Node 를 선택한다.
Link Mode 에서 원 상태로 돌아오려면 1. 방식에서 Pointer 들 선택하면 된다.
www.agadoss.com
52/264
3.5.7. CONNECT – ONE TO ONE
여러 개의 노드를 한꺼번에 순차적으로 연결합니다.
① 연결할 여러 개의 노드를 선택 한 후 오른쪽 마우스 Click 후 보여지는 Popup 에서
Connect (One to One ) 를 선택한다.
② 방향 버튼들을 사용하여 Node 순서, 포함여부를 조정한다.
③ Connect 버튼을 Click 하여 정상적으로 연결되는 것을 확인한다.
2
3
www.agadoss.com
53/264
3.5.8. CONNECT – ONE TO MANY
여러 개의 노드를 한꺼번에 일 대 다의 형식으로 연결합니다.
① 연결할 여러 개의 노드를 선택 한 후 오른쪽 마우스 Click 후 보여지는 Popup 에서
Connect (One to Many ) 를 선택한다.
② 방향 버튼들을 사용하여 Node 순서, 포함여부를 조정한다.
③ 연결 방향에 따라 Target, Source 버튼을 Click 하여 정상적으로 연결되는 것을 확인한다.
2
3
www.agadoss.com
54/264
3.5.9. FLOW CONDITION 설정
Node 의 흐름에 대한 조건을 정의합니다. 조건을 설정 시 조건에 부합한 연결만 실행됩니다.
① 조건을 설정할 선의 From node 의 Rule property 를 실행한다.
Node 를 Double click 하거나 Popup 에서 Properties 를 실행한다.
② Rule Property 에서 Flow Tab 을 선택합니다.
③ Condition, Comparison, Value 를 선택하여 입력합니다.
Condition 이 NO_COND_PASS, Comparison 은 =, Value 는 ON 을 선택하면 조건 없이
실행될 수 있음을 의미합니다.
(NO_COND_PASS = ON)
④ List 저장 버튼을 Click 한 후 정상적으로 저장되는 것을 확인합니다.
정상적으로 저장된 경우 List 에서 저장된 내역을 확인할 수 있습니다.
하지만 DB 에 반영되는 것은 아니며, 단지 List 에만 반영이 되어 있는 상태입니다.
⑤ List 를 Click 하면 Flow Condition 의 상세정보를 볼 수 있다. 상세정보가 로드 된 후
Flow Condition 의 수정, 삭제가 가능합니다.
⑥ (DB 반영) 저장 버튼을 Click 한 후 정상적으로 저장되는 것을 확인합니다.
이 시점에 DB에 반영되면 정상적으로 저장된 경우 재 호출 또는 조회 시 List 에서
저장된 내역을 확인할 수 있습니다.
2
3 6
5
4
www.agadoss.com
55/264
⑦ 해당 선을 Double Click 하거나, 선을 선택한 후 오른쪽 마우스 Click 후 보여지는
Popup 에서 Flow Condition Value 를 선택하거나, Properties 를 선택합니다.
설명한 방법 중 하나를 선택하여 Flow Condition 을 지정할 수 있습니다.
⑧ 원하는 Condition 을 선택하면 Flow 의 Condition 이 지정됩니다.
⑨ Double Click 하거나 Properties 를 선택하면 Flow Condition form 을 볼 수 있습니다.
⑩ 지정 할 Flow Condition 를 선택합니다.
⑪ 저장 버튼을 Click 한 후 정상적으로 저장되는 것을 확인합니다.
정상적으로 저장된 경우 Canvas 에 선의 Condition 이 지정됨을 볼 수 있습니다.
3.5.10. FLOW CONDITION 2 ( START NODE )
Start Node 인 경우 10.5.2 의 방식과 더불어 해당 Object 를 호출하는 Object 혹은 Form 에서
기 정의한 값을 검색하여 Condition 을 정의할 수도 있습니다.
① Start node 의 Rule property 를 실행합니다.
Node 를 Double click 하거나 Popup 에서 Properties 를 실행합니다.
10
8 9
11
www.agadoss.com
56/264
② Rule Property 에서 Flow Tab 을 선택합니다.
③ Search 버튼을 Click 하여 Reference Search 창을 실행합니다.
④ Reference Object 나 Form 들 중에서 해당하는 Object 를 선택합니다.
2
8
7
3
4
5
6
www.agadoss.com
57/264
⑤ Object 또는 Form 에서 기 정의한 Event Code, Jump Code 를 확인 한 후
해당하는 Parameter 을 선택합니다.
⑥ 적용 버튼을 Click 한 후 Flow Tab 의 Condition Value 에 적용됨을 확인합니다.
⑦ List 저장 버튼을 Click 한 후 정상적으로 저장되는 것을 확인합니다.
정상적으로 저장된 경우 List 에서 저장된 내역을 확인할 수 있습니다.
하지만 DB 에 반영되는 것은 아니며, 단지 List 에만 반영이 되어 있는 상태입니다.
⑧ (DB 반영) 저장 버튼을 Click 한 후 정상적으로 저장되는 것을 확인합니다.
이 시점에 DB에 반영되면 정상적으로 저장된 경우 재 호출 또는 조회 시 List 에서
저장된 내역을 확인할 수 있습니다.
⑨ 나머지 과정은 10.5.2 의 과정과 동일합니다.
3.5.11. FLOW CONDITION 3 ( FORM EVENT )
Form 의 Event 정의 시 Run Type 이 FormObject 나 Object 인 경우 Call Parameter 를
해당 Object 의 Start Node Flow Condition 에 등록할 수 있습니다.
① Form 의 Event 등록 창을 실행 한 후 Run Object 나 Run Form Object 정의 화면을
실행합니다.
② Object 의 IN-Param 이 등록되어 있음을 확인합니다.
③ Add Flow Condition 버튼을 Click 하여 Flow Condition Add 를 실행합니다.
3
2
www.agadoss.com
58/264
④ 원하는 Parameter 를 선택합니다.
⑤ Add 버튼을 Click 한 후 정상적으로 등록됨을 확인합니다.
정상적으로 등록되는 경우 해당 Object 의 Start Node – Flow 에 등록됨을 볼 수 있습니다.
4
5
www.agadoss.com
59/264
3.5.12. NODE BOUND 저장
Node 의 Bound 를 변경한 후 저장하지 않으면 변경된 정보가 반영되지 않습니다.
그러므로 변경이 발생 시 필히 정보를 저장하여야 합니다.
① Canvas 를 선택한 상태에서 Ctrl + S 를 하거나 Canvas 의 빈 공간에서 오른쪽 마우스
Click 후 보여지는 Popup 에서 Save View 를 선택합니다.
② 정상적으로 저장된 것을 확인합니다.
www.agadoss.com
60/264
NODE GROUP
Node Group 은 Node 들의 모음 입니다. Node 를 Grouping 할 경우 여러 가지 유형으로
Grouping 할 수 있습니다.
Node Group 은 네 가지 유형을 제공하고 있습니다.
구분
Base Group 기본 그룹입니다.
Node 들을 카테고리화 하여 관리할 수 있습니다.
Looping Group 그룹내의 로직을 정의한 수만큼 반복 수행합니다.
Synchronized Group 그룹내의 로직을 Synchronized, 또는 lock 하여 수행합니다.
Filter Group 그룹에 전달한 Value 를 Filtering 하여 그룹 내에서 수행합니다.
3.6.1. NODE GROUP 등록
Node Group 은 Node 들의 모음 입니다. Node 를 Grouping 할 경우 여러 가지 유형으로
Grouping 할 수 있습니다.
① 연결할 여러 개의 노드를 선택 한 후 오른쪽 마우스 Click 후 보여지는 Popup 에서
Make Group 를 선택합니다.
www.agadoss.com
61/264
② Group 유형을 선택합니다.
③ Group 명을 입력합니다. Group 명은 Unique 해야 합니다.
④ Ok 버튼을 Click 하여 정상적으로 생성되는 것을 확인합니다.
그룹 후 화면
2
3
4
www.agadoss.com
62/264
3.6.2. LOOPING GROUP 등록
Looping Group 은 정의한 수만큼 Group 내의 노드를 반복 수행 합니다.
노드 내의 값은 Loop Start Node 에서 정의한 것으로 재구성됩니다.
LOOP START NODE
Loop Start node 는 Looping 조건 과 Looping 시 적용되는 Value 를 정의합니다.
① Loop Start Node 을 선택합니다.
② Loop Condition 이 될 Member 를 선택합니다.
Collection 내에 선택된 Member 수만큼 Looping 합니다.
Collection 에 Member 가 5 개가 있다면 5 번 반복수행 합니다.
③ One By One 은 MemberSet (Member 집합) List 를 하나씩 꺼내어 수행합니다.
선택된 MemberSet 는 반복수행 시 1씩 인덱스가 증가 되어 List 에서 꺼내어 집니다.
선택이 안된 MemberSet 은 반복 수행 시 모든 값이 전달됩니다.
④ 저장을 선택하면 아래 Grid에 MemberSet 의 Member 들이 표시됩니다.
⑤ Grid 에 Same 을 선택하면 선택된 Member 는 Looping Count 보다 값이 적은 경우 그 전
Value를 Set 해준다.
⑥ 저장 버튼을 Click 한 후 정상적으로 저장되는 것을 확인한다.
3 2
5
6
4
www.agadoss.com
63/264
LOOP END NODE
Loop End node 는 Looping 완료 된 후 다음 Step 에 전달될 값을 정합니다.
① Loop End Node 를 선택합니다.
② 다음 Step 으로 넘겨질 MemberSet 을 선택한다.
③ 저장 버튼을 Click 한 후 정상적으로 저장되는 것을 확인한다.
2
3
www.agadoss.com
64/264
LOOPING VALUE 흐름
Loop Group 내에 Value 을 흐름 또는 구조를 설명합니다.
Agados Member Collection 에 다음과 같이 데이터가 있다고 가정합니다.
① Looping Count 는 다음과 같이 결정됩니다.
A Mset 의 특정 Member 를 선택할 경우 Looping Count = 3
B Mset 의 특정 Member 를 선택할 경우 Looping Count = 2
C Mset 의 특정 Member 를 선택할 경우 Looping Count = 1
로 결정됩니다.
② One By One 는 다음과 같이 결정됩니다.
A Mset 을 One By One 으로 선택 시 Looping Collection 은
아래 표와 같이 구성됩니다.
A Mset 의 하나의 Row 와 B Mset, C Mset 으로 구성됩니다.
Member Collection
A Mset Row - 1
Row - 2
B Mset
C Mset
Row - 3
Row - 1
Row - 2
Row - 1
www.agadoss.com
65/264
③ Same Check 는 다음과 같이 결정됩니다.
A Mset 의 A’ Member 를 Same Check 한 경우, A’ Member 의 데이터가
Row 별로 (1 , null , null) 로 있을 경우 Looping Collection 은
(1 , 1 , 1) 로 전달됩니다.
Looping Member Collection
( One By One – A Mset )
1 Loop
A Mset Row - 1
B Mset
C Mset
Row - 1
Row - 2
Row - 1
Looping Member Collection
( One By One – A Mset )
2 Loop
A Mset Row - 2
B Mset
C Mset
Row - 1
Row - 2
Row - 1
Member Collection
( A Mset )
Row - 1 A’ ( Value = 1 ) B’ C’ D’
Row - 2 A’ ( Value = null ) B’ C’ D’
Row - 3 A’ ( Value = null ) B’ C’ D’
www.agadoss.com
66/264
3.6.3. SYNCHRONIZED GROUP 등록
Synchronized Group 은 Group 을 Lock 한 상태에서 수행합니다.
해당 Group 이 수행 중에는 다른 요청 (해당 Group 을 수행하려는) 은 대기 상태로 기다립니다.
Synchronized Group 은 Start 와 End Node 에서 별도의 설정하는 값은 없습니다.
하지만 시작과 끝은 Sync Start Node 와 Sync End Node 에서 수행됩니다.
3.6.4. FILTER GROUP 등록
Filter Group 은 Group 내의 값을 필터링 하여 수행합니다.
전 Step 에서 건너진 Value 를 해당 Group 에서 Filtering 된 Value 로 변환 후
수행됩니다. 그리고 다음 Step 으로 넘어갈 경우 Group 전 Step 으로 넘어온 Value 로
재 치환됩니다.
예) A Member 가 Row-1 ( Value = 1 ) , Row-2 ( Value = 2 ) , Row-3 ( Value = 1 ) 있다고 가정합니다.
Filter 조건을 A Member 가 Value = 1 인 경우만 필터링 한다면 ( A = 1 )
Row -1 과 Row -3 의 Value 만 사용됩니다.
Member Collection
( Same Check A’ – A Mset )
Loop - 1 A’ ( Value = 1 ) B’ C’ D’
Loop - 2 A’ ( Value = 1 ) B’ C’ D’
Loop - 3 A’ ( Value = 1 ) B’ C’ D’
www.agadoss.com
67/264
FILTER START NODE
Filter Start node 는 Filtering 조건 과 Filtering 시 적용되는 Value 를 정의합니다.
① Filter Start Node 을 선택합니다.
② Filter 조건을 정의합니다.
Filter 기준이 되는 Member 와 Compare value 를 선택합니다.
③ 등록 한 정보를 Grid 에 반영합니다.
④ 저장 버튼을 Click 한 후 정상적으로 저장되는 것을 확인합니다.
FILTER END NODE
Filter End node 는 Filter 완료 된 후 다음 Step 에 전달될 값을 정합니다.
① Filter End Node 를 선택합니다.
② 다음 Step 으로 넘겨질 MemberSet 을 선택한다.
③ 저장 버튼을 Click 한 후 정상적으로 저장되는 것을 확인한다.
2
3
3
2 4
www.agadoss.com
68/264
MEMBER 등록
Member 는 Member set 이라는 오브젝트로 집합됩니다.
Agados Cloud 에서는 모든 데이터의 식별을 Member 와 DataColumn 으로 하고 있습니다.
데이터를 전달하거나 데이터를 관리할 경우 Member 을 등록 관리 하셔야 합니다.
3.7.1. BASE 등록
Member Form 에서 Member Tab 을 선택합니다.
- Member Form ( Member Tab )
① Member 의 Name 을 등록한다.
Name 은 Member Set 내에서 Unique 해야 합니다.
② Type 의 그룹은 Base 와 Control 로 나누어 잡다.
Base 는 Int, String, Boolean, Date 등의 기본 유형을 가지며
, Control 은 Form 에서 사용된 Control 유형을 말합니다.
③ Relation Field 는 Member 와 관계가 있는 Field를 말합니다.
Field는 주로 Database Column을 말합니다.
향후 이 값을 기준으로 Member 와 Relation Field 간의 Auto mapping을 제공합니다.
1
3
5
2
6
4
www.agadoss.com
69/264
④ List 를 Click 하면 Member 의 상세정보를 볼 수 있습니다.
상세정보가 로드 된 후 Member의 수정, 삭제가 가능합니다.
⑤ 저장 버튼을 Click 한 후 정상적으로 저장됨을 확인합니다.
정상적으로 저장되는 경우 List에 저장된 내역이 나타납니다.
Member type type
Base
Boolean Boolean 형 (True, False)
Date 날짜형
Datetime 날짜 시간 형
Double Double ( 4.9E-324 ~ 1.7976931348623157E308 )
Float Float ( 1.4E-45 ~ 3.4028235E38 )
Int Int ( -2147483648 ~ 2147483647 )
String 문자열
Control Form 에서 사용하는 Control Type
Member Type 이 Control 일 경우
Member Type 이 Control 경우 Form 에서 Control 을 전달할 때
사용됩니다. Member 가 Control 로 설정될 경우 Control 의
Instance 가 전달됩니다.
DB Table 항목
DB Table 항목은 Database 의 Table 과의 연관성을 관리할 수 있습니다.
이 항목에 Table 를 입력하면
메뉴 Visibility > Matrix > Memberset And Datatable (DB) 에서 연관성을 확인
할 수 있습니다.
www.agadoss.com
70/264
3.7.2. DATABASE COLUMN SEARCH 등록
사용자 DB 의 Column 을 참조하여 Member 를 등록 할 수 있습니다.
Database column Search 버튼을 Click 시 Database search Form 이 호출됩니다.
- Database Search Form
① Database Adapter 을 선택합니다.
만약 존재하지 않는다면 메뉴 Solution > Adapter > Database 에서 Adapter 등록 여부를
확인합니다..
② Metadata는 Database의 Metadata 를 참조하고, Sql 는 Sql 의 Result 를 참조 합니다.
Sql 를 선택한 경우 Sql 문장을 입력할 수 있는 화면이 나옵니다.
③ Search 버튼을 Click 하면 Metadata인 경우 아래 List 에 DB Table 이 나오면
, Sql인 경우 오른쪽 List Box 에 Column 내역이 나옵니다.
④ List를 Click 하면 DB Table에 포함된 Column이 오른쪽 List Box에 나옵니다.
⑤ 원하는 Column 을 선택합니다.
⑥ Apply 버튼을 Click 하면 선택된 Column 이 Member 로 등록됩니다.
정상적으로 등록된 경우 Member Form에서 Member 가 등록됨을 확인할 수 있습니다.
1
3
6
4
2
5
www.agadoss.com
71/264
DATATABLE 등록
Control (Form 내의) 이 사용하는 Data 는 Datatable 로 관리합니다.
3.8.1. BASE 등록
Datatable Form 에서 Column Tab 을 선택합니다.
- DataTable Form ( Column Tab )
① Column 의 Name 을 등록합니다.
Name 은 DataTable 내에서 Unique 해야 합니다.
② Column 의 Caption 을 등록합니다.
Caption 은 DataTable 내에서 Unique 해야 합니다.
③ Member 는 Column 와 관계가 있는 Member를 말합니다.
향후 이 값을 기준으로 Column 과 Member 간의 Auto mapping을 제공합니다.
④ Column 의 기본속성들을 지정합니다.
Data Type 이 Image 인 경우 Image Load Type 을 정의하여야 합니다.
⑤ List 를 Click 하면 Column 의 상세정보를 볼 수 있습니다.
1
4
6
3
7
5
2
www.agadoss.com
72/264
상세정보가 로드 된 후 Column의 수정, 삭제가 가능합니다.
⑥ 저장 버튼을 Click 한 후 정상적으로 저장됨을 확인합니다.
정상적으로 저장되는 경우 List에 저장된 내역이 나타납니다.
Data Column type
Boolean Boolean 형 ( True , False )
ByteArray 날짜형
Datetime 날짜 시간 형
Double Double ( 4.9E-324 ~ 1.7976931348623157E308 )
Float Float ( 1.4E-45 ~ 3.4028235E38 )
Int Int ( -2147483648 ~ 2147483647 )
String 문자열
Image Image.
Image Type 을 선택하는 경우 Image load Type 을 선택하여야 합니다.
Image load type 은 네 가지 유형 을 제공합니다.
1. ImageControl : ImageList, ImageCollect 의 Image 를 활용합니다.
Image Collect 의 Image Control 명을 등록하시면 됩니다.
2. Absolute Path : Image 의 절대 경로를 지정합니다.
3. Relative Path : Solution path 를 Root 로 상대 경로를 지정합니다.
4. Url : Url 를 기준으로 Image 를 Load 합니다.
Expression 활용
Data Column 에서 Expression 설정하면 Data 가 변경될 경우 자동으로
Expression 을 수행 값을 해당 Column 에 적용합니다.
예를 들어 Column1 * Column2 = Column3 을 정의한다면
Column3 의 Expression 항목에 다음과 같이 등록합니다.
Column1 * Column2
Data Column 의 Expression 은 .Net Data Column 을 따릅니다.
참조:
http://msdn.microsoft.com/en-
us/library/system.data.datacolumn.expression(v=vs.110).aspx
www.agadoss.com
73/264
3.8.2. MEMBER SEARCH 등록
Member 를 참조하여 DataColumn 을 등록할 수 있습니다.
⑦ Member 을 Search 후 Column 으로 등록할 수 있습니다.
버튼 Click 시 Member search Form 이 호출됩니다.
- Member Search Form
① MemberSet List 를 Click 하면 Memberset 에 포함된 Member가 오른쪽 List Box에 나옵니다.
② 원하는 Member 를 선택합니다.
③ Apply 버튼을 Click 하면 선택된 Member 가 Column 으로 등록됩니다.
정상적으로 등록된 경우 DataTable Form 에서 Column 이 등록됨을 확인할 수 있습니다.
Datatable 등록 후 Form 에서 사용 할 경우 별도의 작업이 필요합니다.
Form 에서 Resource Control 중 Datatable or Dataview 를 추가한 후
해당 Control 의 Property 에서 TableName 에 해당 Datatable 을 선택하시면
Datatable 을 사용 할 수 있습니다.
자세한 사항은 3.4.2 의 Control Resource 에서 Control Add 를 참조하십시오.
3
1 2
www.agadoss.com
74/264
IMAGECOLLECT 등록
Control (Form 내의) 이 사용하는 Image 를 관리합니다.
Object 유형 중 Image Collect 로 선택 한 후 필요한 Image 를 Add 하시면 됩니다.
Image Collect 에 등록된 Image 는 이름으로 Control 에서 참조됩니다.
IMAGELIST 등록
Control (Form 내의) 이 사용하는 Image 를 관리합니다.
Control 특성 상 Image 명이 아닌 Image List 의 Index 를 참조하는 경우가 있습니다.
이런 경우 Image List 를 사용합니다.
Control Property 에서 ImageList 를 선택 할 경우에는 이름으로 참조되지만 내부적으로는
List Index 로 수행됩니다.
Agados 에서는 Image Collect 를 권장합니다.
Image List 는 필요에 따라 사용하시기 바랍니다.
Data 에 의한 (예를 들어 인사 사진 등) 이미지는 DataColumn 의
Image Type 을 통해 적용할 수 있습니다.
자세한 사항은 3.20 Datatable 등록을 참조하시기 바랍니다.
SCRIPT
사용자는 Script 를 통해서 사용자 로직을 정의할 수도 있습니다.
Script 의 정의는 Rule (Node) , Common Script ( Object ) 를 통해 할 수 있습니다.
Agados Cloud 는 VB Script, C# Script, IronPython Script, Jython Script 를 제공합니다.
Client 환경에서는 VB Script, C# Script, IronPython Script 적용되며
, Server 환경이 Java 인 경우 Jython Script 를 사용하셔야 합니다.
Agados Cloud 는 기본적으로 C# Script 를 권장합니다.
Script 내에서 타 라이브러리를 참조할 경우 다음 부분을 확인하십시오.
메뉴 Solution > Solution Attribute 내의 Tab 중 Library 에 먼저 등록되어야
합니다.
여기에 등록된 라이브러리는 Script 실행 시 자동 load 됩니다.
www.agadoss.com
75/264
3.11.1. SCRIPT 에서 사용하는 AGADOS CLASS
Script 와 Agados Engine 이 Data 를 주고 받을 경우 Agados 는 CoScriptModel 이라는
객체를 사용합니다.
CoScriptModel 은 내부적으로 멤버 별 Collection 을 제공합니다.
사용자는 Script 내에서 Agados 가 제공하는 Formatter, Control 등 다양한 모듈을 활용할 수
있습니다. 다음은 Script 를 사용할 경우 주로 쓰는 객체를 설명합니다.
기준은 C# Script 을 기준으로 하였습니다.
SoEngine.Common.Core.Script.CoScriptModel : Method
Script 에서 값을 주고 받는 전달 객체입니다.
내부적으로 값과 Adapter 객체를 가지고 있습니다.
구성 key 는 Member name 이 기본입니다.
Collect : CoMap
CoScriptModel 의 모든 값을 가지고 있는 Collection 객체를 Return 합니다.
이 Value 를 Clear 하거나 New 하는 경우 CoScriptModel 내의 모든 Data가 Clear 됩니다.
AdaModel : CoAdaModel
Adapter 객체를 가지고 있는 CoAdaModel 를 Return 합니다.
Adapter 객체는 DB Connection, Hiber Adapter 등이 해당됩니다.
Script Model 정의 시 해당 값들을 전달 할 수 있습니다.
GetModel(bool isMset , Object name) : CoMsetModel
CoMsetModel 객체를 Return 합니다.
CoMsetModel 는 MemberSet 객체이며, Member 의 Collection 을 내부적으로 가지고 있습니다.
isMset name 이 Memberset 이름인지, Member 이름인지를 지정합니다.
True : Memberset 명 , False : Member 명
name MemberSet 명 or Member 명
Add(Object name , Object value) : void
ScriptModel 에 Member 을 Add 합니다.
name Member name 을 지정합니다.
value Member 의 value 를 지정합니다.
Add(Object name , String aliasNm , Object value) : void
ScriptModel 에 Member 을 Add 합니다.
name Member name 을 지정합니다.
www.agadoss.com
76/264
aliasNm Member name 의 Alias name 을 지정합니다.
해당 Member 를 참조 시 Alias name 을 사용할 수도 있습니다.
value Member 의 value 를 지정합니다.
AddMsetModel(Object objNm , CoMsetModel value) : void
ScriptModel 에 CoMsetModel 을 Add 합니다.
objNm Memberset name 을 지정합니다.
value CoMsetModel 객체를 지정합니다.
AddByAlias(String aliasNm , Object value) : void
ScriptModel 에 Alias name 을 사용하여 Member 을 Add 합니다.
Script Model 내의 Alias name 사전에 Name 이 기 등록되어야 합니다.
aliasNm Member name 의 Alias name 을 지정합니다.
해당 Member 를 참조 시 Alias name 을 사용할 수도 있습니다.
value Member 의 value 를 지정합니다.
Insert(int idx , Object name , Object value) : void
ScriptModel 에 Member 을 특정 위치에 Insert 합니다.
Idx Insert 할 위치 ( Index ) 를 지정합니다.
name Member name 을 지정합니다.
value Member 의 value 를 지정합니다.
InsertByAlias(int idx , String aliasNm , Object value) : void
ScriptModel 에 Alias name 을 사용하여 Member 을 특정 위치에 Insert 합니다.
Script Model 내의 Alias name 사전에 Name 이 기 등록되어야 합니다.
Idx Insert 할 위치 ( Index ) 를 지정합니다.
aliasNm Member name 의 Alias name 을 지정합니다.
해당 Member 를 참조 시 Alias name 을 사용할 수도 있습니다.
value Member 의 value 를 지정합니다.
Replace(int idx , String name , Object value) : void
ScriptModel 의 Member List 특정 위치의 값을 Replace 합니다.
Idx Replace 할 위치 ( Index ) 를 지정합니다.
name Member name 을 지정합니다.
value Member 의 value 를 지정합니다.
ReplaceByAlias(int idx , String aliasNm , Object value) : void
ScriptModel 의 Member List 특정 위치의 값을 Replace 합니다.
Idx Replace 할 위치 ( Index ) 를 지정합니다.
aliasNm Member name 의 Alias name 을 지정합니다.
www.agadoss.com
77/264
value Replace 할 value 를 지정합니다.
ReplaceAll(String name , Object value) : void
ScriptModel 의 Member List 의 모든 Data 를 Replace 합니다.
name Member name 을 지정합니다.
value Replace 할 Value 를 지정합니다.
ReplaceAllByAlias(String aliasNm , Object value) : void
ScriptModel 내의 Member List 의 모든 Data 를 Replace 합니다.
aliasNm Member name 의 Alias name 을 지정합니다.
value Replace 할 value 를 지정합니다.
GetByAlias(String aliasNm ) : CoList
ScriptModel 내의 Member 의 Value 를 CoList 로 반환합니다..
aliasNm Member name 의 Alias name 을 지정합니다.
Get( Object name ) : CoList
ScriptModel 내의 Member 의 Value 를 CoList 로 반환합니다..
name Member name 을 지정합니다.
SingleValueByAlias(String aliasNm , Object value) : String
ScriptModel 내의 Member List 중 하나의 값을 String type 으로 Return 합니다.
만약 데이터가 다수가 존재할 경우, 첫 번째 값을 String으로 변환 리턴 합니다.
aliasNm Member name 의 Alias name 을 지정합니다.
value Value 가 Not null 이거나 empty 아니라면 Value 값을 무조건 return 합니다.
SingleValue(Object name , Object value) : String
ScriptModel 내의 Member List 중 하나의 값을 String type 으로 Return 합니다.
만약 데이터가 다수가 존재할 경우, 첫 번째 값을 String으로 변환 리턴 합니다.
name Member name 을 지정합니다.
value Value 가 Not null 이거나 empty 아니라면 Value 값을 무조건 return 합니다.
SingleObjectByAlias(String aliasNm , Object value) : Object
ScriptModel 내의 Member List 중 하나의 값을 Object type 으로 Return 합니다.
만약 데이터가 다수가 존재할 경우, 첫 번째 값을 Object 로 리턴 합니다.
aliasNm Member name 의 Alias name 을 지정합니다.
value Value 가 Not null 이거나 empty 아니라면 Value 값을 무조건 return 합니다.
www.agadoss.com
78/264
SingleObject(Object name , Object value) : Object
ScriptModel 내의 Member List 중 하나의 값을 Object type 으로 Return 합니다.
만약 데이터가 다수가 존재할 경우, 첫 번째 값을 Object 로 리턴 합니다.
name Member name 을 지정합니다.
value Value 가 Not null 이거나 empty 아니라면 Value 값을 무조건 return 합니다.
RemoveMsetByAlias(bool isMset , String aliasNm) : void
CoMsetModel 객체를 Remove 합니다.
isMset name 이 Memberset 명인지, Member 명인지를 지정합니다.
True : Memberset 명 , False : Member 명
aliasNm Member name 의 Alias name 을 지정합니다.
RemoveMset(bool isMset , Object name) : void
CoMsetModel 객체를 Remove 합니다.
isMset name 이 Memberset 명인지, Member 명인지를 지정합니다.
True : Memberset 명 , False : Member 명
name MemberSet 명 or Member 명
RemoveMem(CoList remList , Object name) : void
Member list 에서 지정된 Index 를 Remove 합니다.
remList Value 중 삭제할 index 가진 List 를 지정합니다.
name Member name 을 지정합니다.
RemoveMemByAlias( CoList remList , String aliasNm) : void
Member list 에서 지정된 Index 를 Remove 합니다.
remList Value 중 삭제할 index 가진 List 를 지정합니다.
aliasNm Member name 의 Alias name 을 지정합니다.
Model 내에서 Member Name 은 다음과 같이 구성됩니다.
MemberSet ( Object Full name ) 명 + . + Member 명
예를 들어 Object Full name 이 a.b.c 이고 Member 명 d 라면
Member 명은 a, b, c, d 입니다.
www.agadoss.com
79/264
SoCommon.Common.Value.CoMap : Method
Agados 내에서 기본적으로 사용하는 Collection 객체입니다.
기본 구조는 name 과 value ( Object ) 이며 , 각각 List 구조를 가져갑니다.
List 내에서는 name 의 중복을 허용합니다.
this[int index] : Object
Index 를 기준으로 Value 를 Return 합니다.
index Name List 의 Index
this[String name] : Object
Name 을 기준으로 Value 를 Return 합니다.
name Name
Size : int
CoMap 현재 크기를 제공합니다.
InsertAt(int idx , Object name, Object value) : void
CoMap 에 Value 를 특정 index 에 insert 합니다..
idx Insert 할 index
name Value 의 식별자 입니다.
value name 의 value 를 지정합니다.
Add(Object name, Object value) : void
CoMap 에 Data 를 Add 합니다.
name Value 의 식별자 입니다.
value name 의 value 를 지정합니다.
GetValue(Object name) : Object
Name 을 기준으로 value 를 가져옵니다.
같은 이름의 값이 여러 개 일 경우 첫 값을 리턴 합니다.
name Value 의 식별자 입니다.
GetValue(int index): Object
Index 을 기준으로 value 를 가져옵니다.
index Value List 상의 index
www.agadoss.com
80/264
GetName(int index) : Object
Index 을 기준으로 name 를 가져옵니다.
index Name List 상의 index
RemoveValue(Object name) : Object
Name 을 기준으로 Data 를 삭제합니다.
같은 이름의 값이 여러 개 일 경우 첫 값을 Remove 합니다.
name Value 의 식별자 입니다.
Remove(int idx) : void
Index 을 기준으로 Data 를 삭제합니다.
index List 상의 index
RemoveMatchValue(String name): void
Name 을 기준으로 Data 를 삭제합니다.
같은 이름의 값이 여러 개 일 경우 모두 Remove 합니다.
name Value 의 식별자 입니다.
GetString(Object name) : String
Name 을 기준으로 value 를 가져옵니다.
같은 이름의 값이 여러 개 일 경우 첫 값을 String type으로 리턴 합니다.
name Value 의 식별자 입니다.
GetMatchValue(Object name) : CoList
Name 을 기준으로 value 를 가져옵니다.
같은 이름의 모든 값을 List 에 담아 리턴 합니다.
name Value 의 식별자 입니다.
IndexOf(Object name) : int
Name 을 기준으로 Name list 상의 index 를 가져옵니다.
name Value 의 식별자 입니다.
ValueIndexOf(Object value) : int
Value 을 기준으로 Value list 상의 index 를 가져옵니다.
value name 의 value 를 지정합니다.
www.agadoss.com
81/264
Replace(Object name , Object value) : void
Name 을 기준으로 Index 를 찾은 후 해당 값을 value 로 치환합니다.
같은 이름의 값이 여러 개 일 경우 첫 값을 Replace 합니다.
name Value 의 식별자 입니다.
value replace value 를 지정합니다.
Replace(int index , Object value) : void
Index 을 기준으로 해당 값을 value 로 치환합니다.
같은 이름의 값이 여러 개 일 경우 첫 값을 Replace 합니다.
name Value 의 식별자 입니다.
value replace value 를 지정합니다.
Set(Object name, Object value) : void
Name 을 기준으로 Index 를 찾은 후 Name 이 존재하면 Replace, 존재하지 않으면 Add 합니다.
같은 이름의 값이 여러 개 일 경우 첫 Index 만 적용 합니다.
name Value 의 식별자 입니다.
value Set 할 value 를 지정합니다.
Clone() : CoMap
객체를 Clone 합니다.
ViewValue() : void
현 객체에 담긴 정보를 Console 에 Print 해 줍니다.
www.agadoss.com
82/264
SoEngine.Common.Core.Model.CoMsetModel : Method
Member set 의 Data 을 가지고 있는 객체 입니다.
CoMap 을 기본 Collection 으로 name = Member name, value = CoList 구조를
가져갑니다.
이 객체는 Name 의 중복을 허용하지 않습니다.
Model : CoMap
CoMsetModel 의 Data를 가지고 있는 Collection 를 반환한다.
ModelValueList(Object name) : CoList
Member name 의 Collection 을 반환한다.
name Member Name ( Short name )
ModelValueList(int index) : CoList
Name Index 을 기준으로 Collection 을 반환한다.
index Name List 상의 index
Insert(int idx , Object name, Object value) : void
Member name 을 가진 List 의 특정 index 에 Data 를 Insert 한다.
idx Insert 할 index
name Member Name ( Short name )
value Insert value 를 지정합니다.
Add(Object name , Object value) : void
Member 의 Data 를 Add 합니다.
name Member Name ( Short name )
value Member 의 value 를 지정합니다.
AddRow(bool isNull , CoMap rowMap): void
CoMap 의 Data 를 Add 한다.
isNull True : rowMap 의 값 중 null 인 것은 skip 한다.
False : rowMap 의 값을 무조건 Add 한다.
rowMap rowMap 의 Name 은 Member name, Value 는 Member data 로 치환된다.
ClearAdd(Object name , Object value) : void
Member 의 Data 를 먼저 Clear 한 후 value 를 add 한다.
www.agadoss.com
83/264
name Member Name ( Short name )
value Member 의 value 를 지정합니다.
Replace(int repIdx , Object name , Object value) : void
Member name 을 가진 List 의 특정 index 에 Data 를 Replace 한다.
idx Replace 할 index
name Member Name ( Short name )
value Replace value 를 지정합니다.
ReplaceAll(Object name , Object value) : void
Member name 을 가진 List 의 모든 Data 를 Replace 한다.
name Member Name ( Short name )
value Replace value 를 지정합니다.
Remove(int idx) : void
특정 Index 의 Row 를 삭제한다.
(Row 는 모든 멤버의 동일한 index 의 data 를 말한다.)
idx Remove 할 index
Remove(Object name , CoList list) : void
Member List 중 사용자가 정의한 데이터와 일치하는 Data를 remove 한다.
name Member Name ( Short name )
list 사용자가 삭제할 비교 Data
Get(Object name) : CoList
Member 의 모든 Data 를 가져온다.
name Member Name ( Short name )
GetRow(int idx) : CoMap
특정 Index 의 Row 를 가져온다.
(Row 는 모든 멤버의 동일한 index 의 data 를 말한다.)
idx 가져 올 index
Single(Object name) : Object
Member 의 Data 중 하나의 데이터를 가져온다. 데이터 중 첫 index 의 data 를 가져온다.
name Member Name ( Short name )
www.agadoss.com
84/264
isExist(Object name) : bool
Member 가 존재하는 지 여부를 반환한다.
name Member Name ( Short name )
isExist(Object name , Object value) : bool
Member 내의 데이터 중 해당 데이터가 존재하는 지 여부를 반환한다.
name Member Name ( Short name )
value 비교 값을 지정합니다.
IndexOf(Object name) : int
Member 의 List 내의 index 를 반환한다.
name Member Name ( Short name )
RowCount(): int
Row Count 를 반환한다.
(Row 는 모든 멤버의 동일한 index 의 data 를 말한다.)
Copy(CoMsetModel msetModel) : void
객체의 clone 을 반환한다.
View() : void
현 객체에 담긴 정보를 Console 에 Print 해 줍니다.
Model 내에서 Row 는 Database 의 Table 구조와 유사하다고 보시면 됩니다.
Member 를 기준으로 각각의 value List 를 가지면 Member Value list 의 같은
인덱스는 하나의 Row ( Member 와 vale ) 로 제공됩니다.
www.agadoss.com
85/264
SoEngine.Common.Core.Model.CoAdaModel : Method
Adapter instance 을 가지고 있는 객체입니다.
Agados engine 내에서 Create 된 Adapter ( DB , Hibernate 등 ) 을 관리하는
Collection 객체입니다.
이 객체는 Name 의 중복을 허용하지 않습니다.
Count : int
Collection 의 Size 를 Return 합니다.
Add(Object adaOwner , Object adaType , Object adaNm) : void
Adapter 를 Add 합니다.
adaOwner 생성 한 Object 명을 지정합니다.
adaType Adapter type 을 지정합니다. ( Type : Database , Hibernate )
adaNm Adapter Name 을 지정합니다. Name 구성은 Node명 + 사용자 지정 Adapter name 입니다.
Adapter name = node명. Adapter name
Add(Object adaOwner , Object adaType , Object adaNm , Object adaValue) : void
Adapter 를 Add 합니다.
adaOwner 생성 한 Object 명을 지정합니다.
adaType Adapter type 을 지정합니다. ( Type : Database , Hibernate )
adaNm Adapter Name 을 지정합니다. Name 구성은 Node명 + 사용자 지정 Adapter name 입니다.
Adapter name = node명. Adapter name
adaValue 생성된 Adapter instance 을 지정합니다.
Add( Object adaOwner , Object adaType , Object adaNm , Object adaAlias
, Object adaValue) : void
Adapter 를 Add 합니다.
adaOwner 생성 한 Object 명을 지정합니다.
adaType Adapter type 을 지정합니다. ( Type : Database , Hibernate )
adaNm Adapter Name 을 지정합니다. Name 구성은 Node명 + 사용자 지정 Adapter name 입니다.
Adapter name = node명. Adapter name
adaAlias Adapter Name 의 Alias Name 을 지정합니다.
adaValue 생성된 Adapter instance 을 지정합니다.
Set(Object adaType , Object adaNm , Object adaValue) : void
Adapter 를 Set 합니다.
adaType Adapter type 을 지정합니다. ( Type : Database , Hibernate )
adaNm Adapter Name 을 지정합니다. Name 구성은 Node명 + 사용자 지정 Adapter name 입니다.
Adapter name = node명. Adapter name
www.agadoss.com
86/264
adaValue 생성된 Adapter instance 을 지정합니다.
GetAdapter(Object adaType , Object adaNm) : Object
Adapter Instance 를 Get 합니다.
adaType Adapter type 을 지정합니다. ( Type : Database , Hibernate )
adaNm Adapter Name 을 지정합니다. Name 구성은 Node명 + 사용자 지정 Adapter name 입니다.
Adapter name = node명. Adapter name
GetOwner(Object adaType , Object adaNm) : Object
Adapter 의 Owner 를 Get 합니다.
adaType Adapter type 을 지정합니다. ( Type : Database , Hibernate )
adaNm Adapter Name 을 지정합니다. Name 구성은 Node명 + 사용자 지정 Adapter name 입니다.
Adapter name = node명. Adapter name
FindWithAlias(Object adaType , Object alias) : Object
Adapter 의 Alias 명을 기준으로 Adapter Instance 를 Get 합니다.
adaType Adapter type 을 지정합니다. ( Type : Database , Hibernate )
adaAlias Adapter Name 의 Alias Name 을 지정합니다.
isExist(Object adaType , Object adaNm) : bool
Adapter Instance 가 있는지 여부를 반환 합니다.
adaType Adapter type 을 지정합니다. ( Type : Database , Hibernate )
adaNm Adapter Name 을 지정합니다. Name 구성은 Node명 + 사용자 지정 Adapter name 입니다.
Adapter name = node명. Adapter name
IndexOf(Object adaType , Object adaNm) : int
Collection 내에서 Adapter Instance 의 index 를 반환 합니다.
adaType Adapter type 을 지정합니다. ( Type : Database , Hibernate )
adaNm Adapter Name 을 지정합니다. Name 구성은 Node명 + 사용자 지정 Adapter name 입니다.
Adapter name = node명. Adapter name
IndexOfAlias(Object adaType , Object alias) : int
Alias 명을 기준으로 Collection 내에서 Adapter Instance 의 index 를 반환 합니다.
adaType Adapter type 을 지정합니다. ( Type : Database , Hibernate )
adaAlias Adapter Name 의 Alias Name 을 지정합니다.
Remove(Object adaType , Object adaNm) : void
Adapter 를 삭제합니다.
www.agadoss.com
87/264
adaType Adapter type 을 지정합니다. ( Type : Database , Hibernate )
adaNm Adapter Name 을 지정합니다. Name 구성은 Node명 + 사용자 지정 Adapter name 입니다.
Adapter name = node명. Adapter name
Copy(CoAdaModel adaModel) : void
Adapter Model 의 Clone 를 반환합니다.
adaModel Copy 대상이 되는 Adapter Model
View() : void
현 객체에 담긴 정보를 Console 에 Print 해 줍니다.
Script Model 에 Adapter 는 AdaModel 를 통해 전달 됩니다.
전 Step 에서 DB Adapter Instance 를 생성시 트랜잭션을 설정 후 전달하게 되면
Script 도 하나의 트랜잭션으로 묶이게 됩니다.
www.agadoss.com
88/264
3.11.2. SCRIPT NODE
Script Node 는 Object 내에서 제공되는 Node 입니다.
별도의 창을 통해 Script, Model 등을 정의할 수 있습니다.
MODEL 정의
Script 에서 값의 전달은 CoScriptModel 을 사용합니다.
Function 의 IN-Parameter 로 CoScriptModel 이 정의되며 사용자는 Model 에 값을
등록하면 됩니다.
① ScriptModel 에 값을 전달 할 Member 를 선택합니다.
또한 이 항목에 설정된 값을 기준으로 다음 Step 에 값을 전달합니다.
예를 들어 Object.Mem1 을 선택하시면 SciptModel 에 Object.Mem1 의 값과 이름이 Add
되며 Script 실행 완료 후 Object.Mem1으로 다음 Step 값을 전달합니다.
② Alias Name 항목은 ScriptModel 에서 값을 불러오는 경우 사용 할 Alias Name 입니다.
예를 들어 Object.Mem1 에 Alias Name ‘A’ 로 등록 할 경우 Script Model 에서
‘A’ 로 값을 불러올 수 있습니다.
1 2 6
5
3
4
www.agadoss.com
89/264
③ Method 는 Script 수행 후 값을 다음 Step Add 할 경우 Type 을 정합니다.
Type 은 Add, Replace 유형이 있으며 Default 는 Add 입니다.
④ List 저장 버튼을 Click 한 후 정상적으로 저장되는 것을 확인합니다.
정상적으로 저장된 경우 List 에서 저장된 내역을 확인할 수 있습니다.
하지만 DB 에 반영되는 것은 아니며, 단지 List 에만 반영이 되어 있는 상태입니다.
⑤ List 를 Click 하면 Model 의 상세정보를 볼 수 있다.
상세정보가 로드 된 후 Model 의 수정, 삭제가 가능합니다.
⑥ ( DB 반영 ) 저장 버튼을 Click 한 후 정상적으로 저장되는 것을 확인합니다.
이 시점에 DB에 반영되면 정상적으로 저장된 경우 재 호출 또는 조회 시 List 에서
저장된 내역을 확인할 수 있습니다.
등록된 정보를 기준으로 CoScriptModel 를 구성합니다.
Method 가 제공하는 Add 와 Replace 는 Script 수행 후 CoScriptModel 의 값을
현재 Object 의 MemberSet 에 어떻게 반영할지를 결정합니다.
www.agadoss.com
90/264
ADAPTER MODEL 정의
어떤 Adapter Instance 를 Script 에 전달할 지 여부를 정의합니다.
① 전달할 Adapter Instance 를 선택합니다.
② ( DB 반영 ) 저장 버튼을 Click 한 후 정상적으로 저장되는 것을 확인합니다.
이 시점에 DB에 반영되면 정상적으로 저장된 경우 재 호출 또는 조회 시 List 에서
저장된 내역을 확인할 수 있습니다.
여기서 등록된 정보는 CoScriptModel 의 AdaModel 에 Add 된다.
사용자는 CoScriptModel 의 AdaModel 를 통하여 Script 내에서 사용할 수 있다.
1
2
www.agadoss.com
91/264
SCRIPT 작성
수행될 Script 를 작성합니다.
① 사용자가 실행 할 스크립트를 작성합니다.
② ( DB 반영 ) 저장 버튼을 Click 한 후 정상적으로 저장되는 것을 확인합니다.
이 시점에 DB에 반영되면 정상적으로 저장된 경우 재 호출 또는 조회 시 List 에서
저장된 내역을 확인할 수 있습니다.
③ Compile 기능을 통하여 실행 전 문장의 정합성을 체크할 수 있습니다.
기본적으로 제공되는 Class 명과 Method 명은 사용자가 변경할 수 있습니다.
Agados 엔진에서는 정해진 규칙을 통해서 사용자의 Script 를 참조하고 있습니다.
그러므로 사용자가 해당 명을 변경하면 엔진이 참조할 수 없습니다.
1
2 3
www.agadoss.com
92/264
3.11.3. COMMON SCRIPT
Agados 에서 제공되어지는 Common Script 는 다른 Script ( Node ) 에서 참조됩니다.
공통된 기능을 Common Script 로 작성하시면 불필요한 중복 작업을 줄 일수 있습니다
① 사용자가 실행 할 스크립트를 작성합니다.
② ( DB 반영 ) 저장 버튼을 Click 한 후 정상적으로 저장되는 것을 확인합니다.
이 시점에 DB에 반영되면 정상적으로 저장된 경우 재 호출 또는 조회 시 List 에서
저장된 내역을 확인할 수 있습니다.
③ Compile 기능을 통하여 실행 전 문장의 정합성을 체크할 수 있습니다.
Common Script 에서 제공하는 Method 는 사용자가 필요한 만큼 추가할 수
있습니다.
참조 방식은 각 Script 의 타 라이브러리 참조방식과 동일합니다.
구성된 Script 는 .Net 계열은 dll 로 Python 계열을 py 파일로 Compile 됩니다.
파일명은 솔루션명.dll ( or py ) 로 되면 Script 실행 시 자동 load 됩니다.
1
2 3
www.agadoss.com
93/264
솔루션 환경 설정
사용자의 솔루션 환경을 설정합니다.
메뉴 Solution > Solution Attribute 를 선택합니다.
3.12.1. SOLUTION ATTRIBUTE
솔루션의 기본 정보를 설정합니다.
DESIGN
User 별 Solution 환경을 설정할 수 있습니다.
- Solution Attribute ( Design Tab )
① Access mode 는 Solution 의 공유 모드를 결정합니다.
Public 는 Open, Private 는 Close 을 뜻합니다.
② Run Form 을 선택합니다. Design에서 Test 시 실행될 Form 을 지정한다.
③ Design 의 Look and Feel 을 지정합니다.
1
5
3
8
2
7 8
4 6
www.agadoss.com
94/264
④ Client Module 의 Build Path 를 지정합니다. 이 Path는 내 PC 의 Path 이면 절대 Path 입니다.
또한 이 정보는 Design 에서 Test 시에 적용됩니다
⑤ Control Styles 를 선택합니다. 등록된 CSS ( Control Style Sheet ) 를 선택할 수 있습니다.
⑥ Local Code 를 선택합니다. Locale 코드를 지정 시 Locale 이 적용되는 Control 과 Server 와의
Data Charset 에 적용됩니다.
⑦ Statement 을 정의하는 node 들, SQL, Script 등의 Node 의 문장 Font 와 Size 를 지정합니다.
⑧ 저장 버튼을 Click 한 후 정상적으로 저장됨을 확인한다.
CLIENT
Client 실행 환경에 대한 속성을 설정합니다.
Agados 에서는 Client 를 Smart 로 명명합니다.
Used Resource 는 Client 의 실행 환경, Globalization 은 Client 의 Locale code
Log Agent 는 Smart 의 log 전송 정보를 관리한다.
- Solution Attribute ( Client Tab - Used Resource )
1
2 3
4 5
6
www.agadoss.com
95/264
① Run Form 을 선택합니다. Design에서 Test 시 실행될 Form 을 지정한다.
② Case Sensitive 는 Data table 의 Case Sensitive 의 옵션을 설정합니다.
③ Enforce Constraints 는 Data table 의 Enforce Constraints 의 옵션을 설정합니다.
④ Control Styles 를 선택합니다. 등록된 CSS ( Control Style Sheet ) 를 선택할 수 있습니다.
⑤ Smart 의 Look and Feel 을 지정합니다.
⑥ 저장 버튼을 Click 한 후 정상적으로 저장됨을 확인한다.
- Solution Attribute ( Client Tab - Log Agent )
① Smart Client 에서 Log mode ON 시 Log 가 보내질 Mail Address 를 지정한다.
② Mail을 보낼 수 있는 Smtp Server 의 정보를 지정한다.
③ 저장 버튼을 Click 한 후 정상적으로 저장됨을 확인한다.
Log Agent 는 Smart 에서 필요 시 Smart 실행정보 ( log ) 를 보내는 Mail 정보를
관리합니다. 실행정보를 보내기 위해서는 별도의 Tool 인 Agent 가 필요합니다..
1
2
3
www.agadoss.com
96/264
SERVER
Server 실행 환경에 대한 속성을 설정합니다.
- Solution Attribute ( Server Tab )
① Server 에서 주 사용할 Database Vendor 를 설정합니다.
② 저장 버튼을 Click 한 후 정상적으로 저장됨을 확인한다.
1
2
www.agadoss.com
97/264
LIBRARY
Library 는 Script, Run Module Node 에서 참조되는 Library 를 관리합니다.
Library 를 등록 후 dll 파일을 Designer Path \ Client \ Resource \ lib
, Designer Path \ Server \ Resource \ lib 에 옮겨 놓습니다.
Library 들은 Library Group 으로 묶여진다.
- Solution Attribute ( Library Tab )
① Reference Type 을 지정한다. Type 은 All, Client, Server 이며, 각각 사용될 곳을 말합니다.
② Group Name을 입력한다. Group 명은 Unique 해야 합니다.
③ 저장 버튼을 Click 한 후 정상적으로 저장됨을 확인합니다.
정상적으로 저장된 경우 아래 List에 저장된 내역이 나옵니다.
수정 또는 삭제 시에는 List 에서 선택한 후 해당 버튼을 Click 합니다.
④ List Click 하게 되면 Group 내에 포함된 Lib List가 보여집니다.
⑤ Library Name을 입력한다. Library 명은 Group 내에서 Unique 해야 합니다.
⑥ 저장 버튼을 Click 한 후 정상적으로 저장됨을 확인합니다.
정상적으로 저장된 경우 아래 List에 저장된 내역이 나온다.
1 2 3 7
4
5
6
www.agadoss.com
98/264
수정 또는 삭제 시에는 List 에서 선택한 후 해당 버튼을 Click 합니다.
⑦ 빌드 버튼을 Click 한 후 정상적으로 빌드 됨을 확인합니다.
Design Server 에 지정된 Path \ Server \ Resource \ lib \ server-ref-lib.xml
, Path \ Client \ Resource \ lib \ client-ref-lib.xml 이 존재하는지 확인합니다.
LOG SITE
Solution Attribute 창에서 Log Site Tab 을 선택합니다.
Log Site 는 Designer 에서 Log 정보를 볼 수 있는 Log Server URL 정보와
Client Log 인 메모리 DB 파일을 관리합니다.
메모리 DB 파일은 User Application path\so\db 아래에 생성되며
파일명은 smart.db 로 저장됩니다.
- Solution Attribute ( Log site Tab )
① Site 명을 입력한다. Site 명은 Unique 해야 합니다.
② Log Server 의 URL 을 입력합니다.
1
3
2
6
5
4
www.agadoss.com
99/264
③ Smart Client 의 Local DB 파일을 지정합니다.
일반적으로 User application Path \ so \ db \ smart.db 파일입니다.
예) win7 : C:\Users\(Login user 명\AppData\Local\so\db\smart.db
④ 저장 버튼을 Click 한 후 정상적으로 저장 됨을 확인합니다.
정상적으로 저장된 경우 왼쪽 리스트에 저장된 내역을 볼 수 있습니다.
⑤ List 에서 Site 를 선택 한 경우 상세정보를 볼 수 있으며, 수정 삭제 할 수 있습니다.
⑥ Connect 버튼을 Click 한 후 정상적으로 Connect 됨을 확인합니다.
정상적으로 연결 된 경우 Site Name 좌측에 Connect icon 이 보여집니다.
DEPLOY
Solution 의 Version 을 관리한다.
Client 에서 Agados Server 접속 시 Client 의 Version 파일과 Server 내의 Version 파일을
비교, Version 이 다른 내역을 Client 로 Download 한다.
- Solution Attribute ( Deploy Tab )
2
1
3 4
5
www.agadoss.com
100/264
① Version 을 변경 할 Resource 나 Object 을 선택합니다.
② 변경 할 Version 을 입력합니다.
③ Add or Update Data 를 Click 하여 Version 정보를 저장합니다.
④ Version 정보를 조회하거나 Remove 할 수 있는 화면을 호출합니다.
⑤ Deploy 버튼을 Click 하면 Version 정보 파일이 생성됩니다.
Version 정보 파일은 solution path\내-deploy.xml 파일로 생성됩니다.
- Deploy Remove Form
① Object 나 Resource 의 Version 정보가 조회됩니다.
List 에서 삭제 할 항목을 선택하십시오.
② Remove 버튼을 Click 하면 해당 정보 삭제됩니다.
2
1
www.agadoss.com
101/264
PROTECT
Protect 할 Object 를 정의합니다.
Protect 기능은 Work 모드의 Designer, Configurator 와 관련되어 있습니다.
Object 가 Protect 되어 있으면 Configurator 는 해당 Object 을 수정할 수 없습니다.
- Solution Attribute ( Protect Tab )
① Protect 대상 Object 을 선택합니다.
② 선택한 Object 를 Protect Target List 로 옮기거나 제할 수 있습니다.
③ Protect Target list 을 확인합니다.
④ Add or Update Data 을 Click 하여 Protect 정보를 저장합니다.
⑤ Protect 정보를 조회하거나 Remove 할 수 있는 화면을 호출합니다.
3
1
2
4
5
www.agadoss.com
102/264
- Protect Remove Form
① Object 나 Resource 의 Protect 정보가 조회됩니다.
List 에서 삭제 할 항목을 선택하십시요.
② Remove 버튼을 Click 하면 해당 정보 삭제됩니다.
2
1
www.agadoss.com
103/264
3.12.2. DATABASE ADAPTER 설정
Database Connection 정보를 등록합니다.
Database 정보는 SQL, Procedure Node 에서 사용되어집니다.
Menu 에 Solution > Adapter > Database 을 실행합니다.
- Adapter 의 Database Form
① Database Adapter 정보를 입력합니다.
Adapter 명은 Unique 해야 합니다.
Design-Time의 정보는 Design시 사용될 Adapter 정보입니다.
Run-Time의 정보는 Run시 사용될 정보입니다.
② 저장 버튼을 Click 한 후 정상적으로 저장됨을 확인합니다.
정상적으로 저장된 경우 아래 List에 저장된 내역이 나온다.
③ 빌드 버튼을 Click 한 후 정상적으로 빌드 됨을 확인합니다.
Design Server 에 지정된 Path \ Server \ Resource \ adapter \ DataBase.xml 이
존재하는지 확인합니다.
④ List 에서 Site 를 선택 한 경우 상세정보를 볼 수 있으며, 수정 삭제 할 수 있습니다.
1
4
2 3
www.agadoss.com
104/264
3.12.3. HTTP SERVER ADDRESS 설정
Server Connection 정보를 등록합니다.
Menu 에 Solution > Server Address > Http 을 실행합니다.
- Server Address 의 Http Form
① Server Address 중 Http 정보를 보여줍니다.
Address 명은 Unique 해야 한다. Proxy 정보는 사용할 경우 입력하면 됩니다.
Agados Server 를 사용하는 경우에는 SoServer 를 체크해줍니다.
② 저장 버튼을 Click 한 후 정상적으로 저장됨을 확인합니다.
정상적으로 저장된 경우 아래 List에 저장된 내역이 나옵니다.
③ 빌드 버튼을 Click 한 후 정상적으로 빌드 됨을 확인합니다.
Design Server 에 지정된 Path \ Client ( Server ) \ Resource \ so-server-address.xml 이
존재하는지 확인합니다.
④ List 에서 Site 를 선택 한 경우 상세정보를 볼 수 있으며, 수정 삭제 할 수 있습니다.
1
4
2 3
www.agadoss.com
105/264
3.12.4. CONTROL STYLE SHEET (CSS)설정
Form Control 의 Type 유형별 공통된 Property 정의, Control 에 적용할 수 있는
기능을 제공합니다.
CSS 은 먼저 CSS Group 을 등록하여야 합니다.
Menu 에 Solution > Server Address > Http 을 실행합니다.
- CSS Group Form
① Group Name 과 Note 를 입력합니다.
Group Name 은 Unique 해야 합니다.
② 저장 버튼을 Click 한 후 정상적으로 저장됨을 확인합니다.
정상적으로 저장된 경우 왼쪽 List 에 항목이 표현된다.
③ List 의 항목을 Click 하면 상세정보를 볼 수 있으며 Group 정보를 수정할 수 있습니다.
1
3
2
www.agadoss.com
106/264
- CSS Form
① CSS Group 을 선택합니다.
② 해당 버튼을 Click 하면 CSS Group Form 을 호출합니다.
CSS Group Form 은 CSS Group 을 등록 수정 할 수 있습니다.
CSS 를 등록하기 위해서는 먼저 CSS Group 을 등록해야 합니다.
③ CSS 를 등록 할 Control type 을 선택할 수 있습니다.
④ Add Button 을 Click 하면 아래 항목에 Control type 이 추가됩니다.
⑤ 해당 리스트에서 항목을 Click 하면 항목의 Control Property 가 보여집니다.
⑥ Control 의 Property 을 수정합니다.
CSS 등록 순서는 다음과 같습니다.
CSS Group 선택 (없으면 추가) Control type 추가
등록된 Control type 선택 Property 수정
1
6
2
3
4
5
www.agadoss.com
107/264
3.12.5. LOCALE RESOURCE 설정
Locale resource 등록합니다. 등록된 locale 은 실행모듈 Client 와 Server 에 적용됩니다.
Locale 은 먼저 Locale Group 을 등록하여야 합니다.
Menu 에 Solution > Locale > Resource 을 실행합니다.
- Locale menu
① Resource 메뉴는 한 화면에서 모든 Locale 에 대해 등록할 수 있는 화면을 제공합니다.
② Locale 별 메뉴는 메뉴 별 Locale 를 등록할 수 있는 화면을 제공합니다.
- Locale Group Form
1
2
3
1
2
www.agadoss.com
108/264
① Group Name 을 입력합니다. Group Name은 Unique 해야 합니다.
② 수정 모드일 경우 Change group name 을 입력합니다.
③ 저장 버튼을 Click 한 후 정상적으로 저장됨을 확인합니다.
- Resource Form
① Locale Group 을 선택합니다.
② 해당 버튼을 Click 하면 Locale Group Form 을 호출합니다.
Locale Group Form 은 Locale Group 을 등록 수정 할 수 있습니다.
Locale 를 등록하기 위해서는 먼저 Locale Group 을 등록해야 합니다.
③ List 을 Click 하면 Locale 의 상세정보를 확인할 수 있습니다.
④ Locale 명을 입력합니다. Locale 명은 Unique 해야 합니다.
⑤ Locale 이 등록될 Group 을 선택해야 합니다.
⑥ Locale Code 별 Locale 정보를 입력합니다.
⑦ 저장 버튼을 Click 한 후 정상적으로 저장됨을 확인합니다.
Locale 를 빌드 할 경우
Design Server 에 지정된 Path \ Client ( Server ) \ Resource \ (locale code).xml
로 생성됩니다.
3
7
1 2
4
6
5
www.agadoss.com
109/264
4. COLLABORATION 사용자는 Collaboration 기능과 Import, Export 를 통하여 자신의 어플리케이션을
공유할 수 있습니다. Collaboration 은 자신의 솔루션을 공유하여 함께 작업할 수 있으며
, Import 와 Export 는 자신이 구성한 앱을 공유할 수 있는 기능입니다.
COLLABORATION
Collaboration 는 다른 사용자를 내 솔루션에 참여, 함께 작업할 수 있도록 하는 기능입니다.
내가 솔루션 참여를 요청하거나 또는 타 솔루션 참여를 요청할 수 있습니다.
솔루션 참여시 권한은 Owner, Follow 로 구분되며, 참여 작업 모드는 Designer, Configurator 로
나누어 집니다. 참여 작업 모드는 Package 시 작업 시 필요한 모드입니다.
자세한 사항은 별도로 설명합니다.
4.1.1. REQUEST 요청
사용자가 공유하고 싶은 솔루션에 공유 요청 메시지를 보냅니다.
메뉴 Collaboration > My Request 를 선택합니다.
- My Request Form ( Tab : New Request )
1 2 6
4
5
3
www.agadoss.com
110/264
① Condition Type 을 입력합니다. Type 은 User id, Solution Name 을 제공합니다.
② Condition Type 에 따른 검색할 명을 입력합니다.
③ 검색 버튼을 Click 합니다.
④ List 에서 Request 할 항목을 Click 합니다.
정상적으로 Load 된 경우 상세정보를 볼 수 있습니다.
⑤ Send Type 을 선택 합니다. Send Type 은 요청 할 대상자에게 전달 방식을 정합니다.
No Message 는 Message 를 보내지 않음
, Alert Message 는 사용자에게 Alert Popup
, Email 는 사용자에게 Email 를 보냅니다.
⑥ Send 버튼을 Click 하며 대상자에게 Send 유형에 따라 메시지를 보냅니다.
- My Request Form ( Tab : My Request )
① 검색 기간을 입력합니다.
② 검색 버튼을 Click 합니다.
③ List 에서 Request 할 항목을 Click 합니다.
정상적으로 Load 된 경우 상세정보를 볼 수 있습니다.
④ Request 의 상세정보를 보여줍니다.
1
3
4 2
www.agadoss.com
111/264
4.1.2. APPROVAL
공유 요청에 대한 승인 작업을 합니다.
메뉴 Collaboration > Approval 를 선택합니다.
- Approval Form
① 검색기간을 입력합니다.
② 검색 버튼을 Click 합니다.
③ List 에서 Approval 할 항목을 Click 합니다.
정상적으로 Load 된 경우 상세정보를 볼 수 있습니다.
④ Approval Value 을 입력합니다.
Approval type 은 Approval 여부를 결정합니다.
Work Mode 는 Package 시 권한을 결정합니다.
Send Type 는 Approval Message 유형을 결정합니다.
No Message 는 Message 를 보내지 않음
, Alert Message 는 사용자에게 Alert Popup
, Email 는 사용자에게 Email 를 보냅니다.
⑤ Send 버튼을 Click 하며 대상자에게 Send 유형에 따라 메시지를 보냅니다.
5
3
4
2 1
www.agadoss.com
112/264
4.1.3. CHANGE WORK MODE
솔루션의 참여자들에 대한 작업 모드를 결정합니다.
Work mode 는 Designer, Configurator 가 있으며 모드에 따른 권한이 제한됩니다.
메뉴 Collaboration > Change work mode 를 선택합니다.
- Change work mode Form
① Work mode 를 선택합니다.
② 솔루션에 참여하고 있는 사용자를 확인합니다.
③ Mode 를 변경 할 User 를 왼쪽 리스트로 옮길 수 있습니다.
또는 오른쪽 리스트로 옮겨 변경에서 제외시킵니다.
④ 변경할 사용자 리스트를 확인합니다..
⑤ Update Data 를 Click 하여 모드를 변경합니다.
2 4
3
5
1
www.agadoss.com
113/264
4.1.4. COLLABORATION LIST
솔루션 별 참여자들을 확인할 수 있습니다.
또한 참여자에게 Message 를 보낼 수 있습니다.
메뉴 Collaboration > Collaboration list 를 선택합니다.
- Collaboration list Form
① 참여 리스트를 확인합니다.
리스트를 Click 하면 상세정보가 Load 됨을 볼 수 있습니다.
② Send Type 을 선택 합니다. Send Type 은 요청 할 대상자에게 전달 방식을 정합니다.
Alert Message 는 사용자에게 Alert Popup
, Email 는 사용자에게 Email 를 보냅니다.
③ Send 버튼을 Click 하며 대상자에게 Send 유형에 따라 메시지를 보냅니다.
2
1
3
www.agadoss.com
114/264
4.1.5. ADD USER
Agados cloud 에 있는 사용자 중 선택하여 본인의 솔루션에 참여 시킵니다.
메뉴 Collaboration > Add user 를 선택합니다.
- Add user Form
① Condition Type 을 입력합니다. Type 은 User id, Solution Name 을 제공합니다.
② Condition Type 에 따른 검색할 명을 입력합니다.
③ 검색 버튼을 Click 합니다.
④ List 에서 Add user 할 항목을 Click 합니다.
정상적으로 Load 된 경우 상세정보를 볼 수 있습니다.
⑤ Work Mode 는 Package 시 권한을 결정합니다.
Send Type 을 선택 합니다. Send Type 은 요청 할 대상자에게 전달 방식을 정합니다.
No Message 는 Message 를 보내지 않음
, Alert Message 는 사용자에게 Alert Popup
, Email 는 사용자에게 Email 를 보냅니다.
⑥ Send 버튼을 Click 하며 대상자에게 Send 유형에 따라 메시지를 보냅니다.
또한 User 를 Add 합니다.
5
3
4 2
1
www.agadoss.com
115/264
EXPORT
Export 는 솔루션을 파일 형태로 공유하는 방법입니다.
솔루션의 정보를 파일 형태로 Export 합니다.
사용자는 Export 한 파일을 공유하고, 이 파일을 Import 하면 내 솔루션에 관련 정보를
포함시킬 수 있습니다.
- Export Form
① Export 대상을 선택한다.
② Export 할 파일명을 선택한다. 파일은 Zip 형식의 파일 입니다.
③ Export 버튼을 Click 합니다.
정상적으로 되는 경우 Export zip file 에 생성됨을 확인할 수 있습니다.
1
3
2
www.agadoss.com
116/264
IMPORT
Import 는 솔루션을 파일 형태로 공유하는 방법입니다.
Export 를 통해 Zip 형태로 된 솔루션 정보를 Import 합니다.
- Import Form
① Import 대상 파일 선택합니다. 선택 파일은 zip 형태의 파일입니다.
② Search 버튼을 Click 하면 Zip 파일의 내용이 아래 트리 목록에 보여집니다.
③ 트리 목록에서 Import 할 항목을 선택합니다. Resource 는 선택이 불가하며, Object 는
선택이 가능합니다.
④ Import 옵션을 선택합니다.
⑤ Import 버튼을 click 하면 선택 한 내용이 Import 됩니다.
정상적으로 Import 된 경우 Solution Explorer 에서 확인 할 수 있습니다.
1
3
2
4
5
www.agadoss.com
117/264
Resource Option
1. 같은 Resource 가 존재하면 먼저 삭제 후 Add 합니다.
2. 같은 Resource 가 존재 할 경우 관련 내용은 Skip 합니다.
Object Option
1. 같은 Object 가 존재하면 먼저 삭제 후 Add 합니다.
2. 같은 Object 가 존재 할 경우 관련 내용은 Skip 합니다.
3. Object 가 Protect 상태이면 관련 내용은 Skip 합니다.
Object 를 사용자가 사용하고 있으면 해당 Object 는 Protect 상태가 됩니다.
www.agadoss.com
118/264
5. LOG TRACE Agados 는 애플리케이션이 실행된 내역을 log view 를 통해 보여줍니다.
사용자는 Log 를 통해 Application 의 Debug 할 수 있습니다.
또한 Agados 는 log 들에 대한 추적, 분석 , 모니터 기능을 제공하고 있습니다.
BASE VIEW
Test 환경에서 수행된 Node 의 흐름과 Value 를 조회 분석할 수 있다.
Menu 에서 Visibility > Trace > AccesNo 를 선택한다.
- Access Log View Form
1 2
3
www.agadoss.com
119/264
① 검색 조건을 입력한다.
② 조회 버튼을 Click 한다. 조건에 맞는 List 가 나오는 것을 확인하다.
③ Grid 에서 해당 Row 를 Double Click 하거나 오른 쪽 마우스 Click 후 Popup 에서 원하는 형식을
선택한다.
- Node View Form ( Standard )
① Grid 에서 해당 Row 를 Double Click 하거나 오른 쪽 마우스 Click 후 Popup 에서 원하는 형식을
선택한다.
1
www.agadoss.com
120/264
- Value View Form ( Standard )
① Statement 버튼을 Click 하면 실행된 문장 ( SQL , SCRIPT ) 등을 볼 수 있다.
- Statement View Form ( Standard )
1
www.agadoss.com
121/264
제공되어지는 LOG VIEW
5.2.1. ACCESS LOG VIEW
로그 정보를 검색조건으로 조회할 수 있다.
① Client log
② Server log
www.agadoss.com
122/264
5.2.2. NODE LOG VIEW
실행된 Node 의 흐름을 보여준다.
① Standard view
② Object view
www.agadoss.com
123/264
③ Thread view
④ Node Diagram
www.agadoss.com
124/264
⑤ Run Pattern
Object 별 노드 실행 패턴을 실행 횟수로 Sort 하여 보여준다.
⑥ Trace Value
멤버가 노드 실행시점에 변경되는 과정을 보여준다.
www.agadoss.com
125/264
⑦ Value View – Standard
노드 실행시점에 노드가 참조, 변경한 멤버와 Value 를 보여준다.
⑧ Value View – Any mode
Memberset 별로 노드 실행시점에 노드가 참조, 변경한 멤버와 Value 를 보여준다.
www.agadoss.com
126/264
⑨ Statement View
Query, Script 노드 등에서 실행된 문장을 보여준다.
⑩ Exception view
노드 실행 중 Exception 발생 시 Exception 내용을 보여준다.
www.agadoss.com
127/264
5.2.3. STATEMENT LOG VIEW
Query, Script, Procedure, Hibernate Query 등 문장을 사용하는 노드를 조회한다.
5.2.4. OBJECT LOG VIEW
Object 별 Log 데이터를 조회한다.
www.agadoss.com
128/264
5.2.5. THROW LOG VIEW
Throw 별 Log 데이터를 조회한다.
Agados 에서 어플리케이션의 Debug 는 log view 를 통해서 합니다.
Agados 는 Debug 작업을 위해 다양한 View 를 제공하고 있습니다.
www.agadoss.com
129/264
6. AGADOS 따라하기 이 장에서는 패턴에 따른 Agados 구현 방법을 소개합니다.
TEST 용 USER TABLE 생성
6.1.1. EMPINFO TABLE 생성
CREATE TABLE EMPINFO
(
job_id varchar(255) NOT NULL,
employee_id varchar(255) NOT NULL,
first_name varchar(255),
department_id varchar(255) ,
CONSTRAINT PK_EMPINFO PRIMARY KEY ( job_id , employee_id )
)
6.1.2. DEPINFO TABLE 생성
CREATE TABLE DEPINFO
(
department_id varchar(255) NOT NULL,
department_name varchar(255) ,
CONSTRAINT PK_DEPINFO PRIMARY KEY ( department_id )
)
www.agadoss.com
130/264
WORK OBJECT 생성
Insert, Delete, Update, Select 작업을 수행할 Object 를 미리 생성한다.
6.2.1. CREATE OBJECT
아래 표의 Object 들을 생성한다.
Object Type Object Name Full Path 설 명
Member
EmpMem EduPro.Member Empinfo Table 과 매핑되는 MemberSet( Single )
EmpListMem EduPro.Member Empinfo Table 과 매핑되는 MemberSet( List )
DepMem EduPro.Member Depinfo Table 과 매핑되는 MemberSet
DataTable
EmpTa EduPro.DataTable EmpMem 과 매핑되는 DataTable( Single )
EmpListTa EduPro.DataTable EmpMem 과 매핑되는 DataTable( List )
DepTa EduPro.DataTable DepMem 과 매핑되는 DataTable
Form MainForm EduPro.Form Main Form
EditForm EduPro.Form 작업을 수행할 Form
FormObject EditEvt EduPro.Event Form 의 Event 로직을 처리할 Object
Object EditService EduPro.Service Server 의 로직을 처리할 Object
EditDao EduPro.Dao Data Access 를 처리할 Object
① 해당 Package 를 EduPro ( Project ) 아래에 먼저 생성한다.
② Object 유형에 따라 Object 를 생성한다.
정상적으로 수행 된 경우 Solution Explorer 에서 확인 할 수 있다.
www.agadoss.com
131/264
6.2.2. EMPMEM 와 EMPLISTMEM의 MEMEBR 등록
Empinfo Table 를 기준으로 EmpMem 의 Member 를 등록한다.
Member 설 명
job_id Test user 를 구분하기 위한 id
employee_id Employee id
first_name Employee name
department_id 부서 id
department_name 부서 명
6.2.3. DEPMEM 의 MEMEBR 등록
Depinfo Table 를 기준으로 DepMem 의 Member 를 등록한다.
EmpMem 의 방법을 따른다.
Member 설 명
department_id 부서 id
department_name 부서 명
6.2.4. EMPTA 와 EMPLISTTA 의 COLUMN 등록
EmpMem Memberset 을 기준으로 EmpTa 의 Data Column 을 등록한다.
Column 설 명
job_id Test user 를 구분하기 위한 id
employee_id Employee id
first_name Employee name
department_id 부서 id
department_name 부서 명
www.agadoss.com
132/264
6.2.5. DEPTA 의 COLUMN 등록
DepMem Memberset 을 기준으로 DepTa 의 Column 을 등록한다.
EmpTa 의 방법을 따른다.
Member 설 명
department_id 부서 id
department_name 부서 명
6.2.6. USED MEMBERSET ( OBJECT 과 FORMOBJECT )
Object 나 FormObject 에서 Memberset 을 등록하여 사용한다.
1
2
5
6
7
www.agadoss.com
133/264
① Object Design Form 에서 Member Set Tab 을 선택한다.
② 화살표 버튼을 Click 한다. Object Search Form 이 보여지는 것을 확인한다.
③ List 에서 사용할 Memberset 을 선택한다. 사용할 Memberset 를 선택한다.
④ 적용 버튼을 Click 한 후 아래 Form 에 선택 한 내역이 적용됨을 확인한다.
⑤ Value Column 에서 Tab 버튼을 Click 하거나 List 를 Click 하면 마지막 Row 에 Add 됨을
확인 할 수 있다.
⑥ 저장 버튼을 Click 한 후 정상적으로 저장되는 것을 확인한다.
⑦ 리스트에서 직접 Memberset 이나 Member 를 변경한 후 저장 버튼을 Click 하면 변경 내용이
적용된다.
6.2.7. USED DATATABLE ( FORM )
Form 에서 DataTable 를 등록하여 사용한다.
3
4
2
1
3
www.agadoss.com
134/264
① Form Design 에서 Control Resource Tab 을 선택한다.
② Drop Box 에서 Add 할 Control Type을 선택한다.
③ Add 버튼을 Click 한 경우 Control 이 아래 List에 Add 됨을 확인한다.
MAIN FORM
① Main Menu ( BarManager )
② Tools ( BarManager )
③ TabbedMdiManager
④ Status Bar ( BarManager )
1
2
3
4
www.agadoss.com
135/264
6.3.1. BARMANAGER
Form Design 의 Control Resource Tab 에서 BarManager 를 Add 한다.
PROPERTY
① BarManager 의 Bars Property 를 선택한다.
Bar Collection 에서 Main Menu 를 선택한다.
② Main Menu 에서 Item Property 를 선택한다.
Item Collection 에서 Menu 구조를 정의한다.
www.agadoss.com
136/264
③ Main Menu >> BarSubItem ( File ) >> BarButtonItem ( Edit ) 구조로 정의한다.
각 Item 의 Caption 을 정의한다.
EVENT
① BarButtonItem ( Edit ) 를 선택한다.
Event 항목에서 ItemClick Property 를 선택한다.
Event Form 에서 Condition Group 과 Run Type 을 지정한다.
② Condition Group 을 등록한다.
③ Group 저장 후 Drop box 에서 Run Type 중 Run form 을 선택한다
.
④ Run form 을 지정한다. Form 은 EduPro.Form.EditForm 선택한다.
⑤ Show Type 은 MDI Child 를 선택한다. MDI Child 는 TabbedMdiManager 내에 Form이 보여진
다.
⑥ 저장 버튼을 Click 한 후 정상적으로 저장되는 것을 확인한다.
2 3
4 6
5
www.agadoss.com
137/264
6.3.2. TABBEDMDIMANAGER
Form Design 의 Control Resource Tab 에서 TabbedMdiManager 를 Add 한다.
EDIT FORM
- Control Resource Tab
① Label
② TextEdit
③ LookUpEdit
④ Button
1 3 4
5
2
7
6
8
2
www.agadoss.com
138/264
⑤ Grid
⑥ GridView ( Grid )
⑦ DataTable
⑧ ValueObject
6.4.1. FORM
PROPERTY
① Text Property 를 선택한다.
Property Value
Text Edit
EVENT
① Form 을 선택한다.
Event 항목에서 Shown Property 를 선택한다.
Event Form 에서 Condition Group 과 Run Type 을 지정한다.
② Condition Group 을 등록한다.
③ Group 저장 후 Drop box 에서 Run Type 중 Run form object 를 선택한다
2 3
www.agadoss.com
139/264
.
④ Run form Object 를 지정한다. Form Object 은 EduPro.Event.EditEvt 를 선택한다.
⑤ In Parameter 는 Member ( Store Type ) 중 Event Code 를 선택한다.
Value 는 Shown 을 입력한다.
⑥ 저장 버튼을 Click 한 후 정상적으로 저장되는 것을 확인한다.
6.4.2. DATATABLE
Form Design 의 Control Resource Tab 에서 DataTable 를 Add 한다.
DataTable 은 3 개를 Add 한다.
PROPERTY
① Name, TableName, SingleRow Property 를 선택한다.
4 7
5 6
www.agadoss.com
140/264
Name TableName SingleRow
DataTable 1 EmpList EduPro.DataTable.EmpListTa
DataTable 2 EmpSingle EduPro.DataTable.EmpTa True
DataTable 3 DepCombo EduPro.DataTable.DepTa
6.4.3. VALUEOBJECT
Form Design 의 Control Resource Tab 에서 ValueObject 를 Add 한다.
ValueObject 은 1 개를 Add 한다.
PROPERTY
① Name Property 를 선택한다.
Property Value
Name ModeValue
6.4.4. LABEL
Tool Box 의 Editor & Button >> Label 를 Add 한다.
Label 은 2 개를 Add 한다.
PROPERTY
① Text Property 를 선택한다.
www.agadoss.com
141/264
Text
Label 1 이름
Label 2 부서
6.4.5. TEXTEDIT
Tool Box 의 Editor & Button >> TextEdit 를 Add 한다.
TextEdit 은 1 개를 Add 한다.
PROPERTY
① DataBindings >> Text, EditValue Property 를 선택한다.
Property Value
DataBindings.Editvalue EduPro.Form.EditForm.EmpSingle.employee_id
DataBindings.Text EduPro.Form.EditForm.EmpSingle.first_name
www.agadoss.com
142/264
6.4.6. LOOKUPEDIT
Tool Box 의 Box >> LookUpEdit 를 Add 한다.
LookUpEdit 은 1 개를 Add 한다.
PROPERTY
① NullText , DataBindings >> EditValue , DataSource , DisplayMember , ValueMember
Property 를 선택한다.
Property Value
NullText 1 space
DataBindings.EditValue EduPro.Form.EditForm.EmpSingle.department_id
DataBindings.DataSource EduPro.Form.EditForm.DepCombo
DataBindings.DisplayMember EduPro.Form.EditForm.DepCombo.department_name
DataBindings.ValueMember EduPro.Form.EditForm.DepCombo.department_id
② LookUpEdit 에서 Columns Property 를 선택한다.
www.agadoss.com
143/264
③ Drop Box 에서 LookUpColumn 을 선택한다.
④ Add 버튼을 Click 한 후 정상적으로 저장됨을 확인한다.
정상적으로 저장된 경우 List에 보여진다.
2 개의 Column 을 생성한다.
⑤ List 에서 Add 된 LookUpColumn 을 선택한다.
⑥ Column 별 FieldName, Name, Caption Property 에 값을 입력한다.
Property Value
LookUpColumn 1 Name department_id
Caption 부서 코드
FieldName EduPro.Form.EditForm.DepCombo.department_id
LookUpColumn 2 Name department_name
Caption 부서명
FieldName EduPro.Form.EditForm.DepCombo.department_name
3 4
7
5
6
www.agadoss.com
144/264
⑦ Add Datacolumn 을 이용하여 DataTable 의 Column 을 사용하여 Column을 생성할 수 있다.
자세힌 사항은 Grid 에서의 Add Datacolumn 을 참고한다.
6.4.7. BUTTON
Tool Box 의 Editor & Button >> Button 을 Add 한다.
Button 은 3 개를 Add 한다.
PROPERTY
① Name, Text Property 를 선택한다.
Name Text
Button 1 Search Search
Button 2 Write Write
Button 3 Delete Delete
EVENT
① Button 을 선택한다.
Event 항목에서 Click Property 를 선택한다.
Event Form 에서 Condition Group 과 Run Type 을 지정한다.
② Condition Group 을 등록한다.
③ Group 저장 후 Drop box 에서 Run Type 중 Run form object 를 선택한다
2 3
www.agadoss.com
145/264
.
④ Run form Object 를 지정한다. Form Object 은 EduPro.Event.EditEvt 를 선택한다.
⑤ In Parameter 는 Member ( Store Type ) 중 Event Code 를 선택한다.
⑥ Parameter 는 다음과 같이 입력한다.
Name Parameter
Button 1 Search Search
Button 2 Write Write
Button 3 Delete Delete
⑦ 저장 버튼을 Click 한 후 정상적으로 저장되는 것을 확인한다.
6.4.8. GRID
Tool Box 의 Grid >> Grid 를 Add 한다.
Grid 은 1 개를 Add 한다.
PROPERTY
① Grid 에서 DataBindings.DataSource Property 를 선택한다.
Property Value
DataBindings.DataSource EduPro.Form.EditForm.EmpList
4 7
5 6
www.agadoss.com
146/264
② Grid 에서 Views Property 를 선택한다.
③ Drop Box 에서 GridView 를 선택 한다.
④ Add 버튼을 Click 한 후 정상적으로 저장됨을 확인한다.
정상적으로 저장된 경우 List에 보여진다.
⑤ List 에서 Add 된 GridView 를 선택한다.
⑥ GridView 에서 OptionsBehavior.Editable Property 를 선택한다.
Property Value
OptionsBehavior.Editable False
OptionsSelection.MultiSelectMode true
3 4
5 6
2
www.agadoss.com
147/264
⑦ GridView 의 Property 에서 Columns 를 선택한다.
⑧ Drop Box 에서 GridColumn 을 선택한다.
⑨ Add 버튼을 Click 한 후 정상적으로 저장됨을 확인한다.
정상적으로 저장된 경우 List에 보여진다.
4 개의 Column 을 생성한다.
⑩ Add Datacolumn 을 이용하여 DataTable 의 Column 을 사용하여 Column을 생성할 수 있다.
7 8
12
9
13
www.agadoss.com
148/264
⑪ List 에서 Column으로 생성할 DataTable Column 을 선택한다.
⑫ Add 버튼을 Click 한 후 정상적으로 저장됨을 확인한다.
정상적으로 저장된 경우 Column 이 생성된 것을 볼 수 있다.
⑬ List 에서 Add 된 GridColumn 을 선택한다.
⑭ Column 별 FieldName, Name, Caption Property 에 값을 입력한다.
Property Value
Column 1 Name employee_id
Caption 사번
FieldName EduPro.Form.EditForm.EmpList.employee_id
OptionsColumns.AllowEdit False
Column 2 Name first_name
Caption 이름
FieldName EduPro.Form.EditForm.EmpList.first_name
OptionsColumns.AllowEdit False
Column 3 Name department_name
Caption 부서명
10
11
www.agadoss.com
149/264
FieldName EduPro.Form.EditForm.EmpList.department_name
OptionsColumns.AllowEdit False
Column 4 Name department_id
Caption department_id
FieldName EduPro.Form.EditForm.EmpList.department_id
Visible False
EVENT
① Grid >> GridView 을 선택한다.
Event 항목에서 Click Property 를 선택한다.
Event Form 에서 Condition Group 과 Run Type 을 지정한다.
② Condition Group 을 등록한다.
③ Group 저장 후 Drop box 에서 Run Type 중 Run form object 를 선택한다
.
④ Run form Object 를 지정한다. Form Object 은 EduPro.Event.EditEvt 를 선택한다.
⑤ In Parameter 는 Member ( Store Type ) 중 Event Code 를 선택한다.
⑥ Parameter 는 다음과 같이 입력한다.
4 7
5 6
www.agadoss.com
150/264
Name Parameter
GridView1 GridView1 Select
⑦ 저장 버튼을 Click 한 후 정상적으로 저장되는 것을 확인한다.
결과 보기
① 메뉴 Build >> Build 를 실행한다.
② 메뉴 Test >> Run 을 실행한다.
www.agadoss.com
151/264
③ 실행된 화면에서 메뉴 File >> Edit 를 실행한다.
www.agadoss.com
152/264
SELECT 패턴 – DEPARTMENT CODE LOAD
6.6.1. EDUPRO.EVENT.EDITEVT ( FORM OBJECT ) 구현
EditEvt Object 을 Open 한다.
NODE 설계
표에 있는 Node 를 Canvas 에 Add 한다.
Node Type Node SubType Name 설명
Event Start Start Flow 의 Start
End End Flow 의 End
Task Jump Object Code Load Server 의 Object 를 실행한다.
EduPro.Service.EditService
① 10.1 의 Node Add 방식을 사용하여 위의 표에 언급된 Node 를 Add 한다.
② 10.5.1.2 의 방식을 사용하여 Node 를 연결한다.
③ Start Node 의 Flow Condition 을 정의한다. 10.5.2 를 참조한다.
Condition Comparison Value
EditEvt.EVENT_CODE = Shown
④ Node 의 Flow Condition 을 지정한다. 10.5.2 를 참조한다.
From Node To Node Flow Condition Value
Start Code Load EditEvt.EVENT_CODE = Shown
Code Load End EditEvt.NO_COND_PASS = ON
www.agadoss.com
153/264
CODE LOAD NODE
① Code Load Node 의 Rule Property 를 실행한다.
② Jump Object 를 선택한다. Jump Object 는 Server Side에서 실행될 Object 이다.
여기서는 EduPro.Service.EditService 를 선택한다.
③ Connection Address 를 선택한다. Server Address >> Http 에 등록된 내역이 검색된다.
④ Request Code 는 Object ( Server ) 의 JUMP_CODE 로 전달된다.
여기서는 EVENT_CODE ( FORM 의 Event 에서 정의한 ) 를 그대로 전달한다.
⑤ 저장 버튼을 Click 한 후 정상적으로 저장됨을 확인한다.
⑥ Request / Response Value 버튼을 Click 한 후 보여진 Popup 에서 Receive 를 선택한다.
Send 는 Object ( Server ) 에 보낼 Data 에 대한 정의
Receive 는 Object ( Server ) 에서 보내진 Data 에 처리 형식을 정의한다.
Send 인 경우 DataTable, Control ( FormObject ) 의 Data 를 MemberSet ( Object ) 의
Data 로 변환 한다.
Receive 인 경우는 Send 와 반대로 MemberSet 을 DataTable 의 Data로 변환 한다.
2
3
4
5 6
www.agadoss.com
154/264
Type Target DataTable
Receive EduPro.Form.EditForm.DepCombo
⑦ Data 를 받을 DataTable 를 선택한다.
여기서는 EduPro.Form.EditForm.DepCombo 를 선택한다.
⑧ Add 버튼을 Click 후 정상적으로 저장됨을 확인한다. 정상적으로 저장된 경우 아래 List 에 보여진다.
⑨ List 에서 등록된 내역을 선택한 후 상세 내역을 확인한다.
⑩ Receive Type 에서 Clear Rows, Append Rows 를 선택한다.
⑪ 저장 버튼을 Click 한 후 정상적으로 저장됨을 확인한다.
6.6.2. EDUPRO.DAO.EDITDAO (OBJECT) 구현
EditDao Object 을 Open 한다.
USED MEMBERSET 등록
① 8.6의 방식을 사용하여 Memberset 을 등록한다.
Member Type Used Member or MemberSet
MemberSet EduPro.Member.DepMem
10 11 7
8
9
www.agadoss.com
155/264
NODE 설계
표에 있는 Node 를 Canvas 에 Add 한다.
Node Type Node SubType Name 설명
Event Start Start Flow 의 Start
End End Flow 의 End
Task Query DepartSql DEPINFO 를 select 하는 Query 를 등록한다.
① 10.1 의 Node Add 방식을 사용하여 위의 표에 언급된 Node 를 Add 한다.
② 10.5.1.2 의 방식을 사용하여 Node 를 연결한다.
③ Start Node 의 Flow Condition 을 정의한다. 10.5.2 를 참조한다.
Condition Comparsion Value
EditService.JUMP_CODE = Shown
④ Node 의 Flow Condition 을 지정한다. 10.5.2 를 참조한다.
From Node To Node Flow Condition Value
Start DepartSql EditService.JUMP_CODE = Shown
DepartSql End EditEvt.NO_COND_PASS = ON
www.agadoss.com
156/264
START NODE 설계
① Start Node 의 Rule Property 를 실행한다.
② Rule Property 창에서 Adpater Tab 을 선택한다.
③ Adapter Type 에서 DataBase 를 선택한다.
④ Adapter Name 을 입력한다. Adapter Name 은 Node 내에서 Unique 해야 한다.
⑤ List Add 버튼을 Click 한 후 정상적으로 적용됨을 확인한다.
정상적으로 적용된 경우 List에 볼 수 있다. ( DB 미적용 )
⑥ List 를 Click 하면 Adapter 의 상세정보를 확인 할 수 있다. 상세정보가 로드 된 후
Adapter 의 수정, 삭제가 가능하다.
⑦ 저장 버튼을 Click 한 후 정상적으로 저장되는 것을 확인한다. 저장 버튼을 실행해야만
DB에 적용된다. ( DB 적용 )
여기서 정의한 Adapter 는 이 Object 를 참조하는 Object 들이 자기의 Adapter 를 전달할 경우
사용되는 Adapter Parameter 이다.
2
3 4
5
6
7
www.agadoss.com
157/264
DEPARTSQL NODE 설계
① DepartSql Node 의 Rule Property 를 실행한다.
② Rule Property 창에서 Rule View Tab 을 선택한다.
③ Db Connection 는 Start Node 에서 정의한 Adapter 를 선택한다.
④ 저장 버튼을 Click 한 후 정상적으로 저장되는 것을 확인한다. 저장 버튼을 실행해야만
DB에 적용된다. ( DB 적용 )
⑤ Query 버튼을 Click 한 후 작성 할 SQL type ( MS SQL ) 을 선택한다.
SQL 편집 Form 이 보이는 것을 확인한다.
2
3 4
5
www.agadoss.com
158/264
SQL 문 작성
① SQL 편집 Form 에서 Query Tab 을 선택한다.
② Query Tab 내의 Query Tab 을 선택한다.
③ DEPINFO Table 의 Data 를 Select 하는 Query를 입력한다.
SELECT department_id
, department_name
FROM DEPINFO
④ Parsing 버튼을 Click 한다. Parsing 작업은 SQL 문장에서 Replace, Result 부분을 추출한다.
Replace 문은 {replace01} 으로 표현된다. Result 는 Select – From 사이의 문을 Parsing 한다.
⑤ 저장 버튼을 Click 한 후 정상적으로 저장되는 것을 확인한다. 저장 버튼을 실행해야만
DB에 적용된다. ( DB 적용 )
⑥ Statement Sample 버튼을 Click 하면 DB Table 기준으로 SQL 문장의 유형별 Sample 를
제공하는 화면을 볼 수 있다.
2
4 5
3
3
6 1
www.agadoss.com
159/264
Statement Sample Form
① 사용할 DB Adapter 를 선택한다.
② Search 버튼을 Click 한 후 정상적으로 DB Table 이 아래 List에 나오는 지 확인한다.
③ DB Table List 에서 오른쪽 마우스를 Click 하여 Popup 을 호출한다.
④ 원하는 문장 유형을 선택한다. 문장이 오른쪽 Edit 에 나타나는 것을 확인한다.
⑤ Apply 버튼을 Click 한다. QUERY 편집 창에 선택된 문장이 Append 되는 것을 확인한다.
1 2
3
5
5
4
www.agadoss.com
160/264
Preview Tab (Query Edit Form)
SQL 문장을 Test 할 수 있으며, 정의된 SQL 문장 , Replace , Result 를 기존에
변경 적용할 수 있다.
① Query Edit Form 에서 Preview Tab 을 선택한다.
② 사용할 DB Adapter 를 선택한다
③ Query 문장을 입력한다 (기존에 입력된 내역이 있으면 자동으로 가져온다.)
④ Replace Field 의 값을 입력한다.
⑤ View 버튼을 Click 한 후 결과 내역을 확인한다. 결과내역은 Result 와 Error로 구분돼 있다.
⑥ 위 실행 결과를 기존에 등록된 내역에 적용을 원하면 적용 버튼을 Click 한다.
5 6 1
2
3
4
www.agadoss.com
161/264
Param value 설정 ( result set )
SQL 의 결과 값과 Member Set 을 매핑 한다. Member Set 에 값을 전달해야만 Object 내에서
값을 활용할 수 있다.
① SQL 편집 Form 에서 Query Tab 을 선택한다.
② Query Tab 내의 PARAM Value Tab 을 선택한다.
③ Result Field 를 선택한다. (RS_SET) 은 Result Field Set 을 의미한다. (RS_SET) 을 선택 시
MemberSet 과 Set 단위의 Mapping 이 되며, Mapping 정보는 Member의 Relation Field
정보를 참조한다.
④ Member 를 선택한다. Result Field 가 (RS_SET) 이면 Member 는 MemberSet 을 선택하여야 한다.
⑤ List Add 버튼을 Click 한 후 정상적으로 적용됨을 확인한다.
정상적으로 적용된 경우 List에 볼 수 있다. ( DB 미적용 )
7 1
2
3
5
6
4
www.agadoss.com
162/264
⑥ List 를 Click 하면 Result Set 의 상세정보를 확인 할 수 있다. 상세정보가 로드 된 후
Result Set 의 수정, 삭제가 가능하다.
⑦ 저장 버튼을 Click 한 후 정상적으로 저장되는 것을 확인한다. 저장 버튼을 실행해야만
DB에 적용된다. ( DB 적용 )
Result Field Member
(RS_SET) (MS)DepMem
END NODE 설계
End Node 는 Object 의 Return value 를 정의한다.
① End Node 의 Rule Property 를 실행한다.
② Use Mset Tab 을 선택한다.
③ Return Value 로 사용 할 MemberSet 을 Check 한다.
④ 저장 버튼을 Click 한 후 정상적으로 저장되는 것을 확인한다. 저장 버튼을 실행해야만
DB에 적용된다. ( DB 적용 )
Checked MemberSet
EduPro.Member.DepMem
2
3
4
www.agadoss.com
163/264
6.6.3. EDUPRO.SERVICE.EDITSERVICE (OBJECT) 구현
EditService Object 을 Open 한다.
USED MEMBERSET 등록
① 8.6의 방식을 사용하여 Memberset 을 등록한다.
Member Type Used Member or MemberSet
MemberSet EduPro.Member.DepMem
NODE 설계
표에 있는 Node 를 Canvas 에 Add 한다.
Node Type Node SubType Name 설명
Event Start Start Flow 의 Start
End End Flow 의 End
Task Create Adapter NoTran Conn DB Connection 을 생성한다. ( No Tran )
Run Object DaoCall EduPro.Dao.EditDao 를 호출한다.
Close Adapter CloseConn DB Connection 을 Close 한다.
① 10.1 의 Node Add 방식을 사용하여 위의 표에 언급된 Node 를 Add 한다.
② 10.5.1.2 의 방식을 사용하여 Node 를 연결한다.
www.agadoss.com
164/264
③ Start Node 의 Flow Condition 을 정의한다. 10.5.2 를 참조한다.
Condition Comparison Value
EditService.JUMP_CODE = Shown
④ Node 의 Flow Condition 을 지정한다. 10.5.2 를 참조한다.
From Node To Node Flow Condition Value
Start NoTran Conn EditService.JUMP_CODE = Shown
NoTran Conn DaoCall EditEvt.NO_COND_PASS = ON
DaoCall CloseConn EditEvt.NO_COND_PASS = ON
CloseConn End EditEvt.NO_COND_PASS = ON
NOTRAN CONN NODE 설계
① NoTran Conn Node 의 Rule Property 를 실행한다.
3
2
4 5
6
7
8
www.agadoss.com
165/264
② Rule Property 창에서 Adapter Tab 을 선택한다.
③ Adapter Name 을 입력한다. Adapter Name 은 Node 내에서 Unique 해야 한다.
④ Adapter Type 에서 Database 를 선택한다.
⑤ Database 에서 사용할 Database 를 선택한다.
Database 는 Solution 의 Adapter >> Database 에서 확인할 수 있다.
⑥ List Add 버튼을 Click 한 후 정상적으로 적용됨을 확인한다.
정상적으로 적용된 경우 List에 볼 수 있다. ( DB 미적용 )
⑦ List 를 Click 하면 Adapter 의 상세정보를 확인 할 수 있다. 상세정보가 로드 된 후
Adapter 의 수정, 삭제가 가능하다.
⑧ 저장 버튼을 Click 한 후 정상적으로 저장되는 것을 확인한다. 저장 버튼을 실행해야만
DB에 적용된다. ( DB 적용 )
DAOCALL NODE 설계
① DaoCall Node 의 Rule Property 를 실행한다.
Run Object 정의
① Run Object Tab 을 선택한다.
② Run Object 를 선택한다. Run Object 는 EduPro.Dao.EditDao 를 선택한다.
2
www.agadoss.com
166/264
Input Parameter 정의
① Input Parameter Tab 을 선택한다.
② Run Object 의 In-Parameter 를 선택한다. 만약 검색되지 않는다면
Object (EduPro.Dao.EditDao)의 MemberSet 을 확인한다.
③ In-Parameter 에 매핑 할 Member 를 선택 한다.
Run Object Parameter Parameter
EditDao.JUMP_CODE EditService.JUMP_CODE
④ List Add 버튼을 Click 한 후 정상적으로 적용됨을 확인한다.
정상적으로 적용된 경우 List에 볼 수 있다. ( DB 미적용 )
⑤ List 를 Click 하면 IN-Parameter 의 상세정보를 확인 할 수 있다. 상세정보가 로드 된 후
IN-Parameter 의 수정, 삭제가 가능하다.
2 3
1
4
5
www.agadoss.com
167/264
Adapter 정의
① Adapter Tab 을 선택한다.
② Run Object 의 Adapter 를 선택한다. Run Object 의 Start Node의 Adapter 에
등록 정보를 검색한다.
③ Object 내의 Adapter 를 선택한다. Create Adapter 와 Start node 의 Adapter 의
등록정보를 검색한다.
④ List Add 버튼을 Click 한 후 정상적으로 적용됨을 확인한다.
정상적으로 적용된 경우 List에 볼 수 있다. ( DB 미적용 )
⑤ List 를 Click 하면 Adapter 의 상세정보를 확인 할 수 있다. 상세정보가 로드 된 후
Adapter 의 수정, 삭제가 가능하다.
⑥ 저장 버튼을 Click 한 후 정상적으로 저장되는 것을 확인한다. 저장 버튼을 실행해야만
DB에 적용된다. ( DB 적용 )
Rule Property 내 Tab 의 모든 정보가 저장된다.
2 3
1
4
5
6
www.agadoss.com
168/264
CLOSECONN NODE 설계
① CloseConn Node 의 Rule Property 를 실행한다.
② Adapter Tab 을 선택한다.
③ Close 할 Adapter 를 List 에서 Click 선택한다. Adapter 의 상세정보 로드 된 후
Adapter 정보를 수정한다.
④ Adapter 의 Close 정보를 등록한다, Close 여부, Commit 정보들을 선택한다.
⑤ List Add 버튼을 Click 한 후 정상적으로 적용됨을 확인한다.
정상적으로 적용된 경우 List에 볼 수 있다. ( DB 미적용 )
⑥ 저장 버튼을 Click 한 후 정상적으로 저장되는 것을 확인한다. 저장 버튼을 실행해야만
DB에 적용된다. ( DB 적용 )
2
3
5
6
4
www.agadoss.com
169/264
END NODE 설계
End Node 는 Object 의 Return value 를 정의한다.
① End Node 의 Rule Property 를 실행한다.
② Use Mset Tab 을 선택한다.
③ Return Value 로 사용 할 MemberSet 을 Check 한다.
④ 저장 버튼을 Click 한 후 정상적으로 저장되는 것을 확인한다. 저장 버튼을 실행해야만
DB에 적용된다. ( DB 적용 )
Checked MemberSet
EduPro.Member.DepMem
2
3
4
www.agadoss.com
170/264
6.6.4. 결과 보기
www.agadoss.com
171/264
SELECT 패턴
6.7.1. EDUPRO.EVENT.EDITEVT (FORMOBJECT) 구현
EditEvt Object 을 Open 한다.
NODE 설계
표에 있는 Node 를 Canvas 에 Add 한다.
Node Type Node SubType Name 설명
Task Jump Object List Jump Server 의 Object 를 실행한다.
EduPro.Service.EditService
① 10.1 의 Node Add 방식을 사용하여 위의 표에 언급된 Node 를 Add 한다.
② 10.5.1.2 의 방식을 사용하여 Node 를 연결한다.
③ Start Node 의 Flow Condition 을 정의한다. 10.5.2 를 참조한다.
Condition Comparison Value
EditService.EVENT_CODE = Search
④ Node 의 Flow Condition 을 지정한다. 10.5.2 를 참조한다.
From Node To Node Flow Condition Value
Start List Jump EditService.EVENT_CODE = Search
List Jump End EditEvt.NO_COND_PASS = ON
www.agadoss.com
172/264
LIST JUMP NODE
① List Jump Node 의 Rule Property 를 실행한다.
② Jump Object 를 선택한다. Jump Object 는 Server side에서 실행될 Object 이다.
여기서는 EduPro.Service.EditService 를 선택한다.
③ Connection Address 를 선택한다. Server Address >> Http 에 등록된 내역이 검색된다.
④ Request Code 는 Object ( Server ) 의 JUMP_CODE 로 전달된다.
여기서는 EVENT_CODE ( FORM 의 Event 에서 정의한 ) 를 그대로 전달한다.
⑤ 저장 버튼을 Click 한 후 정상적으로 저장됨을 확인한다.
⑥ Request / Response Value 버튼을 Click 한 후 보여진 Popup 에서 Send 와 Receive 를 선택한다.
Type Target DataTable
Send EduPro.Form.EditForm.EmpSingle
Receive EduPro.Form.EditForm.EmpList
2
3
4
5 6
www.agadoss.com
173/264
Send 정의
① Data 를 보낼 DataTable 를 선택한다.
여기서는 EduPro.Form.EditForm.EmpSingle 를 선택한다.
② Add 버튼을 Click 후 정상적으로 저장됨을 확인한다. 정상적으로 저장된 경우 아래 List 에 보여진다.
③ List 에서 등록된 내역을 선택한 후 상세 내역을 확인한다.
④ Row View State 에서 CurrentPosition 을 선택한다.
⑤ 저장 버튼을 Click 한 후 정상적으로 저장됨을 확인한다.
Receive 정의
① Data 를 받을 DataTable 를 선택한다.
여기서는 EduPro.Form.EditForm.EmpList 를 선택한다.
1
2
3
1
2
3
4
5
4 5
www.agadoss.com
174/264
② Add 버튼을 Click 후 정상적으로 저장됨을 확인한다. 정상적으로 저장된 경우 아래 List 에 보여진다.
③ List 에서 등록된 내역을 선택한 후 상세 내역을 확인한다.
④ Receive Type 에서 Clear Rows, Append Rows 를 선택한다.
⑤ 저장 버튼을 Click 한 후 정상적으로 저장됨을 확인한다.
6.7.2. EDUPRO.DAO.EDITDAO (OBJECT) 구현
EditDao Object 을 Open 한다.
USED MEMBERSET 등록
① 8.6의 방식을 사용하여 Memberset 을 등록한다.
Member Type Used Member or MemberSet
MemberSet EduPro.Member.EmpMem
MemberSet EduPro.Member.EmpListMem
NODE 설계
표에 있는 Node 를 Canvas 에 Add 한다.
Node Type Node SubType Name 설명
Event Start Start Flow 의 Start
End End Flow 의 End
Task Query ListSql EMPINFO 를 select 하는 Query 를 등록한다.
① 10.1 의 Node Add 방식을 사용하여 위의 표에 언급된 Node 를 Add 한다.
② 10.5.1.2 의 방식을 사용하여 Node 를 연결한다.
www.agadoss.com
175/264
③ Start Node 의 Flow Condition 을 정의한다. 10.5.2 를 참조한다.
Condition Comparison Value
EditService.JUMP_CODE = Search
④ Node 의 Flow Condition 을 지정한다. 10.5.2 를 참조한다.
From Node To Node Flow Condition Value
Start ListSql EditEvt. JUMP_CODE = Search
DepartSql End EditEvt.NO_COND_PASS = ON
LISTSQL NODE 설계
① ListSql Node 의 Rule Property 를 실행한다.
② Rule Property 창에서 Rule View Tab 을 선택한다.
③ Db Connection 는 Start Node 에서 정의한 Adapter 를 선택한다.
④ 저장 버튼을 Click 한 후 정상적으로 저장되는 것을 확인한다. 저장 버튼을 실행해야만
DB에 적용된다. ( DB 적용 )
⑤ Query 버튼을 Click 한 후 작성 할 SQL type ( MS SQL ) 을 선택한다.
SQL 편집 Form 이 보이는 것을 확인한다.
2
3
4 5
www.agadoss.com
176/264
SQL 문 작성
① SQL 편집 Form 에서 Query Tab 을 선택한다.
② Query Tab 내의 Query Tab 을 선택한다.
③ EMPINFO Table 의 Data 를 Select 하는 Query를 입력한다.
SELECT job_id
, employee_id
, first_name
, A.department_id
, B.department_name
FROM EMPINFO A , DEPINFO B
WHERE job_id = {job_id}
AND A.department_id = B.department_id
{first_name}
{department_id}
④ Parsing 버튼을 Click 한다. Parsing 작업은 SQL 문장에서 Replace, Result 부분을 추출한다.
Replace 문은 {replace01} 으로 표현된다. Result 는 Select – From 사이의 문을 Parsing 한다.
⑤ 저장 버튼을 Click 한 후 정상적으로 저장되는 것을 확인한다. 저장 버튼을 실행해야만
DB에 적용된다. ( DB 적용 )
⑥ Statement Sample 버튼을 Click 하면 DB Table 기준으로 SQL 문장의 유형별 Sample 를
제공하는 화면을 볼 수 있다.
2
4 5
3
3
6 1
www.agadoss.com
177/264
Param Value 설정 (Replace Set)
SQL 의 Replace Field 와 Member Set 을 매핑한다.
① SQL 편집 Form 에서 Query Tab 을 선택한다.
② Query Tab 내의 PARAM Value Tab 을 선택한다.
③ PARAM Value 의 Replace Set Tab 을 선택한다.
④ Replace Field 를 선택한다. (RP_SET) 은 Replace Field Set 을 의미한다. (RP_SET) 을 선택 시
MemberSet 과 Set 단위의 Mapping 이 되며, Mapping 정보는 Member의 Relation Field
정보를 참조한다.
⑤ Member 를 선택한다. Replace Field 가 (RP_SET) 이면 Member 는 MemeberSet 을 선택하여야
한다.
⑥ String 유형의 Type 은 자동으로 ‘ ‘ 를 붙여준다. OPTION Type 은 Replace field 가
SubQuery 로 대체되며, Statement 은 문장으로 대체된다.
⑦ List Add 버튼을 Click 한 후 정상적으로 적용됨을 확인한다.
정상적으로 적용된 경우 List에 볼 수 있다. ( DB 미적용 )
⑧ List 를 Click 하면 Replace Set 의 상세정보를 확인 할 수 있다. 상세정보가 로드 된 후
Replace Set 의 수정, 삭제가 가능하다.
9 1
4
7
8
5
3
2
6
www.agadoss.com
178/264
⑨ 저장 버튼을 Click 한 후 정상적으로 저장되는 것을 확인한다. 저장 버튼을 실행해야만
DB에 적용된다. ( DB 적용 )
Replace Field Member Type
job_id JOB_ID STRING
first_name OPTION
department_id OPTION
Param Value 설정 (Result Set)
SQL 의 결과 값과 Member Set 을 매핑 한다. Member Set 에 값을 전달해야만 Object 내에서
값을 활용할 수 있다.
① SQL 편집 Form 에서 Query Tab 을 선택한다.
② Query Tab 내의 PARAM Value Tab 을 선택한다.
③ Result Field 를 선택한다. (RS_SET) 은 Result Field Set 을 의미한다. (RS_SET) 을 선택 시
MemberSet 과 Set 단위의 Mapping 이 되며, Mapping 정보는 Member의 Relation Field
정보를 참조한다.
7 1
2
3
5
6
4
www.agadoss.com
179/264
④ Member 를 선택한다. Result Field 가 (RS_SET) 이면 Member 는 MemberSet 을 선택해야 한다.
⑤ List Add 버튼을 Click 한 후 정상적으로 적용됨을 확인한다.
정상적으로 적용된 경우 List에 볼 수 있다. ( DB 미적용 )
⑥ List 를 Click 하면 Result Set 의 상세정보를 확인 할 수 있다. 상세정보가 로드 된 후
Result Set 의 수정, 삭제가 가능하다.
⑦ 저장 버튼을 Click 한 후 정상적으로 저장되는 것을 확인한다. 저장 버튼을 실행해야만
DB에 적용된다. ( DB 적용 )
Result Field Member
(RS_SET) (MS)EmpListMem
SubQuery 설정
Replace Field 에서 OPTION 으로 선언한 부분에 대해 조건에 따른 SQL 문장을 매칭한다.
① SQL 편집 Form 에서 SubQuery Tab 을 선택한다.
② Sql Option 을 선택한다. Replace Field 에서 Type 이 option 으로 지정된 Field 가 검색된다.
1
2
3 4
5
6 7
8
9
www.agadoss.com
180/264
③ Condition Group 명을 입력한다.
④ 저장 버튼을 Click 한 후 정상적으로 저장되는 것을 확인한다. 저장 버튼을 실행해야만
DB에 적용된다. ( DB 적용 ) – Group 저장
⑤ Sub Query 를 입력한다.
⑥ 적용되는 조건을 입력한다.
⑦ List Add 버튼을 Click 한 후 정상적으로 적용됨을 확인한다.
정상적으로 적용된 경우 List에 볼 수 있다. ( DB 미적용 )
⑧ List 를 Click 하면 Condition 의 상세정보를 확인 할 수 있다. 상세정보가 로드 된 후
Condition 의 수정, 삭제가 가능하다.
⑨ 저장 버튼을 Click 한 후 정상적으로 저장되는 것을 확인한다. 저장 버튼을 실행해야만
DB에 적용된다. ( DB 적용 ) – Group 의 상세내역 저장
Sql Option Sub Query Condition
first_name AND first_name = {first_name}
EmpMem.first_name
=
NOT.ZERO.LENGTH
department_id AND A.department_id = {department_id}
EmpMem.department_id
=
NOT.ZERO.LENGTH
Sub Replace Set 설정
Sub Query 의 Replace Field 와 Member Set 을 매핑 한다.
① SQL 편집 Form 에서 Sub Replace Set Tab 을 선택한다.
② Replace Field 를 선택한다. (RP_SET) 은 Replace Field Set 을 의미한다. (RP_SET) 을 선택 시
MemberSet 과 Set 단위의 Mapping 이 되며, Mapping 정보는 Member의 Relation Field
정보를 참조한다.
③ Member 를 선택한다. Replace Field 가 (RP_SET) 이면 Member 는 MemberSet 을 선택하여야 한다.
④ String 유형의 Type 은 자동으로 ‘ ‘ 를 붙여준다. Statement 은 문장으로 대체된다.
7 1
2
5
6
3 4
www.agadoss.com
181/264
⑤ List Add 버튼을 Click 한 후 정상적으로 적용됨을 확인한다.
정상적으로 적용된 경우 List에 볼 수 있다. ( DB 미적용 )
⑥ List 를 Click 하면 Replace Set 의 상세정보를 확인 할 수 있다. 상세정보가 로드 된 후
Replace Set 의 수정, 삭제가 가능하다.
⑦ 저장 버튼을 Click 한 후 정상적으로 저장되는 것을 확인한다. 저장 버튼을 실행해야만
DB에 적용된다. ( DB 적용 )
Replace Field Member Type
first_name EmpMem.first_name STRING
department_id EmpMem.department_id STRING
END NODE 설계
End Node 는 Object 의 Return value 를 정의한다.
① End Node 의 Rule Property 를 실행한다.
② Use Mset Tab 을 선택한다.
③ Return Value 로 사용 할 MemberSet 을 Check 한다.
④ 저장 버튼을 Click 한 후 정상적으로 저장되는 것을 확인한다. 저장 버튼을 실행해야만
DB에 적용된다. ( DB 적용 )
Checked MemberSet
EduPro.Member.DepMem
EduPro.Member.EmpListMem
2
3
4
www.agadoss.com
182/264
6.7.3. EDUPRO.SERVICE.EDITSERVICE (OBJECT) 구현
EditService Object 을 Open 한다.
USED MEMBERSET 등록
① 8.6의 방식을 사용하여 Memberset 을 등록한다.
Member Type Used Member or MemberSet
MemberSet EduPro.Member.EmpListMem
NODE 설계
① Start Node 의 Flow Condition 을 정의한다. 10.5.2 를 참조한다.
앞서 11.3.2 에서 설계된 값을 다음과 같이 변경한다.
Target Rule 은 NoTran Conn node 로 기 설정되어 있어야 한다.
Comparison 을 ‘=’ 에서 ‘in’, Value 를 ‘Shown’ 에서 ‘Shown , Search’ 로 변경한다.
Condition Comparison Value
EditService.JUMP_CODE IN Shown , Search
② Node 의 Flow Condition 을 지정한다. 10.5.2 를 참조한다.
From Node To Node Flow Condition Value
Start NoTran Conn EditService.JUMP_CODE in Shown , Search
www.agadoss.com
183/264
DAOCALL NODE 설계
① DaoCall Node 의 Rule Property 를 실행한다.
Input Parameter 정의
② Input Parameter Tab 을 선택한다.
③ Run Object 의 In-Parameter 를 선택한다. 만약 검색되지 않는다면
Object (EduPro.Dao.EditDao)의 MemberSet 을 확인한다.
④ In-Parameter 에 매핑 할 Member 를 선택 한다.
Run Object Parameter Parameter
EditDao.JUMP_CODE EditService.JUMP_CODE
(MS)EmpMem (MS)EmpMem
⑤ List Add 버튼을 Click 한 후 정상적으로 적용됨을 확인한다.
정상적으로 적용된 경우 List에 볼 수 있다. ( DB 미적용 )
⑥ List 를 Click 하면 IN-Parameter 의 상세정보를 확인 할 수 있다. 상세정보가 로드 된 후
IN-Parameter 의 수정, 삭제가 가능하다.
2 3
1
4
5
www.agadoss.com
184/264
END NODE 설계
End Node 는 Object 의 Return value 를 정의한다.
① End Node 의 Rule Property 를 실행한다.
Checked MemberSet
EduPro.Member.DepMem
EduPro.Member.EmpListMem
② Use Mset Tab 을 선택한다.
③ Return Value 로 사용 할 MemberSet 을 Check 한다.
④ 저장 버튼을 Click 한 후 정상적으로 저장되는 것을 확인한다. 저장 버튼을 실행해야만
DB에 적용된다. ( DB 적용 )
2
3
4
www.agadoss.com
185/264
6.7.4. 결과 보기
www.agadoss.com
186/264
INSERT 패턴
6.8.1. EDUPRO.EVENT.EDITEVT (FORMOBJECT) 구현
EditEvt Object 을 Open 한다.
NODE 설계
표에 있는 Node 를 Canvas 에 Add 한다.
Node Type Node SubType Name 설명
Task Data Manager EventCode Change ModeValue 의 Value0 의 값에 따라
EVENT_CODE 의 값을 변경한다.
Jump Object Write Jump Server 의 Object 를 실행한다.
EduPro.Service.EditService
Control Property Insert Mode ModeValue 의 Value0 의 값을 Insert 로
바꾼다.
① 10.1 의 Node Add 방식을 사용하여 위의 표에 언급된 Node 를 Add 한다.
② 10.5.1.2 의 방식을 사용하여 Node 를 연결한다.
www.agadoss.com
187/264
③ Start Node 의 Flow Condition 을 정의한다. 10.5.2 를 참조한다.
Condition Comparison Value
EditEvt.EVENT_CODE = Write
④ Node 의 Flow Condition 을 지정한다. 10.5.2 를 참조한다.
From Node To Node Flow Condition Value
Start EventCode Change EditEvt.EVENT_CODE = Write
EventCode Change Write Jump EditEvt.NO_COND_PASS = ON
Write Jump Insert Mode EditEvt.NO_COND_PASS = ON
Insert Mode End EditEvt.NO_COND_PASS = ON
EVENTCODE CHANGE NODE 설계
① EventCode Change Node 의 Rule Property 를 실행한다.
② Data manage 버튼을 Click 하여 Data Manager Form 을 호출한다.
2
www.agadoss.com
188/264
Condition group 생성
① Condition Set Tab 을 선택한다.
② Condition Group 명을 입력한다.
③ Condition 을 입력한다.
④ Add 버튼을 Click 한 후 정상적으로 저장되는 것을 확인한다. 정상적으로 Add 된 경우
List 에 나타나는 것을 볼 수 있다.
⑤ List 를 Click 하면 Condition 의 상세정보를 확인 할 수 있다. 상세정보가 로드 된 후
Condition 의 수정, 삭제가 가능하다.
⑥ 저장 버튼을 Click 한 후 정상적으로 저장되는 것을 확인한다. 저장 버튼을 실행해야만
DB에 적용된다. ( DB 적용 ) – Condition Group 저장
Group 명 Condition Field Condition Value
Insert
(Control)
EditForm.ModeValue
(Value01)
EditForm.ModeValue != Update
Update
(Control)
EditForm.ModeValue
(Value01)
EditForm.ModeValue = Update
Condition Group 을 두 개 등록한다. Group 은 조건에 부합할 경우 실행된다.
1
2
6
5
3
4
www.agadoss.com
189/264
Manager set 생성
① 등록된 Condition Group 을 선택한다.
② Manage Set Tab 을 선택한다.
③ 해당 Memberset 을 선택한다. EditEvt Object 를 선택한다.
④ Add 버튼을 Click 한 후 정상적으로 저장되는 것을 확인한다. 정상적으로 Add 된 경우
List 에 나타나는 것을 볼 수 있다.
⑤ List 에서 EditEvt 을 선택한다.
⑥ Type 은 Update Rows 를 선택한다.
⑦ Custom Data Tab 을 선택한다.
⑧ 모드는 Direct 모드를 선택한다.
⑨ EVENT_CODE 에 Insert 를 입력한다.
3
4
5
6
7
9
8
12
www.agadoss.com
190/264
⑩ Update 할 멤버를 선택한다. EVENT_CODE 선택.
⑪ 이동 버튼을 Click 한 후 정상적으로 Target Member 로 옮겨지는 지 확인한다.
⑫ 저장 버튼을 Click 한 후 정상적으로 저장되는 것을 확인한다. 저장 버튼을 실행해야만
DB에 적용된다. ( DB 적용 )
Group 명 Update Memebr Value
Insert Event.EditEvt.EVENT_CODE Insert
Update Event.EditEvt.EVENT_CODE Update
Condition Group 별로 각각 등록한다.
11
10
www.agadoss.com
191/264
WRITE JUMP NODE
① Write Jump Node 의 Rule Property 를 실행한다.
② Jump Object 를 선택한다. Jump Object 는 Server Side에서 실행될 Object 이다.
여기서는 EduPro.Service.EditService 를 선택한다.
③ Connection Address 를 선택한다. Server Address >> Http 에 등록된 내역이 검색된다.
④ Request Code 는 Object ( Server ) 의 JUMP_CODE 로 전달된다.
여기서는 EVENT_CODE ( FORM 의 Event 에서 정의한 ) 를 그대로 전달한다.
⑤ 저장 버튼을 Click 한 후 정상적으로 저장됨을 확인한다.
⑥ Request / Response Value 버튼을 Click 한 후 보여진 Popup 에서 Send 와 Receive 를 선택한다.
Type Target DataTable
Send EduPro.Form.EditForm.EmpSingle
Receive EduPro.Form.EditForm.EmpList
2
3
4
5 6
www.agadoss.com
192/264
Send 정의
① Data 를 보낼 DataTable 를 선택한다.
여기서는 EduPro.Form.EditForm.EmpSingle 를 선택한다.
② Add 버튼을 Click 후 정상적으로 저장됨을 확인한다. 정상적으로 저장된 경우 아래 List 에 보여진다.
③ List 에서 등록된 내역을 선택한 후 상세 내역을 확인한다.
④ Row View State 에서 CurrentPosition 을 선택한다.
⑤ 저장 버튼을 Click 한 후 정상적으로 저장됨을 확인한다.
Receive 정의
1
2
3
1
2
3
4
5
4 5
www.agadoss.com
193/264
① Data 를 받을 DataTable 를 선택한다.
여기서는 EduPro.Form.EditForm.EmpList 를 선택한다.
② Add 버튼을 Click 후 정상적으로 저장됨을 확인한다. 정상적으로 저장된 경우 아래 List 에 보여진다.
③ List 에서 등록된 내역을 선택한 후 상세 내역을 확인한다.
④ Receive Type 에서 Clear Rows, Append Rows 를 선택한다.
⑤ 저장 버튼을 Click 한 후 정상적으로 저장됨을 확인한다.
INSERT MODE NODE 설계
ModeValue Control 의 Value0 값을 Insert 로 변경한다.
① Insert Mode Node 의 Rule Property 를 실행한다.
② Property manage 버튼을 Click 하여 Property Manager Form 을 호출한다.
Condition group 생성
2
1
2
3
www.agadoss.com
194/264
① Condition Set Tab 을 선택한다.
② Condition Group 명을 입력한다.
③ 저장 버튼을 Click 한 후 정상적으로 저장되는 것을 확인한다. 저장 버튼을 실행해야만
DB에 적용된다. ( DB 적용 ) – Condition Group 저장
Property set - ModeValue 수정
ModeValue Control 의 Value0 값을 Insert 로 변경한다.
① Property Set Tab 을 선택한다.
② 해당 Control 를 선택한다. ModeValue Control 를 선택한다.
③ Add 버튼을 Click 한 후 정상적으로 저장되는 것을 확인한다. 정상적으로 Add 된 경우
List 에 나타나는 것을 볼 수 있다. ( DB 저장 )
④ List 에서 ModeValue 을 선택한다.
⑤ Control Property 중 Value0 의 값을 Insert 로 입력한다.
2
4
3
5
www.agadoss.com
195/264
6.8.2. EDUPRO.DAO.EDITDAO (OBJECT) 구현
EditDao Object 을 Open 한다.
NODE 설계
표에 있는 Node 를 Canvas 에 Add 한다.
Node Type Node SubType Name 설명
Task Query Insert Sql EMPINFO 를 Insert 하는 Query 를 등록한다.
① 10.1 의 Node Add 방식을 사용하여 위의 표에 언급된 Node 를 Add 한다.
② 10.5.1.2 의 방식을 사용하여 Node 를 연결한다.
③ Start Node 의 Flow Condition 을 정의한다. 10.5.2 를 참조한다.
Condition Comparsion Value
EditService.JUMP_CODE = Insert
④ Node 의 Flow Condition 을 지정한다. 10.5.2 를 참조한다.
From Node To Node Flow Condition Value
Start Insert Sql EditService.JUMP_CODE = Insert
Insert Sql End EditEvt.NO_COND_PASS = ON
www.agadoss.com
196/264
INSERT SQL NODE설계
① Insert Sql Node 의 Rule Property 를 실행한다.
② Rule Property 창에서 Rule View Tab 을 선택한다.
③ Db Connection 는 Start Node 에서 정의한 Adapter 를 선택한다.
④ 저장 버튼을 Click 한 후 정상적으로 저장되는 것을 확인한다. 저장 버튼을 실행해야만
DB에 적용된다. ( DB 적용 )
⑤ Query 버튼을 Click 한 후 작성 할 SQL type ( MS SQL ) 을 선택한다.
SQL 편집 Form 이 보이는 것을 확인한다.
2
3
4 5
www.agadoss.com
197/264
SQL 문 작성
① SQL 편집 Form 에서 Query Tab 을 선택한다.
② Query Tab 내의 Query Tab 을 선택한다.
③ EMPINFO Table 의 Data 를 Insert 하는 Query를 입력한다.
INSERT INTO EMPINFO
( job_id
, employee_id
, first_name
, department_id)
VALUES
( {job_id}
, {employee_id}
, {first_name}
, {department_id}
)
2
4 5
3
3
6 1
www.agadoss.com
198/264
④ Parsing 버튼을 Click 한다. Parsing 작업은 SQL 문장에서 Replace, Result 부분을 추출한다.
Replace 문은 {replace01}으로 표현된다. Result 는 Select – From 사이의 문을 Parsing 한다.
⑤ 저장 버튼을 Click 한 후 정상적으로 저장되는 것을 확인한다. 저장 버튼을 실행해야만
DB에 적용된다. ( DB 적용 )
⑥ Statement Sample 버튼을 Click 하면 DB Table 기준으로 SQL 문장의 유형별 Sample 를
제공하는 화면을 볼 수 있다.
Param Value 설정 - Replace Set
SQL 의 Replace Field 와 Member Set 을 매핑 한다.
① SQL 편집 Form 에서 Query Tab 을 선택한다.
② Query Tab 내의 PARAM Value Tab 을 선택한다.
③ PARAM Value 의 Replace Set Tab 을 선택한다.
9 1
4
7
8
5
3
2
6
www.agadoss.com
199/264
④ Replace Field 를 선택한다. (RP_SET) 은 Replace Field Set 을 의미한다. (RP_SET) 을 선택 시
MemberSet 과 Set 단위의 Mapping 이 되며, Mapping 정보는 Member의 Relation Field
정보를 참조한다.
⑤ Member 를 선택한다. Replace Field 가 (RP_SET) 이면 Member 는 MemberSet 을 선택하여야 한다.
⑥ String 유형의 Type 은 자동으로 ‘ ‘ 를 붙여준다. OPTION Type 은 Replace field 가
SubQuery 로 대체되며, Statement 은 문장으로 대체된다.
⑦ List Add 버튼을 Click 한 후 정상적으로 적용됨을 확인한다.
정상적으로 적용된 경우 List에 볼 수 있다. ( DB 미적용 )
⑧ List 를 Click 하면 Replace Set 의 상세정보를 확인 할 수 있다. 상세정보가 로드 된 후
Replace Set 의 수정, 삭제가 가능하다.
⑨ 저장 버튼을 Click 한 후 정상적으로 저장되는 것을 확인한다. 저장 버튼을 실행해야만
DB에 적용된다. ( DB 적용 )
Replace Field Member Type
(RP_SET) (MS)EmpMem
job_id JOB_ID STRING
순서를 보장해야 한다.
www.agadoss.com
200/264
6.8.3. EDUPRO.SERVICE.EDITSERVICE (OBJECT) 구현
EditService Object 을 Open 한다.
NODE 설계
표에 있는 Node 를 Canvas 에 Add 한다.
Node Type Node SubType Name 설명
Task Create Adapter Tran Conn DB Connection 을 생성한다. ( Tran )
Run Object WriteDao EduPro.Dao.EditDao 를 호출한다.
Close Adapter CloseTranConn DB Connection 을 Close 한다.
Data manager JumpCodeChange EmpMem clear
, JUMP_CODE 값을 Search 로 변경
① 10.1 의 Node Add 방식을 사용하여 위의 표에 언급된 Node 를 Add 한다.
② 10.5.1.2 의 방식을 사용하여 Node 를 연결한다.
www.agadoss.com
201/264
③ Start Node 의 Flow Condition 을 정의한다. 10.5.2 를 참조한다.
Condition Comparison Value
EditService.JUMP_CODE = Insert
④ Node 의 Flow Condition 을 지정한다. 10.5.2 를 참조한다.
From Node To Node Flow Condition Value
Start Tran Conn EditService.JUMP_CODE = Insert
Tran Conn WriteDao EditEvt.NO_COND_PASS = ON
WriteDao CloseTranConn EditEvt.NO_COND_PASS = ON
CloseTranConn JumpCodeChange EditEvt.NO_COND_PASS = ON
JumpCodeChange NoTran Conn EditEvt.NO_COND_PASS = ON
www.agadoss.com
202/264
TRAN CONN NODE 설계
④ Tran Conn Node 의 Rule Property 를 실행한다.
⑤ Rule Property 창에서 Adapter Tab 을 선택한다.
⑥ Adapter Name 을 입력한다. Adapter Name 은 Node 내에서 Unique 해야 한다.
⑦ Adapter Type 에서 Database 를 선택한다.
⑧ Database 에서 사용할 Database 를 선택한다.
Database 는 Solution 의 Adapter >> Database 에서 확인할 수 있다.
⑨ Transaction Type 을 입력한다. Transaction 은 Supported, Isolation 은 ReadCommitted
⑩ List Add 버튼을 Click 한 후 정상적으로 적용됨을 확인한다.
정상적으로 적용된 경우 List에 볼 수 있다. ( DB 미적용 )
⑪ List 를 Click 하면 Adapter 의 상세정보를 확인 할 수 있다. 상세정보가 로드 된 후
Adapter 의 수정, 삭제가 가능하다.
⑫ 저장 버튼을 Click 한 후 정상적으로 저장되는 것을 확인한다. 저장 버튼을 실행해야만
DB에 적용된다. ( DB 적용 )
3
2
4 5
7
8
9
6
www.agadoss.com
203/264
WRITEDAO NODE 설계
① WriteDao Node 의 Rule Property 를 실행한다.
Run Object 정의
① Run Object Tab 을 선택한다.
② Run Object 를 선택한다. Run Object 는 EduPro.Dao.EditDao 를 선택한다.
Input Parameter 정의
① Input Parameter Tab 을 선택한다.
② Run Object 의 In-Parameter 를 선택한다. 만약 검색되지 않는다면
Object (EduPro.Dao.EditDao)의 MemberSet 을 확인한다.
2
2 3
1
4
5
www.agadoss.com
204/264
③ In-Parameter 에 매핑 할 Member 를 선택 한다.
Run Object Parameter Parameter
EditDao.JUMP_CODE EditService.JUMP_CODE
(MS)EmpMem (MS)EmpMem
④ List Add 버튼을 Click 한 후 정상적으로 적용됨을 확인한다.
정상적으로 적용된 경우 List에 볼 수 있다. ( DB 미적용 )
⑤ List 를 Click 하면 IN-Parameter 의 상세정보를 확인 할 수 있다. 상세정보가 로드 된 후
IN-Parameter 의 수정, 삭제가 가능하다.
Adpater 정의
① Adapter Tab 을 선택한다.
② Run Object 의 Adapter 를 선택한다. Run Object 의 Start Node의 Adapter 에
등록 정보를 검색한다.
③ Object 내의 Adapter 를 선택한다. Create Adapter 와 Start node 의 Adapter 의
등록정보를 검색한다.
④ List Add 버튼을 Click 한 후 정상적으로 적용됨을 확인한다.
정상적으로 적용된 경우 List에 볼 수 있다. ( DB 미적용 )
⑤ List 를 Click 하면 Adapter 의 상세정보를 확인 할 수 있다. 상세정보가 로드 된 후
Adapter 의 수정, 삭제가 가능하다.
⑥ 저장 버튼을 Click 한 후 정상적으로 저장되는 것을 확인한다. 저장 버튼을 실행해야만
DB에 적용된다. ( DB 적용 )
Rule Property 내 Tab 의 모든 정보가 저장된다.
2 3
1
4
5
6
www.agadoss.com
205/264
CLOSETRANCONN NODE 설계
① CloseTranConn Node 의 Rule Property 를 실행한다.
② Adapter Tab 을 선택한다.
③ Close 할 Adapter 를 List 에서 Click 선택한다. Adapter 의 상세정보 로드 된 후
Adapter 정보를 수정한다.
④ Adapter 의 Close 정보를 등록한다, Close 여부, Commit 정보들을 선택한다.
⑤ List Add 버튼을 Click 한 후 정상적으로 적용됨을 확인한다.
정상적으로 적용된 경우 List에 볼 수 있다. ( DB 미적용 )
⑥ 저장 버튼을 Click 한 후 정상적으로 저장되는 것을 확인한다. 저장 버튼을 실행해야만
DB에 적용된다. ( DB 적용 )
JUMPCODECHANGE NODE 설계
① JumpCodeChange Node 의 Rule Property 를 실행한다.
② Data manage 버튼을 Click 하여 Data Manager Form 을 호출한다.
3
5
6
4
2
2
www.agadoss.com
206/264
Condition group 생성
① Condition Set Tab 을 선택한다.
② Condition Group 명을 입력한다.
③ 저장 버튼을 Click 한 후 정상적으로 저장되는 것을 확인한다. 저장 버튼을 실행해야만
DB에 적용된다. ( DB 적용 ) – Condition Group 저장
Manager set - JUMP_CODE 수정
EduPro.Service.EditService 내의 JUMP_CODE member 의 값을 수정한다.
① Manage Set Tab 을 선택한다.
② 해당 Memberset 을 선택한다. EditService Object 를 선택한다.
③ Add 버튼을 Click 한 후 정상적으로 저장되는 것을 확인한다. 정상적으로 Add 된 경우
List 에 나타나는 것을 볼 수 있다.
④ List 에서 EditService 을 선택한다.
⑤ Type 은 Update Rows 를 선택한다.
1
2
3
2
3
4
5
6
8
7
11
www.agadoss.com
207/264
⑥ Custom Data Tab 을 선택한다.
⑦ 모드는 Direct 모드를 선택한다.
⑧ JUMP_CODE 에 Search 를 입력한다.
⑨ Update 할 멤버를 선택한다. JUMP_CODE 선택.
⑩ 이동 버튼을 Click 한 후 정상적으로 Target Member 로 옮겨지는 지 확인한다.
⑪ 저장 버튼을 Click 한 후 정상적으로 저장되는 것을 확인한다. 저장 버튼을 실행해야만
DB에 적용된다. ( DB 적용 )
Manager set - EmpMem clear
EduPro.Member.EmpMem 의 값을 Clear 한다.
① Manage Set Tab 을 선택한다.
② 해당 Memberset 을 선택한다. EduPro.Member.EmpMem 을 선택한다.
9 10
2
3
4
5 6
www.agadoss.com
208/264
③ Add 버튼을 Click 한 후 정상적으로 저장되는 것을 확인한다. 정상적으로 Add 된 경우
List 에 나타나는 것을 볼 수 있다.
④ List 에서 EduPro.Member.EmpMem 을 선택한다.
⑤ Type 은 Clear All Rows 를 선택한다.
⑥ 저장 버튼을 Click 한 후 정상적으로 저장되는 것을 확인한다. 저장 버튼을 실행해야만
DB에 적용된다. ( DB 적용)
6.8.4. 결과
www.agadoss.com
209/264
GRID CLICK 패턴
6.9.1. EDUPRO.EVENT.EDITEVT (FORMOBJECT) 구현
EditEvt Object 을 Open 한다.
NODE 설계
표에 있는 Node 를 Canvas 에 Add 한다.
Node Type Node SubType Name 설명
Task Data Manager List Click EmpListTa 의 Select 된 Data 를 EmpTa
에 Update 한다.
Control Property Insert Mode ModeValue 의 Value0 의 값을 Update 로
바꾼다.
① 10.1 의 Node Add 방식을 사용하여 위의 표에 언급된 Node 를 Add 한다.
② 10.5.1.2 의 방식을 사용하여 Node 를 연결한다.
③ Start Node 의 Flow Condition 을 정의한다. 10.5.2 를 참조한다.
Condition Comparison Value
EditEvt.EVENT_CODE = Select
www.agadoss.com
210/264
④ Node 의 Flow Condition 을 지정한다. 10.5.2 를 참조한다.
From Node To Node Flow Condition Value
Start ListClick EditEvt.EVENT_CODE = Select
ListClick Update Mode EditEvt.NO_COND_PASS = ON
Update Mode End EditEvt.NO_COND_PASS = ON
LISTCLICK NODE 설계
① ListClick Node 의 Rule Property 를 실행한다.
② Data manage 버튼을 Click 하여 Data Manager Form 을 호출한다.
2
www.agadoss.com
211/264
Condition group 생성
① Condition Set Tab 을 선택한다.
② Condition Group 명을 입력한다.
③ 저장 버튼을 Click 한 후 정상적으로 저장되는 것을 확인한다. 저장 버튼을 실행해야만
DB에 적용된다. ( DB 적용 ) – Condition Group 저장
Manager set - EmpTa Update
EduPro.Form.EditForm.EmpList 에서 Select 한 Data 를 EduPro.Form.EditForm.EmpSingle 에 Update 한다.
① Manage Set Tab 을 선택한다.
1
2
3
2
3
4
5
6
8
7
10
9
www.agadoss.com
212/264
② 해당 DataTable ( Target ) 을 선택한다. EmpSingle DataTable 를 선택한다.
③ Add 버튼을 Click 한 후 정상적으로 저장되는 것을 확인한다. 정상적으로 Add 된 경우
List 에 나타나는 것을 볼 수 있다.
④ List 에서 EmpSingle 을 선택한다.
⑤ Type 은 Clear Rows, Append Rows 를 선택한다.
⑥ Custom Data Tab 을 선택한다.
⑦ 모드는 DataTable 모드를 선택한다.
⑧ EditForm.EmpList ( Single ) 를 선택한다.
⑨ Row View State 는 CurrentPosition 을 선택한다.
UPDATE MODE NODE 설계
ModeValue Control 의 Value0 값을 Update 로 변경한다.
① Update Mode Node 의 Rule Property 를 실행한다.
② Property manage 버튼을 Click 하여 Property Manager Form 을 호출한다.
2
www.agadoss.com
213/264
Condition group 생성
① Condition Set Tab 을 선택한다.
② Condition Group 명을 입력한다.
③ 저장 버튼을 Click 한 후 정상적으로 저장되는 것을 확인한다. 저장 버튼을 실행해야만
DB에 적용된다. ( DB 적용 ) – Condition Group 저장
Property set - ModeValue 수정
ModeValue Control 의 Value0 값을 Update 로 변경한다.
① Property Set Tab 을 선택한다.
1
2 3
2
4
3
5
www.agadoss.com
214/264
② 해당 Control 를 선택한다. ModeValue Control 를 선택한다.
③ Add 버튼을 Click 한 후 정상적으로 저장되는 것을 확인한다. 정상적으로 Add 된 경우
List 에 나타나는 것을 볼 수 있다. ( DB 저장 )
④ List 에서 ModeValue 을 선택한다.
⑤ Control Property 중 Value0 의 값을 Update 로 입력한다.
6.9.2. 결과
www.agadoss.com
215/264
UPDATE 패턴
6.10.1. EDUPRO.EVENT.EDITEVT (FORMOBJECT) 구현
EditEvt Object 을 Open 한다.
NODE 설계
INSERT 패턴 구현에서 변경할 것이 없다.
6.10.2. EDUPRO.DAO.EDITDAO (OBJECT) 구현
EditDao Object 을 Open 한다.
NODE 설계
표에 있는 Node 를 Canvas 에 Add 한다.
Node Type Node SubType Name 설명
Task Query Update Sql EMPINFO 를 Update 하는 Query 를 등록한다.
① 10.1 의 Node Add 방식을 사용하여 위의 표에 언급된 Node 를 Add 한다.
www.agadoss.com
216/264
② 10.5.1.2 의 방식을 사용하여 Node 를 연결한다.
③ Start Node 의 Flow Condition 을 정의한다. 10.5.2 를 참조한다.
Condition Comparison Value
EditService.JUMP_CODE = Update
④ Node 의 Flow Condition 을 지정한다. 10.5.2 를 참조한다.
From Node To Node Flow Condition Value
Start Update Sql EditService.JUMP_CODE = Update
Update Sql End EditEvt.NO_COND_PASS = ON
UPDATE SQL NODE 설계
① Update Sql Node 의 Rule Property 를 실행한다.
2
3
4 5
www.agadoss.com
217/264
② Rule Property 창에서 Rule View Tab 을 선택한다.
③ Db Connection 는 Start Node 에서 정의한 Adapter 를 선택한다.
④ 저장 버튼을 Click 한 후 정상적으로 저장되는 것을 확인한다. 저장 버튼을 실행해야만
DB에 적용된다. ( DB 적용 )
⑤ Query 버튼을 Click 한 후 작성 할 SQL type ( MS SQL ) 을 선택한다.
SQL 편집 Form 이 보이는 것을 확인한다.
SQL 문 작성
① SQL 편집 Form 에서 Query Tab 을 선택한다.
② Query Tab 내의 Query Tab 을 선택한다.
2
4 5
3
3
6 1
www.agadoss.com
218/264
③ EMPINFO Table 의 Data 를 Update 하는 Query를 입력한다.
UPDATE EMPINFO
SET first_name = {first_name}
, department_id = {department_id}
WHERE job_id = {job_id}
AND employee_id = {employee_id}
④ Parsing 버튼을 Click 한다. Parsing 작업은 SQL 문장에서 Replace, Result 부분을 추출한다.
Replace 문은 {replace01} 로 표현된다. Result 는 Select – From 사이의 문을 Parsing 한다.
⑤ 저장 버튼을 Click 한 후 정상적으로 저장되는 것을 확인한다. 저장 버튼을 실행해야만
DB에 적용된다. ( DB 적용 )
⑥ Statement Sample 버튼을 Click 하면 DB Table 기준으로 SQL 문장의 유형별 Sample 를
제공하는 화면을 볼 수 있다.
Replace Set - Param Value 설정
SQL 의 Replace Field 와 Member Set 을 매핑 한다.
① SQL 편집 Form 에서 Query Tab 을 선택한다.
② Query Tab 내의 PARAM Value Tab 을 선택한다.
③ PARAM Value 의 Replace Set Tab 을 선택한다.
④ Replace Field 를 선택한다. (RP_SET) 은 Replace Field Set 을 의미한다. (RP_SET) 을 선택 시
MemberSet 과 Set 단위의 Mapping 이 되며, Mapping 정보는 Member의 Relation Field
정보를 참조한다.
⑤ Member 를 선택한다. Replace Field 가 (RP_SET) 이면 Member 는 MemberSet 을 선택하여야 한다.
⑥ String 유형의 Type 은 자동으로 ‘ ‘ 를 붙여준다. OPTION Type 은 Replace field 가
SubQuery 로 대체되며, Statement 은 문장으로 대체된다.
⑦ List Add 버튼을 Click 한 후 정상적으로 적용됨을 확인한다.
정상적으로 적용된 경우 List에 볼 수 있다. ( DB 미적용 )
9 1
4
7
8
5 6
www.agadoss.com
219/264
⑧ List 를 Click 하면 Replace Set 의 상세정보를 확인 할 수 있다. 상세정보가 로드 된 후
Replace Set 의 수정, 삭제가 가능하다.
⑨ 저장 버튼을 Click 한 후 정상적으로 저장되는 것을 확인한다. 저장 버튼을 실행해야만
DB에 적용된다. ( DB 적용 )
Replace Field Member Type
(RP_SET) (MS)EmpMem
6.10.3. EDUPRO.SERVICE.EDITSERVICE (OBJECT) 구현
EditService Object 을 Open 한다.
Insert 와 사용 Node 는 동일하며 Start Node 의 Flow Condition 에만 추가한다.
NODE 설계
① Start Node 의 Flow Condition 을 정의한다. 10.5.2 를 참조한다.
앞서 11.3.2 에서 설계된 값을 다음과 같이 변경한다.
Target Rule 은 Tran Conn node 로 기 설정되어 있어야 한다.
Comparison 을 ‘=’ 에서 ‘in’, Value 를 ‘Insert’에서 ‘Insert, Update’ 로 변경한다.
Condition Comparison Value
EditService.JUMP_CODE IN Insert , Update
② Node 의 Flow Condition 을 지정한다. 10.5.2 를 참조한다.
From Node To Node Flow Condition Value
Start Tran Conn EditService.JUMP_CODE in Insert , Update
www.agadoss.com
220/264
6.10.4. 결과
www.agadoss.com
221/264
DELETE 패턴
6.11.1. EDUPRO.EVENT.EDITEVT (FORMOBJECT) 구현
EditEvt Object 을 Open 한다.
NODE 설계
표에 있는 Node 를 Canvas 에 Add 한다.
Node Type Node SubType Name 설명
Task Jump Object Delete Jump Server 의 Object 를 실행한다.
EduPro.Service.EditService
① 10.1 의 Node Add 방식을 사용하여 위의 표에 언급된 Node 를 Add 한다.
② 10.5.1.2 의 방식을 사용하여 Node 를 연결한다.
③ Start Node 의 Flow Condition 을 정의한다. 10.5.2 를 참조한다.
Condition Comparsion Value
EditEvt.EVENT_CODE = Delete
www.agadoss.com
222/264
④ Node 의 Flow Condition 을 지정한다. 10.5.2 를 참조한다.
From Node To Node Flow Condition Value
Start Delete Jump EditEvt.EVENT_CODE = Delete
Delete Jump Insert Mode EditEvt.NO_COND_PASS = ON
DELETE JUMP NODE
① Delete Jump Node 의 Rule Property 를 실행한다.
② Jump Object 를 선택한다. Jump Object 는 Server Side에서 실행될 Object 이다.
여기서는 EduPro.Service.EditService 를 선택한다.
③ Connection Address 를 선택한다. Server Address >> Http 에 등록된 내역이 검색된다.
④ Request Code 는 Object ( Server ) 의 JUMP_CODE 로 전달된다.
여기서는 EVENT_CODE ( FORM 의 Event 에서 정의한 ) 를 그대로 전달한다.
⑤ 저장 버튼을 Click 한 후 정상적으로 저장됨을 확인한다.
⑥ Request / Response Value 버튼을 Click 한 후 보여진 Popup 에서 Send 와 Receive 를 선택한다.
Type Target DataTable
Send EduPro.Form.EditForm.EmpList
Receive EduPro.Form.EditForm.EmpList
2
3
4
5 6
www.agadoss.com
223/264
Send 정의
① Data 를 보낼 DataTable 를 선택한다.
여기서는 EduPro.Form.EditForm.EmpList 를 선택한다.
② Add 버튼을 Click 후 정상적으로 저장됨을 확인한다. 정상적으로 저장된 경우 아래 List 에 보여진다.
③ List 에서 등록된 내역을 선택한 후 상세 내역을 확인한다.
④ Row View State 에서 SelectedRows 을 선택한다.
⑤ 저장 버튼을 Click 한 후 정상적으로 저장됨을 확인한다.
Receive 정의
① Data 를 받을 DataTable 를 선택한다.
여기서는 EduPro.Form.EditForm.EmpList 를 선택한다.
1
2
3
1
2
3
4
5
4 5
www.agadoss.com
224/264
② Add 버튼을 Click 후 정상적으로 저장됨을 확인한다. 정상적으로 저장된 경우 아래 List 에 보여진다.
③ List 에서 등록된 내역을 선택한 후 상세 내역을 확인한다.
④ Receive Type 에서 Clear Rows, Append Rows 를 선택한다.
⑤ 저장 버튼을 Click 한 후 정상적으로 저장됨을 확인한다.
6.11.2. EDUPRO.DAO.EDITDAO (OBJECT) 구현
EditDao Object 을 Open 한다.
NODE 설계
표에 있는 Node 를 Canvas 에 Add 한다.
Node Type Node SubType Name 설명
Task Query Delete Sql EMPINFO 를 Delete 하는 Query 를 등록한다.
Data Manager EmpList Clear EmpListMem 의 Data 를 Clear 한다.
① 10.1 의 Node Add 방식을 사용하여 위의 표에 언급된 Node 를 Add 한다.
② 10.5.1.2 의 방식을 사용하여 Node 를 연결한다.
www.agadoss.com
225/264
③ Start Node 의 Flow Condition 을 정의한다. 10.5.2 를 참조한다.
Condition Comparison Value
EditService.JUMP_CODE = Delete
④ Node 의 Flow Condition 을 지정한다. 10.5.2 를 참조한다.
From Node To Node Flow Condition Value
Start Delete Sql EditService.JUMP_CODE = Delete
Delete Sql End EditEvt.NO_COND_PASS = ON
DELETE SQL NODE 설계
① Delete Sql Node 의 Rule Property 를 실행한다.
② Rule Property 창에서 Rule View Tab 을 선택한다.
③ Db Connection 는 Start Node 에서 정의한 Adapter 를 선택한다.
④ 저장 버튼을 Click 한 후 정상적으로 저장되는 것을 확인한다. 저장 버튼을 실행해야만
DB에 적용된다. ( DB 적용 )
⑤ Query 버튼을 Click 한 후 작성 할 SQL type ( MS SQL ) 을 선택한다.
SQL 편집 Form 이 보이는 것을 확인한다.
2
3
4 5
www.agadoss.com
226/264
SQL 문 작성
① SQL 편집 Form 에서 Query Tab 을 선택한다.
② Query Tab 내의 Query Tab 을 선택한다.
③ EMPINFO Table 의 Data 를 Delete 하는 Query를 입력한다.
DELETE FROM EMPINFO
WHERE job_id = {job_id}
AND employee_id IN ( {employee_id} )
④ Parsing 버튼을 Click 한다. Parsing 작업은 SQL 문장에서 Replace, Result 부분을 추출한다.
Replace 문은 {replace01} 로 표현된다. Result 는 Select – From 사이의 문을 Parsing 한다.
⑤ 저장 버튼을 Click 한 후 정상적으로 저장되는 것을 확인한다. 저장 버튼을 실행해야만
DB에 적용된다. ( DB 적용 )
⑥ Statement Sample 버튼을 Click 하면 DB Table 기준으로 SQL 문장의 유형별 Sample 를
제공하는 화면을 볼 수 있다.
Replace Set - Param Value 설정
SQL 의 Replace Field 와 Member Set 을 매핑 한다.
4 5
3
3
6 1
9 1
4
7
5 6
8
www.agadoss.com
227/264
① SQL 편집 Form 에서 Query Tab 을 선택한다.
② Query Tab 내의 PARAM Value Tab 을 선택한다.
③ PARAM Value 의 Replace Set Tab 을 선택한다.
④ Replace Field 를 선택한다. (RP_SET) 은 Replace Field Set 을 의미한다. (RP_SET) 을 선택 시
MemberSet 과 Set 단위의 Mapping 이 되며, Mapping 정보는 Member의 Relation Field
정보를 참조한다.
⑤ Member 를 선택한다. Replace Field 가 (RP_SET) 이면 Member 는 MemberSet 을 선택하여야 한다.
⑥ String 유형의 Type 은 자동으로 ‘ ‘ 를 붙여준다. OPTION Type 은 Replace field 가
SubQuery 로 대체되며, Statement 은 문장으로 대체된다.
⑦ List Add 버튼을 Click 한 후 정상적으로 적용됨을 확인한다.
정상적으로 적용된 경우 List에 볼 수 있다. ( DB 미적용 )
⑧ List 를 Click 하면 Replace Set 의 상세정보를 확인 할 수 있다. 상세정보가 로드 된 후
Replace Set 의 수정, 삭제가 가능하다.
⑨ 저장 버튼을 Click 한 후 정상적으로 저장되는 것을 확인한다. 저장 버튼을 실행해야만
DB에 적용된다. ( DB 적용 )
Replace Field Member Type
job_id JOB_ID STRING
employee_id EmpListMem.employee_id LIST(STRING)
6.11.3. EDUPRO.SERVICE.EDITSERVICE (OBJECT) 구현
EditService Object 을 Open 한다.
Insert 와 사용 Node 는 동일하며 Start Node 의 Flow Condition 에만 추가한다.
NODE 설계
① Start Node 의 Flow Condition 을 정의한다. 10.5.2 를 참조한다.
앞서 11.3.2 에서 설계된 값을 다음과 같이 변경한다.
Target Rule 은 Tran Conn node 로 기 설정되어 있어야 한다.
Value 를 ‘Insert, Update’ 에서 ‘Insert, Update, Delete’ 로 변경한다.
Condition Comparison Value
EditService.JUMP_CODE IN Insert , Update , Delete
www.agadoss.com
228/264
② Node 의 Flow Condition 을 지정한다. 10.5.2 를 참조한다.
From Node To Node Flow Condition Value
Start Tran Conn EditService.JUMP_CODE in Insert , Update , Delete
WRITEDAO NODE 수정
① WriteDao Node 의 Rule Property 를 실행한다.
Input Parameter 정의
2 3
1
4
5
www.agadoss.com
229/264
① Input Parameter Tab 을 선택한다.
② Run Object 의 In-Parameter 를 선택한다. 만약 검색되지 않는다면
Object (EduPro.Dao.EditDao)의 MembertSet 을 확인한다.
③ In-Parameter 에 매핑 할 Member 를 선택 한다.
④
Run Object Parameter Parameter
EditDao.JUMP_CODE EditService.JUMP_CODE
(MS)EmpMem (MS)EmpMem
(MS)EmpListMem (MS)EmpListMem
(MS)EmpListMem 을 추가한다.
⑤ List Add 버튼을 Click 한 후 정상적으로 적용됨을 확인한다.
정상적으로 적용된 경우 List에 볼 수 있다. ( DB 미적용 )
⑥ List 를 Click 하면 IN-Parameter 의 상세정보를 확인 할 수 있다. 상세정보가 로드 된 후
IN-Parameter 의 수정, 삭제가 가능하다.
JUMPCODECHANGE NODE 수정
① JumpCodeChange Node 의 Rule Property 를 실행한다.
② Data manage 버튼을 Click 하여 Data Manager Form 을 호출한다.
2
www.agadoss.com
230/264
Condition group 선택
① Condition Set Tab 을 선택한다.
② Condition Group 을 선택한다. 기존에 등록한 Group을 선택한다.
Manager set - EmpListMem clear
EduPro.Member.EmpListMem 의 값을 Clear 한다.
① Manage Set Tab 을 선택한다.
② 해당 Memberset 을 선택한다. EduPro.Member.EmpListMem을 선택한다.
③ Add 버튼을 Click 한 후 정상적으로 저장되는 것을 확인한다. 정상적으로 Add 된 경우
List 에 나타나는 것을 볼 수 있다.
④ List 에서 EduPro.Member.EmpListMem을 선택한다.
⑤ Type 은 Clear All Rows 를 선택한다.
⑥ 저장 버튼을 Click 한 후 정상적으로 저장되는 것을 확인한다. 저장 버튼을 실행해야만
DB에 적용된다. ( DB 적용)
EmpListMem 을 추가한다.
1
2
2
3
4
5 6
www.agadoss.com
231/264
6.11.4. 결과
www.agadoss.com
232/264
7. WIZARD 따라 하기 이 장에서는 Agados 가 제공하는 Wizard 기능을 소개합니다.
DB Table, Memberset, DataTable 에 등록된 정보를 사용하여 Object, Form 등을 구성한다.
DATASOURCE 유형에 따른 오브젝트 생성
DataSource 유형에 따라 생성 오브젝트에 차이가 있습니다.
구분
Table ( Database ) Memberset, DataTable, Object, Event Object, Form 을 생성합니다.
SQL 문장을 생성합니다.
Memberset DataTable, Object, Event Object, Form 을 생성합니다.
SQL 문장은 생성하지 않습니다.
DataTable Form 을 생성합니다.
① Select Data source Page
참조할 Data source 을 선택합니다.
DataSource 의 Column, Member 를 사용하여 Grid Column 및 Edit, 그리고 Member 등을
구성합니다.
www.agadoss.com
233/264
② Select Column 선택 Page – Data source 에서 Table( Database ) 선택
등록된 DB Adapter 을 선택합니다.
Search 버튼을 클릭 후 DB Table 을 선택 하시면 Table 의 Column 을 확인할 수 있습니다.
사용될 Column 을 선택합니다.
③ Select Member 선택 Page – Data source 에서 Member set 선택
Member Set 을 선택 한 후 사용될 Member 를 선택합니다.
www.agadoss.com
234/264
④ Select Data Column 선택 Page – Data source 에서 Data Table 선택
Data table 을 선택 한 후 사용될 Column 을 선택합니다.
www.agadoss.com
235/264
MODEL WIZARD
Memberset, Datatable 을 생성합니다.
① Start Page
Next Button Click 합니다.
② Select Package Page
생성된 오브젝트가 위치 할 패키지를 선택합니다.
www.agadoss.com
236/264
③ Select DataSource page
자세한 사항은 7.1 의 Data source 유형에 따른 오브젝트 생성을 참조 하시기 바랍니다.
④ Data source 에 따른 Field ( column , member ) 선택 page
자세한 사항은 7.1 의 Data source 유형에 따른 오브젝트 생성을 참조 하시기 바랍니다.
⑤ object name 입력 page
등록될 Object 의 이름을 유형에 따라 입력합니다.
www.agadoss.com
237/264
⑥ Run wizard operation page
사용자가 선택 한 값을 실행합니다.
Run button 을 Click 하면 Wizard 을 실행 합니다.
⑦ Completing the wizard page
Wizard 수행 완료 페이지 입니다.
완료 후 Solution explorer 에서 Refresh 하시기 바랍니다.
정상적으로 수행 된 경우 생성될 오브젝트를 확인하실 수 있습니다.
www.agadoss.com
238/264
⑧ 결과 화면
선택된 Data source 에 따라 생성되어지는 Object 가 차이가 있습니다.
결과 화면은 Table ( Database ) 을 선택하는 경우 입니다.
- Member set
- Data table
www.agadoss.com
239/264
LIST WIZARD
List 형식의 Form 과 Object, Member set , Data table 등을 구성합니다.
① Start Page
Next Button Click 합니다.
② Select Package Page
생성된 오브젝트가 위치 할 패키지를 선택합니다.
www.agadoss.com
240/264
③ Select Data source page
자세한 사항은 7.1 의 Data source 유형에 따른 오브젝트 생성을 참조 하시기 바랍니다.
④ Data source 에 따른 Field ( column , member ) 선택 page
자세한 사항은 7.1 의 Data source 유형에 따른 오브젝트 생성을 참조 하시기 바랍니다.
⑤ Grid 유형 선택 page
Form 에 생성될 Grid 의 유형을 선택합니다.
www.agadoss.com
241/264
⑥ Filter field 선택 page
조회 화면에서 Filter 조건이 될 필드를 구성합니다.
Field 을 선택 한 후 Edit 유형을 선택합니다.
⑦ Layout column count page
Filter field 가 화면에서 구성될 방식을 결정합니다.
Column count 에 따라 Edit 의 행의 수를 결정 합니다.
www.agadoss.com
242/264
⑧ object name 입력 page
등록될 Object 의 이름을 유형에 따라 입력합니다.
⑨ Run wizard operation page
사용자가 선택 한 값을 실행합니다.
Run button 을 Click 하면 Wizard 을 실행 합니다.
www.agadoss.com
243/264
⑩ Completing the wizard page
Wizard 수행 완료 페이지 입니다.
완료 후 Solution explorer 에서 Refresh 하시기 바랍니다.
정상적으로 수행 된 경우 생성될 오브젝트를 확인하실 수 있습니다.
SQL 문장을 확인하시기 바랍니다.
Filter 는 기본적으로 Char 형식으로 제공 되며, 값이 없는 경우에 따른
별도의 Rule 을 정의하지 않습니다.
www.agadoss.com
244/264
⑪ 결과 화면
선택된 Data source 에 따라 생성될 Object 가 차이가 있습니다.
결과 화면은 Table ( Database ) 을 선택하는 경우 입니다.
Grid 유형은 Base Grid, Filter 는 3 개 그리고 Layout Colum Count 는 2 를 선택하였습니다.
- Member set
- Data table
www.agadoss.com
245/264
- Form
- Object
- Event Object
www.agadoss.com
246/264
SINGLE ROW WIZARD
단일 Table 를 가지고 Edit 화면을 구성 시 필요한 Form 과 Object, Member set, Data table 등을
구성합니다.
① Start Page
Next Button Click 합니다.
② Select Package Page
생성된 오브젝트가 위치 할 패키지를 선택합니다.
www.agadoss.com
247/264
③ Select Data source page
자세한 사항은 7.1 의 Data source 유형에 따른 오브젝트 생성을 참조 하시기 바랍니다.
④ Data source 에 따른 Field ( column , member ) 선택 page
자세한 사항은 7.1 의 Data source 유형에 따른 오브젝트 생성을 참조 하시기 바랍니다.
⑤ Layout type 선택 page
화면의 Layout type 을 선택합니다.
Type 유형을 선택한 후 Edit mode ( View , Edit ) 을 선택합니다.
Type-4 는 Grid 에서 입력하는 구조입니다.
www.agadoss.com
248/264
⑥ Grid 유형 선택 page
Form 에 생성될 Grid 의 유형을 선택합니다.
Type-3 는 Grid Type Page 가 없습니다.
⑦ Layout column count page
Editor field 가 화면에서 구성될 방식을 결정합니다.
Column count 에 따라 Editor 의 행의 수를 결정 합니다.
www.agadoss.com
249/264
⑧ Editor Type 선택 page
Editor Type 을 선택합니다.
⑨ object name 입력 page
등록될 Object 의 이름을 유형에 따라 입력합니다.
www.agadoss.com
250/264
⑩ Run wizard operation page
사용자가 선택 한 값을 실행합니다.
Run button 을 Click 하면 Wizard 을 실행 합니다.
⑪ Completing the wizard page
Wizard 수행 완료 페이지 입니다.
완료 후 Solution explorer 에서 Refresh 하시기 바랍니다.
정상적으로 수행 된 경우 생성된 오브젝트를 확인하실 수 있습니다.
www.agadoss.com
251/264
SQL 문장을 확인하시기 바랍니다.
Select, Insert, Delete, Update 는 Table ( DB ) 의 등록된 Key 값을
기준으로 생성됩니다.
⑫ 결과 화면
선택된 Data source 에 따라 생성될 Object 에 차이가 있습니다.
결과 화면은 Table ( Database ) 을 선택하는 경우 입니다.
Grid 유형은 Base Grid, Layout Colum Count 는 2 를 선택하였습니다.
Member set 과 Data table 은 모든 Type 에 동일하게 적용됩니다.
- Member set
- Data table
www.agadoss.com
252/264
< Type – 1 >
- Form
- Object
- Event Object
www.agadoss.com
253/264
< Type – 2 >
- Form
- Object
- Event Object
www.agadoss.com
254/264
< Type – 3 >
- Form
- Object
- Event Object
www.agadoss.com
255/264
< Type – 4 >
- Form
- Object
- Event Object
www.agadoss.com
256/264
MASER AND DETAIL WIZARD
단일 두 개의 Table (Master, Detail 관계) 을 가지고 Edit 화면을 구성 합니다.
Date source 에 따른 필요한 Form 과 Object, Member set, Data table 등을 구성합니다.
① Start Page
Next Button Click 합니다.
② Select Package Page
생성될 오브젝트가 위치 할 패키지를 선택합니다.
www.agadoss.com
257/264
③ Select Data source page - Master
자세한 사항은 7.1 의 Data source 유형에 따른 오브젝트 생성을 참조 하시기 바랍니다.
④ Data source 에 따른 Field ( column , member ) 선택 page - Master
자세한 사항은 7.1 의 Data source 유형에 따른 오브젝트 생성을 참조 하시기 바랍니다.
⑤ Editor Type 선택 page - Master
Editor Type 을 선택합니다.
www.agadoss.com
258/264
⑥ Layout column count page - Master
Editor field 가 화면에서 구성될 방식을 결정합니다.
Column count 에 따라 Editor 의 행의 수를 결정 합니다.
⑦ Data source 에 따른 Field ( column , member ) 선택 page - Detail
자세한 사항은 7.1 의 Data source 유형에 따른 오브젝트 생성을 참조 하시기 바랍니다.
⑧ Grid 유형 선택 page - Detail
Form 에 생성될 Grid 의 유형을 선택합니다.
Type-3 는 Grid Type Page 가 없습니다.
www.agadoss.com
259/264
⑨ Editor Type 선택 page - Detail
Grid 의 Column Editor Type 을 선택합니다.
⑩ object name 입력 page
등록될 Object 의 이름을 유형에 따라 입력합니다.
www.agadoss.com
260/264
⑪ Run wizard operation page
사용자가 선택 한 값을 실행합니다.
Run button 을 Click 하면 Wizard 을 실행 합니다.
⑫ Completing the wizard page
Wizard 수행 완료 페이지 입니다.
완료 후 Solution explorer 에서 Refresh 하시기 바랍니다.
정상적으로 수행 된 경우 생성된 오브젝트를 확인하실 수 있습니다.
www.agadoss.com
261/264
SQL 문장을 확인하시기 바랍니다.
Select, Insert, Delete, Update 는 Table ( DB ) 의 등록된 Key 값을
기준으로 생성됩니다.
⑬ 결과 화면
선택된 Data source 에 따라 생성될 Object 에 차이가 있습니다.
결과 화면은 Table ( Database ) 을 선택하는 경우 입니다.
Grid 유형은 Base Grid, Layout Colum Count 는 2 를 선택하였습니다.
Member set 과 Data table 은 Master 와 Detail (prefix : _det ) 각각 생성되어집니다.
- Member set
- Data table
www.agadoss.com
262/264
- Form
- Object
- Event Object
www.agadoss.com
263/264
8. AUTO QUERY BUILD 이 장에서는 Agados 가 제공하는 자동 Query 생성 기능을 소개합니다.
DATABASE METADATA 활용
Database 의 metadata 를 활용하여 SQL 문장을 생성합니다.
① 사용할 DB Adapter 를 선택한다.
② Search 버튼을 Click 한 후 정상적으로 DB Table 이 아래 List에 나오는 지 확인한다.
③ DB Table List 에서 오른쪽 마우스를 Click 하여 Popup 을 호출한다.
④ 원하는 문장 유형을 선택한다. 문장이 오른쪽 Edit 에 나타나는 것을 확인한다.
⑤ Apply 버튼을 Click 한다. QUERY 편집 창에 선택된 문장이 Append 되는 것을 확인한다.
1 2
3
5
5
4
www.agadoss.com
264/264
QUERY BUILD 활용
Query build 을 활용하여 SQL 문장을 생성합니다.
자세한 사항은 별도의 가이드를 활용 하시기 바랍니다.
① 사용할 DB Table 을 선택할 수 있습니다.
② Sub query, Union 및 Property 를 정의할 수 있습니다.
③ Diagram 형식으로 SQL 문을 작성할 수 있습니다. 오른쪽의 Table 을 Drag 하여 사용자가 정의 할 수
있습니다.
④ 선택된 Column 에 대하여 Where, Group, Order 등을 정의할 수 있습니다.
⑤ 위에서 정의된 내역이 SQL 문장으로 변환 반영됩니다. 만약 여기서 사용자가 SQL 문장을 변경하게
되며 위의 Diagram 에 즉시 반영됩니다.
⑥ Query 노드 에서 기 정의된 SQL 문장이 반영됩니다.
⑦ Apply button 을 Click 하게 되면 Query 노드에 정의 된 SQL 문장이 반영됩니다.
Replace Field {REP_FIELD} 로 표현되어지는 부분은 Query Builder 에서는
‘{REP_FIELD}’ 로 표현됩니다. 또한 Query Builder 에서의 ‘{ , }’ 문자는
{ , } 로 변경되어 Query 노드에 반영됩니다.
2 1 3
6
5 5
4
5
7