마이크로소프트는 이전 포스트에서 언급했듯이  SaaS (Software as a Service)에 대한 좀 더 포괄적인 접근을 하고 있으며 이를 Software + Services (이하 S+S) 라는 개념으로 접근하고 있다.  S+S 관련하여 아키텍처 관점에서 각종 아티클이나 논의 및 LitwareHR은 샘플 애플리케이션을 제공하는 마이크로소프트의 공식적인 페이지가 개편되었다. 예전에 비해 좀 더 정리가 된 모습인데, SaaS에 대해서 참여 주체들의 관심 영역 혹은 역할에 맞게 정리를 한 것을 볼 수 있다. 즉, S+S에 대해 서비스 제공자 입장에서 접근하는지, S+S 애플리케이션을 호스팅하는 입장에서 접근하는지, S+S를 소비자하는 입장에서 바라보는 지, 혹은 S+S 애플리케이션에 마켓플레이스를 제공하여 활성화를 제공하는지 (즉, 장터를 제공하는 지)에 따라 분류하고 있어 자신의 목적에 맞는 내용을 쉽게 접근할 수 있다. 관심있는 사람들은 아래 싸이트를 방문하길 ...
 
 MSDN SaaS 아키텍처 페이지 바로가기

개편한지 며칠 되지 않았으며 방문자들의 피드백을 간절히 바라고 있다.

Posted by 장현춘

댓글을 달아 주세요

  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이 이루어져어 한다.

Posted by 장현춘

댓글을 달아 주세요

  1. 김현중 2008.08.13 11:20  댓글주소  수정/삭제  댓글쓰기

    안녕하세요 김현중이라고 합니다.
    VSTO 관련 웹 서핑을 하던 중..
    http://www.microsoft.com/korea/msdn/popcon/video_view.aspx?num=35
    위 강의를 봤습니다.

    위 강의 중,
    MyTab, MyGroup, MyButton 을 생성하는 것은 XML 작성을 통해 쉽게 가능한데요.

    질문은..
    코드내에서 직접 액세스 하는 방법을 알고 싶습니다.
    예를 들어 다음과 같습니다.

    MyTab.Enabled = false;
    MyGroup.Label = “나의 그룹”;
    MyButton.Enabled = false;
    MyTab.Enabled = true;

    현재 VSTO + VS2005 + Office2003,2007 환경으로 WordAddIn을 만들었는데요.
    2003은 UI를 코드로 작성하기에 문제될게 아니고,
    2007은 UI를 XML으로 작성하기때문에 문제입니다.

    혹시 방법을 알고 계신지요?
    답글 부탁드립니다.

    p.s : 홈페이지 찾느라 힘들었습니다^^

  2. Favicon of https://acroama.net BlogIcon 장현춘 2008.08.13 13:29 신고  댓글주소  수정/삭제  댓글쓰기

    안녕하세요. 반갑습니다.

    제가 개발 깊숙한 곳까지 파고 드는 역할은 아니지만, 말씀하신 사항이 코드 내에서 내가 추가한 MyTab등을 접근할 수 없다는 것인가요 ?
    제가 테스트해보니까, Globals.Ribbons.Ribbon1.MyGroup.Label = "내꺼내꺼내꺼" 이렇게 접근이 되던데.. MyTab, MyGroup 등 다 접근 가능하던데, 다른 걸 말씀하시는 것인가요 ?

    감사합니다.

  3. 김현중 2008.08.13 14:26  댓글주소  수정/삭제  댓글쓰기

    기본 샘플코드를 만들어봤는데요.
    VS2005 + VSTO + Word2007에, Ribbon support 만 추가했습니다.

    헌데 Globals.Ribbons.Ribbon1.MyGroup.Label 이런 접근이
    안되는것 같은데 어떻게 한것이죠?@_@

    혹시 VS2005 라서 그런가요?

  4. Favicon of https://acroama.net BlogIcon 장현춘 2008.08.13 14:34 신고  댓글주소  수정/삭제  댓글쓰기

    제 환경은 VS2008 SP1이며, 제가 비디오 찍을때(어감이 이상하군..^^)에도 유사한 접근 방식을 썼던 것으로 기억합니다.
    제가 김현중씨의 질문 받고 허겁지겁 만들어본 샘플은, VS2008+VSTO+Word2007 document에 visual designer 방식으로 리본을 추가했습니다. 이렇게 하니, intelli sense 기능으로 MyGroup, MyTab 다 찾아주는데요..

    감사합니다.

  5. 김현중 2008.08.13 14:39  댓글주소  수정/삭제  댓글쓰기

    Visual Designer 방식이라서 그런것 같은데요.
    더이상 여쭤보기는것은 실례가 되겠네요.^^
    답변 감사합니다.


    도움이 되는 소식을 접할수 있을것 같아서..RSS 추가해놨어요^^;
    감사합니다.

  6. Favicon of https://acroama.net BlogIcon 장현춘 2008.08.13 15:24 신고  댓글주소  수정/삭제  댓글쓰기

    감사합니다.
    다양한 공간에서 만나뵐 수 있길 기원합니다.

