메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

IT/모바일

Enterprise Flex RIA 해부(1) : Enterprise Flex RIA를 위한 도구소개

한빛미디어

|

2008-07-04

|

by HANBIT

11,893

제공 : 한빛 네트워크
저자 : Tony Hillerson
역자 : 유찬곤
원문 : Anatomy of an Enterprise Flex RIA Part 1: The Tools You’ll Want

Enterprise Flex RIA 분석 시리즈 중, 이번 회에서는 연재가 진행되는 동안 사용할 도구들을 설치할 것이다. 따라서 여기에서 소개하는 도구들은 모두 설치 한 후, 각 도구의 역할과 기능을 자세히 살펴보기 바란다. 여기서 소개하는 도구들은 “엔터프라이즈 소프트웨어"를 개발하는데 있어서 공통적으로 필요한 도구들이다.

src 디렉토리는 프로젝트 main의 소스코드를 저장하며, 같은 수준의 test 폴더에는 테스트 코드를 저장할 것이다. 코드는 main 디렉토리와 test 디렉토리에 저장되며 언어의 타입에 따라 구성될 것이다. 이 경우 java 디렉토리는 데이터 프로젝트에 자바코드를 저장하며 javaflex 디렉토리는 웹 프로젝트에 자바코드를 저장할 것이다.
이번 회에서는 LCDS와 EJB 3.0의 기술을 통합하는 작은 애플리케이션을 살펴보고 RIA와 엔터프라이즈 환경을 통합하기 위한 경량의 개발환경을 구축하는데 필요하며 작업시간을 단축시킬 수 있는 여러 도구의 활용방법을 살펴볼 것이다.

Tools
이번 섹션에서는 앞으로 우리가 사용할 도구를 살펴본다. 여기에서 소개하는 도구들이 여러분의 컴퓨터에 아직 설치되어 있지 않다면 다운로드 받아 설치하기 바란다.

MySQL
MySQL은 엔터프라이즈 환경의 크로스플랫폼을 지원하는 오픈소스 데이터베이스 서버이다. 다른 데이터베이스 서버를 사용하고 있더라도 이번 연재에서는 MySQL을 사용할 것을 권장한다. MySQL은 http://http://dev.mysql.com/downloads/mysql/에서 구할 수 있으며, 다운로드 후 지시에 따라 설치하기 바란다. 그 외 유용한 도구는 http://dev.mysql.com/downloads/gui-tools/에서 구할 수 있다.

Java
Java는 비즈니스 애플리케이션을 작성하는데 적합한 언어이자 플랫폼이다. Java는 강력한 플랫폼 지원과 플랫폼 독립적인 가상머신, 그리고 상대적으로 배우기 쉬운 C언어와 유사한 문법(syntax)으로 인하여 비즈니스세계에서 전폭적인 지원을 받은 최초의 대중적 객체지향언어이다. Java는 우리가 사용할 다른 도구들에 앞서 설치해야 하며 http://www.java.com/en/download/에서 다운로드 할 수 있다. 다운로드 후 사용 중인 플랫폼에 알맞게 설치하고 명령행 창에서 "java -version"를 실행하여 Java의 정상 설치 여부를 확인한다.

Ant
Ant는 자바기반의 빌드 자동화를 위한 도구이다. Ant를 이용하면 컴파일, 시스템 실행, 시스템 상에서 파일의 복사, 이동과 같은 일련의 작업을 쉽고 빠르게 처리할 수 있다. Ant를 설치하기 위해서는 http://ant.apache.org/에서 다운로드 받은 후, 사용 플랫폼에 따라 설치한다. Ant의 정상설치 여부는 "ant -version"으로 확인할 수 있다.

