패왕넷

location tag guestbook

  • RSS
  • admin
  • post

소프트웨어개발 트렌드를 따라 잡아가는 닷넷프레임워크 3.0

분류없음 2007/01/18 00:28
 
 
 
 

월간 마이크로소프트웨어 2007년 1월호에 실은 기사 원고입니다.



닷넷프레임워크 3.0


소프트웨어개발 트렌드를 따르다

최근 마이크로소프트가 전략적 차원에서 닷넷프레임워크 3.0과 윈도우 비스타를 비교적 짧은 간격을 두고 출시하였다. 혁신적인 기능을 많이 담고 있는 비스타는 마이크로소프트의 야심작으로 제작발표 이후 5년 넘게 끊임없는 화제꺼리를 가져다주었다. 개발자 입장에서는 비스타에 닷넷프레임워크 3.0이 기본으로 포함되어 있어서, 선택의 여지없이 ‘비스타’와 ‘닷넷프레임워크 3.0’이라는 두 마리 토끼를 잡아야 한다. 이에 그 동안 MSDN과 세미나, 잡지 등 다양한 매체를 통해 많은 자료들이 공개되고 있는데 이 글에서는 그간 깊게 다루지 않았던 소프트웨어개발 트렌드와 관련지어 닷넷프레임워크 3.0에 대해 알아보도록 하겠다.


마이크로소프트가 내다보는 소프트웨어개발 트렌드

닷넷프레임워크 3.0 관련 자료에 의하면, 마이크로소프트가 내다보는 소프트웨어개발 트렌드는 다음과 같다.

  • 차등화 사용자 경험(Differentiated User Experience)
  • 서비스 기반 개발(Service-Oriented Development)
  • 비즈니스 프로세스 모델링(Business Process Modeling)
  • 디지털 정체성 관리(Digital Identity Management)

각 사항들은 닷넷프레임워크 3.0과 긴밀한 관계를 가지므로, 하나씩 자세하게 살펴보도록 하겠다.

1. 차등화 사용자 경험(Differentiated User Experience)

개발자들 사이에 ‘사용자 경험’에 대한 공감대가 생기기 시작한건 구글 신드롬과 Ajax 열풍에 있다고 봐야 할 것이다. Ajax란 용어를 정의한 제시 제임스 가렛은 <경험디자인의 요소>에서 사용자 경험에 대해 다음과 같이 썼다.

사용자 경험이란 (때로는 매우 큰 영향을 미치기도 하겠지만) 제품이 내부적으로 어떻게 작동하는 가의 문제가 아니다. 사용자의 경험은 제품이 오부에서, 즉 한 사람이 그 제품과 접촉하고 그것을 가지고 일하는 그곳에서 어떻게 동작하는 가의 문제이다.

간단하게 풀어 쓴다면, 사용자 경험이란 ‘사용자가 해당 제품을 통해 느끼는 모든 것’이라고 할 수 있다. 예전에는 웹 디자이너, 컨설턴트, 아키텍처들 사이에서만 쓰였으나, 최근 들어서는 웹 개발자들 사이에서도 중요하게 인식되어져 가고 있다. 이런 현실에 발맞추어 닷넷 개발자들은 한 발 더 나아가 소프트웨어개발 트렌드로 받아들여야 할 필요가 있다.  마이크로소프트에서 소프트웨어개발 트렌드로 짚었다면, 분명 현재와 미래의 키워드로 주목할 만한 이유가 전제되기 때문이다.

그럼, 사용자경험이 중요한 이유가 무엇일까?

기업체들은 이제 사용자 경험의 질을 향상시키는 것이 필수불가결한 것이며 지속적인 경쟁우위를 가져다 준다고 깨닫게 되었다. 회사가 제공하는 내용들에 대한 고객들의 인상을 형성하는 것이 바로 사용자 경험이다. 한 회사를 경쟁사들과 차별화시키고 여러분의 고객이 웹 사이트를 다시 찾도록 만드는 것이 바로 사용자 경험이다.

이제야 사용자경험의 중요성을 조금 알 만하다. 조그만 더 살펴보고, 확실하게 이해하도록 하자.

사용자 경험이 여러분에게 중요한 가장 큰 이유는, 그것이 여러분의 사용자들에게 중요하다는 점이다. 여러분이 사용자들에게 긍정적인 경험을 제공하지 못한다면, 그들은 여러분의 사이트를 사용하려 하지 않을 것이다.