Software + Services가 미치는 영향에 대해 살펴보기로 하자.
전통적인 Software 중심적인 시각에서 Services가 더해져서 이루어지는 세상은 예전과 다른 시각을 가질 것을 요구하며 다양한 영역에 다양한 사람들의 삶에, 그리고 일의 방식에 영향을 미치고 있다.
먼저, 서비스를 제공하는 입장에서 살펴보기로 한다.

개발자에게 있어서 Software + Services는 어떤 영향을 미치는 것일까 ?
개발자에게 있어 솔루션을 개발한다는 것은 예전에는 필요한 모든 요소, 모든 기능을 자신이 모두 개발하여 소유하는 것을 의미하였다. 모든 것을 개발하여 내 영역안에, 내 회사 방화벽안에 설치하여 운영하는 것을 상정하여 개발이 이루어졌다. 하지만, Services가 개발 영역에 개입하게 되자 상황은 달라졌다. 구축하고자 하는 기능 모두를 자신이 개발할 필요가 없으며 일부는 외부에 Services 형태로 노출되어 있는 것을 이용하고 일부는 자신이 개발하게 되고 이렇게 내부에서 개발한 것과 외부에서 들여다 쓴 서비스간에 통합이 또 다른 주요 이슈가 된다. 통합에 있어서도 SOA 기반의 소위 Services Compostion이 될 수도 있고 그 보다 lightweight한 사용자 중심의 mash-up이 될 수도 있고, 아울러 이러한 서비스를 사용하는 입장이 될 수도 있고 또는 그러한 기능을 제공하는 서비스를 제공할 수도 있다. 요약하면, 필요한 기능을 모두 개발하여 소유하는 시대는 지나가고 시스템의 개발과 서비스의 소유가 분리되는 시대에 개발자들의 아키텍처와 코드가 적응을 해야하는 시대가 된 것이다.
또 다른 면에서 Services의 등장은 개발자에게 있어 고민 거리를 던져주게 된다. 예전에 자신이 개발한 기능은 내부 사용자만을 위한 것이 었지만, Services를 통해 외부에 노출되게 되면 사용자 수는 예측 불가능하게 된다. 이것은 기회이자 도전이 된다. 불특정 다수를 위해 노출된 서비스는 규모의 경제를 가능하게 하며, 이를 통해 예전에는 비용 대비 효과면에서 관심밖의 영역 이었던 것들까지도 서비스의 대열에 합류할 수 있게 된다. 하지만, 이것은 Scalability라는 중요한 이슈를 제기한다. 기업 내의 사용을 위해 개발했던 시대에는 기업만을 위한 Scalability, 즉 Enterprise level Scalability만을 고려하면 되었지만, 불특정 다수에게 서비스 형태로 노출되는 기능은 Internet Scalability 혹은 Cloud Scalability를 가능하게 되는 그러한 아키텍처, 그러한 프로그램밍이 되어야 하는 것이다.
시스템을 운영하는 IT Pro 입장에서 Services의 개입은 어떠한 영향을 미칠까 ?
모든 것을 회사 방화벽안에 설치하여 소유하는 시대에 시스템에 대한 통제와 통합, 커스터마이징이 필요한 만큼 원하는 수준으로 가능하던 시대에서, 나의 권한 밖에 위치한 서비스를 통제하거나 커스터마이징하는 데 제약이 따르는 서비스까지 모두 포함하여 관리가 이루어져야하는 시대가 된 것이다. 통제 가능한 레벨이 다른 내외의 서비스를 효과적으로 관리하기 위한 노력이 필요하게 된다.
아울러, 위에서 언급한 Internet Scalability 혹은 Cloud Scalability 이슈는 IT Pro에 있어서도 커다른 부담이 될 수 밖에 없다. 더군다나 초고속 인터넷의 급속한 보급으로 인해 시스템에 가해지는 부하의 이동 속도도 그 만큼 빨라질 수 밖에 없다. SLA 기반으로 서비스를 제공하는 입장이라면 급격한 사용자의 증가에 따른 시스템의 부하를 적절히 분산하거나 미리 차단하여 서비스가 중단되지 않도록 하는 장치가 필요하다.
서비스를 사용하는 입장에서 서비스의 개입은 어떤 영향을 미칠까 ?

