2008. 9. 2. 16:13

[BlazeDS] 개발 환경 설정 / Setting up your development environment

Reference : http://livedocs.adobe.com/blazeds/1/blazeds_devguide/build_apps_2.html#173418

BlazeDS 어플리케이션은 클라이언트와 서버 코드의 두 부분으로 이루어져 있습니다. 어플리케이션 개발을 시작하기 전에 개발 환경을 먼저 설정 하십시오. 

Installation directory structure
디렉토리 구조 설치

BlazeDS Turnkey ZIP 파일을 다운받았다면, 새로운 디렉토리에 압축을 푸십시오. 그 디렉토리에는 개발 환경의 토대로 사용될 수 있는 세 개의 웹 어플리케이션이 있습니다. BlazeDS Turnkey ZIP 파일 대신 blazeds.war 웹 어플리케이션 파일만 있는 BlazeDS 바이너리 배포 ZIP 파일을 다운 받아서 압축을 풀 수도 있습니다. BlazeDS 바이너리 배포 ZIP 파일로 설치할 때는 blazeds.war 파일을 어플리케이션 서버에 설치해야 합니다. BlazeDS 설치 가이드에서 더 많은 정보를 볼 수 있습니다.

아래의 예제는 BlazeDS Turnkey 와 함께 설치된 웹 어플리케이션의 디렉토리 구조를 보여주고 있습니다:

Directory structure of deployed Flex Data Services application 

BlazeDS Turnkey ZIP 파일에는 웹 어플리케이션을 호스트 하는 Tomcat 어플리케이션이 포함되어 있습니다. Tomcat 없이 BlazeDS를 설치할 수도 있습니다. 이 때 blazeds 웹 어플리케이션을 J2EE 어플리케이션 서버나 서블릿 컨테이너에 설치해야 합니다.

아래의 테이블은 turnkey 설치에서 각 웹 어플리케이션의 디렉토리 구조를 설명하고 있습니다:

디렉토리

설명

/blazeds

/samples

/ds-console

웹 어플리케이션의 루트 디렉토리로 안에 WEB-INF 디렉토리가 있습니다.

사용자의 웹 브라우저에 의해 접근되는 SWF 파일, JSP 페이지, HTML 페이지, CSS, 이미지, JavaScript 파일 등을 갖고 있습니다. 웹 어플리케이션 루트 디렉토리나, 다른 하위 디렉토리에 직접 이 파일 위치시킬 수 있습니다.

/META-INF

패키지와 extension 설정 데이터가 있습니다.

/WEB-INF

BlazeDS 웹 어플리케이션을 설정하는 표준 웹 어플리케이션 설치 구분자(web.xml) 를 갖고 있습니다. 각 기업의 웹 어플리케이션 설치 구분자 역시 이 디렉토리에 존재합니다.

/WEB-INF/classes

Java 클래스 파일과 설정 파일을 갖고 있습니다.

/WEB-INF/flex

BlazeDS 설정 파일을 갖고 있습니다.

/WEB-INF/flex/libs

Adobe Flex Builder 로 컴파일 할 때 사용되는 SWC 라이브러리 파일이 있습니다.

/WEB-INF/flex/locale

Flex Builder 로 컴파일 할 때 사요되는 localization 리소스 파일이 있습니다.

/WEB-INF/lib

BlazeDS JAR 파일이 있습니다.

/WEB-INF/src

(Optional) 웹 어플리케이션에서 사용되는 Java 소스 코드가 있습니다.

Accessing a web application
웹 어플리케이션에 접근

BlazeDS 에서 제공되는 웹 어플리케이션과 서비스에 접근하기 위해, 해당 웹 어플리케이션의 URL 과 포트 번호가 필요합니다. Tomcat 어플리케이션 서버와 통합된 BlazeDS 를 설치했다는 가정 하에, 아래의 테이블은 각 웹 어플리케이션에 접근하는 방법을 설명하고 있습니다.

Note: BlazeDS 를 J2EE 어플리케이션 서버나 서블릿 컨테이너에 설치했다면 , 개발 환경에 맞춰 컨텍스트 루트 URL 을 변경하십시오.
 

어플리케이션

Tomcat에서 컨텍스트 루트 URL

설명

Sample 어플리케이션

http://localhost:8400/samples/

샘플 웹 어플리케이션에는 BlazeDS 예제게 많이 포함되어 있습니다. 새로운 어플리케이션을 만들 때는 이 예제를 수정하여 사용하십시오.

설치된 웹 어플리케이션의 루트 디렉토리는 install_root\samples 입니다. 예를 들어, Microsoft Windows 에서 BlazeDS Turnky 를 설치하면, 루트 디렉토리는 C:\blazeds\tomcat\webapps\samples 입니다.

Template 어플리케이션

http://localhost:8400/blazeds/

어플리케이션 코드가 없는 fully configured BlazeDS 웹 어플리케이션 입니다. 웹 어플리케이션을 생성할 때 템플릿으로 이 어플리케이션을 사용할 수 있습니다.

