Introduction

Anyframe Tools는 Anyframe 자체와는 별도로 Anyframe App 개발을 위해 만들어진 툴들을 총칭한다. 주로 Eclipse기반 Plugin 들로 구성되어 있으며, 이 매뉴얼에서는 간략한 소개와 설치법에 대해 언급한다. 보다 자세한 내용은 Eclipse의 Help를 참고하기 바란다.

특징

  • Anyframe 어플리케이션에 대한 지원 : Anyframe을 사용한 여러 프로젝트에서 사용되어지고 테스트되었으며, Anyframe이 업그레이드 될 때마다 변경된 내용을 즉시 반영하여 배포한다.
  • Eclipse와 통합환경 제공 : Anyframe에서는 App개발에 Eclipse Platform을 권장한다. Anyframe Tools는 Eclipse Plugin 형태로 제공되어 별도의 실행없이 Eclipse 환경에서 바로 사용이 가능하다.
  • 다양한 DB 지원 : Anyframe Tools의 DB 연계 기능은 표준 JDBC스펙을 따르며 Oracle, MSSQL, Sybase 등 Anyframe App 개발시 많이 사용하는 DB에 대해 원활히 동작하도록 개발되었다.
  • 커스터마이징 기능 : Anyframe Tools는 사용자가 자신의 프로젝트에 보다 맞게 사용할 수 있도록 직접 커스터마이징할 수 있는 방법을 제공한다.
  • 다양한 Third Party 플러그인들과의 호환 가능 : Eclipse Platform은 Anyframe Tools처럼 다양한 Third Party툴들을 조합하여 사용할 수 있게 제작되었다. Anyframe Tools는 다른 Third Party Plugin과의 의존성을 줄여, 서로 충돌하거나 간섭하지 않도록 개발되었다.
  • 다양한 인코딩 지원 : Anyframe App개발시 주로 사용되는 UTF-8, MS949의 인코딩을 지원한다.

주요 기능

Anyframe Tools는 아래와 같다. 여기서는 Anyframe 자체 개발한 툴과 오픈 소스 Third Party Plugin을 나눠 설명한다. 이 곳에서 설명한 Tool은 Anyframe Tools Download사이트에서 받을 수 있으며, 보다 자세한 내용은 Eclipse Help를 참고하도록 한다.

Anyframe Codegen

Codegen 은 xml설정만으로 손쉽게 Eclipse의 Wizard형태로된 코드 생성기를 제작할 수 있도록 해준다. 기 제작된 템플릿들을 통해 Anyframe 설정 및 DB 연계를 통한 신규서비스 생성 기능도 제공한다.

  • Codegen Popup Wizard를 통해 Anyframe의 기술공통 서비스인 Datasource 서비스, Query 서비스, Scheduling 서비스, Properties 서비스, IdGeneration 서비스, Cache 서비스, Transaction 서비스 등을 생성할 수 있다.
  • Codegen Popup Wizard를 통해 DB Table 기반 Anyframe 웹 어플리케이션 코드(Presentation Layer, Business Layer, Persistence Layer코드)를 한번에 생성할 수 있다. SQLExplorer를 통해 Connection을 맺고 Table을 선택하여 주면, 해당 테이블의 컬럼정보, PK정보, 컬럼의 Type등을 인식하여 자동으로 코드를 생성해 준다.
  • Codegen에서는 사용자가 직접 Codegen 템플릿을 작성하고 수정할 수 있게 하는 기능을 제공한다. xml파일을 통해 Popup Wizard를 생성하거나 변경할 수 있고 , Velocity 문법을 이용하여 template을 작성하거나 수정할 수 있다.

Query Manager

Query Manager 는 기술 공통 서비스 중 Query 서비스와 관련된 코드 생성 및 관리 기능을 제공한다.


  • Query Manager Editor는 Query mapping파일 편집 시 쿼리를 직접 테스트 해보고 검증할 수 있는 Popup Window를 제공한다.
  • Query Wizard를 통해 GUI를 통한 Query 작성 및 테스트/검증 방법을 제공함으로써 Query를 손쉽게 작성할 수 있고, 작성한 Query에 대한 추가적인 테스트 비용을 절감시킨다.
  • Query 테스트 결과를 이용하여 Result Mapping 정보를 자동생성해 주며, Table 정보를 활용한 Table Mapping 정보 또한 자동으로 생성하게 해 준다. 또한 이와 관련된 VO class 및 DAO class를 자동으로 생성할 수 있는 기능도 제공한다.
  • Query ID의 중복여부 및 사용여부를 검사하여 이상 있는 부분을 화면에 출력한다. 존재하는 Query ID에 대해서는 해당 Query가 존재하는 Query Mapping XML 파일과 Java 코드 간의 편리한 네비게이션 기능을 제공한다.
  • 사용자의 Eclipse 워크스페이스 내의 수많은 Query를 다양한 옵션으로 검색할 수 있는 기능을 제공하여, Query 관리를 편리하게 해 준다.

Spring IDE

Spring IDE 는 Spring 설정 파일 편집을 보다 용이하게 해주기 위한 툴이다. 설정 파일에 대한 Validation Check, Spring 설정 시 Content Assist 지원, Bean간의 참조 관계를 나타내 주는 Graph 등을 제공하고 있다.
  • Spring IDE는 Eclipse xml에디터를 확장하여 Content Assist 기능을 제공한다. Content Assist 기능을 통해 사용자는 기존에 정의된 Bean들에 대해 손쉽게 참조할 수 있다.
  • Spring IDE에서는 bean관리를 위한 다양한 UI를 제공한다. 사용자는 bean간의 참조관계를 그래프로 볼 수 도 있고, Search Window를 이용하여 정의된 bean을 검색할 수도 있다.

Properties Editor

Properties Editor 에서는 properties파일에서의 한글이 깨지는 문제를 해결할 수 있도록 자동으로 인코딩을 변환해 주는 기능을 제공한다.
  • Properties Editor에서는 properties파일에서의 한글이 깨지는 문제를 해결할 수 있도록 자동으로 인코딩을 변환해 주는 기능을 제공한다. 사용자는 properties파일을 ISO-8859-1형태로 변환할 필요없이 Properties Editor에서 편집하는 것만으로 인코딩 문제를 해결할 수 있다.

Hibernate Tools

Hibernate Tools 를 통해 Hibernate 설정 및 관련 코드를 손쉽게 생성할 수 있고, DB와 Hibernate 관련 코드간의 연관 관계를 그래프를 통해 볼 수 있다.
  • Hibernate Tools를 통해 Table기반 Hibernate 설정파을 생성할 수 있고, 관련 코드들을 손쉽게 생성할 수 있다.
  • Hibernate Mapping XML File 목록을 기반으로 HQL, Criteria 실행 테스트, Hibernate을 통해 생성된 SQL 확인 및 Class vs. Table 매핑 관계 다이어그램 등을 확인할 수 있다.

오픈소스

Anyframe Tools와 관련하여 직접적으로 관계가 있거나 간접적으로 사용한 Third Party 오픈 소스는 아래와 같다.