먼저 최종 사용자 입장에서 Software + Services가 주는 의미를 살펴 보기로 한다.
오늘날에 우리가 들고 다니는 대부분의 장치들은 정도의 차이는 있지만 연산 능력을 갖춘 것들이며 사용자들을 이러한 다양한 장치들을 사용하면서 이러한 것들이 서로 Seamless하게 엮이기를 기대한다. 한 장치에서 경험한 기능을 다른 장치에서도 경험하기를 원하며 그러한 경험들이 익숙한 형태로 제공되기를 기대한다. 즉,  사용자들의 Digital Lifestyle에 맞는 서비스가 제공되어야 한다. 이러한 면에서 전통적인 Software만으로 사용자들의 다양한 장치에 두루 적합한 서비스를 제공하기는 불가능하다. 아울러 인터넷 기반의 순수 서비스만으로 이러한 사용자들의 욕구에 부응하는 기능을 제공할 수 없다. 들고 다니는 하드웨어(장치)와 맞물려 최적의 Software + Services 조합이 필요한 이유가 바로 여기에 있다. 
기업내 사용자 즉, Information worker 들에게 있어서 Software + Services는 어떤 의미일까 ?
오늘날 재택 근무가 확산되어 팀원들이 옹기종기 한 곳에 모여 서로 의논하며 일하던 시대는 지나갔다. 언제 어디에 있더라도 늘 연결되어 있다면 공간의 제약은 문제가 되지 않는다. 한국마이크로소프트도 지난해부터 재택근무를 도입하고 있으며, 휴대폰과 Office Communicator를 통해 늘 연결된 환경에서 협업이 이루어지고 있다. 시공간적으로 가장 적합한 형태의 Software 혹은 Services를 이용하여 지속적으로 Seamless한 경험을 제공받으며 업무를 진행할 수 있다. 아울러 offline이거나 online에서거나 사용자들은 중단없이 주어진 일을 수행하길 원하다. online에서만 가능했던 순수한 Services 중심적인 사고에서 offline까지 함께 아우를 수 있는 Software + Services로의 전환이 필요한 이유 중에 하나이다.
그 외에도 고객과의 접점에서 비지니스를 수행해야 하는 비지니스 매니저들에게 있어서 Software + Services는 예전과 다른, 남들과 다른 차별화된 서비스를 제공할 수 있는 수단이 된다. 치열한 비지니스 환경 속에서 차별화된 서비스가 가능하다는 것을 커다란 무기가 될 수 있으며 Software와 Services의 최적의 조합을 통해 가능하게 된다.
위에서 살펴본 바와 같이 Software와 Services의 결합은 기업입장에서 오늘날의 비지니스를 가능하게 하는 IT 전반에 걸친 자연스런 변화이며 이러한 변화를 통해 사용자들의 기대에 부응하는 서비스가 가능하게 된다.

Posted by 장현춘

댓글을 달아 주세요

