매뉴얼

Similar documents
Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다.

Interstage5 SOAP서비스 설정 가이드

슬라이드 1

Microsoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx

슬라이드 1

PowerPoint Template

Data Sync Manager(DSM) Example Guide Data Sync Manager (DSM) Example Guide DSM Copyright 2003 Ari System, Inc. All Rights reserved. Data Sync Manager

슬라이드 1

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과

4S 1차년도 평가 발표자료

을풀면된다. 2. JDK 설치 JDK 는 Sun Developer Network 의 Java( 혹은 에서 Download > JavaSE 에서 JDK 6 Update xx 를선택하면설치파일을

Windows 8에서 BioStar 1 설치하기

소프트웨어공학 Tutorial #2: StarUML Eun Man Choi

Corporate PPT Template

교육2 ? 그림

ISP and CodeVisionAVR C Compiler.hwp

Dialog Box 실행파일을 Web에 포함시키는 방법

슬라이드 1

JAVA PROGRAMMING 실습 08.다형성

쉽게 풀어쓴 C 프로그래밍

Chapter 1

표준프레임워크 Nexus 및 CI 환경구축가이드 Version 3.8 Page 1

PowerPoint Presentation

이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론

제이쿼리 (JQuery) 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호

var answer = confirm(" 확인이나취소를누르세요."); // 확인창은사용자의의사를묻는데사용합니다. if(answer == true){ document.write(" 확인을눌렀습니다."); else { document.write(" 취소를눌렀습니다.");

DE1-SoC Board

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

PowerPoint Template

서현수

server name>/arcgis/rest/services server name>/<web adaptor name>/rest/services ArcGIS 10.1 for Server System requirements - 지

슬라이드 1

PRO1_04E [읽기 전용]

NTD36HD Manual

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp");

Install stm32cubemx and st-link utility

제11장 프로세스와 쓰레드

Remote UI Guide

Solaris Express Developer Edition

PowerPoint Presentation

Splentec V-WORM Quick Installation Guide Version: 1.0 Contact Information 올리브텍 주소 : 경기도성남시분당구구미로 11 ( 포인트타운 701호 ) URL: E-M

gnu-lee-oop-kor-lec06-3-chap7

Microsoft PowerPoint - chap01-C언어개요.pptx

No Slide Title

JDK이클립스

chapter1,2.doc

API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Docum

슬라이드 1

쉽게 풀어쓴 C 프로그래밊

PRO1_02E [읽기 전용]

슬라이드 1

6. 설치가시작되는동안 USB 드라이버가자동으로로드됩니다. USB 드라이버가성공적으로로드되면 Setup is starting( 설치가시작되는중 )... 화면이표시됩니다. 7. 화면지침에따라 Windows 7 설치를완료합니다. 방법 2: 수정된 Windows 7 ISO

q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2

Network Programming

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일

MVVM 패턴의 이해

슬라이드 1

Admin Guide for dummy

. 스레드 (Thread) 란? 스레드를설명하기전에이글에서언급되는용어들에대하여알아보도록하겠습니다. - 응용프로그램 ( Application ) 사용자에게특정서비스를제공할목적으로구현된응용프로그램을말합니다. - 컴포넌트 ( component ) 어플리케이션을구성하는기능별요

Microsoft PowerPoint - Smart CRM v4.0_TM 소개_ pptx

Intro to Servlet, EJB, JSP, WS

DocsPin_Korean.pages

PowerPoint 프레젠테이션

JDBC 소개및설치 Database Laboratory

오버라이딩 (Overriding)

API - Notification 메크로를통하여어느특정상황이되었을때 SolidWorks 및보낸경로를통하여알림메시지를보낼수있습니다. 이번기술자료에서는메크로에서이벤트처리기를통하여진행할예정이며, 메크로에서작업을수행하는데유용할것입니다. 알림이벤트핸들러는응용프로그램구현하는데있어

Microsoft Word - src.doc

PowerPoint Presentation

vRealize Automation용 VMware Remote Console - VMware

게임 기획서 표준양식 연구보고서

Javascript

2장 변수와 프로시저 작성하기

10X56_NWG_KOR.indd

PowerPoint 프레젠테이션

목차 데모 홖경 및 개요... 3 테스트 서버 설정... 4 DC (Domain Controller) 서버 설정... 4 RDSH (Remote Desktop Session Host) 서버 설정... 9 W7CLIENT (Windows 7 Client) 클라이얶트 설정

C. KHU-EE xmega Board 에서는 Button 을 2 개만사용하기때문에 GPIO_PUSH_BUTTON_2 과 GPIO_PUSH_BUTTON_3 define 을 Comment 처리 한다. D. AT45DBX 도사용하지않기때문에 Comment 처리한다. E.

Orcad Capture 9.x

OnTuneV3_Manager_Install

01장

초보자를 위한 ADO 21일 완성

Endpoint Protector - Active Directory Deployment Guide

[Brochure] KOR_TunA

슬라이드 1

[ 그림 8-1] XML 을이용한옵션메뉴설정방법 <menu> <item 항목ID" android:title=" 항목제목 "/> </menu> public boolean oncreateoptionsmenu(menu menu) { getme

Microsoft Word - CooCox

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D D382E687770>

PowerPoint Template

목차 윈도우드라이버 1. 매뉴얼안내 운영체제 (OS) 환경 윈도우드라이버준비 윈도우드라이버설치 Windows XP/Server 2003 에서설치 Serial 또는 Parallel 포트의경우.

J2EE & Web Services iSeminar

PowerPoint Presentation

(Microsoft PowerPoint - AndroG3\306\367\306\303\(ICB\).pptx)

1. Windows 설치 (Client 설치 ) 원하는위치에다운받은발송클라이언트압축파일을해제합니다. Step 2. /conf/config.xml 파일수정 conf 폴더에서 config.xml 파일을텍스트에디터를이용하여 Open 합니다. config.xml 파일에서, 아

PRO1_09E [읽기 전용]

JUNIT 실습및발표

슬라이드 1

문서의 제목 나눔고딕B, 54pt

Chap7.PDF

메일서버등록제(SPF) 인증기능적용안내서 (Exchange Windows 2000) OS Mail Server SPF 적용모듈 작성기준 Windows Server 2000 Exchange Server 2003 GFI MailEssentials 14 for

Transcription:

FRAME BUILDER Developer Guide FRAME BUILDER Version 2.0 Copyright 2003 Ari System, Inc. All Rights reserved. FRAME BUILDER are trademarks or registered trademarks of Ari System, Inc. 1-1

Table of Contents CHAPTER 1 개요 1-4 1.1 개요... 1-4 1.2 이글을읽을대상... 1-4 1.3 참고해야할문헌들... 1-4 1.4 개발에필요한소프트웨어... 1-5 CHAPTER 2 NetBeans5.0 개발환경설정... 2-6 2.1 NetBeans 5.0 설치... 2-6 2.2 NetBeans 5.0 설정... 2-7 2.2.1 NetBeans 실행... 2-7 2.2.2 Project 를생성... 2-7 2.2.3 라이브러리추가... 2-7 2.2.4 프로젝트속성을설정... 2-9 2.2.5 Plug In Module 을설치... 2-11 2.2.6 Ari System의 JavaBeans Component 를 Palette 에추가... 2-13 CHAPTER 3 클라이언트어플리케이션... 3-17 3.1 개요... 3-17 3.2 FBPanel 을상속한모듈프로그램구현... 3-17 3.3 FBProc 을상속한모듈프로그램구현... 3-21 3.4 FBSystemInit Interface 를구현한모듈프로그램구현... 3-25 3.5 CombineTable 사용방법... 3-28 3.5.1 Table Properties 속성 ( 전체속성 )... 3-33 3.5.2 Header Properties 속성... 3-35 3.5.3 Body Properties 속성... 3-36 3.5.4 실행하기... 3-37 CHAPTER 4 서버어플리케이션... 4-39 1-2

4.1 개요... 4-39 4.2 FBServerProcess 를상속한모듈프로그램구현... 4-39 4.3 FBNtasServerProcess 를상속한모듈프로그램구현... 4-42 CHAPTER 5 서버 / 클라이언트통신... 5-48 5.1 개요... 5-48 5.1.1 call method... 5-48 5.1.2 executequery method... 5-49 CHAPTER 6 Database Access... 6-50 1-3

CHAPTER 1 개요 1.1 개요 이가이드는 FRAME BUILDER 환경에서서버 / 클라이언트어플리케이션을개발할수있도록 하기위하여 API 및샘플등을통하여자세한설명을기술한다. FrameBuilder 시스템에서어플리케이션개발은모두 Java Language 로개발하며, 크게서 버측과클라이언트측으로구분된다. FrameBuilder 어플리케이션을개발하기위해서는이가이드이외에 Api Doc 을같이참조해 야하며, 개발툴은 NetBeans 5.0 을기준으로설명한다. 1.2 이글을읽을대상 FRAME BUILDER Application 개발자. Java 개발경험자혹은자바 JFC(Swing) 개발경험자 1.3 참고해야할문헌들 1. FrameBuilder Administration Guide 1-4

1.4 개발에필요한소프트웨어 1. FrameBuilder 2.0 2. NetBeans 5.0 FrameBuilder 설치는 FrameBuilder Administrator Guide 를문서를참조하라. 1-5

CHAPTER 2 NetBeans5.0 개발환경설정 2.1 NetBeans 5.0 설치 NetBeans 5.0을설치하기위해서는반드시 JDK 1.4.2 이상이필요하다. www.javasoft.com 에서 JDK1.5(J2SDK 5.0) 와 NetBeans 5.0 이함께설치되는버전을다운받거나, www.javasoft.com 에서 JDK 를다운로드하고, www.netbeans.org 에서 NetBeans 5.0 을받아서설치하도록한다. 먼저 JDK1.5(J2SDK 5.0) 와 NetBeans 5.0 이묶여있는버전의경우 (J2SE and NetBeans IDE Bundle (NB 5.0 / J2SE 5.0)) exe 형태의설치실행파일을실행만하면 JDK 와 NetBeans 가모두설치된다. JDK 와 NetBeans 를따로다운받아서설치할경우에는반드시 JDK 를먼저설치하도록한다. NetBeans 도 java 환경에서동작되어지므로반드시 JDK 가필요하다. 이경우에는 JDK 1.5 가아니라다른 JDK 버전을설치하고자할경우수행하는방식이다. FrameBuilder 2.0 윈도우설치프로그램은 JDK 가포함되어있으며, 버전은 JDK 1.4.2 이 다. 따라서, NetBeans 를설치할때혹은컴파일할때버전에대해서고려하길바란다. JDK 1.5 를기반으로 NetBeans 5.0 으로설치했다면 FrameBuilder 의 JDK 를 JDK 1.5 로교체를해주도록한다. 그렇지않다면, NetBeans 5.0 을설치할때 JDK 를 1.4.2 버전으로설치하도록한다. 2-6

2.2 NetBeans 5.0 설정 NetBeans 를설정하기전에 FrameBuilder 를실행하고, Web Browser 로로그인을해주기 바란다. 로그인을하게되면, 배포가이루어지고, 클라이언트로써설정이된다. 이는클라이언트 개발을할때필요하기때문이다.(FrameBuilder Administration Guide 참조 ) 2.2.1 NetBeans 실행 2.2.2 Project 를생성 File -> New Project -> General -> Application Project Name 을입력하고, 프로젝트디렉토리를설정한다음 Create Main Class CheckBox 를해제한다음 Finish 버튼을누르면프로젝트가생성이된다. 2.2.3 라이브러리추가 Libraries Node 에마우스오른쪽버튼을눌러서 Add JAR/Folder 를선택한다. FrameBuilder 가설치된디렉토리아래에 DevLib 디렉토리의모든 JAR 파일을선택한다. 2-7

com-arisystem-fb-fbnetbeans50pluginmodule.nbm 파일이외의모든 JAR 파일을선택 후 열기 버튼을누른다. 2-8

선택되어진모든 JAR 파일은 Libraries 노드에설정이되어, 어플리케이션을생성하여컴파일 혹은테스트 / 디버깅목적으로실행할경우에참조하게된다. 2.2.4 프로젝트속성을설정 프로젝트이름을선택하고, 마우스오른쪽버튼을눌러서 Popup Menu 의프로젝트 Properties 메뉴를선택한다. 2-9

아래화면과마찬가지로 Run 노드를선택하고 Main Class : startup.devstartup VM Option : -Xms20m -Xmx100m - Djava.library.path=C:\FrameBuilder\files\{SERVER_ID}\system;C:\FrameBuilder\fil es\{server_id}\common 주의할것은 {SERVER_ID} 에실제 SERVER_ID 를입력해야한다. 그디렉토리를확 인하기위해서는 FrameBuilder 로로그인한뒤에 C:\FrameBuilder\files 디렉토리의 서브디렉토리를보면확인해볼수있다. 2-10

2.2.5 Plug In Module 을설치 Tools -> Update Center Install Manually Downloaded Modules(.nbm Files) 라디오버튼을선택하고 Next 버튼을누른다. 2-11

우측의 Add 버튼을눌러서 com-arisystem-fb=fbnetbeans50pluginmodule.nbm 파일을추가한다. Next > 버튼을누른다. 2-12

계속진행하다가 License Agreement 에서는 Accept 버튼을눌러준다. 아래화면에서 Include 와 Global 의 check box 는체크해주고, Finish 버튼을눌러준 다. 2.2.6 Ari System 의 JavaBeans Component 를 Palette 에추가 Tools -> Palette Manager -> Swing/AWT Components 2-13

아래화면에서보는바와같이 New Category 버튼을눌러서새로운 Category 를하나 생성한다. Add from JAR 버튼을눌러서 FrameBuilder 가설치된디렉토리의 DevLib 디렉토리를 찾는다. 그 DevLib 디렉토리아래에 aribeans.jar 파일을선택하고 Next > 버튼을 누른다. 아래화면은 aribeans.jar 파일에정의되어있는 JavaBeans Component 의리스트를나타내 고있다. 이들모두선택을하고, Next > 버튼을누른다. 2-14

앞에서 New Category 버튼을눌러서새로이생성한 AriBeans 라는 Category 를선택 한뒤 Finish 버튼을누른다. JavaBeans Component 가추가된내용을확인해볼수있다. 2-15

2-16

CHAPTER 3 클라이언트어플리케이션 3.1 개요 FrameBuilder 클라이언트는 GUI 를표현하기위하여 Java 의 JFC(Swing) 컴포넌트를사용 했으며, 클라이언트개발자는 GUI 를표현하기위하여이들컴포넌트의아키텍쳐와 API 에익숙 해야한다. FrameBuilder 클라이언트용어플리케이션모듈프로그램 (FBInterface) 을구현할때실행되는 Start Point 는 main method 가아니다. 모듈프로그램은 life cycle 을가지며, 이라이프 사이클과이벤트발생시적절한동작을구현하면된다. 클라이언트는 FBInterface 를구현한 FBPanel 과 FBProc 를상속받아서구현한다. < 상속관계이미지 > 3.2 FBPanel 을상속한모듈프로그램구현 FBPanel 을상속한클래스는클라이언트에서 MDI 의 Inner Form 혹은 Embed Applet 의 하나의단위화면으로표현된다, testpkg 라는이름의 package 를하나생성한다. File -> New -> File/Folder -> Java Classes -> Java Pakage Tree 에서 testpkg Node 에서마우스오른쪽버튼을누르고아래화면과같이 File/Folder 를선택한다. 3-17

FrameBuilder -> FBPanelClass.java 를선택하고 Next > 버튼을누른다. 아래화면에서 File Name 입력란에 TestFBPanel 을입력하고 Finish 버튼을누른다. 3-18

버튼을하나올려놓고버튼위에마우스오른쪽버튼을누른후이벤트를생성시킨다. 이벤트가발생했을때메시지다이얼로그를나타내는코드를입력한다. Build Project 를수행하여컴파일및 JAR 파일을생성한다. 3-19

프로젝트 Root 디렉토리에서 dist\javaapplication2.jar 파일이생성됨을확인할수있다. 파일을배포하기전에동작을확인하기위하여메뉴등록을하고수행을해본다. 프로젝트를선택하고마우스오른쪽버튼을눌러서 Run Project 메뉴를누른다. 아래의화면이나타나고, 서버에접근하기위한적절한값을입력하고 Login 버튼을누른다. - 서버를설치하면 Default id/password 는 adm/adm 이므로참고하기바람. 관리자그룹에서 메뉴설정 관리툴을실행하여메뉴그룹과 Top 메뉴와실행메뉴를생성하 여실행클래스 (URL) 입력란에 testpkg.testfbpanel 을입력하고저장한다. 등록된메뉴를선택하여이프로그램을실행하고 Click Me! 버튼을누르면아래와같은 3-20

화면이나타난다. 3.3 FBProc 을상속한모듈프로그램구현 클라이언트에서사용되는클래스이며, MDI InnerFrame, Embed Applet 등화면에직접적으 로나타나지는않지만, 아래와같은용도에적용한다. 1. 시작메뉴에등록하여 background 에서 daemon 형태의서비스를하고자할경우. 2. 일반메뉴에등록하여외부프로세스를실행하고자할경우. Tree 에서 testpkg Node 에서마우스오른쪽버튼을누르고아래화면과같이 File/Folder 를선택한다. 3-21

FrameBuilder -> FBPanelClass.java 를선택하고 Next > 버튼을누른다. 아래화면에서 File Name 입력란에 TestFBPanel 을입력하고 Finish 버튼을누른다. 3-22

아래와같은소스코드가생성이된다. 여기에서 start method 를 override 해서웹브라우져를실행하는코드를삽입해보겠다. 3-23

Build Project 를수행하여컴파일및 JAR 파일을생성한다. 프로젝트 Root 디렉토리에서 dist\javaapplication2.jar 파일이생성됨을확인할수있다. 파일을배포하기전에동작을확인하기위하여메뉴등록을하고수행을해본다. 프로젝트를선택하고마우스오른쪽버튼을눌러서 Run Project 메뉴를누른다. 아래의화면이나타나고, 서버에접근하기위한적절한값을입력하고 로그인 버튼을누른다. - 서버를설치하면 Default id/password 는 adm/adm 이므로참고하기바람. 3-24

관리자그룹에서 메뉴설정 관리툴을실행하여메뉴그룹과 Top 메뉴와실행메뉴를생성하 여실행클래스 (URL) 입력란에 testpkg.testfbproc 를입력하고저장한다. 해당메뉴를실행하면웹브라우져가실행되면서 www.google.com 사이트로이동됨을확인할 수있다. 만일시작메뉴에이프로그램을등록하게되면, 로그인할때한번만실행될것이다. 3.4 FBSystemInit Interface 를구현한모듈프로그램구현 클라이언트에서사용되는 Interface 이며, MDI InnerFrame, Embed Applet 등화면에직접적으로나타나지않으며, 단지시작메뉴에등록되어 framebuilder client 가처음실행될때한번실행되는 Interface 이다. FBProc 와다른점은시작메뉴에만등록할수있으며, 일반메뉴에는등록되어사용할수없으며, FBProc 와달리네트워크와세션이설정되지않은상황에서수행이된다. 따라서이클래스를구현하는목적은 Look And Feel 등과같이 JVM 로딩초기에설정해주어야할필요성이있는경우에구현한다. Tree 에서 testpkg Node 에서마우스오른쪽버튼을누르고 File/Folder 를선택한다.( 이 미지생략 ) FrameBuilder -> FBSystemInitClass.java 를선택한다. 3-25

File Name 입력란에 TestFBSystemInit 을입력하고 Finish 버튼을누른다. 아래생성된코드에서 initialize 메소드를구현한다. 3-26

아래와같이구현하여시작메뉴에등록하면, FrameBuilder Client 전체 UI 가변경될것이다. 3-27

3.5 CombineTable 사용방법 CombineTable 은 FrameBuilder 에서제공하고있는 JavaBeans 중에서 Customize 를제 공하고있는 JavaBeans 이다. 따라서제공하고있는 Customize 를사용하는방법에관해설 명한다. CombineTable 은테이블을구현할때개발자가코드레벨에서구현하지않고, 시각적으로쉽게디자인할수있도록돕고있다. CombineTable 이외에도훌륭한 Table JavaBeans 가많이있겠지만, 생산성과기능, 유지보수등을고려해볼때여러가지로장점을가지는툴이라고할수있다. 개발자들이어플리케이션을개발하는데 Table 컴포넌트로구현하는비율은다른컴포넌트에비해많은시간을할애하는게사실이다. CombineTable 은개발자가좀더쉽게 table 을구현하고, 고품질의어플리케이션을개발할수있으며, 쉽게접근할수있도록돕는다. 샘플코드를통하여디자인방법과사용법을설명하겠다. 아래와같이 FrameBuilder -> FBPanelClass.java 를통하여 FBPanel 을하나생성한다. 클 래스이름은 TestCombineTable 으로입력한다. Palette -> Ari Beans -> CombineTable 을선택해서 Panel 위에올려놓는다. 3-28

CombineTable 을선택하고마우스오른쪽버튼을눌러서 Customize 메뉴를선택하면, 아래와같이디자인화면이나타난다. 3-29

1. Header 에컬럼정의 마우스를 cell 에올려놓고 Drag 하면검은색으로 cell 채워진다. 마우스오른쪽버튼을눌러서 New CombineCell 메뉴를선택한다. 3-30

Name, Title 을입력한다. 필요하다면다른속성도정의하고 Ok 버튼을누른다. Header 를아래와같이설정한다. Name Title TestCell_1 CELL 1 TestCell_2 CELL 2 TestCell_3 CELL 3 Header 의 Name 은 Header 내에서서로중복될수없다. 하지만, Header 와 Body 의 Name 중복은허용한다. Body 에 Cell 을설정한다. 3-31

Name TestCell_1 TestCell_2 TestCell_3 Body 의 Name 은 Body 내에서서로중복될수없다. 하지만, Body 와 Header 의 Name 중복은허용한다. Cell 이디자인되었다면연두색의책갈피가나타난다. 만약 cell 을수정하고자한다면연두색의책갈피가있는 cell 을클릭한다. 3-32

Cell 의영역을변경하려면 에마우스를올려서클릭한다음 Drag 하면영역을변경할수있 으며, cell 위치를변경하려면에마우스를올려서클릭한다음 Drag 해서위치를변경할수있다. 다른속성을변경하려면마우스오른쪽버튼을눌러서팝업메뉴를띄운다음 Edit CombineCell 을선택하여 cell 의속성을변경할수있다. Properties Area 에는 Combine Table 에관련된속성을설정할수있다. 다음은속성에대 해서자세히설명한다. 3.5.1 Table Properties 속성 ( 전체속성 ) 3-33

- Cell Count : 열의개수를설정한다. - Fixed Column Count : Auto Resize Mode 가 AUTORESIZE_OFF 로설정되었을경우에만반응을한다. AUTORESIZE_OFF 가아닐경우에는모든컬럼이 TABLE 넓이만큼자동으로조절이되어모든컬럼이나타나게되므로 Fixed Column 을설정에의미가없다. 만일 Auto Resize Mode 가 AUTORESIZE_OFF 이고 Fixed Column Count 가 1 이라면첫번째컬럼은고정되고그나머지컬럼들이테이블넓이보다더넓은상태에서수평으로스크롤된다. 그효과는아래이미지와같다. - Auto Resize Mode : column 을 resize 할때 column 들의크기를조절하는방식을 정의한다. - Horizental/Vertical Scrollbar Policy : 스크롤바가나타나는정책을정의한다. - Background Color : Body 영역에서데이터가나타나고남은영역의배경색을설정한다. - Set match sort columns : Header 를눌렀을때정렬되는 Body 를설정한다. Header 의 cell 이눌려졌을때정렬되는 Body 컬럼이하나이상정의할수있다. 아래이미지는 Header 에정의된 TestCell_1 을눌렀을때 Body 의 TestCell_1 이정렬되고, Header 에정의된 TestCell_2 를눌렀을때는 Body 의 TestCell_2 와 TestCell_3 이정렬되도록정의하고있다. 3-34

3.5.2 Header Properties 속성 - Row Count : Header 의 cell 의 row 수를설정한다. - Cell Height : Header Cell 의 Pixel 단위의높이를설정한다. - Font : Header 의 Font 를설정한다. - Font Color : 글자색을설정한다. - Back Color : 글자의배경색을설정한다. - Gradient Color : 입체효과를표현하기위한색상을설정한다. 색상을선택하더라도 checkbox 에 check 되지않는다면영향을받지않는다. 3-35

3.5.3 Body Properties 속성 - Row Count : Body 의 cell 의 row 수를설정한다. 하나의 row 를표현하는데여러층 의 cell 을정의할수있다. - Cell Height : Body Cell 의 Pixel 단위의높이를설정한다. - Font : Body 의 Font 를설정한다. - Font Color : 글자색을설정한다. - Background Color : 글자의배경색을설정한다. - Odd Background Color : 여러 Row 중에서짝수 Row 일경우에배경색을설정한다. - Line Color : Cell 과 Cell 사이의구분선색상을설정한다. - Selected Row Font Color : 선택되었을경우글자색을설정한다. - Selected Row Background Color : 선택되었을경우 Row 의배경색을설정한다. - Selected Row Focus Lost Font Color : 선택되었으나 Focus 를가지고있지않을때 글자색 - Selected Row Focus Lost Background Color : 선택되었으나 Focus 를가지고있 지않을때배경색 - Multiple Selection : 여러개의 Row 를선택할수있도록설정한다. 3-36

- Enter Key Action : Cell 편집상태에서 enter key 를눌렀을경우에다음 cell 로이동 할것인지혹은다음 row 로이동을할것인지를설정한다. - Enabled Selection : Row 를선택하지못하게설정할수있다. - Group By : Row 와 Row 사이에서로 Data 값이같을경우에하나의 cell 로표현할 수있도록설정할수있다. 아래는이미지는 TestCell_1 의 cell 이이전과이후의값이같 을경우에는하나의 cell 로표현하도록한다. 주의할것은, Table 디자인을모두마친후, 좌측상단에있는 Apply 번튼을눌러서반영 을해주어야한다. 만일이버튼을누르지않고종료한다면, 디자인된내용이전혀반영되지않 을것이다. 3.5.4 실행하기 여기서는간단한코드를작성해서결과를확인한다. 버튼을하나추가해서, 버튼이눌리면 combine table 에하나씩 row 를추가하도록하는코드 를구현한다. 3-37

아래코드를작성한다. 위의표시한 TestCell_1, TestCell_3, TestCell_3 은 combine table 디자인시정의한각각 cell 들의이름이다. 아래는실행한결과화면이다. 3-38

CHAPTER 4 서버어플리케이션 4.1 개요 FrameBuilder 서버개발자는주로 Business 로직을구현한다. 이는 Database 에접근하여 데이터를조작하는작업을의미한다. Jdbc 를조작했던경험이있는개발자는별어려움없이쉽게접근할것이다. 서버개발은자바기반의 WAS 에서 Beans 를구현하는것과별다른차이는없으며, 몇가지정 해진스펙에맞추어구현하면된다. 4.2 FBServerProcess 를상속한모듈프로그램구현 FrameBuilder 및 Java 전용서버비즈니스로직을구현하기위한클래스이다. 아래와같이클래스를생성한다. 4-39

FrameBuilder -> FBServerProcessClass.java 를선택한다. 클래스이름을 TestFBServerProcess 으로입력을하고 Finish 버튼을누른다. 4-40

클라이언트가서버에게요청을했을때서버측의 execute 메소드가수행이된다. Object paramobject 는클라이언트가요청시넘겨준객체를넘겨받는다. 이파라메타객체는네트웍을통해서넘어오므로클래스타입은반드시 java.io.serializable 을 implements 한클래스타입이어야한다. 서버가수행하는것을확인하기위하여앞에서구현했던 TestFBPanel 클래스를수정하여서버 가동작되는것을확인해볼것이다. 을아래의코드로변경한다. 서버측코드는아래와같이구현한다. Build Project 를실행하여 JavaApplication2.jar 을생성한다음 FrameBuilder 를실행한 다. 관리자그룹메뉴의 배포파일 툴을이용하여 JavaApplication2.jar 파일을배포한 4-41

다.( 주의 : 배포스케줄반영 을이용하여반드시스케줄적용버튼을눌러서반영을해주어야 한다.) 서버측은 JavaApplication2.jar 파일을 {context root path}/web-inf/lib 디렉토리아래에 복사한다. Web 서버를다시기동한다 (Ntas 의경우에는 Web Refresh 를수행 ) 웹브라우져를실행하고, FrameBuilder 서버에로그인한다. testpkg.testfbpanel 이등록된메뉴를실행하여, Click Me! 버튼을누르면아래와같 은결과가나타난다. 4.3 FBNtasServerProcess 를상속한모듈프로그램구현 FrameBuilder 및 Java 뿐만아니라, 다양한플랫폼혹은프로그래밍언어에서접근이가능하도록하기위한방법이다. 이클래스는 Ntas 의 BaseProcess 를상속한클래스이다. 또한이것은 Ntas 의 PSDT 툴을이용하여프로토콜을생성하는과정이필요하며, 이가이드에서는 PSDT 사용법은생략한다. Ntas 의자료를참조하기바란다. 먼저 PSDT 툴을이용하여코드를생성한다. 1. 메시지를디자인한다. 4-42

2. 메시지와 Process 를생성한다. 3. Message 를선택하고파일을생성하기위한디렉토리를설정하고 Create 버튼을눌러 서소스코드를생성한다. 4-43

4. 소스코드가생성되었음을확인할수있다. - TestFBNtasServerMessage.java 5. NetBeans 에서 FBNtasServerProcessClass.java 를선택하여 FBNtasServerProcess 클래스를하나생성한다. 4-44

Finish 버튼을누르면아래와같은코드가생성이된다. 4-45

클라이언트가서버에게요청을했을때서버측의 execute 메소드가수행이된다. 파라메타인 BaseMessage msg 는실제 TestFBNtasServerMessage 타입이며, 클라이언트가요청시 넘겨준메시지객체를넘겨받는다. 서버가수행하는것을확인하기위하여앞에서구현했던 TestFBPanel 클래스를수정하여서버 가동작되는것을확인해볼것이다. 클라이언트코드는아래와같이작성한다. 서버측코드는아래와같이코드를작성한다. Build Project 를실행하여 JavaApplication2.jar 을생성한다음 FrameBuilder 를실행한다. Administration 그룹메뉴의 Deploy Files 툴을이용하여 JavaApplication2.jar 파일을 Deploy 한다.( 주의 : Reflection Deploy Schedule 툴을이용하여반드시 Reflection 버튼을눌러서반영을해주어야한다.) 서버측은 JavaApplication2.jar 파일을 {context root path}/web-inf/lib 디렉토리아래에 복사한다. 4-46

Web 서버를다시기동한다 (Ntas 의경우에는 Web Refresh 를수행 ) 웹브라우져를실행하고, FrameBuilder 서버에로그인한다. testpkg.testfbpanel 이등록된메뉴를실행하여, Click Me! 버튼을누르면아래와같 은결과가나타난다. 4-47

CHAPTER 5 서버 / 클라이언트통신 5.1 개요 FrameBuilder 서버와통신하는기능을담당하는클래스는 com.arisystem.beans.framebuilder.connectionmanager 클래스이다. 이클래스는 FrameBuilder 서버와통신을하기위한클래스로서 FrameBuilder 이외의다른 서버와의통신은지원하지않으며, FrameBuilder 서버와의통신만을지원한다. 여기서는 ConnectionManager 클래스의사용방법과메소드들에대한설명을기술한다. ConnectionManager 클래스의객체생성방법 - ConnectionManager.getInstance(); 메소드들은크게 call, executequery 두개의명칭으로구분되어있다. 5.1.1 call method call method 는 ntas 메시지통신과 java 객체통신 2 가지방법이있다. Java 객체통신에서는반드시서버에서실행될 process class full name 을 string 으로명시 해야한다. 또한, 서버에넘겨주는파라메타는 java.io.serializable 을 implements 한클래스 객체이어야한다. Ntas 메시지통신은메시지객체를넘기게되면그메시지의클래스타입명을기준으로 process 5-48

를찾게된다. 따라서메시지의명명규칙을반드시따라야만한다. 예 ) TestNtasMessage 메시지에대응하는 process 는 TestNtasProcess call 메소드중파라메타에서버정보 (httphost, httpport, contextpath) 가없을경우 에는로그인한 FrameBuilder 서버에요청을하게된다. 특정한서버정보를명시할경우에는 명시한서버의 FrameBuilder 서버에게요청을하게된다. 5.1.2 executequery method 일반적으로 database 조작과관련된작업즉비즈니스로직구현은서버측 process 클래스에서담당한다. 하지만, 비즈니스로직이없는단순 select 문장에의해데이터를간단한 query 하는경우에 executequery method 를통하여데이터를가져올수있도록하였다. 만일, 이메소드를사용하지않을경우 ( 정책적으로클라이언트가 database의데이터를접근하지못하게할경우 ), 개발자 / 설계자는 database 접근에관련된모든행위에대하여 process 를작성해야한다. 클라이언트가 select 문장을넘겨주기는하지만, 실제적으로 database 를접근하는것은 FrameBuilder 서버에서담당하고, FrameBuilder 서버는 query 결과를클라이언트에게전달 할뿐이다. executequery 메소드중파라메타에서버정보 (httphost, httpport, contextpath) 가 없을경우에는로그인한 FrameBuilder 서버에요청을하게된다. 특정한서버정보를명시할 경우에는명시한서버의 FrameBuilder 서버에게요청을하게된다. 5-49

CHAPTER 6 Database Access FrameBuilder 는 Servlet Container 를제공하는서버에서동작된다.( 이하 WAS) 그리고, 이 WAS 는 JNDI 를반드시제공하여야하며, FrameBuilder 는 JNDI 를통하여 database 에 접근한다. 6-50