여기에서는 ‘사이트’로 한정되어 말하고 있지만, 사용자경험은 모든 범위에 적용된다. 우리가 만드는 소프트웨어까지도 말이다. 사용자들은 우리가 만든 소프트웨어를 사용해봄으로써 나름대로 평가를 내린다. 고객만족은 곧 사용자경험 만족이다. 그렇다면 개발자들은 소프트웨어라는 매체를 통해 사용자들을 만족시켜야 할 책임이 있다는 의미가 된다. 때문에 마이크로소프트에서는 자체적으로 사용자경험(UX)에 대한 자료들을 내놓고 있다.

이에 발맞춰서 우리는 사용자경험의 의미와 중요성을 제대로 인식해야 하겠다.

2. 서비스 지향 개발(Service-Oriented Development)

서비스 지향 개발은 프로그래밍 형식이 변해감에 따라 나왔고, 단일 어플리케이션의 설계를 서비스 지향 아키텍처(SOA: Service-oriented architecture)의 개연을 적용한 개발방법론이다. 이에 대해서는 좀 오래된 자료(?)이긴 하지만, MSDN에 있는 <Microsoft "Indigo" 질문과 대답>이란 글에 자세한 내용을 담고 있으므로 그 일부를 소개한다.

서비스 지향이란 무엇입니까

서비스 지향은 연결된 시스템 구성을 위한 새로운 방법을 설명하며, 다음과 같은 세 가지의 간단한 개념을 기초로 합니다.
  • 서비스: 메시지를 사용하여 다른 프로그램과 상호 작용하는 프로그램
  • 클라이언트: 사용자가 서비스를 사용할 수 있도록 하는 프로그램
  • 연결된 시스템: 상호 연결된 서비스 및 클라이언트의 집합

분산 개체 시스템에서와 같이 개체를 직접 활성화하여 개별 응용 프로그램을 통합하는 대신, 이러한 응용 프로그램에서는 다른 응용 프로그램에서 활용할 수 있는 "서비스" 집합을 제공합니다. 서로 다른 플랫폼에서 실행되며 다른 개발 플랫폼을 사용하여 프로그래밍된 응용 프로그램이 서비스 지향을 통해 완벽하게 상호 운용될 수 있습니다. 또한, 응용 프로그램 개발자 및 시스템 통합자에게는 통합할 기본 개체 모델, 형식 시스템 및 소프트웨어 프로토콜에 대한 특수한 지식이 필요하지 않습니다. 대신 모든 응용 프로그램에서는 동적으로 얻을 수 있는 표준 기반 프로토콜 및 정책 정의를 사용하여 서비스를 제공합니다. 이와 같이 연결된 시스템을 구성하는 응용 프로그램의 연결을 끊으면 시간에 따라 시스템을 변경 사항에 맞게 조정함에 있어서 통합을 보다 단순화하고 유연성을 높일 수 있으며 더욱 신뢰할 수 있는 운영이 가능합니다.


서비스 지향이 중요한 이유는 무엇입니까

J2EE와 같은 분산 개체 아키텍처에 반대되는 서비스 지향은 실제 프로세스 및 관계를 보다 효과적으로 반영합니다. 따라서 서비스 지향은 실제 비즈니스 처리 수요를 해결하는 소프트웨어를 훨씬 더 자연스럽게 모델링 및 작성하는 방식을 나타냅니다. 예를 들어, 분산 개체 시스템이 완전히 연결되어 있는 경우 분산 개체 시스템 중 한 부분을 수정할 때 다른 부분도 같이 수정되어 변경 사항이 동시에 적용되지 않으면 시스템의 다른 부분에서 연결이 끊어집니다. 그러나 이러한 접근은 B2B 시나리오와 같이 다른 조직이 시스템의 서로 다른 부분을 개발하고 운영하는 경우에는 유용하지 않습니다. 또한 일반적인 분산 개체 시스템에서는 시스템의 서로 다른 부분을 동일한 기본 개발 언어 및 개체 아키텍처로 작성해야 합니다. 이는 현실적으로 더욱 어렵습니다. 그러나 서비스 지향 시스템은 느슨하게 연결되어 있으며 변경 사항을 지원합니다. 모든 개발 도구를 사용하여 어떤 언어로도 서비스를 프로그래밍 할 수 있으며 다른 플랫폼에서 서비스를 운영하면서 쉽게 통합할 수 있습니다.

