아키텍트2008.10.24 10:28
블로터닷넷 도안구 기자님이 아래와 같이 써 주셨습니다.

http://bloter.net/archives/7561

mmshsshin신현석 한국마이크로소프트 개발자와 플랫폼 사업총괄 부장은 “아마존의 아마존 웹서비스(Amazon Web Service)가 대표적이며 마이크로소프트의 버추얼어스를 부동산 정보와 결합해 제공하는 메시업, 다음커뮤니케이션과 NHN이 진행하고 있는 메시업, 오픈마루의 다양한 서비스 시도들이 WOA의 초기 모델이라고 볼 수 있습니다”라고 밝혔다.

야후의 교통정보라는 서비스를 마이크로소프트의 버추얼어스나 구글어스와 결합하거나 부동산 전문 업체들이 전세계 지도 서비스 업체들의 인프라를 활용해 3차원적인 정보 서비스를 별도로 만들어 내면서 이전과는 전혀 다른 서비스들이 속속 출현하고 있다. 이런 서비스를 제공하기 위해 자사의 서비스 아키텍처를 좀더 유연하게 만들어 내는 것이 WOA이다.

그렇다면 왜 WOA가 주목을 받을까?

신현석 부장은 “웹이 하나의 플랫폼이 됐기 때문입니다”라고 설명한다. 수 많은 웹 서비스 업체들은 자신들의 서비스를 네티즌들에게 제공하고 있지만 이와는 별개로 수많은 개발자들이 웹서비스 업체의 인프라를 활용해 또 다른 서비스를 만들어 낼 수 있도록 돕고 있다. 이런 서비스 인프라를 만들어 제공하지 않으면 경쟁 업체들이 선점하면서 생태계를 이끌어가기 때문에 웹서비스 업체들이 주목을 하고 있다.

그렇다고 해서 웹서비스 업체들만 관심을 가지는 것은 아니다. 일반 기업들도 인터넷뱅킹 서비스와 같은 다양한 인터넷 서비스를 제공하고 있는데 이런 사이트 구축을 할 때 WOA 형태로 진행할 수 있다. 다만 그동안 기업 내부적으로 SOA의 표준들이 다양하게 사용돼 왔기 때문에 웹 서비스 분야에서도 SOA 표준 중 하나인 SOAP를 사용할지 아니면 WOA의 REST를 사용할지의 선택을 해야 한다. 일장일단이 있기 때문에 어떤 아키텍처로 가져갈지에 대한 다각도의 검토 작업이 필수적이다.

공공 기관들의 경우, 통계정보나 지리정보, 기상정보 등 원천 데이터들을 보유하고 있고, 지속적으로 이를 담는 그릇을 서비스 형태로 만들어가기 위해 노력하고 있는만큼 WOA를 검토할 필요성은 기업이나 웹서비스 업체에 뒤쳐지지 않을 것으로 보인다.

신현석 부장은 “WOA가 SOA를 모두 대체할 수 있다고 보지는 않습니다. 어떤 서비스를 제공하기 위해 최적의 아키텍처는 무엇인지 검토가 필요한 상황이죠”라고 전하고 “SOA가 소개된지 오래됐지만 꾸준히 변화하고 있듯이 이제 막 소개되고 있는 WOA도 적용 가능한 분야를 찾아 진화, 진보해 나갈 것으로 봅니다”라고 밝혔다.

신고
Posted by 나이스가이
아키텍트2008.10.17 10:19
2008년 10월 15일자 디지털타임즈에 위와 같은 제목의 기사가 게재되었습니다.
그 내용 중 제가 밝힌 내용도 나와서 참고로 올려 놓습니다.
http://www.dt.co.kr/contents.html?article_no=2008101602010560744002

SOA의 ROI에 의문이 제기 되고 있다.

"이런 가운데 기존 SOA의 단점을 보완하기 위한 대안찾기 움직임도 활발하다. 웹지향아키텍처(WOA)가 바로 그것으로 `단순함'이라는 웹의 근본적 장점을 충분히 살려 부동산 회사가 외부 지도정보 위에 매물정보를 함께 보여주는 등 기존의 웹 서비스를 차용해 빠르게 새로운 서비스를 개발하는 개념이다.