오늘날 많은 Buzzword들이 난무하고 있지만, 그중 유난히 우리의 시선을 잡아 끄는 것들이 있다. SOA, SaaS, Web 2.0 등이 그것이다. 오늘날처럼 사용자의 요구가 다변화되어 있고, 변덕이 심한 상황에서 서비스를 제공하는 입장에서는 다양한 기술을 적용해보고 다양한 방법을 고안해나가며 대처해나가는 과정에서 자연스럽게 많은 buzzword들이 생겨나게 된 것이다. 마이크로소프트가 IT 변혁기마다 어떠한 변화를 겪어가며 헤쳐나왔는지, 그리고 그러한 연장선상에서 오늘날 어떤 무기를 들고 대처해가는지를 살펴봄으로써 근래에 내놓은 "Software + Services" 전략을 엿보기로 하자

마이크로소프트는 1975년 설립되어 1981년에 IBM PC에 처음 MS-DOS 1.0이 탑재되어 세상에 나오게 되었다. 1990년에 Windows 3.0을 출시하여 GUI 환경의 운영 및 개발 플랫폼의 대중화을 이끌었다. 그 당시 Lotus 123 및 워트퍼펙 등 non-GUI 기반의 막강한 소프트웨어의 영향으로 GUI 기반 플랫폼이 주목을 받지 못해 애플 등도 고전을 면치 못하던 시기였다. 마이크로소프트는 GUI 기반 운영 및 개발 플랫폼의 가능성을 주목하여 일련의 Windows 출시에 주력하게 된다. 5년후 1995년 경에는 바로 웹이 폭발적인 성장을 막 시작하려는 시기였으며 마이크로소프트는 데스크탑 위주의 전략에서 웹 포괄적인 전략으로 변화를 꾀하게 된다. 이때 만들어진 것이 IE, IIS, 웹 저작 도구들이며, 아울러 AJAX의 기반 기술인 DHTML을 만들고, XMLHTTP객체를 IE에서 지원하는 등 웹에 대한 투자 및 전략에 많은 노력을 경주하던 시기이다. 다시 5년후 2000년 경에는 닷컴 버블이 붕괴되던 시기이다. 그렇게 천정부지로 치솟던 IT에 대한 가치 평가와 닷컴 회사들의 주가가 곤두박질치기 시작하는 시기이다. 마이크로소프트는 이 시기에 중대한 결심을 하게 된다. 닷컴 붕괴를 통해 소통의 중요성, 즉, 시스템과 시스템의 소통의 중요성을 파악하고 XML 웹 서비스 확대를 위해 많은 노력을 기울이게 된다. SOAP 제정과 XML 태동에 많은 기여를 하고 웹 서비스 표준화에 적극 참여하게 된다. 또하나 그전까지 컴파일과 링크를 하게 되면 바로 OS에 최적화된 바이너리 기반의 개발 방식에서 벗어나 가상의 운영환경인 CLR 기반의 managed 환경에서의 개발 방식, 즉 닷넷을 도입하게 된다. 실로 마이크로소프트로서는 최대의 도박이자 결단을 한 것이다. 다행이도 닷넷 플랫폼은 그 이후 순항을 거듭하여 성공적으로 정착했다. 그 후 5년후 2005년을 전후에서 또하나의 변혁이 도래하게 되는데 바로 서비스 중심적인 사고의 확대이다.

마이크로소프트에게 있어서, 그것도 소프트웨어 라이선스 판매를 통해 돈을 버는 회사 입장에서 광고 기반의, 서비스 기반의 소프트웨어 전략, 서비스 기반의 경제 논리는 위협이 될 수 있는 상황이었다. 마이크로소프트는 2005년 Notes를 만들었던 Ray Ozzie를 영입하여 서비스 시대에 걸맞는 전략 수립에 박차를 가하며 마이크로소프트의 서비스 전략, 바로 Software + Services를 제시하게 된다. Software + Services (이하 S+S)는 단순히 Software도 하고 Services도 하겠다는 것이 아니라 현재의 사회적, IT 환경적 상황이 Software와 Services의 결합을 통한 사용자 경험의 극대화를 추구하고 있음을 간파한 전략인 것이다.

