MS의 많은 제품 가운데서 변화의 양과 질에서 다른 제품보다 월등한 발전을 보이는 것이 오피스 제품군이다. 올해는 그 변화의 한 과정으로 오피스 2007이 출시되며 현재 테스트 목적의 β2가 공개됐다. 자잘한 변화는 예상이 되지만 큰 틀에서의 오피스 2007은 이미 완성된 모습이라고 할 수 있다.
MS는 오피스 2003을 통해 단순한 사무용 도구에서 정보 이용자를 위한 애플리케이션 플랫폼으로 발전을 상징하는 오피스 시스템 개념을 제시했다. 이런 변화는 최소한 향후 4~5년간 현재의 흐름을 유지하며 발전할 것으로 전망된다. 본 지면을 통해 오피스 2007의 변화된 모습과 개발자를 위한 정보를 다 언급하기는 불가능하다. 그래서 세부적인 코드나 프로그래밍 기법을 제시하기 보다는 오피스 2007이 개발자에게 갖는 의미와 범위를 중심으로 설명한다.

오피스는 이제 단순한 워드, 엑셀 또는 파워포인트와 같은 개별 제품 이상의 의미를 갖고 있다. 즉, 오피스 2003에서 시작된 시스템으로서의 오피스라는 개념이 이제는 그 범위와 기능이 상당히 넓은 영역으로 발전을 하고 있다. 오피스 2007의 시스템 개념은 더 많은 개별 애플리케이션 및 다양한 서버의 추가, 각종 플랫폼 툴 및 서비스와의 연계, 그리고 서비스 개념의 추가 등으로 요약된다(각 그룹과 개별 제품과의 개략적인 분포는 뒤에서 설명한다).
또한 시스템으로서 오피스는 개발자 입장에서는 플랫폼(운영 체제)과 비즈니스 응용프로그램 사이에서 중요한 연계 기능을 수행한다. 플랫폼과의 기술 연계는 물론 비즈니스 응용프로그램과의 연계도 오피스 2007에서 본격적으로 선보인다. 이런 흐름은 오피스 2007을 넘어서 차세대 오피스 제품까지도 이어질 것이다. 다른 관점에서 보면 플랫폼과의 기술연계는 Micro 기술영역에서의 Integration을, 비즈니스 응용프로그램과 기술연계는 Macro 기술영역에서의 Integration을 상징한다고 볼 수 있다.
Micro 기술영역의 협력 기술로는 윈도우 쉐어포인트 서비스가 대표적인 예다. Macro 기술영역의 협력기술로는 마이크로소프트 Dynamics와 같은 새로운 제품군을 들 수 있다.
큰 의미에서 오피스 시스템은 다양한 솔루션을 제공한다고 볼 수 있다. Business Intelligence, Business Process Improvement, Content Management 등이 이에 해당된다. 반대로 오피스 제품 컴포넌트 또는 툴은 또 다른 응용프로그램 개발의 세부요소로 사용할 수 있다. VSTO를 통해 특정 응용프로그램에 오피스 애플리케이션의 장점을 수용하는 것을 예로 들 수 있다.

개발과 관련된 세부 기술을 설명하기에 앞서 오피스 시스템의 전반적인 구성과 각 요소 사이의 관계를 이해하는 것은 매우 중요하다. 별것 아닌 것처럼 보이지만 시스템과 솔루션의 이해 없이 개발에 임하는 것은 사상누각(.....閣)과 다름없으니 말이다. 이러한 실수로 인해 개발에 고충을 겪는 사례는 의외로 많은 데서 알 수 있다. 특히나 개발이 끝나는 시점에서 문제의 핵심을 깨닫는 경우가 대부분이라 더욱 주의를 기울려야 한다. 오피스 시스템과 관련해 자주 발생했던 오류 가운데 하나를 소개하자면 이전 버전의 윈도우 쉐어포인트 서비스와 쉐어포인트 포털 서버의 개념을 혼동한다는 것이다. 이 두 가지는 서로 다른 듯 보이지만 또는 같은 일을 하는 듯하나 서로 다른 역할을 하도록 설계돼 있다.
윈도우 쉐어포인트 서비스는 <화면 1>에서 알 수 있듯이 플랫폼 서비스의 하나로 쉐어포인트 포털 서버의 한 기능을 담당한다. 마찬가지로 쉐어포인트 포털 서버는 일종의 프레임워크로 윈도우 쉐어포인트 서비스와 같은 다양한 모듈 또는 기능을 하나로 묶어주는 역할을 한다. <화면 1>은 오피스 시스템을 일반적인 구분 하에 3개의 그룹으로 나뉜 것이다. 크게 프로그램, 서버, 서비스 등 3가지 형태이다.