신현석 한국MS 개발자플랫폼 사업총괄 부장은 "WOA를 SOA와 같은 형태로 기업 환경에 적용하기 위해서는 데이터 암호화나 서비스 단위의 재사용 등 해결해야 할 기술적 과제가 아직 많이 남아있다"며 "그러나 일반 소비자 대상 서비스 영역에서 SOA의 단점을 보완해 활용할 수 있는 가능성은 충분할 것"이라고 말했다."

제일 중요한 것은 "고객이 얼마나 Benefit, 즉 혜택을 느낄 수 있는가" 라고 생각합니다. 그것이 SOA를 기반으로 개발되었든, 아니면 전통적 개발 방식으로 개발되었든 최종 사용자는 차이를 느끼기 어렵기 때문입니다. 그렇다면 비즈니스적으로 비용, 시간 등의 가시적인 효과가 없다면 무슨 이유로? 이런 질문을 해보게 됩니다.


신고
Posted by 나이스가이
아키텍트2008.10.15 13:10

"WOA는 웹을 이루는 검증된 기술인 HTTP 프로토콜을 그대로 사용하고, SOAP 보다 간단한 REST 아키텍처 스타일을 사용하여 URI 형태로 참조되면서 웹 서비스를 구현할 수 있다." 마이크로소프트의 Virtual Earth를 이용하여 부동산 중개업소가 활용하는 경우 아주 획기적인 서비스를 제공할 수 있습니다.
아래 그림에서 보듯, 해당 지도에 나타나는 매물을 보실 수 있죠. 집 모양의 아이콘을 클릭하면 상세 가격, 정보가 나타납니다. 이런 형태로 중개업소 사이트를 구축하는 것이 어려울까요? 어렵지 않습니다. Virtual Earth API가 제공되기 때문에 그대로 가져다가 쓰면 된다는 거죠. 이것이 WOA의 장점 입니다.


위와 같이 WOA를 활용하면 누구나 거대한 서비스 공급망의 일원이 될 수 있습니다.

SOAP vs REST 비교 자료를 올려 보겠습니다.

SOAP(Simple Object Access Protocol) vs REST(Representational State Transfer)

 

새로 웹서비스를 시작하려는 개발자는 많은 기술 및 개념에 압도되곤 합니다. SOAP, REST, WSDL, XML Schema, UDDI, WS-I, WS-Security, WS-* 등 정말 많고 계속 생겨나고 있죠. 그 중 웹서비스 개발에서 가장 대표적인 SOAP REST 중에서 한가지를 선택하게 됩니다.

 

SOAP

SOAP 1998 CORBA DCOM 같은 미들웨어 기술에 대한 대안으로 마이크로소프트에 의해 언어 및 플랫폼 중립적으로 선보였습니다. 이후 수정을 거쳐 1999 12 SOAP 1.0, 2000 5월에 1.1 버전이 W3C에 제출되었고 웹서비스의 핵심으로 부각되었습니다. 현재는 1.2버전이 사용되고 있습니다. SOAP과 함께 WSDL, XML Schema XML 기반의 메시지를 교환하는 표준이며 디자인 개념에 확장이 가능하도록 설계되어 다른 표준이 통합되기 쉽습니다. 현재도 계속 추가되고 있고, WS-*로 표현할 수 있습니다. 쉽게 말하면 점점 복잡해지고 있는 거죠. 하지만 필요한 것만 선택해서 사용할 수 있기에 걱정할 필요는 없습니다. SOAP의 기본 구조는 <Header>, <Body>로 구성되어 있습니다. <Header>는 선택, <Body>는 필수적으로 있어야 합니다. SOAP <Body>는 메시지를 보낼 때 에러가 발생하면 전송자에게 알려주는데 <Fault> element <Body> element의 자식으로 포함되어 보내지는데, 분산 컴퓨팅에서는 아주 중요한 개념 입니다.

SOAP을 이용하여 개별 종목의 주가를 가져오는 웹 서비스 예제를 살펴보겠습니다.

