들어가며
엔터프라이즈 애플리케이션 아키텍처란 전사적 애플리케이션에 대한 단위시스템간의 구성과 그들의 상호 의존성 관리에 대한 정책을 수립하는 것이다.
본글은 단순히 예를 보여주기 위한 것일 뿐이다. 실제 전사적 애플리케이션 아케텍처를 설계한다면 이것과는 모습이 다를 것이며 훨씬더 상세하게 정리되어야 할것이다. 다만 본문서가 생각의 시발점이 되었으면 좋겠다. 어쨌든 모든 기업의 전산 시스템에서 한번쯤은 이런 수준의 고민이 있어야 하지 않을까? 
본글에서 말하는 컴포넌트는 단위시스템 혹은 서브시스템 정도로 이해 할 수 있을것이다.

Enterprise Application Architecture
기업 정보 시스템은 정보화의 대상의 관점에서 크게 내부 자원(직원, 자산등)관리의 문제와 사업정보(생산, 유통) 관리의 문제로 분리할 수 있다. 이러한 예는 은행의 계정계 시스템과 정보계 시스템 혹은 대학의 학사와 행정 등이 대표적인 예일 것이다.
같은 종류의 사업을 하는 기업은 사업 정보가 동일한 것이지 내부자원의 관리 방식이 동일하다는 것을 의미하는 것은 아니다 반대로 다른 종류의 사업영역을 가진 기업도 내부 자원의 관리방식이 동일 할 수 있다.
그러한 관점에서 보면 이두개의 정보(내부자원정보, 사업정보)를 모두 필요로 하는 비즈니스의 경우에 가장 변화가 심하고 재사용이 어려울 것이라는 것을 직감할 수 있다.
또한 동일한 사업영역을 가진 기업 또한 세부 사업내용은 약간씩 다를 수 있다. 따라서 개별 업무가 아닌 전체 적인 관점에서 비즈니스가 추상화 되어야 하는 경우 또한 변경이 심하게 발생할 것이다.
이러한 비즈니스의 다양성을 최대한 고려한 전사적인 아키텍쳐가 EAA이다. 



Channel
UI를 포함하는 시스템의 클라이언트이다.
Channel은 User에게 다양한 형태로 UI를 통해 서비스하면 필요한 요청을 BS(Business System)에 하게 된다.
다양한 Channel을 지원하기 위한 메커니즘이 고려되어야 한다.
다른 시스템이 접근하기위한 통로가 제공되어야 하면 Channel에서 구현하게 된다.


Business System

개별 비즈니스를 수행하는 시스템 컴포넌트이다.
BS(Business System)의 Client는 Channel이되며 BS는 Channel의 요구를 수용하기 위해 CRM(Company Resource Manager), CBM(Company Business Manager), CW(Co-worker)를 호출한다.
BS는 CRM과 CBM을 위한 선처리와 후처리를 수해해야 한다.
또한 다른 시스템을 접근하기 위해서는 CW를 통해야 한다. BS의 개별 서비스는 하나의LUW(Logical Unit of Work)가 된다.
CRM와 CBM은 상호 호출을 할 수 없기 때문에 CRM와 CBM에 걸치는 비즈니스 로직 중에서 추상화가 요구되지 않는 경우에 BS가 담당한다.따라서 어떤 경우에는 BS는 CW와 역할이 겹칠 수도 있다.


Co-worker
기업 정보 시스템 중에서 추상화된 비즈니스 프로세스를 위한 비즈니스 컴포넌트이다.
은행의 이자계산, 대학의 시수계산 등이 이에 속한다.
CW(Co-worker)의 Client는 BS(Business System)이며 CW는 데이터 서비스가 필요할 경우에 CRM(Company Resource Manager)나 CBM(Company Business Manager)를 사용한다.
또한 외부 시스템이나 Legacy System혹은 DW등과 연결하기위해 사용될 수 있다.
CW는 기업마다 차이가 많을 가능성이 높고 그 특성상 변경이 심하게 발생할 가능성이 높기 때문에 보다 높은 추상화를 요구한다. 따라서 CW가 CRM이나 CBM을 접근하는 방식과 BS가 CRM,CBM을 접근하는 방식이 다를 수 있다.
CW는 높은 추상화를 위해 Rule Base System이 도입될 수도 있다.


Company Resource Manager
기업의 내부 자원을 관리하는 Business Component이다.
인사, 급여 등이 속한다.
CRM(Company Resource Manager)의 Client는 CW(Co-worker)나 BS(Business System)이 될 수 있다.
개별 Business Component간의 Dependency전략이 수립되어야 한다.
CRM은 물리적으로 크게 Logic Part와 Data Part, 그리고 Interface, Dependency전략에 따른 Proxy들로 구성된다.


Company Business Manager
기업의 사업을 관리하는 Business Component이다.
대학의 경우 학사 업무, 은행의 경우 계정계 시스템 등이 속한다.
CBM(Company Business Manager)의 Client는 CW(Co-worker)나 BS(Business System)이 될 수 있다.
개별 Business Component간의 Dependency전략이 수립되어야 한다.
CBM은 물리적으로 크게 Logic Part와 Data Part, 그리고 Interface, Dependency전략에 따른 Proxy들로 구성된다

Posted by sjokim
,