출처:
Microsoft "Indigo" 질문과 대답

이 개발방법론을 어플리케이션에 적용하면 Service Oriented Developmnet of Application이라고 해서 SODA라고 부른다.

서비스 지향 개발은 BEA, IBM, Sun에서도 중요하게 접근하고 있는 분야로, 개발자들에게 가장 피부에 와 닿는 분야이므로 점차적인 학습이 필요하다.

3. 비즈니스 프로세스 모델링(Business Process Modeling)

비즈지스 프로세스 모델링은 기업의 비즈니스 프로세스를 선진화된 표준 규약을 준수하여 설계하도록 함으로써 프로세스에 대한 명세 및 프로세스가 표출하는 데이터와 연계 지점을 명확하게 하여 프로세스 간의 통합이 가능할 수 있도록 하는데 있다. 작업흐름(workflow)을 대체하는 개념이다.

BPM의 동기와 설계 목적은 다음과 같다.

1. 내부와 외부의 통합을 연결하고 통일한다. : 내외부 통합을 위해 BPMI는 인터페이스 프로세스 설계 개념과 전체 종단간(end-to-end) 프로세스 설계 개념의 명확한 구분을 모색하였다. 각각의 설계 프로세스가 독립적으로 관리될 수 있도록 하며, 프로세스 업무가 협력사, 시스템, 그리고 그들의 보안 방화벽 사이를 매끄럽게 이동할 수 있도록 지원한다.

2. 사람 업무 중심의 워크플로우와 기계가 처리하는 프로세스를 합병한다. : 기존의 프로세스 지향 접근 방식은 인간에 의한 업무와 컴퓨터에 의한 업무를 명확하게 구분했다. 그러나 BPML은 이 구분을 없애고 있다.

3. 호스트 서비스의 성장을 촉진한다. : 웹 서비스 기술은 "서비스로서의 소프트웨어"를 표방하는 기술이며, 컴퓨터 네트워크를 통해 응용시스템과 비즈니스 서비스를 원거리에서 제공하는 가능성에 대해 큰 관심을 불러 일으켰고, BPML은 프로세스 정의 안에 호스트 서비스를 포함하도록 설계되고 있다.

4. 핵심 후방 오피스 시스템을 포함한다. : 레거시 시스템이 잠재적으로 재사용될수 있는 수천만 행의 프로그램 코드를 가지고 있다는 것을 잘 알기 때문에, BPML은 기존의 소프트웨어와 절차들을 정확하게 표현할 수 있도록 설계되었다.

5. 미들웨어를 대처하는 것이 아니라 재사용한다. : 기존 구성된 미들웨어 하부구조에 대한 투자가치를 인식하여, BPMI의 개발 그룹은 응용프로그램 서버, 디렉토리, 메시징과 같은 표준 미들웨어 구성요소 위에 BPML이 없어질수 있도록 설계하였다.

6. 비즈니스 변화를 지원한다. : 기존의 프로세스 모델링에 관한 접근방식, 도구, 방법의 분석에 기초하여, 변화하는 비즈니스 접근방법에 반응하고 적응할 수 있는 프로세스를 BPML이 실시간으로 표현할 수 있도록 하였다.

7. 분산 실행을 지원한다. : BPML은 핵심 임무를 위해 설계되었으므로, 높은 수준의 분산 환경을 지원한다.

8. 오프라인 상태의 프로세스 교환과 재사용을 지원한다. : BPML은 온라인과 오프라인 모두를 통한, 적용 가능한 패키지 프로세스의 교환을 위한 필수 요구 사항들을 고려하였다.

9. 프로세스를 재사용한다. : BPML은 프로세스가 기존 프로세스 패턴을 최대한 활용하도록 함으로써 높은 수준의 재사용성이 보장되도록 설계되었다.

10. 베스트 오브 브리드(best-of-breed) 해법의 조합을 가능하게 한다. : 하나의 소프트웨어 회사가 모든 분야에 대해서 완벽한 해법이나 베스트 오브 브리드 제품들을 공급할 수는 없다. BPML은 사용 패키지 제품을 간단하게 통합할 수 있도록 설계되었다.