The request:

GET /StockPrice HTTP/1.1
Host: cooolguy.net
Content-Type: application/soap+xml; charset=utf-8
Content-Length: nnn
 
<?xml version="1.0"?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
   xmlns:s="http://www.cooolguy.net/stock-service">
   <env:Body>
     <s:GetStockQuote>
          <s:TickerSymbol>MSFT</s:TickerSymbol>
     </s:GetStockQuote>
   </env:Body>
</env:Envelope>

The response:

HTTP/1.1 200 OK
Content-Type: application/soap+xml; charset=utf-8
Content-Length: nnn
 
<?xml version="1.0"?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
   xmlns:s="http://www.cooolguy.net/stock-service">
   <env:Body>
     <s:GetStockQuoteResponse>
          <s:StockPrice>30.08</s:StockPrice>
     </s:GetStockQuoteResponse>
   </env:Body>
</env:Envelope>

 

REST

HTTP/1.0 Spec, HTTP/1.1, URI(Uniform Resource Identifiers) 등 인터넷의 표준을 수립하던 ROY T.FIELDING 교수가 웹 어플리케이션간 상호작용을 위한 이상적인 모델을 만들었는데, 그것이 바로 REST(Representational State Transfer) 아키텍처 스타일이며 최초 버전은 1995년에 만들어졌고, 현재 존재하는 웹 아키텍처의 근간을 이루고 있습니다. REST를 정의하기에 앞서 잘 디자인된 웹 어플리케이션이 동작하는 방식을 살펴보면 왜 이런 이름이 붙여졌는지 이해할 수 있습니다. 네트웍 상의 웹 페이지를 상태(State)를 가진 객체로 본다면 사용자가 링크를 클릭하거나 간단한 입력 값을 넣은 후 버튼을 클릭하면 해당 상태(State)가 특정한 형태(Representation)로 전송되고, 이 상태(State) 역시 다른 형태로 전송되는 과정을 갖게 됩니다. 결국 현재 우리가 매일 사용하는 Web REST를 가장 잘 표현한 아키텍처의 예가 됩니다. REST는 자원(Resource)에 대한 정의를 제공하는데 웹페이지, 이미지, 텍스트, 비디오, MP3, 슬라이드쇼, 지도 등 어떤 것도 자원이 될 수 있습니다. 자원을 명사라고 하면, 이 자원에 어떤 동작을 취하도록 하는 동사(Verb)가 필요하게 되는데 HTTP에서는 ‘GET’, ‘PUT’, ‘DELETE’, ‘POST’ 4개를 사용하고 있습니다.

HTTP

동작

GET

읽기

PUT

생성, 수정

POST

생성, 수정, 삭제

DELETE

삭제

RESTful 웹 서비스는 Plain old XML(POX) HTTP 프로토콜을 이용하여 사용하는 방식 입니다. 위의 4개의 동사를 이용하여 네트웍 상에 위치하는 자원에 원하는 조작을 하게 됩니다.‘신현석이라는 사용자의 상세한 정보를 가져오는 웹서비스를 만든다고 했을 때 HTTP GET 방식으로 “http://www.cooolguy.net/users/신현석과 같이 사용할 수 있는 겁니다.

 

주가 정보를 가져오는 서비스를 RESTful 웹서비스로 구현하면 아래와 같습니다. SOAP 방식과 비교하면 훨씬 간단한 것을 느끼실 수 있습니다.

 

The request:

GET /StockPrice/MSFT HTTP/1.1

Host: coooguy.net

Accept: text/xml

Accept-Charset: utf-8

The response:

HTTP/1.1 200 OK

Content-Type: text/xml; charset=utf-8

Content-Length: nnn

 

<?xml version="1.0"?>

<s:Quote xmlns:s="http://cooolguy.net/stock-service">

     <s:TickerSymbol>MSFT</s:TickerSymbol>

     <s:StockPrice>32.08</s:StockPrice>

</s:Quote>

 