Maven
Maven은 Ant와 비슷하지만 많은 다른 특징과 철학이 있다. Maven 제작자는 각 프로젝트는 빌드프로세스 관점에서 공통적인 면이 있다고 보았고 새로운 프로젝트를 시작할 때마다 수행하는 공통의 태스크 혹은 프로세스 작업을 효율적으로 처리하고자 했다. Maven은 빌드를 단순히 자동화하는 도구가 아닌 빌드프로세스를 관리하는 도구이며 코드 프로젝트 관리 도구이다. 그리고 우리의 프로젝트가 어떻게 구성되어야 하는지에 대한 좋은 아이디어를 제공한다.
Maven은 또한 Java를 위한 훌륭한 의존성 관리시스템을 제공한다. 우리가 할 일은 우리의 프로젝트가 어떤 JAR파일에 의존하는지 리스트를 작성하는 것이다. 그러면 그 리스트를 토대로 Maven은 JAR 사이의 의존성 확인뿐만 아니라 JAR를 온라인상에서 찾을 것이다. 이러한 작업은 컴파일 타임에 사용 가능하며 필요한 경우 우리의 프로젝트의 산출물과 함께 패키지될 수 있다.
Maven을 설치하기 위해서는 http://maven.apache.org/download.html에서 다운로드하고 사용 중인 플래폼에 알맞게 설치 후 "mvn -v"을 이용하여 정상설치 여부를 확인한다.

DDLUtils and DBUnit
DDLUtils와 DBUnit는 데이터베이스가 포함하는 데이터뿐만 아니라 데이터베이스의 구조를 관리하기 위해서 사용한다. DDLUtils는 데이터베이스 스키마를 데이터베이스-애그노스틱 형태로 정의할 수 있도록 하며 빌드 프로세스의 일부 과정으로서 팀에서 스키마를 자동으로 업데이트할 수 있도록 해준다.
DBUnit은 데이터를 위한 테스트프레임워크이다. DBUnit은 XML 형태로 데이터 집합을 정의하고 테스트 진행과정에서 데이터를 로드한 후 프로세스의 적절한 곳에서 종료하도록 한다. DBUnit은 Maven이 가져오며 DDLUtils 라이브러리는 Maven 라이브러리 패키지에 포함된다.

TestNG
TEstNG는 Java 테스트 프레임워크로서 우리가 작성할 자바코드의 유닛테스트를 수행하며 Maven이 DBUnit과 더불어 TestNG를 가져올 것이다.

EJB3.0
EJB3.0은 우리 프로젝트에서 중요한 역할을 수행하는 도구 중에 하나이다. EJB3.0은 최소한의 환경설정으로 Java 객체가 빠르고 쉽게 데이터베이스에 반영되게 한다. EJB3.0 라이브러리는 Maven라이브러리 패키지에 포함되어 있다.

JBoss와 Embedded JBoss
JBoss는 EJB3.0 스펙을 지원하는 오픈소스 J2EE 애플리케이션 서버이다. 우리는 또한, 서버를 이용하지 않고도 지속적인 테스트를 수행하기 위하여 Embedded JBoss라고 하는 JBoss 프로젝트를 사용할 것이다.
JBoss를 설치하기 위해서는 http://labs.jboss.com/jbossas/download에서 다운로드 받은 후 지시에 따라 사용 플랫폼에 알맞게 설치한다. Embedded JBoss 라이브러리 설치는 소스코드 설치지시를 따른다.

Eclipse와 Flex Builder
Eclipse는 강력한 자바 개발을 지원하는 산업표준 IDE플랫폼이다. 어도비의 Flex Builder는 Eclipse의 플러그인이며 Flex를 개발하는 가장 쉬운 방법이다. 그러나 Flex SDK는 Flex를 컴파일하기 위한 명령행 라인 도구를 가지고 있기 때문에 반드시 필요한 것은 아니다. 우리는 Flex 자원의 컴파일을 자동화하기 위해서 Ant와 Maven을 사용할 것이다.
Eclipse를 설치하기 위해서는 http://www.eclipse.org/downloads/에서 최신 Eclipse SDK를 다운로드하고 플랫폼에 맞게 지시에 따라 설치한다. Flex Builder(30일 시험 사용판)을 설치하기 위해서는 http://www.adobe.com/products/flex/flexbuilder/에서 지시에 따라 다운로드하고 Flex Builder 플러그인(스탠드얼론 버전이 아님)을 지시에 따라 설치한다. 이제 우리는 Java와 함께 Flex 작업을 할 수 있다.