11. 기존 표준을 대처하는 것이 아니라 기반으로 활용한다. : BPMI는 유용한 표준들을 "연합"한다는 철학을 받아들이고 설계방법에 이 같은 원리를 충실하게 적용하였다.

12. 웹 서비스를 조직화한다. : BPMI는 프로세스 표준과 웹 서비스 표준이 호환되도록 매우 큰 노력을 쏟았다.


4. 디지털 정체성 관리(Digital Identity Management)

디지털 정체성이란 “실제 개체의 요약된 정보를 가진 식별 가능한 것”이라고 할 수 있는데, 우리는 상황에 따라 다른 정체성이 요구 받곤 한다. 방콕 휴가를 위해 비행기를 타기 위해서는 공항에서 여권을 제시해야 하고, 과속으로 경찰에게 단속되었을 때에는 운전면허증을 제시해야 한다. 이렇듯 한 사람에게는 다양한 정체성이 있다. 이는 디지털 세계에서도 마찬가지이다. 다만 실세계와는 달리 디지털 정체성은 더욱 복잡하고 관리하기가 어렵다. 그래서 이를 전보다 체계적으로 강보 높게 관리하려는 추세에 맞추어 디지털 정체성 관리가 소프트웨어개발 트렌드로 꼽혔다.

그렇다면, 지금까지 살펴본 소프트웨어개발 트렌드는 닷넷프레임워크 3.0와 무슨 관계가 있을까?


소프트웨어개발 트렌드에 따른 닷넷프레임워크 3.0

사용자 삽입 이미지

<그림 1> 닷넷프레임워크 3.0 구성도

그에 대한 답을 알기 위해서는 닷넷프레임워크 3.0에 대한 기본적인 지식을 갖추고 있어야 한다. 그러니 잠시 닷넷프레임워크 3.0에 대해 살펴보도록 하자. 닷넷프레임워크 3.0의 구성도를 간단하게 표현하면 다음 그림과 같다. 닷넷프레임워크 3.0은 기존 2.0에 WPF(Windows Presentation Foundation), WCF(Windows Communication Foundation), WF(Windows Workflow Foundation), CardSpace를 추가한 형태이다.

각 구성요소들의 역할을 간략하게 적어보면,

  • WPF는 UI, 문서 및 미디어를 조합하는 차세대 스마트 클라이언트 응용 프로그램 구축을 위한 클래스를 제공한다.
  • WCF는 서비스 지향 응용 프로그램 구축을 위한 통합 프로그래밍 모델 및 런타임을 제공한다.
  • WF는 비즈니스 프로세스를 모델링하는 작업흐름에 사용 가능한 응용 프로그램 구축을 위한 프로그래밍 모델, 엔진 및 도구를 제공한다.
  • CardSpace는 개인 ID 정보를 이용한 온라인 작업에 대한 보안을 단순화하고 강화하는 기술을 제공한다.

이만하면 정답을 유추해낼 수 있는 정보는 다 준 듯하다. 과연 소프트웨어개발 트렌드와 닷넷프레임워크 3.0 구성도가 보여주는 건 무엇일까?

웬만해서는 쉽게 답하기 어려울 수도 있겠다. 그렇다면 결정적인 힌트를 보여주겠다.

사용자 삽입 이미지

<그림 2> 소프트웨어개발 트렌드와 닷넷프레임워크 3.0

이젠 모두가 답을 알았으리라 본다. 소프트웨어개발 트렌드와 닷넷프레임워크 3.0 구성도를 두고 곰곰이 생각해본다면, 닷넷프레임워크 3.0이 바로 이러한 트렌드에 맞추어져 있다는 걸 알 수 있다.

닷넷프레임워크 3.0

소프트웨어개발 트렌드

  WPF

  차등화 사용자 경험

  WCF

  서비스기반 개발

  WF

  비즈니스 프로세스 모델

  CardSpace

  디지털 정체성 관리

그럼, 비스타에 닷넷프레임워크 3.0이 기본으로 포함된 이유는 무엇일까? 그건 비스타를 통해 이런 소프트웨어개발 트렌드를 확실하게 따라잡겠다는 의도이다. 닷넷프레임워크만으로는 소프트웨어개발 트렌드를 따라잡는데 한계에 부딪칠 수밖에 없기에, 비스타에 내포되어 맞물려야만 한다.