설치된 웹 어플리케이션의 루트 디렉토리는install_root\blazeds 입니다. 예를 들어, Microsoft Windows 에서 BlazeDS Turnkey 를 설치했다면, 루트 디렉토리는 C:\blazeds\tomcat\webapps\blazeds 입니다.

Console 어플리케이션

http://localhost:8400/ds-console/

BlazeDS 웹 어플리케이션에 대한 정보를 보여주는 콘솔 어플리케이션입니다

설치된 웹 어플리케이션의 루트 디렉토리는 install_root\ds-console 입니다. 예를 들어, Microsoft Windows 에서 BlazeDS Turnky를 설치했다면, 루트 디렉토리는 C:\blazeds\tomcat\webapps\ds-console 입니다.

통합된 Tomcat 어플리케이션 서버오 함께 BlazeDS 를 설치했다면, 아래의 URL 을 사용해서 ROOT 웹 어플리케이션에 접근할 수 있습니다: http://localhost:8400/.

Creating a web application
웹 어플리케이션 생성

BlazeDS 어플리케이션 작성을 시작하기 위해, 샘플 어플리케이션의 샘플을 수정할 수 있습니다. 샘플 어플리케이션이나 빈 blazeds  어플리케이션에 어플리케이션 코드를 추가할 수 있습니다. 하지만 Adobe 는 blazeds 어플리케이션은 그대로 두고, 내용만 복사해서 새로운 웹 어플리케이션을 만드는 것을 추천합니다. blazeds 웹 어플리케이션을 빈 채로 둠으로써 웹 어플리케이션을 생성할 때 템플릿으로 사용할 수 있습니다.

Defining the directory structure for client-side code
클라이언트 코드를 위한 디렉토리 구조 정의

Flex 에서 BlazeDS 클라이언트 어플리케이션을 개발하고, Flex Software Development Kit (SDK) 을 사용하는 어플리케이션과 같은 방법으로 어플리케이션을 컴파일 할 수 있습니다. 이 말은 Flex Builder 에 있는 컴파일러나 커맨드 라인 컴파일러, mxmlc 등을 사용할 수 있는 의미입니다.

어플리케이션을 개발할 때, 두가지 방법으로 어플리케이션의 디렉토리 구조를 배치할 수 있습니다:

  • BlazeDS 웹 어플리케이션 외부에서 디렉토리 구조를 정의하십시오. 어플리케이션을 컴파일하여 SWF 파일로 만들고 BlazeDS 웹 어플리케이션에 설치하십시오. 
  • BlazeDS 웹 어플리케이션 내에 디렉토리 구조를 정의하십시오. 이 시나리오에서는 소스 코드와 필요한 모든 파일이 웹 어플리케이션에 저장됩니다. 어플리케이션을 설치할 때, 어플리케이션 SWF 파일과 런타임에 필요한 파일만 설치해야 함을 명심하십시오. 아니면, 서버에 소스 코드를 설치하는 리스크를 감내해야 합니다.

각 어플리케이션을 고유한 디렉토리 구조로 정의합니다. 루트 디렉토리 아래에 어플리케이션을 위한 로컬 파일을 위치시킵니다. 그림 파일처럼 어플리케이션 사이에서 공유되는 파일을 위해 모든 어플리케이션에서 접근 가능한 디렉토리를 정의할 수 있습니다.

아래의 예제는 appRoot1 과 appRoot2 라는 두 개의 어플리케이션을 보여줍니다. 각 어플리케이션은 로컬 MXML 파일과 ActionScript 컴포넌트를 위한 하위 디렉토리를 갖고 있고, 공유 컴포넌트의 라이브러리도 참조할 수 있습니다:

Directory structure of Flex applications sharing resources

Defining the directory structure for server-side code
서버 코드를 위한 디렉토리 구조 정의 

BlazeDS 어플리케이션의 서버는 Java 로 개발합니다. 예를 들어, 클라이언트의 RemoteObject 컴포넌트는 서버의 Java 객체의 메쏘드에 접근하여 클라이언트로 데이터를 리턴 가능하게 합니다.

BlazeDS 서버의 기능을 확장하는 Java 클래스도 작성합니다. For example, a Messaging Service destination references one or more message channels that transport messages, and contains network- and server-related properties. The destination can also reference a data adapter, server-side code that lets the destination work with data through a particular type of interface such as a Java object.

When you develop server-side code, you have several choices for how you arrange the directory structure of your application:

  • Define a directory structure that corresponds to the package hierarchy of your Java source code outside any BlazeDS web application. Compile the Java code, and then deploy the corresponding class files and JAR files, along with any run-time assets, to a BlazeDS web application.
  • Define a directory structure in a BlazeDS web application. In this scenario, all of your source code and assets are stored in the web application. When you deploy the application, make sure to deploy only the class and JAR files. Otherwise, you risk deploying source code on a production server.

The WEB-INF/classes and WEB-INF/lib directories are automatically included in the classpath of the web application. When you deploy your server-side code, place the compiled Java class files in the WEB-INF/classes directory. Place JAR files in the WEB-INF/lib directory.