SOAP XML 기반의 분산 컴퓨팅을 위한 프로토콜이라면, REST는 웹기반의 아키텍처 스타일 입니다. 이렇게 역사가 오래된 REST가 지금 부각되고 있는 이유는 웹은 간단함을 통해 성장 발전했는데, SOAP을 이용한 웹서비스는 복잡하다는 겁니다. HTTP, XML, URI만 가지고 웹서비스에 생명력을 불어넣고 싶어졌다는 거죠. 한가지 잊지 말아야 할 것은 RESTful 웹서비스를 가지고 SOAP이 할 수 있는 모든 것을 구현할 수는 없겠지만, “간단함”, “매시업같은 형태를 통해 웹의 서비스화가 가속화되고 있다는 사실 입니다.

 

SOAP의 장점

1.     언어, 플랫폼, 전송(Transport) 중립

2.     분산컴퓨팅 환경에서 사용하기 위한 디자인

3.     웹서비스를 위해 널리 사용되는 표준이며, 다른 표준과 통합을 통한 확장성이 뛰어나고 다양한 Vendor를 통한 지원이 이루어지고 있음

4.     에러처리 기능이 포함되어 있음

SOAP의 단점

1.     개념적으로 REST보다 더 어렵고, 무거움

2.     개발이 REST 보다 어렵고 Tool이 필요한 경우가 많음

 

REST의 장점

1.     언어, 플랫폼 중립

2.     일반적으로 SOAP보다 웹서비스 개발이 더 쉬움

3.     매시업을 통한 새로운 형태의 웹서비스 개발을 쉽게 할 수 있음
. Virtual Earth API
와 연계하여 교통정보 제공 웹사이트를 개발하는 등

REST의 단점

1.     분산환경에서 메시지가 중간 경유지를 여러 번 통과하는 경우 사용하기 어려움

2.     보안, 정책, 안정적인 메시지 전달을 지원하기 위한 표준이 부족함
, 복잡한 요구사항을 표현하기 위해 직접 구현해야 함

신고
Posted by 나이스가이
아키텍트2008.10.15 10:22

한국 시간으로 2008년 10월 15일, http://www.microsoft.com/silverlight/ 을 통해 다운로드 받으실 수 있습니다.

주목할 만한 내용은 Eclipse Foundation과 함께 Eclipse 개발 환경에서 Silverlight 컨트록 팩을 이용하여 개발할 수 있게 되었다는 것입니다. 지금까지 Eclipse 툴을 사용하는 Java 개발자들은 Adobe flash를 de-facto 스탠다르 같이 사용해 왔지만, Silverlight도 함께 이용할 수 있게 됨으로 상호운영성 측면에서 획기적인 진전을 이루었다고 할 수 있습니다.

Silverlight의 채택율은 급격히 증가하고 있습니다. 일본 같은 경우 이미 50%를 넘어섰고, 약 150여개의 파트너와 수만개의 어플리케이션이 Silverlight을 이용하여 개발되었습니다. 지난 베이징 올림픽의 경우 NBCOlympics.com을 통해 약 5천만명의 사용자가 사용하였고 13억건의 페이지 뷰, 7천만개의 비디오가 Silverlight을 통해 전달되어졌습니다. 우리나라에서도 KBS가 Silverlight을 이용해 올림픽을 중계하여, 온 국민을 감동의 도가니로 몰아넣었던 야구 한일전, 결승전의 경우 엄청난 양의 트래픽이 발생했다고 합니다.

Silverlight을 이용했을 때의 장점은 사이트에 체류하는 시간을 길게 해준다는 건데, 평균 3분 정도 체류하던 고객이 27분 이상 머물른다는 통계 데이터가 발표되기도 했습니다. MNet의 TVDeep을 보시면 아시겠지만 미디어를 지속적으로 소비하도록 하는 구조로 개발되고, 사용자의 시선을 끌기 때문이죠.

한 번 보세요. 매력적인 모습을 확인할 수 있습니다.

신고
Posted by 나이스가이
아키텍트2008.10.14 21:24

