ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Anyframe 소개
    Anyframe 2011. 9. 1. 01:27

    <Anyframe Technology Stack>
    모르는 용어 투성... 


    Anyframe의 첫 포스팅이다.
    누군가가 시작이 반이라 했던가? 

    Anyframe이란 무엇이냐.
    Anyframe을 소개하는 책 <오픈소스 자바 프레임워크 - Anyframe Java> (발행처:삼성SDS 멀티캠퍼스) 에서는 Anyframe의 개요를 다음과 같이 소개하고 있다.

     - 미들웨어와 어플리케이션 사이에서 기술 공통 영역을 담당하는 다양한 오픈소스들이 존재하나 각각을 직접 통합하기에는 많은 어려움이 따르므로 이를 해결하기 위한 프레임워크가 필요
     - Anyframe 은 Spring, Struts, Hibernate 등을 포함하여 200 여개의 오픈소스 라이브러리를 통합 및 확장하여 개발되었으며 어플리케이션 개발을 효과적으로 진행하는데 필효한 SW 의 기본 골격과 공통 모듈 및 툴 등을 제공



    국내 ICT서비스 기업 중 삼성 SDS가 유일하게 오픈 소스로 제공하는 프레임워크 라고 보면 되겠다.
    2011년 7월7일자 로 Anyframe  5.0.1 버전까지 릴리즈 되어있는 상태임.

    http://www.anyframejava.org/ 에서 여러 정보를 볼 수 있다. 특히 메뉴얼이 기가 막히게 잘 만들어져있음.

    메뉴얼에서 제공하는 Anyframe의 특징을 살펴보면

    Anyframe은 오픈 소스 어플리케이션 개발 Framework로 다음과 같은 특징을 가지고 있다.

    • 순수 객체 중심의(POJO) 어플리케이션 개발 지원 : 프레임워크로 인해서 기본 설계와 상세 설계가 이중으로 진행되거나, 개발 시 설계 모델이 구현체와 불일치 되는 것을 줄이기 위해 순수 객체 중심의(POJO) 어플리케이션 개발을 지원한다.

    • Dependency Injection을 통한 의존 관계 처리 : 인터페이스 중심의 개발을 가이드하고 객체나 컴포넌트간의 참조 관계는 Dependency Injection을 통해 처리함으로써 구현체의 변경에 따른 영향력을 최소화한다.

    • 개발자는 비즈니스 로직에만 집중하여 구현 : 로깅, 트랜잭션, 예외처리 등과 같은 비기능 영역에 대한 코드가 업무 기능 개발 영역에서 분리될 수 있도록 함으로써, 개발자는 비즈니스 로직에만 집중하여 구현할 수 있다.

    • Singleton, Factory 패턴 등 유용한 패턴 실행 지원 : 직접적인 패턴 구현 없이도 Singleton, Factory 패턴 등의 실행을 지원함으로써, 어플리케이션 개발시 인스턴스의 생성 관리, 데이터 무결성 확보 등을 위해 유용한 패턴 등을 직접 구현하는 어려움을 해결해준다.

    • MVC Model2 아키텍처 가이드 : Layered Architecture에 기반한 Java EE 웹 어플리케이션을 작성할 때 프리젠테이션 로직과 비지니스 로직을 완전히 분리하여 프리젠테이션 레이어를 구조적으로 개발할 수 있다.

    Anyframe은 아래와 같은 기능을 제공한다.

    • 오픈 소스 통합 및 Best Practice 제공을 위한 플러그인 환경 제공 : 사용자가 원하는 Plugin 들을 적절히 선택하고 설치함으로써 해당 프로젝트에 최적화된 샘플 프로젝트를 손쉽게 구성할 수 있도록 지원한다. 자세한 내용은Plugin 구조를 참고하도록 한다.

    • 재사용 가능한 기술 공통 서비스 제공 : DB 접근 및 SQL 처리, 캐쉬, WAS와 연동 등과 같은 중요 기능에 대해 재사용 가능한 기술 공통 서비스를 제공함으로써 보다 빠르고 안정적인 개발을 지원한다.

    • 선언적으로 트랜잭션 통제 : Java EE 환경과 독립적으로 JTA이나 JDBC 데이터 소스에 대해 별도의 트랜잭션 처리를 위한 코딩없이 간단한 설정만으로 선언적으로 트랜잭션을 통제할 수 있는 기능을 지원한다.

    • 웹 화면 개발 시 필요한 공통 기능 제공 : 어플리케이션 개발에 공통적으로 필요한 화면흐름 제어, 에러처리, 일원화된 권한처리 등 다양한 부분을 프레임워크화하여 Model2 방식의 일관되고 쉬운 개발을 지원한다.

    • 다양한 웹 클라이언트 기술과 용이한 연계 가능 : 최근 관심이 높아지고 있는 Ajax, 상용 X-internet 툴 등 다양한 웹 클라이언트 기술과 쉽게 연동되는 구조를 제공한다.

    또한 Anyframe 기반으로 프로젝트 수행 시, 개발자들의 개발 편의성을 극대화할 수 있도록 Anyframe 설치, 프로젝트 생성 및 코드 생성 기능을 포함한 Anyframe IDE를 제공한다. Command Line Interface 혹은 Eclipse Plugin 형태의 Anyframe IDE를 통해 Anyframe 설치에서부터 프로젝트 구조, 코드 생성, 빌드 수행에 이르기까지 개발 프로세스 전반에 걸쳐 도움을 받을 수 있다. 



     

    Spring 을 기반으로 구현했고, 특정 벤더에 종속되지 않고 독립적이란다.
    방법론을 포함한 통합 개발 환경 까지 제공하고,
    기능 성능 및 안정성, 개발 및 운영/유지보수성 이 뛰어나고

    검증된 적용사례 (Anyframe을 실제 활용하여 진행한 프로젝트는 삼성카드 홈페이지 리뉴얼, 법무부 특정 성폭력범죄자 위치추적시스템, 광교 신도시 u-City 프로젝트, 스포츠 토토 시스템 구축 등 다수의 사례) 가 많은데

    어찌 안 좋다고 할수 있겠는가.


Designed by Tistory.