<화면 1>을 조금 더 발전시켜 개발자 입장에서 보는 오피스 2007의 구분은 그 역할에 따라 다음과 같이 5가지 그룹으로 나누어 볼 수 있다.
● 애플리케이션 프로그램 : 워드, 엑셀 등의 프로그램을 지칭한다. 오피스 2007에는 쉐어포인트 디자이너 2007, 커뮤니케이터, 그루브(Groove)와 같은 새로운 제품들이 포함되어 있다.
● 서버 : 데이터 또는 프로세스와 관련한 서버 역할을 하는 제품으로 프로젝터 서버, 그루브 서버, 쉐어포인트 서버 등이 있다. 대부분 오피스 2007에서 새롭게 추가되었다.
● 플랫폼 서비스 : 오피스 시스템에 직간접적으로 사용되는 플랫폼(Operating System)의 특정 기능으로 윈도우 쉐어포인트 서비스가 대표적인 예다.
● 솔루션 : Business Intelligence Solution 또는 Enterprise Project Management Solution 같은 다양한 기술이 혼합되어 보다 고차원적인 업무 지원을 할 수 있다.
● 서비스 : 구분방법에 따라 오피스 2007의 기본 구분에는 속하지 않지만 이 부분은 오피스 시스템의 차세대 핵심 역량 중 하나다. 주로 온라인 라이브 서비스와 관련된다. 오피스 온라인, 오피스 라이브가 이에 해당된다.
위와 같은 5가지 구분 그룹에 대해 서비스와 솔루션을 제외한 기타 Support 기술을 포함시켜 개발자적인 입장에서 보다 구체화한 것이 <화면 2>이다.