여러분이 익숙한 많은 온라인 서비스 업체들, 특히 서비스만이 살길이라고 외치던 업체들도 이미 Software와 Services의 결합을 통해 충성도 높은 사용자를 끌어들이고자 노력하고 있다. 구글 데스트탑, 툴바, 위젯, 게젯, 위젯바 등등 국 내외를 막론하고 서비스 중심적인 회사들이 앞다투어 무언가를 데스크탑에 깔고자 했으면 이를 통해 동종업계의 다른 회사와의 차별성을 부각시키고자 했던 것이다. 더 전문영역으로 가면, "모든 소프트웨어는 구름속에 위치할 것이다"라며 NO SOFTWARE를 자사 전화번호로 삼을 정도로 전문 서비스 업체를 표방했던 Salesforce.com 조차도 Offlie edition, mobile edition을 만들어 데스크탑에 소프트웨어를 설치하고 있는 게 현실이다. ebay같은 경우도 일반 사용자들은 브라우저만을 통해 경매를 할 수 있고, 소위 파워셀러들은 Turbo Lister라는 데스크탑 애플리케이션을 통해 경매에 참여하게 하는 등 Software와 Services를 결합해 자사 서비스의 만족도, 사용자 경험을 최적화하려 하고 있다. Apple의 iTunes도 그러한 데스크탑 애플리케이션이다. Google Gears 또한 어떤한가. 이러한 현상들이 말하는 것은 하나다. 사용자 중심적인 사고, 사용자 경험 최적화, 비지니스 요구를 최우선시 하고자 한다면 자연스럽게 Software와 Services의 결합을 통한 시너지, Software와 Services를 통한 사용자 선택의 폭 확대를 꾀할 수 밖에 없다는 것이다. 이것이 마이크로소프트가 바라보는 서비스 전략인 것이다.

세상에 존재하는 대다수의 서비스들은 100% Software이거나 100% Services일 가능성은 매우 적다. 더군다나 그것이 다른 사용자를 위해 제공되는 것이라면, 그리고 사용자를 위한 것이라면 더 더욱 그러하다. 즉, 막대의 한쪽 끝을 전통적인 IT가 추구했던 100% Software 즉, 필요한 Software 라이선스를 구입하여 회사 방화벽안에 설치하여 내가 필요한 것은 모두 내가 소유하는 방식을, 또 다른 끝은 초기 Salesforce.com이 추구했던 100% Services기반으로 필요한 것은 하나도 내가 소유하지 않고 돈 내고 빌어쓰는 형태라고 봤을때 대부분의 서비스는 이 둘을 잇는 중간 어딘가에 위치하게 된다는 것이다. 즉, Software와 Services의 "배합비율"이 달라질 뿐 Software와 Services의 두 가지 장점을 향유하고자 둘 다 채택할 것이다.
또 다른 의미에서 S+S를 살펴보면, 회사에서 데스크탑 애플리케이션인 Outlook을 통해 회사 메일 서버에 접속해 메일을 확인하던 직원이 지방 출장을 위해 공항에서 키오스크의 웹 기반 애플리케이션을 통해 한 두 메일을 확인하고 지방의 버스 안에서 PDA나 포켓피씨 등의 mobile outlook등을 통해 메일을 확인하는 경우를 상정해보자. 이 경우 세가지 장치를 통해 사용자는 동일한 서비스에 접속해 서비스를 받고 있는 것이다. 즉, 사용자가 처한 환경, 처한 상황, 처한 장치에 최적화된 방식으로 사용자는 서비스를 이용하는 것이다. 즉, 사용자에게 Software, Services 혹은 S+S를 통해 선택의 폭을 넓혀주는 것이다. 모든 경우 항상 브라우저를 통해 메일을 확인하는 것이 사용자를 위해 가장 바람직한 서비스일까 ? 또한 이처럼 동일한 메일 서비스에 접속해 메일을 확인할 경우 어느 장치의 경우던 한번 읽은 메일은 "새메일"로 표시되지 않도록, 즉, 아웃룩에서 봤던지, 공항 키오스크 웹 브라우저를 통해 읽었던지간에 PDA를 통해 메일 서비스에 접속하면 이전에 읽은 것은 여전히 읽은 메일로 표시되어야 한다는 것이다. 이를 "Seamless User Experience"라고 한다. 즉, 어떤 장치, 어떤 통로를 통해서든 동일한 서비스에 접속하면 사용자 경험이 죽 하나로 끊김없이 이어져야 한다는 것이다. 이처럼 사용자가 처한 상황, 장치, 시간 등을 고려하여 최적의 사용자 경험을 제공할 수 있는 Software 혹은 Services 혹은 S+S가 바로 마이크로소프트가 제시하는 가장 실질적인 접근 방식인 것이다.
아래 그림이 바로 마이크로소프트가 바라보는 시각, S+S 모델이다.