트렌드를 따라잡는다는 건 매우 중요한 일이다. 그래서 패션업계에서는 최소한 6개월 전에 트렌드 전망을 분석해놓고 패션쇼를 연다. 어떤 색이 유행할지 예측하기 위해 설문조사를 하기도 한다. 어찌보면 사소하게 보이는 트렌드 분석과 예측에 패션업계가 민감한 이유는 그 사소함이 한 해 수입을 좌우하기 때문일 것이다. 소프트웨어개발 트렌드도 마찬가지이다. 이걸 잘 파악하고 있느냐 없느냐에 따라 경쟁력이 크게 차이 나게 된다. 때문에 변화에 잘 적응하고 앞서 가길 원하는 닷넷개발자라면 닷넷프레임워크 3.0에 더욱 적극적으로 관심을 가져야 한다.

지금까지는 닷넷프레임워크 3.0의 중요성에 대해 살펴보았다. 남은 지면에서는 소프트웨어개발 트렌드를 충족시키기 위한 각 구성요소들의 역할에 대해 최대한 알차게 설명해보도록 하겠다.


차세대 사용자경험을 위한 WPF

앞에서 살펴본 대로 사용자경험은 매우 중요하다. 그래서인지 닷넷프레임워크 3.0에서 가장 가시적으로 두드러지는 부분이 바로 WPF다. 여기에서는 차세대 사용자경험을 위해 WPF가 등장하게 된 배경을 먼저 살펴보고자 한다.


사용자경험 관련 과제들

언제부터인가 사용자경험과 관련된 문제들이 대두되기 시작했으며, 크게 직면한 문제들은 다음과 같다.

사용자 삽입 이미지

<그림 3> 사용자 경험의 과제

요구사항 가이드라인
디자인을 통해 ROI(투자수익률)을 측정이 시도되면서, UX에 대한 요구사항이 추가되기 시작했다. 이런 일들이 반복되면서 요구사항에 대한 가이드라인이 마련되어져 가고 있다.

최상위요구사항으로 승인 받지 못하는 UX
지금까지는 어플리케이션에서 UX적인 요소에서는 그다지 차이가 나지 않기 때문에, 대부분의 개발사나 고객들은 UX 보다는 시간/비용/기능에 더 신경 써왔다.

ROI 측정체계의 부상
고객들은 이러닝, 광고, 마케팅, 전자상거래와 같은 몇 가지 모멘텀(momentum)에 직면하는 시나리오를 가지고 있다. 하지만 전형적인 기업 어플리케이션은 아직까지도 폭넓은 지지를 얻지 못하고 있다. 기업에서는 항상 투자수익률을 염두에 두고 투자를 감행하는 법이다.

개발복잡성이 핵심과제
현란한 UX는 비용을 증가시킬 뿐만 아니라, 이를 구현하는데 필요한 플랫폼 성능과 개발 도구는 UX 개발 프로세스를 위한 생산성/퍼포먼스에 부적합하다.

마이크로소프트에서는 이러한 과제들을 극복하기 위해 닷넷프레임워크 3.0과 비스타를 출시했다. WPF는 차세대 사용자경험을 위한 방편이다.


차세대 사용자경험을 위한 WPF

차세대 사용자경험을 위해 WPF는 다음과 같은 기능들을 제공한다.

혁신적인 사용자 인터페이스
UI, 미디어, 문서에 대한 통합된 접근을 제공한다.
그래픽적인 기술에서는 벡터 기반 구도 엔진을 사용하고, 하드웨어 가속화 기술을 통해 그래픽 엔진에 의존하지 않고도 고해상도를 지원한다.

개발자-디자이너 생산성 증가
차세대 사용자경험을 위해서는 개발자와 디자이너의 긴밀한 협력이 중요한 부분을 차지하게 되었다. 이에 마이크로소프트에서는 개발자에게 비주얼 스튜디오 IDE를, 디지이너에게는 마이크로소프트 익스프레션을 제공한다.
디자이너와 개발자간의 보다 나은 협력을 위해 선언적인 프로그래밍(XAML)을 사용한다.
독립형 클라이언트 혹은 브라우저와 같은 공통 코드 베이스와 융통성 있는 배포가 가능하다.

기존 코드 기반와 기술묶음 강화
윈도우즈 폼,  Win32, 다이렉트X, MFC, 액티브X와 상호운용이 가능하다.
닷넷프레임워크 CLR 언어와 비주얼 스튜디오 IDE에 귀속된 지식이 강화되었다.