MS는 기본적으로 오피스 2007의 3대 핵심 개발 역량으로 다음과 같은 4가지 범주를 제시한다.
Connected System은 MS의 핵심 역량 중의 하나로 SOA(Service Oriented Architecture) 솔루션이다. Office Connected가 딱히 Connected System 또는 SOA를 의미하는 것은 아니지만 상당부분 연관성을 갖고 있다. 상위레벨의 Connected System 환경을 구축하려는 시도 중 하나인 것이다. 구체적으로 Work flow, Business Process Optimizing & Improvement 등이 해당되며 이를 구현하기 위해서 다양한 프로그램, 서버, 서비스 등을 사용한다. 이와 관련된 기술 또는 제품으로는 InfoPath 2007, 아웃룩 2007, 쉐어포인트 포털 2007, 윈도우 쉐어포인트 서비스 3.0, 윈도우 워크플로우 파운데이션 등이 활용될 수 있다.
개발자는 이러한 툴을 사용하여 보다 확장 가능한 완성도 높은 BPM(Business Process Management) 또는 EDMS(Electronic Document Management System) 등의 솔루션을 개발할 수 있을 것이다.
오피스 2007에서 XML이 갖는 의미는 이제 진정한 용도의 XML 사용이 시작됐다는데 있다. 이전 버전에서 제한적으로 XML을 사용하였는데 이는 주로 Presentation 영역에 초점이 맞춰져 있었다면 오피스 2007은 실질적인 데이터에 본격적으로 XML을 적용하게 되었다. 아울러 Compression까지 적용해 보다 효율적이고 확장 가능한 환경을 제공한다. 물론, 오피스 2007에서 XML의 적용은 국제표준과 개방형을 지향한다. 그러므로 개발자들은 오피스 문서를 XML 수준으로 접근할 수 있게 된다.
10여년 동안 문서의 속성 또는 문서 내부 정보에 접근하기 위하여 필터 프로그램이니 인덱스 서버니 하는 중간 툴을 사용하던 것과 달리 개방된 표준 포맷으로 누구든지 활용할 수 있게 된 것이다.
InfoPath, VSTO(Visual Studio Tool for Office) 등은 오피스에 더 많은 기능을 부여하고 사용자의 단순 반복적이고 제어가 쉽지 않은 작업을 제어 가능한 업무 범위 안으로 가져오도록 한다. 예를 들면, 한 기업의 문서 워크플로우가 C나 C#과 같은 개발자 지향적인 상황에 너무 묶여 있다면 업무의 유연성이 현저하게 떨어질 수밖에 없다.
업무 개선 차원에서 이를 유연하게 가져가는 InfoPath를 활용하면 집중할 곳과 그렇지 않은 곳을 구분할 수 있다. 적은 노력으로 많은 이점을 얻을 수 있을 것이다. VSTO 또한 생각보다 그 중요성이 덜 강조된 툴 가운데 하나다. VSTO를 엑셀과 함께 사용한다면 멋진 업무용 분석 및 보고서 툴이 된다.
굳이 거창한 솔루션 또는 분석 툴을 사용치 않더라도 많은 부분을 이와 같은 개발 툴 조합으로 해결할 수 있을 것이다. 여기에 SQL 서버 2005까지 곁들여 진다면 훌륭한 BI(Business Intelligence) 솔루션을 만들 수 있다.
오피스 2007에는 다양한 개별제품이 있다. 여기서 가장 돋보이는 제품은 쉐어포인트 서버 2007이다. 오피스가 기존의 엑셀, 워드, 그리고 파워포인트라는 데스크탑 애플리케이션에서 오피스 시스템으로 변화하는 과정의 중심에 있는 제품이다. 개발자 입장에서 지속적인 관심을 가져야 할 쉐어포인트 서버 2007의 중요사항은 다음과 같다.
● Business Data Catalog
● Document Management
● Web Content Management
● Excel Services
● Office InfoPath Forms Services Capabilities in Office SharePoint Server 2007
● Search
● User Profiles and Audience Targeting
● Single Sign-on
오피스 2007의 4가지 핵심 영역 가운데 개발자 입장에서 알아두면 좋을 세부 사항은 다음과 같다.
● User Interface ● Office Open XML Format
● Collaboration ● Business Intelligence
오피스 2007의 UI는 기존 버전과의 단절이라고 할 만큼의 큰 변화를 가져왔다. 10여 년간 사용해 왔던 메뉴와 툴바를 리본(Ribbon) 또는 갤러리(Gallery)라는 새로운 UI로 변경한 것. 그동안 기하급수적으로 늘어난 메뉴와 기능을 효율적으로 그리고 사용자 간섭을 최소화하는 UI의 필요성에 의해 탄생하게 되었다. 새로운 UI는 단일 컨트롤로 구성되어 있는 기존 UI와 달리 기본 컨트롤, UI 철학, 사용자와의 상호작용 등을 염두에 두어 보다 섬세한 접근 방법을 취한다. 또 개발자를 위한 UI 시스템이라는 강력한 개발지원 구조를 제공한다.
결과 지향적 디자인(Result Oriented Design)이라는 개념도 눈길을 끈다. 기존의 특정 명령에 따라 기능을 수행하던 형태에서 일련의 결과를 염두에 두고 단순히‘따라하기’가 아닌 원하는 결과를 얻어낼 수 있는 UI로 고안했다. 그 가운데서 Three-Stage Formatting은 사용자가 단지 몇 단계(3단계)의 UI 설정만 따라 함으로써 원하는 형태의 UI를 구성할 수 있게 해준다.
아울러 화면 해상도에 따라 자유롭게 크기를 변경할 수 있고 사용자가 원하는 형태로 커스터마이징(Customizing)할 수 있는 구조를 제공한다. 개발자가 사용할 새로운 UI 시스템의 중요 구성원은 아래와 같이 크게 4가지로 이뤄진다.
①기존 오피스 솔루션과의 호환성 및 커스터마이징 방법 제공
②오피스 개발자를 위한 기본 개발 방법- MS 오피스 Open XML 사용
- XML markup을 포함하는 COM Add-in 사용
③응용프로그램 수준의 Customization 방법 제공 : XML 수정 외에도 애플리케이션에서 직접 UI의 각종 설정 값을 변경할 수 있다.
④문서 수준의 Customization 방법 제공 : 문서 수준의 Customization 방법이란 미리 변경된 UI의 템플릿 등을 지정된 문서와 같이 넣어둠으로써 변경된 UI를 사용할 수 있음을 의미한다.
오피스 Open XML Format은 앞서 언급했듯이 업계 표준의 XML Format을 사용한다. XML Format의 기술적인 핵심 특징으로는 XML Reference Schema와 ZIP Container의 사용에 있다. 오피스 Open XML은 다양한 오피스 문서를 사용하는 documentenabled solution을 예상할 수 있다. 그러므로 오피스 XML 문서를 활용한 응용프로그램을 개발하려는 개발자 입장에서는 오피스 XML Document의 세부사항을 반드시 숙지해야 한다.
● Data Interoperability ● Content Manipulation
● Content Sharing and Reuse ● Document Assembly
● Document Security ● Managing Sensitive Information
● Document Styling ● Document Profiling
참고로 오피스 Open XML Format은 MS 윈도우 XML Paper Specification Format과 구조는 비슷하나 서로 다른 목적을 갖고 작성된 것이라 현시점에서는 상호호환성을 제공하지 않으니 주의해야 한다.
MS의 협업 기술은 다음과 같은 다양한 제품들로 사용자의 비즈니스 목적에 따라 구성하여 사용할 수 있다. 물론 대부분의 제품들은 개발도구를 제공하고 개발자가 자신만의 부가가치를 부여할 수 있도록 해 준다.
● 오피스 시스템 2007 : 오피스 쉐어포인트 포털 서버 2007, 오피스 커뮤니케이터 2007, 오피스 아웃룩 2007
● 익스체인지 서버 2005/2007
● 라이브 커뮤니케이션 서버 2005
● 라이브 미팅
● 윈도우 메신저
● 윈도우 쉐어포인트 서비스 3.0
● 윈도우 워크플로우 파운데이션(.NET Framework 3.0)
오피스 2007을 이용한 협업 솔루션의 중심에는 쉐어포인트 서버 2007이 자리잡고 있다. 비즈니스상에서 발생되는 문서의 활용을 극대화하고, 프로세스를 최적화하며 다양한 워크플로우를 제공한다.
오피스 2007은 이미 그 양적인 수준이나 질적인 수준에서 놀랄만한 발전을 이룬 제품이다. 현시점에서 오피스 2007은 단순한 오피스 시스템의 업그레이드 차원이 아닌 MS의 플랫폼 범위를 새롭게 정의하는 제품으로 보는 것이 다양한 기능을 설명할 수 있는 가장 합당한 판단이 아닐까 한다. 개발자를 포함한 CIO/CTO 입장에서도 오피스 2007을 Information Worker를 위한 하이레벨 플랫폼으로 접근한다면 보다 다양한 기회를 창출할 수 있을 것으로 보인다. @
* 이 기사는 ZDNet Korea의 제휴매체인 마이크로소프트웨어에 게재된 내용입니다.