아이뉴스24가 주최한 넥스컴 2008에서 "소프트웨어 플러스 서비스 전략을 통한 SaaS, 클라우드컴퓨팅의 이해"에 대한 발표가 기사화 되었습니다. 아래 링크를 클릭하시면 보실 수 있습니다. 제가 전달하고자 했던 내용과 기사의 방향이 조금 다릅니다. 블로그를 통해 다시 정리해 보겠습니다.

"SaaS(Software as a Service) 개념은 기업의 IT 비용 절감의 가장 확실한 대안이다."

한국마이크로소프트는 14일 서울 논현동 건설회관에서 개최된 차세대 컴퓨팅
기술 세미나 '추계 넥스컴 2008' 행사를 통해 이같이 강조했다.


SaaS란 소프트웨어를 제 3의 서비스 제공자 하드웨어에 설치하고, 인터넷을
통해 이를 이용할 수 있도록 하는 개념이다.

한국마이크로소프트는 자사 주요 제품을 서비스로 이용할 수 있도록 선택의
폭을 넓혔으며, 이를 통해 기업이 IT 비용을 줄여나가는데 앞장서고 있다고
설명했다.

한국마이크로소프트 신현석 부장은 "사용자는 적지 않은 금액의 소프트웨어
구매  비용을 지불하고, 구매 이후에도 주기적인 유지보수를위해 추가적인
비용을 지불한다"면서 "인터넷을 통해 소프트웨어를 서비스 형태로 '빌려쓰고'
사용한 만큼의 요금을 월이나 연간 단위로 지불하는 SaaS 방식은 기업의
이같은 고민을 해결해 준다"고 말했다.
http://itnews.inews24.com/php/news_view.php?g_serial=364553&g_menu=020200

신고
Posted by 나이스가이
아키텍트2008.10.14 11:35

ADS의 목적은 잠재적인 솔루션을 승인할 "Power Sponsor"를 확보하는 것 입니다.
 - 기본적인 샘플 아키텍처 청사진을 이용합니다. 이해 당사자들이 해당 솔루션을 이해하도록 하는 것이 가장 중요하고, 잠재적인 가치에 대해 정보를 제공해야 합니다.

. PT 형태일 필요는 없습니다. 보드에 그림을 그리거나, 대화를 통해 진행하는 것이 바람직한 경우도 많습니다.
. 솔루션 아키텍처 디자인을 개략적으로 그린 후 승인을 받습니다.
. POC까지 필요없다고 판단된다면, 의사결정을 이 단계에 받아 냅니다.
  - 가능하면 Deal을 Close 하는 것이 좋습니다.
     즉, 고객으로 High Level 테크니컬 디자인에 대한 승인을 받아내는 것이 목적 입니다. 
. 실제 구현을 위한 아키텍처가 아닙니다. 이 부분은 프로젝트팀 및 컨설턴트가 투입되어 진행합니다.
. 5-7명 정도를 대상으로 긴밀하게 진행하는 것이 효과적 입니다.
. Project Framework (Microsoft Project Framework)을 활용할 수 있습니다.
. 진행 중에는 자주 Summarize 가 필요합니다.
. 목적에 대해 종종 확인합니다.
. 요구사항과 실제 프로덕트 및 솔루션과 매핑하여 구현 가능함을 중간 중간 확인합니다.

산출물
 - 비전 및 범위 도큐먼트
 - 솔루션 아키텍처

이후의 글에서 MDOP(Microsoft Desktop Optimization Pack)에 대한 ADS 및 아키텍처 등을 적어 보겠습니다.
신고
Posted by 나이스가이
아키텍트2008.10.13 10:24

아이뉴스24가 주최하는 "무한경쟁 시대의 뉴 패러다임, 클라우드 컴퓨팅 [넥스컴 2008] 가을 컨퍼런스"에서
"소프트웨어 플러스 서비스 전략"을 통한 SaaS, 클라우드 컴퓨팅의 이해" 라는 주제로 발표를 합니다.

장소는 학동역 건설회관 2층 대강당에서 진행됩니다..
제 세션은 오후 1시부터 1시40분까지 총 40분간 진행되고, Track 2 입니다.
새로운 컨셉, 비즈니스 모델이 계속 추가되는 상황에서 어떻게 이해하고 접근하는 것이 기업의 이익에 가장 부합하는 방식인지를 알 수 있는 자리가 될 거라고 생각합니다.