간단한 예제는 아래 <XAML로 스피어 메시>를 참조하세요.


서비스기반 개발을 위한 WCF

1980년대에는 객체지향, 1990년대에는 컴포넌트지향, 2000년대에는 서비스지향이 그 시대에 적합한 패러다임이라고 할 수 있다. 객체지향에서는 다형성, 캡슐화, 하위클래스가 핵심이었고, 컴포넌트 지향에서는 위치 투명(Location Transparent), 밀결합(Tight Coupling), 런타임 메타데이터가 핵심이었다. 서비스지향에서는 메시지 기반, 스키마+협약+정책, 브로드 상호운용성이 핵심이다.

사용자 삽입 이미지

<그림 4> 개발방법론의 흐름

이러한 흐름의 변화에 맞추어 WCF는 생산성, 상호운용성, 서비스지향 개발을 중점으로 하고 있다.

사용자 삽입 이미지

<그림 5> WCF로 무엇을 얻을 수 있을까?

생산성
마이크로소프트의 분산되어 있는 기존 기술들을 통합하여 생산성을 높였다.
표준기능의 구현을 포함함으로써 생산성을 높였다.

상호운용성
WS-*  명세서를 지원하는 브로드를 통한 상호운영성을 보장한다.

서비스지향 개발
분산된 어플리케이션에 서비스 지향의 핵심사항을 쉽게 삽입할 수 있도록 해주는 프로그래밍 모델이다.


비즈니스 프로세스 모델링을 위한 WF

현실에서는 다음과 같은 상황이 벌어지곤 한다.

  • 주문확인이 48시간 이내에, 선적은 30일 이내에 이뤄진다.
  • 대부분의 제공자들은 고객의 주문을 확인은 하지만 잊어버리곤 해서, 고객들이 제대로 처리하고 있는지 확인해봐야 한다.
  • 주문처리 상황과 다음 단계가 어떻게 처리되고 있는지 알 수 없다.

이와 같은 일이 벌어지고 있는 이유는 현재 실무에 사용 중인 업무흐름(workflow)이 여러 가지 구조적인 문제점을 가지고 있기 때문이다. 기술이 발전하는 만큼 업무흐름도 꾸준히 개선되어져 가야 하는데, 한 동안 현명하게 대처해오지 못했다. 그 이유 중 하나는 BPM에 대해 잘못 이해하고 있어서였다.

최근 필자가 읽고 있는『IT를 넘어 BPM으로』라는 책에는 가트너의 BPM 정의의 변화를 소개하면서, 그간 잘못 받아들여져 온 개념을 제대로 짚어주고 있다.

가트너는 “BPM은 민첩성과 운용 효율을 증대하기 위해 비즈니스 프로세스 환경을 통제하는 일상적인 경영활동이다. BPM은 방법론, 정책, 측정 지표, 일상적인 경영 활동과 소프트웨어 도구를 활용해 조직의 업무와 프로세스를 끊임없이 최적화하는 구조적인 접근방법이다.”라고 주장해, 그간 있었던 IT 중심의 BPM을 비즈니스 중심의 것으로 개념의 재정립을 시도하였다.

다행이라고 해야 할까? WF는 이러한 비즈니스 중심의 BPM을 제공할 수 있도록 되어 있다.

  • 윈도우즈에서 실행되는 단일 업무흐름 기술
  • 업무흐름 재정의
  • 업무흐름 추세 수용

비즈니스 프로세스 모델링을 따른 WF을 적절하게 잘 사용한다면, 고객들이 요구하는 사항들을 적시에 충족시켜줄 수 있으리라 기대된다.


디지털 정체성 관리를 위한 카드스페이스

사실, 마이크로소프트에서 이런 시도를 처음하는 건 아니다. 1999년 공개한 싱글 사이온 서비스 패스포트(Passport)는 엄청난 규모의 비용을 들이고도 실패로 돌아갔다. 그렇다고 그냥 포기하기에는 매우 중요한 분야이기에 재시도한 것으로 보인다. 이번 카드스페이스에서는 디지털 정체성을 보안 토큰(security token)으로 재표현한다고 한다.

윈도우즈 카드스페이스가 제공하는 것

