2013년 10월 28일 월요일

Project Architecture 개요...

Project Architecture 개요...

ㅇ 시스템의 소프트웨어 아키텍처는 레이어(Layer) 아키텍처를 기반으로 시스템을 4개의 계층으로 구분한다.

ㅇ 각 계층에 적합한 프레임워크를 적용함으로써 기능의 안정성, 개발의 효율성, 구현의 일관성을 확보하고자 하였다.

ㅇ 각 프레임워크를 바탕으로 각각의 업무 기능과 타 시스템 연동 및 정보공동이용을 위한 제반 환경 구조와 표준을 정의하였다.

ㅇ 시스템의 공통기능으로서 에러 핸들링, 웹 컨트롤, 프레임워크 확장 등에 대한 메커니즘을 표준화하여 제공한다.

ㅇ 시스템은 EJB 컨테이너를 사용하지 않는 대신 스프링 프레임워크를 경량 컨테이너로 사용하여 각종 엔터프라이즈 서비스를 지원 받는다.

ㅇ 스프링 프레임워크는 웹 프레임워크, OR 매핑 프레임워크의 접합체 역할로서도 이용한다(Spring Delegating Action Proxy, ORM Support 등).

ㅇ EJB 컨테이너를 사용하지 않는 이유는 분산 환경이 아닌 경우 EJB를 사용하는 것이 개발, 운영에 비효율적이기 때문이다.


● UI 계층    
   ○ 적용 기술
      - JavaScript
      - XMLHttpRequest
      - DOM
      - HTML, CSS    
   ○ 주요 기능
      - UI 프리젠테이션
      - 사용자와의 상호작용

● 웹 컨트롤 계층
   ○ 적용 기술
      - JSP
      - Struts Framework
      - XML 메시지    
   ○ 주요 기능
      - URL 매핑, 인코딩, 보안
      - 웹 요청 처리 및 페이지 생성
      - 세션, 쿠키 관리
      - 다양한 출력 포멧 처리

● 비즈니스 계층
   ○ 적용 기술
      - Spring Framework
      - Velocity Template Engine
   ○ 주요 기능
      - 재사용 가능한 업무 컴포넌트 관리
      - 트랜잭션 관리
      - 각종 엔터프라이즈 서비스 관리

● 지속성 계층    
   ○ 적용 기술
      - Hibernate Framework
   ○ 주요 기능
      - Object / Relation 매핑 관리
      - 데이터에 대한 영속성 관리

Software 계층

● 소프트웨어 모듈간에 응집력을 높이고(Highly Cohesion) 결합력을 낮추는(Loosely Coupling) 디자인에 초점을 맞춘다.

● 개발 생산성과 유지보수의 용이성을 고려하여 인터넷 시스템 구축에 검증된 아키텍처인 레이어(Layer) 아키텍처를 적용한다.

● 상위 계층에 있는 컴포넌트는 하위의 컴포넌트를 사용할 수 있으나, 하위 컴포넌트는 상위 컴포넌트를 사용할 수 없고, 계층을 뛰어넘는 컴포넌트 사용이 불가능하게 함으로서 컴포넌트간 의존성이 복잡해지지 않도록 설계한다.

● 업무 컴포넌트간에 의존성이 요구될때도 의존성을 한곳으로 집중 시키기 위해 공통업무 컴포넌트를 경유하도록 설계한다.

● 로그인 정보, 세션 정보와 같이 계층 사이에 공유되어 사용되는 정보는 컴포넌트 인터페이스의 명확화, 단순화를 위해 별도의 컨텍스트를 통해 참조함으로써 계층화로 인한 제약에 예외를 두었으며 표준 확장 시스템에서 제공되는 서비스 역시 계층화 제약을 피해 자유롭게 사용할 수 있도록 설계한다.

사용자 삽입 이미지

● UI 계층은 사용자의 브라우저에 위치하며 그외 계층은 WAS에 위치한다.

● 웹요청이 있을 때 UI계층의 프레임워크는 XML 또는 HTML 메시지를 전송하고, 서버의 웹컨트롤 계층에서 이를 해석하여 적절한 비즈니스 컴포넌트에 요청을 중계한다.

● 비즈니스 컴포넌트는 업무로직을 수행하고 필요에 따라 지속성 계층내 매핑 객체를 이용하여 데이터를 조회, 수정, 삽입, 삭제한다.

● 비즈니스 컴포넌트의 수행 결과는 다시 웹컨트롤 객체에 전달되고 응답 메시지 또는 페이지를 생성하여 클라이언트에게 전달한다.
사용자 삽입 이미지



업무 컴포넌트 구성

● 업무 컴포넌트는 공통 기반 시스템의 WAS에 프레임워크를 구동한다.

● 이 프레임워크 기반하에 1, 2, 3, 4, 5, 6 컴포넌트가 배치되며, 사용자 접점으로서 포탈 컴포넌트가 배치된다.

● 업무 컴포넌트들 간에 공통적인 기능들은 공통 업무 컴포넌트로 패키징되어 재사용되며, 외부 시스템, 솔루션 연계 등을 위한 연계 컴포넌트가 업무 컴포넌트에 의해 재사용된다.

● 공통 확장 시스템은 프레임워크에서 제공되는 기능과 시스템의 요구사항을 만족하기 위해 구현된 확장 모듈을 컴포넌트화 하여 구성하고, 모든 업무 컴포넌트의 기반 구조 및 서비스 제공 기능을 담당한다.
사용자 삽입 이미지

댓글 없음:

댓글 쓰기