목차 >> Glue Framework 아키텍처 +- 시스템 구성도 +- Glue Framework 동작 원리 |
그림 : 아키텍처 |
Presentation Layer는 화면(UI)와 Controller(Web F/W) 로 나눕니다.
Glue Framework에서 Service 부분에 해당하는 부분으로 UI 부분과 더불어 개발자가 비즈니스 로직에 맞추어 개발해야 하는 부분입니다.
Business Layer는 POJO(Plain Old Java Object)로 구현되어야 합니다. Glue Framework의 Service는 모두 POJO로 구현되어 있고 Model Layer와 Presentation Layer와의 모든 연결은 Interface로 구현되고 Data또한 Glue의 통합 Context를 통해 Framework의 Coupling을 최소화 하였습니다.
개발자는 Model Layer 혹은 Presentation Layer의 변경이 발생하더라도 Business Layer의 코드 변경은 최소화 되어야 하기 때문에 Business Layer를 구현할 때 Model Layer나 Presentation Layer의 어떠한 Class 및 Interface도 가져다 구현하지 않습니다.
Model Layer 의 Framework을 Implements 하여 제공하고 표준 Interface만을 제공하여 Coupling을 최소화를 제공합니다.
DB를 Handling 하는 부분으로 모든 DB를 동일하게 처리하기 위해 JDBC 표준으로 구현되어 있습니다.
모든 Data Handling 하는 부분을 Interface화 하여 Model Layer의 Framework이 변경되어도 Business Layer의 Service Code는 변경이 최소화 되게 하는 역할을 담당합니다. (DAO Class)
이를 위하여 개발자는 Glue Framework에서 제공되는 DAO 통해 Data Handling을 하여야 합니다.
외부의 다른 시스템과 데이타를 송수신하기 위한 부분으로 기본적인 HTTP 통신을 비롯 웹서비스(JAX-WS, RESTful)을 이용한 형태, u_CUBE와 같은 EAI와 송수신을 위한 인터페이스를 제공하여 개발자가 간단한 셋팅만으로 별도의 개발과정 없이 이용할 수 있도록 제공합니다.
화면의 경우 해당 URL에 의해 web.xml의 <servlet-mapping> tag에 정해진 dispatcher로 분기합니다. 현재 설명된 예제에서는 "mvc"라는 URL 확장자에 의해 해당하는 servlet mapping은 "dispatcher" 으로 "org.springframework.web.servlet.DispatcherServlet" class 를 이용하고 있습니다.
그림 : Web 동작원리 |
<input type="HIDDEN" name="ServiceName" value="EmpService"/>
GlueSimpleController Class는 Spring Framework에서 Glue Framework을 호출하기 위한 Wrapper Class로서 다음과 같은 역할을 수행합니다.
Service는 하나의 Transaction으로 처리되는 Business 단위로 구성됩니다.
모든 개발 부분은 Service의 Activity로 구현되고 그 결과는 GlueContext를 통해 공유합니다.
그림 : Activity Diagram |
NonUI는 시작이 Message 또는 File Message로부터 수신되어 Framework의 Service를 처리합니다.
Message 수신을 위한 별도의 Servlet( HttpReceiver )을 이용하며, 다음과 같이 web.xml 에 정의 할 수 있습니다.
<servlet> <servlet-name>NonUIReceiver</servlet-name> <servlet-class>com.poscoict.glueframework.web.GlueHttpReceiverAdapter</servlet-class> </servlet> <servlet-mapping> <servlet-name>uCubeReceiver</servlet-name> <url-pattern>*.msg</url-pattern> </servlet-mapping>
그림 : Activity Diagram |
Prev | Home | Next |