이 기술에서 가장 중요하게 여겨지는 네 가지 국면을 살펴보자.

  • 어떠한 디지털 정체성 시스템이라도 지원
  • 디지털 정체성의 일관된 사용자 컨트롤
  • 패스워드 기반 웹 로그인 대체
  • 원격 어플리케이션의 정체성에 있어서의 사용자 확신 향상

어떠한 디지털 정체성 시스템이라도 지원
다양한 상황에 맞는 디지털 정체성을 표현하기에, 그만큼 다양한 디지털 정체성 시스템에 의존해야 한다. 효율적인 디지털 정체성 관리를 위해서는 다양한 디털 정체성 시스템을 지원해야 한다.

디지털 정체성의 일관된 사용자 컨트롤
카드스페이스와 정체성 메타시스템의 주요 목표 가운데 하나는 보안 전문가로부터 사용자에게 위임하여, 자신의 디지털 정체성 사용에 대한 적절한 결정을 내리도록 하는데 있다. 이를 위해 표준 규약을 얻고 전송하는데 보안 토큰을 사용하는 건 매우 유용하다고 볼 수 있다.

패스워드 기반 웹 로그인 대체
현재 패스워드 기반 웹 로그인은 보안상 문제가 많다. 얼마 전까지 언론에 보도까지 된 피싱(Phishing)이 여기에 해당한다. 카드스페이스에서는 이 문제를 극복하기 위해서 보안 토큰을 사용하여 상황에 맞게 디지털 정체성을 제시할 수 있도록 한다.

원격 어플리케이션의 정체성에 있어서의 사용자 확신 향상
패스워드 기반 웹 로그인을 대체한다고 해서 모든 문제가 해결되진 않는다. 만약, 피싱 사이트에 접속되었는데 사용자가 이를 알아채지 못한 체 디지털 정체성을 제시하게 되면, 피싱 사이트에서는 보안 토큰을 가로채버리는 문제가 발생한다. 이런 상황은 사용자가 자신이 접속한 사이트를 구분할 수 있는 능력이 떨어질수록 더욱 빈번해지게 된다. 카드스페이스에는 이런 문제가 발생하지 않도록 하는 구조를 가지고 있다.


아무래도 닷넷프레임워크 3.0을 가지고 하고픈 얘기가 많았나 보다. 이만큼 쓰고도 아쉬움이 남는 부분이 있으니 말이다. 하지만, ‘소프트웨어개발 트렌드를 따라 잡아가는 닷넷프레임워크 3.0’라는 주제를 독자와 함께 나누기에는 충분한 분량이라고 생각한다. 앞서 말했던 것처럼, 비스타와 닷넷프레임워크 3.0은 닷넷개발자들이 자연스럽게 받아들여할 새로운 물결이다. 지금까지도 지레 겁먹어서 남들 수영하는 모습을 지켜보려고 한다면, 이제부터라도 발이라도 물에 넣어보도록 하자. 발로 물장난이라도 하다 보면 언젠가는 남들처럼 수영이 하고 싶어질지도 모르니까.



참고자료

  1. <경험디자인의 요소>, 제시 제임스 가렛, 한솜미디어
  2. 서비스기반 개발 
  3. Microsoft "Indigo" 질문과 대답
  4. BPM의 동기와 설계 목적, 출처 알 수 없음
  5. 디지털 정체성 
  6. Generating a sphere-mesh in XAML
  7. 『IT를 넘어 BPM으로』, 하워드 스미스, 피터 핑거, ITC 출판사
  8. Introducing Windows CardSpace
날개달기
2007/01/18 00:28 2007/01/18 00:28
TAG 닷넷프레임워크3.0, 마소, 원고
 
받은 트랙백이 없고, 댓글이 없습니다.

트랙백 주소 :: http://blog.paewang.net/trackback/32

 
◀ 다음 글 목록 1 ... 198 199 200 201 202 203 204 205 206 ... 231 이전 글 목록 ▶

블로그 이미지
안녕하세요. 이광수입니다. 저는 한때 세계적인 컨설팅 회사인 맥킨지의 컨설턴트가 되는 목표를 가졌었지만, 지금은 리더십 · 자기계발 전문가를 꿈꾸고 있습니다. 2006년부터 최근까지 마이크로소프트 MVP로 활동했었습니다. by 날개달기

공지사항

패왕넷 - 최근 공지

  • 쿠키미디어에서 필진을 모집...
  • 문의사항
  • 운영자 소개

