Eclipse subproject 분석

Table of Contents

Introduction

WTP(Eclipse Web Tools Platform)프로젝트는 Eclipse를 Web/J2EE 웹 어플리케이션 개발을 위한 툴로 확장시키는 오픈 소스 프로젝트이다.
이 오픈 소스 프로젝트의 목적은 웹 중심 기술 제작을 위한 일반적이고 확장 가능한 표준 기반의 툴 플랫폼을 제공하는 것이다.
WTP는 애플리케이션 개발자를 위한 풍부한 툴과 기능은 물론 사용자 정의 가능한 프로젝트 모델 및 애플리케이션 서버 지원 등 부가 가치 확장을 위한 벤더 중립적 프레임워크도 제공한다.
BIRT는 이클립스 기반의 리포팅 시스템으로 리포트를 생성하기 위한 어플리케이션과 통합하게 한다. 정보를 추출하고 분석하여 요약과 차트를 만드는 플러그인 수트로 report layout, data access and scripting 과 같은 기본적인 리포팅 기능을 제공한다.

Eclipse Web Tools (WTP)

WTP는 다음과 같은 툴을 포함한다.

  • source editors for HTML, Javascript, CSS, JSP, SQL, XML, DTD, XSD, and WSDL;
  • graphical editors for XSD and WSDL;
  • J2EE project natures, builders, and models and a J2EE navigator;
  • a Web service wizard and explorer, and WS-I Test Tools;
  • database access and query tools and models

WTP 프로젝트의 원칙

  • Eclipse 가치의 확대: Eclipse 프로젝트는 Java IDE 영역에 기술적 우수성, 기능 혁신 및 전반적인 확장성에 대해 높은 수준의 표준을 제시한 바 있습니다. 이와 동일한 표준을 웹/J2EE 애플리케이션-툴 영역에도 적용하기 위해 시도하고 있습니다.
  • 벤더 체계: 이 프로젝트의 주요 목표는 애플리케이션 개발 툴 시장의 활성화를 지원하는 것입니다. WTP의 대표적인 기능은 그 자체만으로도 유용하지만 처음부터 확장 가능하도록 설계되었으므로 상업 벤더들은 이 프로젝트에서 제공하는 기능을 자체 제품을 혁신하고 개발 효율성을 높일 수 있는 발판으로 사용할 수 있습니다.
  • 벤더 중립성: 벤더 중립성은 이 프로젝트의 핵심입니다. 가장 많은 애플리케이션 개발 벤더들의 제품이 지닌 장기적인 가치 제안을 부각시킴으로써 Eclipse 참여를 독려하고 Eclipse에 대한 시장의 호평을 이끌어내는 것을 목표로 합니다.
  • 표준 기반 혁신: 이 프로젝트는 가능한 많은 벤더들이 자신의 고객 및 최종 사용자를 위해 부가 가치가 있는 개발 제품을 만들 수 있도록 확장 가능한 표준 기반의 툴을 제공합니다. WTP는 모든 표준을 준수합니다. WTP의 초점이 기존의 표준과 배포를 사용하는 런타임 기술에 있지만 최첨단 툴이 요구되는 신생 표준 또한 준수합니다. 하나의 주어진 기능을 위해 여러 기술들이 사용되는 경우 기술적 실행 가능성과 장기적으로 가장 가능성이 높고 확장 가능한 기반의 제공을 목표로 각 기술을 지원합니다.
  • 신속한 개발:
  • 포괄성과 다양성: 최종 사용자의 포괄적인 요구사항을 표현하는 많은 참여자들로 부터 좋은 아이디어를 끌어내는 것을 목표로 합니다. 그래서 이 프로젝트에 참여가기 위한 지역적 영역(geographical domains), 마켓, 기술 등의 넓은 범위에 걸친 기구(조직)을 장려할 것이다.

WEP 프로젝트 범위

J2EE 퍼스펙티브

WTP install