기업이 SOA기반 인프라를 갖추었다고 하면 대부분의 경우 기업내 애플리케이션들로부터 재사용 가능한 비지니스 기능(business functionality)들을 서비스 형태로 추상화하여 BPM엔진이나 서비스 오케스트래이션 엔진에서 관리하면서 급변하는 비지니스 상황에 대처하기위해 비지니스가 요구하는 새로운 서비스를 만들고자 할 경우 SOA 기반의 재사용가능한 서비스들을 조합하여 그때 그때 새로운 서비스를 만들 수있는 제반 여건이 만들어졌다고 할 수 있다. 즉, Business Agility를 위한 필수적인 요소로서 IT를 자리매김해주는 것이 SOA인 것이다. 이제는 SOA 인프라에서 관리하는 서비스가 자사 서비스 뿐만아니라, SaaS 형태로 외부에서 제공되는 서비스까지 포괄하여 이들을 조합할 수 있어야 한다. 즉, 기업이 가져가야 할 IT 핵심 역량으로 삼을 것은 계속 사내 애플리케이션 형태로 유지, 보수를 해 나가야 하나, 이미 Commoditized되어 있어서 회사의 핵심 역량이 아닌 것들은 SLA (Service Level Aggreement)를 통해 외부 서비스를 이용하는 것이 합리적이다. 즉, 어떤 것을 핵심역량으로 하고 어떤 것을 commoditized된 서비스를 볼 것인지에 대한 회사 차원에서의 정책 즉, IT Governance가 필요하다. 이러한 IT Governnance하에서 신규 프로젝트가 강제되어 일관성을 유지할 수 있어야 한다. 이러한 것이 다름아닌 Enterprise Architecture의 기초가 된다. 이렇게하여 SOA와 SaaS가 엮이게 된다. 
정작 사용자 입장에서는 뒷단의 SOA 와 SaaS의 결합에 별로 관심이 없다. 사용자가 관심있는 것은 뒷단이 몽땅 사내 서비스에서 제공되건, 몽땅 외부 SaaS 서비스로 제공되건 상관없이, 내가 하고자 하는 일, 나의 업무에 최적화된 형태로 해당 서비스가 제공됐으면 하는 것이다. 영업 대표인 내가 고객 응대를 위해 필요한 정보를 내가 업무 처리에 맞게 제공해주고 내 업무에 맞게 화면 전환을 제공하며, 내가 한번에 알 수 있게 다양한 차트와 표를 통해 제공해준다면 금상첨화일 것이다. 또한 내가 사무실을 떠나도 PDA 등을 통해 여전히 서비스를 이용할 수 있다면 더할 나위 없이 환상적일 것이다. 바로 이것이 Web 2.0 적인 요소가 가미되는 것이다. 
마이크로소프트가 바라보는 세상은 이처럼 Software와 Services의 조합으로 구성되어 있으며 자연스럽게 Software와 Services는 결합될 수 밖에 없는 것이다. 중요한 것은 기술이나 서비스 자체의 대의 명분이 아니라 그것을 통해 뭘 제공하려하는지 즉, 사용자 중심적인 사고가 최우선이라는 것이다.

Posted by 장현춘

댓글을 달아 주세요

  1. Favicon of http://emotionbank.tistory.com BlogIcon 감정은행 2008.06.23 12:46  댓글주소  수정/삭제  댓글쓰기

    주옥같은글 잘읽었습니다.
    요새 SaaS에 관심이 많았는데 MS의 역사와 더불어 너무 잘 설명해주신듯하네요^^

  2. Favicon of https://acroama.net BlogIcon 장현춘 2008.06.24 11:01 신고  댓글주소  수정/삭제  댓글쓰기

    감사합니다. 좀 지난 글이라 조만간 아키텍트 관점에서 다른 글을 올릴까 생각중입니다.