검수요청.png검수요청.png

애니프레임

위키원
이동: 둘러보기, 검색

애니프레임(Anyframe)은 삼성에서 공개한 오픈소스 기반의 Java 어플리케이션 개발 프레임워크인 Anyframe을 정리 한다. Anyframe은 오픈 소스 커뮤니티를 통해서 어플리케이션 개발 시 공통으로 사용되는 오픈 소스 기반의 어플리케이션 프레임워크와 이를 쉽게 사용할 수 있도록 체계적인 가이드 제공 한다.[1]

개요

애니프레임은 업무용 프로그램 개발을 효과적으로 진행하기 위해서 기본 아키텍처, 기술 공통 서비스, 템플릿 등을 제공하는 어플리케이션 프레임워크로써 이를 활용 시 설계 및 개발 기간을 단축하고 유지보수를 용이하게 진행할 수 있다. 애니프레임은 자바 기반의 어플리케이션 프레임워크로써 업계 표준으로 활용되는 다양한 오픈 소스를 활용하여 구성 되어 있다. 또한 오픈 소스를 활용하여 비즈니스 어플리케이션을 개발하는 과정에서 어려움을 느끼는 오픈 소스의 선택, 활용 방법, 테스트 등에 대한 솔루션을 정형화된 가이드와 사례를 통해 제공하고 있다.[2]

등장배경

애니프레임은 자바(Java) 기반의 어플리케이션 개발 시 광범위하게 사용되는데 이때 애니프레임을 완제품 형태로 그대로 사용할 수도 있으나 범용적인 형태로 제공되므로 보통 적용하려는 프로젝트에 알맞게 제공된 기능을 기반으로 확장(Customizing)하여 사용한다. 애니프레임은 어플리케이션 프레임워크이므로 반제품 형태로 사용하는 것을 원칙으로 한다.[2]

특징

애니프레임은 업계 표준으로 사용되는 Spring, Hibernate, Apache Commons PJT 등을 채택함으로써 오픈 소스 기반의 글로벌 스탠더드를 지향하며 Java EE, Servlet, JMX, JMS, Web Service 등의 국제 표준을 준수한다. 다음은 애니프레임의 특징을 목록으로 정리한 것이다.

  • 오픈 스탠더드 아키텍처 기반인 Spring의 개방형 기술 : 애니프레임은 환경 변화에 민감한 프로젝트의 개발 기반으로서, 다른 오픈 소스 및 상용 툴과의 연계가 용이하며 특정 회사의 WAS(Web Application Server, 이하 WAS)나 DBMS 제품에 독립적인 환경을 제공한다.
  • 어플리케이션 개발 지원 : 프레임워크로 인한 기본설계와 상세설계가 이중으로 진행되거나, 개발 시 설계 모델과 구현체가 불일치되는 영역을 방지한다.
  • Dependency Injection을 통한 의존 관계 처리 : 철저하게 인터페이스 중심의 개발을 가이드하고 객체나 컴포넌트간의 의존관계는 Dependency Injection을 통해 처리함으로써 구현체의 변경에 따른 영향력을 최소화한다.
  • 관점지향 프로그래밍 이용 : 로깅, 트랜잭션, 예외처리 등과 같은 비기능 영역에 대한 코드가 업무 기능 개발 영역에서 분리되도록 함으로써, 개발자는 비즈니스 로직만을 구현하도록 한다.
  • DB 접근 및 SQL 처리 : Cache, WAS와 연동 등과 같은 중요 기능에 대해 기술 공통 서비스를 제공함으로써 보다 빠르고 안정적인 개발을 지원한다.
  • MVC Model2 아키텍처 제공 및 클라이언트 지원 : 프리젠테이션 레이어를 구조적으로 개발할 수 있는 MVC Model2 아키텍처 구조를 제공하며, 프로젝트 개발 시 공통적으로 필요한 일원화된 권한 관리, 에러 처리, 화면 흐름 제어 기능 등을 제공하며 다양한 클라이언트 연계(X-Internet 등)를 지원한다.
  • 마이플랫폼 화면 유형별 개발 : 사용자간 상호작용을 중시하는 Web 2.0 기반의 기술 트렌드에 맞추어 개발 시 많이 사용되는 마이플랫폼(MiPlatform) 기반의 화면 유형별 개발 템플릿을 제공하여 개발자가 쉽게 화면을 구성할 수 있게 한다.
  • AOP를 활용한 모니터링 툴을 GUI 형태로 제공 : 향후 컴포넌트 변경 및 SQL을 포함한 성능 모니터링 시에 유연하게 대처가 가능하다.
  • IDE(Eclipse) 기반의 개발 툴 셋 제공 : 애니프레임 기반의 개발을 지원하기 위해 개발 툴 셋을 플러그인 형태로 제공한다.'
  • 소스 품질 및 개발 생산성 향상 효과 : 애니프레임 기반의 소스 코드 생성, DB IO 처리 등을 쉽게 구현할 수 있으며 개발 시 오류 발생을 사전에 감지하고 수정할 수 있다.
  • 통합 빌드 환경 제공 : 개발 라이프 사이클 전체에 걸쳐 사용되는 개발 도구와 빌드, 테스트 도구 등을 통합한 통합 빌드 환경(CTIP: Continuous Test & Integration Platform)을 제공한다.[2]

종류

애니프레임은 Java EE 기술을 이용하여 쉽고 빠르게 비즈니스 어플리케이션의 개발을 지원할 수 있도록 프레임워크, 개발 및 관리도구, [[개 발 환경]]을 중심으로 프로젝트가 구성되 어 있다. 애니프레임의 이러한 구성 기반 하에서 개발자들이 개발을 수행하게 됨으로써 개발 표준이 확립되어 개발 환경을 구현할 수 있게 되므로, 향후 시스템 유지보수와 업그레이드 그리고 신규 개발자 투입에도 손 쉽게 작업을 진 행해 나갈 수 있다.[3]

평가와 전망

애니프레임의 국내 확산 속도와 업계의 관심은 예상을 뛰어넘는 수준이라며 최근 어려운 경제 여건 속에도 삼성SDS는 연구개발(R&D)에 지속적으로 투자하여 애니프레임을 명품 소프트웨어로 육성해 나가겠다고 한다.

각주

  1. , 〈애니프레임〉 , 《미디어위키》
  2. 2.0 2.1 2.2 애니프레임〉,《OSS》
  3. java, 〈애니프레임〉 , 《네이버블로그》 , 2008-08-08

참고자료

같이 보기

 

  검수요청.png검수요청.png 이 애니프레임 문서는 솔루션에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.