download install.

  1. Web Tools Platform (WTP) project http://download.eclipse.org/webtools/downloads/
    • WebTools Platform; All-in-one : 이클립스 sdk, emf, gef, jem이 모두 포함된 버전
    • WebTools Platform; Runtime : WST와 JST가 포함된 빌드 버전으로 WTP 런타임 모듈이다.
    • 참고) wtp-sdk-1.0.zip 와 같이 sdk가 포함된 파일은 소스가 포함됨.
  2. Tomcat 4.1.X 이상 http://jakarta.apache.org/tomcat/
  3. JDK 1.4.2 http://java.sun.com/j2se/1.4.2/download.html

Eclipse update install.

  1. Eclipse에서 Help -> Software Updates -> Find and install 선택.
  2. update창에서 Search for new features to install 선택.
  3. New Remote Site 메뉴로 web tool update URL추가.
    URL: http://download.eclipse.org/webtools/updates/
  4. URL을 추가하면 아래와 같이 등록된 Site이름이 나오고 해당 Site에 check를 한 후 Finish를 선택한다.
  5. Site에서 update가능한 목록이 보이고 update할 features를 선택 한다.
  6. 선택된 update항목에 대한 설명과 licenses들이 나오고 동의를 하고 Next를 선택하면 install한다.

웹 어플리케이선 실행을 위한 이클립스 환경설정
JRE설정과 서버설정(톰켓과 같은 웹어플리케이션 등록)이 필요하다.

  1. JRE 설정 : Preferences -> Java -> Installed JREs
  2. 런타임 서버 설정 : Preferences -> Server -> Installed Runtimes
    • 런타임 서버 추가 설정 : Preferences -> Server -> Installed Runtimes -> Add

런타임 서버를 프로젝트로 등록

  1. 런타임 서버 등록 : File -> New -> Other -> Server -> Server

  2. 서버 등록 후 perspective
  3. 서버 시작/종료/리스타트

*런타임 서버설정에서 여러개의 서버 설정하였을 경우 런타임 서버등록 절차를 반복해 여러개 서버를 등록 할 수 있다.

example - Building a School Schedule Web Application

학교 시간표(School Schedule) 웹어플리케이션을 만들어 보자.

  • J2EE Web 프로젝트 새로 만든 후 데이타를 담을 빈클래스, 결과를 보여줄 JSP페이지, action을 처리할 서블릿클래스들을 생성한다.
  1. J2EE Web 프로젝트 생성 : File -> New -> Project -> Web -> Dynamic Web Project

    • 생성결과
  2. 빈 클래스 생성 : School Schedule 프로젝트의 src폴더에서 Right Click -> New -> Class
    • SchoolClass 클래스 추가
      • SchoolClass.java 내용을 편집한다. SchoolClass.java
      • 편집시 Generate Getters and Setters... 를 사용해 본다. Right Click -> Source -> Generater Getters and Setters
    • SchoolSchedule 클래스 추가
  3. JSP 페이지 생성 : School Schedule 프로젝트의 WebContent 폴더에서 Right Click -> New File
    • Schedule.jsp 파일 추가
  4. 서블릿 클래스 생성 : School Schedule 프로젝트의 src폴더아래 org.eclipse.wtp.sample.classschedule package 패키지에서 right click -> New Class
    • ScheduleServlet 서블릿 추가
      • ScheduleServlet.java 내용을 편집한다. ScheduleServlet.java
      • /WEB-INF/web.xml 에 서블릿 정보를 추가한다.
        web.xml
                  <servlet>
                  <servlet-name>Schedule</servlet-name>
                  <servlet-class>
                  org.eclipse.wtp.sample.classschedule.ScheduleServlet
                  </servlet-class>
                  </servlet>
                  <servlet-mapping>
                  <servlet-name>Schedule</servlet-name>
                  <url-pattern>/Schedule</url-pattern>
                  </servlet-mapping>
                  
  5. standard tag libaries 사용
    • Schedule.jsp에서 테그 라이브러를 사용한다.
    • http://jakarta.apache.org/taglibs/로 부터 jstl.jar와 standard.jar파일을 다운받아 WEB=INF/lib에 복사한다.
      • tld파일도 복사 한다. /WEB-INF/tld/c-1_0.tld
  6. 실행하기
    • Schedule.jsp파일 선택 right click -> Run As -> Run On Server
      • 서버가 지정되어 있지 않을경우 선택
    • 결과

기타