신고
Posted by 나이스가이
아키텍트2008.10.10 16:05

앞의 글에서 PDC에 대해 설명 드렸죠? 전 세계의 많은 블로거 들이 PDC 사이트를 찾다가 놀라운 사실을 하나 발견했다죠. 대부분의 세션이 "Windows Strata" 라는 이름 밑에 들어가 있더라는 거죠. 그래서, 새로운 이름에 대한 추측, "Windows Strata" 라고 이야기들을 하고 계시네요. 맞을까요? 저도 잘 모릅니다. :)

마이크로소프트는 PC용 운영체제, 모바일용 운영체제, 서버용 운영체제가 있죠. Windows Vista, Windows Mobile, Windows Server 입니다. 그렇다면 인터넷, 즉 클라우드용 이름은 무엇일까요? Windows Cloud? 가 맞을까요, Windows Strata가 맞을까요? 쩝. 저도 슬슬 기대가 됩니다. 과연 무얼까? 이름 맞추기 이벤트 한 번 해보면 재밌을 것 같다는 생각도 드네요. 자, PDC를 기다려 보죠. ㅋㅋ
신고
Posted by 나이스가이
아키텍트2008.10.09 22:45
PDC(Professional Developers Conference) 2008 !!

마이크로소프트의 역사적인 발표는 PDC에서 이루어져 왔습니다. .NET 전략도 PDC를 통해 이루어졌었죠. 마이크로소프트의 클라우드 컴퓨팅에 대해 많은 기자분들, IT 정책을 수립하는 분들이 질문을 하셨지만, 시원하게 말씀드리지 못하고 늘 드리던 말씀이 있었죠. "PDC에서 다 발표됩니다. 조금만 기다려 주세요"

마이크로소프트의 클라우드 컴퓨팅에 대한 비전, PDC에서 공개되는 내용을 특집으로 다루어 보겠습니다. 사실 지금도 말하고 싶은게 많은데, 참고 또 참습니다. ^^, 그 날을 위해

2008년 10월 26일 (Pre-conference), 본 행사는 10월 27일 ~ 30일까지 LA 컨벤션 센터에서 진행됩니다.
기대하셔도 좋습니다. 개봉박두 ~
신고
Posted by 나이스가이
아키텍트2008.10.02 19:07
개발자들이 웹 어플리케이션, 웹사이트를 개발할 때 뭐가 필요할까요? 웹서버가 필요하죠. 웹서버를 통해 웹사이트 및 웹 어플리케이션을 개발하고 정보를 저장하는 공간, 즉 스토리지가 필요합니다. 웹서버와 스토리지는 운영체제가 필요하고, 이 운영체제는 하드웨어, 즉 서버가 필요하게 됩니다.

어플리케이션, 사이트 개발에 꼭 필요한 이런 기본적인 것들이 준비된 이후 개발이 가능합니다. IT 관리자를 통해 하드웨어 선정, 발주, 입고, 설정 등의 복잡한 절차 및 기간이 필요하게 되죠.
IDC 및 호스팅 업체를 통해 장비를 임대하여 사용할 수도 있지 않을까? 라고 생각이 드시죠. 그래도 여러가지 절차는 거쳐야 하죠.

클라우드 컴퓨팅은 위의 꼭 필요한 것들이 이미 모두 설정이 다 되어 있습니다. 내 로컬 운영체제를 쓰는 것처럼 클라우드에 존재하는 데이터베이스, 웹서버를 사용하는 거죠. "Windows Cloud"라고 하면 Windows 7 하고 비슷하게 느껴지시나요? 아닙니다. 새로운 클라우드 운영체제 개념입니다. 더 자세한 내용은 아직 밝히기 어렵습니다. 올해 11월에 개최되는 PDC(Pro Developer Conference)에서 발표될 예정입니다. 기대해주세요.

2008년 10월 1일, 스티브 발머 마이크로소프트 CEO께서 언급해주신 내용을 정리해 봤습니다.  
신고
Posted by 나이스가이