Flex
Flex는 Flash 인터페이스 설계를 위한 명시적 언어(declarative language)이다. 내가 생각하기에 Flex는 사용에 있어서 강력한 편의성과 RIA를 개발하기 위한 플랫폼 독립성 사이의 균형을 제공하는 언어이자 플랫폼이다. Flex Builder를 설치했다면 SDK는 필요하지 않다. Flex Builder를 설치하기 위해서는 http://www.adobe.com/products/flex/sdk/에서 다운로드 후, 지시에 따라 설치하고 "mxmlc --version"를 실행하여 정상적으로 설치되었는지 확인할 수 있다.

LiveCycle Data Services
LCDS는 Flex 사용 시 엔터프라이즈 시스템에 연결 및 통신하는데 있어서 쉽고 강력한 방법을 제공하는 Java와 Flex 라이브러리이다. LCDS는, Flex가 자동적으로 프론트엔드 데이터의 변경을 백엔드로 보내어 변경을 동기화하고 관리하기 위한 데이터관리 서비스와 가끔씩 연결되는 클라이언트로부터의 변경을 관리하고 동기화하기 위한 충돌관리서비스를 제공하며 LCDS가 제공하는 다큐먼트 서비스로의 연결을 지원한다. LCDS라이브러리는 Maven 라이브러리 패키지에서 사용할 수 있다.

Cairngorm
약간 발음하기 어려운 Cairngorm은 Flex를 위한 마이크로 프레임워크이다. Cairngorm은 Flex 애플리케이션 아키텍쳐 설계 시 도움이 되는 많은 패턴을 제공함으로써 모듈방식의 표준 애플리케이션을 설계할 수 있도록 해준다. 따라서 개발자가 한번 Cairngorm에 익숙해지면 다른 airngorm 프로젝트는 빠른 속도로 작업할 수 있다. 모듈성은 또한 팀단위의 Flex 공동 프로젝트 진행을 원활하게 해준다. Cairngorm은 같은 애플리케이션을 위한 소스코드에 포함되어 있다.

Cairngen
Cairngorm은 작업 처리과정을 너무 자세하게 보여준다는 불평을 들어왔다. 각 명령은 이벤트 클래스와 명령 클래스를 필요로 하며 컨트롤러 클래스의 수정을 요구한다. 내가 생각하기에 Cairngorm은 EJB2.1과 비교해서 그다지 메시지를 자세히 보여주는 것 같지는 않으나 그 모든 클래스들을 직접 작성한다는 것은 매우 성가신 일이며 프로젝트의 시작에서와 같이 특히 한 번에 많은 명령을 처리한다면 더욱 그러할 것이다. Eric Feminella의 Cairngen과 같은 코드 생성기 (http://www.ericfeminella.com/blog/cairngen/)를 사용하면 그러한 성가신 일을 쉽게 줄일 수 있다. Cairngen은 같은 예제 애플리케이션에 포함되어 있다.

FlexUnit과 FlexUnit Ant Tasks
FlexUnit은 Flex를 위한 테스트 프레임워크이며 http://code.google.com/p/as3flexunitlib/에서 다운로드 할 수 있다. 어도비 컨설팅의 피터마틴은 브라우저와 같이 명령행 라인에서 .swf 파일을 실행하는 방법이 제공된다면 Ant로 FlexUnit 테스트를 가능하게 하는 Ant 태스크를 가지고 있다. 우리는 샘플프로젝트의 Maven Build 테스트 단계에서 FlexUnit 테스트를 수행할 때 Ant 태스크를 사용할 것이다. FlexUnit은 소스코드에 포함되어 있으며 Ant 태스크 라이브러리는 Maven 라이브러리 패키지와 함께 사용 가능하다.

다음 연재에서는 우리는 이번 시리즈에서 사용할 샘플 코드를 살펴볼 것이다. 그리고 언제든지 전체 (영문) 시리즈는 여기에서 볼 수 있다.
TAG :
댓글 입력
자료실

최근 본 책0