SSE(The Structured Source Editing) in Milestone 2

XDoclet

  • Preference - > XDoclet. Enable XDoclet Builder 체크. XDoclet Home 지정

property editor

object web - lomboz

Business Intelligence and Reporting Tools (BIRT)

BIRT는 웹어플리케이션을 위한 이클립스 기반의 오픈소스 리포팅 플랫폼이다. 이클립스 플러그인 Report Designer와 웹디플로이 환경인 Runtime Engine으로 구성된다.

  • report designer perspective

BIRT install

  • 현재 BRIT 테스트 환경은 Eclipse 3.0.1, and 3.0.2. ,GEF 3.0.1. ,EMF 2.0.3. ,JRE 1.4.2. 와 Eclipse 3.1. ,GEF 3.1. ,EMF 2.1. ,JRE 1.4.2/JRE 1.5. 이다.
  • 이클립스 (Eclipse Platform 3.1 Release), GEF(Graphic Editor Framework - GEF 3.1 Release, GEF Runtime), EMF(Eclipse Modeling Framework - EMF & SDO RT version 2.1)을 다운 받는다.
  • Installation Example Flash
  • 추가적인 기능을위해 iText(PDF 문서 생성), Axis(자바 기반의 SOAP 프로세서), Prototype.js 등을 다운 받는다.
    • Itext-1.3.jar file needs to be copied to the plugins/org.eclipse.birt.report.engine.emitter.pdf_version/lib directory.
    • Axis 1.2.1 (axis.jar ,axis-ant.jar ,commons-discovery-0.2.jar ,jaxrpc.jar ,saaj.jar ,wsdl4j-1.5.1.jar ) copy into the plugins/org.eclipse.birt.report.viewer_version/birt/WEB-INF/lib directory.
    • prototype.js Copy it into the plugins/org.eclipse.birt.report.viewer_version/birt/ajax/lib directory

Example - My First Reports

  • BIRT Libraries
    • 리포트 아이템과 필수 기능들을 리이브러리안에 포함시켜 캡슐화 시킬 수 있다. 라이브러리는 리포트 디자이너와 템플릿에 임포트 되어 재사용 한다.
  • BIRT Templeate
    • 라이브러리와 이미 정의된 템플릿, 레이아웃 등을 이용해 템플릿을 작성할 수 있다. 복잡한 리포트나 특화된 리포트 양식을 미리 정의함으로써 반복 작업을 피할 수 있다.
    • Usiing Eclipse BIRT Report Libraries and Templates
  • BIRT플러그인에 포함되어 있는 데이터 예제를 이용해 리포트를 만들어 본다.
  1. 리포트 생성
    • 프로잭트 생성 : File -> New -> Project -> Business Intelligence and Reporting Tools -> Report Project -> 새 프로잭트 창
      • 프로젝트 이름 "My First Reports" 입력 -> Finish
    • 리포트 생성 : Navigator's My First Rerpots right click -> New -> Report -> 새 보고서 창.
      • 보고서 이름 "Customers" 입력 -> Fihish or Next -> 보고서 템플릿 선택 창 -> Finish
  2. 데이터 소스, 데이터 세트 생성
    • BIRT는 데이터 소스를 통해 데이터베이스 또는 데이터 프로바이더와 연결하고, 데이타 세트를 통해 데이트를 가져온다.
    • 데이터 소스 생성
      • Data Explorer's Data Source 노드 right click -> New Data Source -> 새 데이터 소스 창 -> data source name 입력("Sample") -> Next -> Finish
    • 데이터 세트 생성
      • Data Explorer's Data Set 노드 right click -> New Data Set -> 새 데이터 소스 창 -> Finish -> 데이터 세트 편집 창 -> editing query -> OK

  3. 리포트 테이블 생성
    • palette의 테이블 아이템을 이용해 테이블 레이아웃을 그린다. (drag & drop)
      • Data Explorer's Data Set의 컬럼을 테이블의 상세 정보행에 위치 시킨다. 머리글행에 자동으로 컬럼 이름이 들어간다.
      • 속성 편집기를 이용해 컬럼 스타일을 편집한다. 새스타일 정의 : Element -> Add New Style -> 스타일 속성 창
         
      • 결과 미리보기
      • 데이터 세트 편집 창에서 파라미터, 필터 등의 설정을 통해 원하는 데이터를 추출 할 수 있다.

  4. 리포트 예제