카테고리

  • ATOM 전체 (231)
    • ATOM 삶의 지혜 (70)
      • ATOM 고수독서법 (4)
      • ATOM 독서토론 (2)
      • ATOM 추천도서 (1)
    • ATOM 소프트웨어 개발 (30)
    • ATOM 소식 (6)

새로 등록된 글

  • 나는 고민에 빠져들게 하는...
  • 먼지가 되느니 차라리 재가...
  • 내가 몰입하는 이유
  • 소비자의 갈망을 충족시켜라
  • 한국리더십센터 up&up에 제... (2)

태그목록

  • 설치
  • utf8
  • 이주헌
  • atlas
  • PDF
  • Tracer
  • 온라인독서토론
  • 아웃룩2007
  • 몰입
  • 디버거
  • 마소
  • vista
  • WebDevelopmentHelper
  • 추적기
  • 요약본
  • 마이크로소프트
  • 자기계발
  • 서평
  • VisualStudio2005
  • 생각
  • 디버깅
  • 독서노트
  • 베스트셀러
  • 프로필
  • 대가
  • 메타베이스
  • 추천도서
  • 세미나
  • 메가스터디
  • Ajax

글 보관함

  • 2010/03 (1)
  • 2010/01 (3)
  • 2009/12 (1)
  • 2009/11 (8)
  • 2009/10 (4)

달력

«   2010/03   »
일 월 화 수 목 금 토
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      

새로 달린 댓글

  • 원래 아티클에 첨부된 파일만.... 01/30 날개달기
  • 안녕하세요. 잘 보았는데요...... 01/14 stephen
  • 지속적인 발전을 보이고 있네.... 2009 날개달기
  • 관리자만 볼 수 있는 댓글입.... 2009 비밀방문자
  • 스트레스 관리에 운동만한게.... 2009 날개달기
  • 좋은글이네여 역시 운동이 제.... 2009 montreal florist
  • 네, 참여 가능합니다. 조만간.... 2009 날개달기
  • 독서토론에 참가하고 싶어서.... 2009 성수정
  • 효율적으로 토론할 수 있는.... 2009 날개달기
  • 안녕하세요. 이 글은 프로그.... 2009 날개달기

새로 달린 트랙백

  • 소프트웨어 컨플릭트 2.0 2007 The note of Legendre
  • 자바스크립트 째려보기 2007 조선일보 사절
  • IIS 메타베이스에 액세스하지... 2007 tpoz님의 블로그

링크

  • 56 69 72 75 73 20 4D 79 74...
  • Ajax + 요구공학
  • AmiText
  • Architecture and Design
  • Babel Fish 번역
  • BPM
  • Creating Passionate Users
  • Enterprise Library
  • FreeBooksPedia
  • IT용어 사전
  • J & J
  • jwmx
  • Korea Embedded Developer Bl...
  • Loner's .NET Blog
  • Martin Fowler
  • MSDN Korea
  • MSDN2 라이브러리
  • my msdn
  • Nagging Machine: 꿈은 꾸되...
  • NetFx3
  • Prototype.js
  • Refactoring
  • Script#
  • searchmash
  • stophobia
  • The Art of Project Management
  • Toby’s Epril
  • Visual Studio 용어 사전
  • W3C CSS 검사 서비스
  • 강주헌의 <펍헙 번역학교>
  • 고수닷넷
  • 날개달기, 경영을 말하다
  • 달봉이넷
  • 독서가 만들어주는 하루
  • 두고보자
  • 마이크로소프트 언어 포털
  • 마케팅커뮤니케이터의 공부방
  • 북세미나닷컴 공식 블로그
  • 서광열의 소프트웨어 이야기
  • 소설같은 시리즈
  • 스마트플레이스
  • 애자일 이야기
  • 작은불꽃
  • 조엘 온 소프트웨어
  • 좋은글 러브젝트닷컴
  • 주간번역가
  • 철수네 소프트웨어 세상 3
  • 쿠키미디어
  • 태터툴즈 메뉴얼
  • 패왕넷 - 이즈블로그 분점
  • 패왕넷 - 티스토리 분점
  • 퍼키의 열고 보는 세상
  • 프로그래머의 마음공부
  • 피플웨어
  • 한국 eXtreme Programming 사...
  • 한국마이크로소프트 에반젤리...

카운터

  • 전체 : 80511
  • 오늘 : 34
  • 어제 : 69

이올린

skin by 써머즈