Office Business Application (OBA)라 함은 지난 시간에 살펴본 바와 같이, 마이크로소프트의 오피스를 클라이언트 접점으로 하고 백엔드의 기업전용(LOB) 애플리케이션(ERP, CRM, SCM 등)을 연동하여 사용케함으로써 복잡하고 정형화된 LOB 애플리케이션을 익숙한 오피스 인터페이스를 통해 접근하도록 함으로써 생산성을 향상시키고 사용자 경험을 극대화할 수 있는 새로운 애플리케이션 개발 방식이다.
이번 시간부터는 OBA의 기술적인 특징과 차별화된 점을 살펴보도록 한다.
전통적인 LOB 애플리케이션들은 구조적이고 정형화된 비지니스 프로세스를 모델링하여 처리하는 데 최적의 솔루션을 제공해왔다. 하지만, 실제 비지니스는 이러한 잘 구조화된 비지니스 프로세스보다는 비구조적인, 사람과 사람사이의 소통을 통해 이루어지는 프로세스가 훨씬 많으며 이러한 것들은 전통적인 LOB 솔루션이 제공할 수 없는 영역이었고, 바로 이러한 부분을 마이크로소프트의 오피스를 통해 엮음으로써 효과적인 비지니스가 이루어지도록 하는 것이 바로 OBA인 것이다.
아래 그림은 이를 형상화한 것이다. LOB 솔루션이 제공하는 구조적인 프로세스 진행 와중에 우리의 비지니스는 이처럼 많은 사람과 사람사이의 소통을 필요로하며, 이러한 소통은 단순 문서의 전달만이 아닌 비정형화된 형태의 메시지 통신을 포함할 수도 있고 엑셀과 같은 툴의 도움을 받아 견적서를 작성하기도하고, 차트를 구성하기도 한다.
![]()
이와 같은 비구조적인 비지니스 프로세스를 포함하는 위해서 우리의 애플리케이션은 어떠한 아키텍처를 가져야 할 것인가 ? 일반적으로 우리가 베스트 프랙티스로 인정하고 있는 3 tier를 살펴보자. 통상적으로 Presentation Tier, Business(혹은 Application) Tier, Data(혹은 Integration) Tier 등으로 구분한다. 그 어느 티어에서도 사람과 사람사이의 비구조적인 통신을 효과적으로 처리할 수 있는 곳이 없다. 따라서 OBA 입장에서는 이러한 사람과 사람사이의 협업을 담당하도록 Presentation Tier와 Business Tier 사이에 Productivity Tier를 둔다.
![]()
위 그림은 각 Tier가 담당하는 역할을 보여주며 Productivity Tier를 제외한 나머지 Tier는 전형적인 3Tier 아키텍처와 동일하다. Productivity Tier의 주요한 역할은 다른 사람과의 협업을 가능하게 해주는 문서와 정보의 공유 및 관리 기능, 협업과 통신 지원 등이다.
닷넷 플랫폼의 지원하에 오피스 2007은 위의 4Tier 아키텍처에 적합한 모든 기능을 제공하고 있으며 또한 개발 측면에서도 Visual Studio에 위저드로 내장되어 있는 VSTO (Visual Studio Tool for Office) 기능을 활용하여 쉽게 개발할 수 있다. 개발 플랫폼이자 LOB 애플리케이션의 얼굴로 자리잡고 있는 오피스 2007의 기능을 도식화하면 다음과 같다.
![]()
정리하면, OBA는 위에서 살펴본 오피스 2007의 막강해진 클라이언트 및 서버 기능을 활용하여 Layered Architecture 기반으로 LOB 애플리케이션 연동하여 생산성을 극대화시키는 개발 방식인 것이다. 주의할 것은 Layering을 했다고 해서 즉, Architectural Pattern만 적용했다고 해서 엔터프라이즈 애플리케이션이 되는 것은 아니다. 맨처음 이슈로 제기했던 비구조적인 커뮤니케이션을 효과적으로 처리하기 위해서는 4 Tier 모두에서 적절한 Composition이 이루어져어 한다.