Dyploying a BIRT report

  1. install
    • download GIRT report engine runtime http://download.eclipse.org/birt/downloads/ - birt-runtime-xxx.zip
    • 압축 파일을 풀어 "Web View Example"디렉토리를 톰켓 webapps아래 복사 한다. (rename to "birt");
    • Copy itext-1.3.jar to TOMCAT_HOME/webapps/birt/plugins/org.eclipse.birt.report.engine.emitter.pdf/lib.
    • Copy prototype.js to TOMCAT_HOME/webapps/birt/ajax/lib.
    • Copy Axis jars to the TOMCAT_HOME/webapps/birt/WEB-INF/lib
  2. run

생각해 보기

참고문헌

문서에 대하여

최초작성자 : 박재성
최초작성일 : 2006년 1월 31일
버전 : 1.1
문서이력 :

  • 2006년 1월 31일 박재성 문서 최초 생성 : 문서 최초 생성 및 BIRT에 관한 참고문헌을 추가하였다.
  • 2006년 2월 민예원 Study 자료 추가.
  • 2006년 2월 21일 장진달 Eclipse update로 plugin설정 하기 추가.


출처 - http://pcguy7.springnote.com/pages/298867





Subprojects

  • Common Components More... 
    The common component contains common utilities and infrastructure which are required by the Web Tools Platform project, but which are not specific to web tooling. 
    more about common components »
  • Dali JPA Tools More... 
    The Dali Java Persistence Tools Project provides extensible frameworks and tools for the definition and editing of Object-Relational (O/R) mappings for Java Persistence API (JPA) entities. JPA mapping support focuses on minimizing the complexity of mapping by providing entity generation wizards, design-time validation, and a rich UI for entity and persistence unit configuration. 
    more about dali »
  • EJB Tools More... 
    The EJB Tools Project provides frameworks and tools focused on the development of EJB artifacts. 
    more about EJB Tools»
  • Enterprise Tools for the OSGi Service Platform (Libra) More... 
    The Libra project integrates the existing tooling provided by the Plug-in Development Environment project and the Web Tools Platform project to work together for implementing OSGi Enterprise scenarios. 
    more about Libra»
  • Java EE Tools More... 
    The Java EE Tools Project provides frameworks and tools focused on the development of J2EE artifacts. 
    more about Java EE Tools»
  • JavaScript Development Tools (JSDT) More... 
    The JavaScript Development Tools provide plug-ins that implement an IDE supporting the development of JavaScript applications and JavaScript within web applications. It adds a JavaScript project type and perspective to the Eclipse Workbench as well as a number of views, editors, wizards, and builders. 
    more about JavaScript Development Tools»
  • JavaServer Faces Tools (JSF) More... 
    The JSF Tools Project adds comprehensive support to the Eclipse Web Tools Platform Project to simplify development and deployment of JavaServer Faces (JSF) applications. 
    more about jsf »
  • Release Engineering (releng) More... 
    The WTP Release Engineering (releng) project is a sub-project in the Eclipse WTP top level Project. In provides frameworks to do the builds and run automated tests. 
    more about Releng»
  • Server Tools More... 
    The Server tools project is responsible for the framework and adapters for selected servers. It provides a generic infrastructure and J2EE specific server components. 
    more about Server Tools»
  • Source Editing More... 
    The Source Editing project provides source editing support for typical "web" languages and the mixing of them, with a focus on making the editors extensible and easily reusable. Here you will find tools for working with XML, XML Schema, XSL, HTML, CSS, DTD, and JSP resources, as well as an XML Perspective. 
    more about source editing»
  • Web Services Tools More... 
    The JST Web services component contains tools for developing and interacting with Java Web services. 
    more about Web services tools»
  • WTP Incubator More... 
    The WTP Incubator Project consists of components that are new, under development, but not yet ready or planned for release. 
    more about WTP Incubator»


출처 - http://www.eclipse.org/webtools/









Posted by linuxism
,