마이크로소프트 인터넷 상업용 서버
- Microsoft Commerce Server 2.0

신 승민
서울특별시 강남구 역삼동 아이네트 빌딩
프로젝트팀 연구원
E-mail : joo@nuri.net
URL : http://www.iworld.net/~joo
Abstract:
21세기를 얼마남지 않은 현시점에 있어서 TV, 신문, 잡지 등에 가장 자주 등장하는 용어는 고분자, 생명 공학, 대체 에너지등의 용어를 누르고 인터넷이 되었다. 또한, 인터넷의 성장은 그 가치를 파악하기도 전에 우리의 생활 깊숙히 파고 들고 있는 실정이다. 여기에서는, 그 발전 과정에서 앞으로의 인터넷의 큰 줄기를 형성 할 전자 상거래에 대하여 간략하게 다루고 마이크로 소프트의 상업용 서버인 Microsoft Commerce Server 2.0에 대하여 설명하고 아울러 또한, 국내 적용시 문제점을 지적하고자 한다.
Keywords:
Microsoft Commerce Server, Wallet, Netscape Merchant Server, Security

1. 전자 상거래

사이버 은행, 사이버 쇼핑몰, 전자 현금, 전자 지갑, 전자 서명, 사이버 노믹스 등은 전자 상거래가 만들어낸 신조어들이다. 다가올 21세기가 어떠한 모습일지에 대하여 조심스럽게 예견 할 수 있는 용어들 일 것이다. 전자 상거래 시대의 대금 결제는 사이버 공간에서 이루어진다. 사이버 은행에 자신의 계좌를 개설하면 입금된 금액 만큼 인터넷에서 사용 할 수 있는 "전자 현금"이 지급되고 이 화폐는 익명성이 철저하게 보장되게 될것이다. IC 카드에 전자 현금을 넣어두고 필요할 때마다 인터넷에서 대금을 지불하는 "전자 지갑"도 선보였다. 또 남들이 흉내내기 힘든 "전자 서명"으로 가상 공간에서 결제를 한다. 인터넷이 돈과 상품의 새로운 흐름을 만들어 내고 있는 것이다. 이러한 가상 공간의 경제학을 "사이버노믹스"라 부르고 이를 연구하는 학자를 "사이버노미스트"라고 부르고 있다. 다가올 21세기에는 새로운 경제 이론서가 작성 되리라 본다.

전세계 EC 시장 규모는, 1996년 미화로 $ 5억 천 팔백만달러이며 1997년는 $ 11억 9천 8백만 달러, 오는 2000년에는 $ 65억 7천 9백만 달러가 될것이라고 Forrester Research는 예견하고 있다.

국내 EC 시장 규모를 살펴보면, 1996년 한화로 14억원이며 1997년는 62억 8천 5백만원, 2000년에는 6백 13억 9천 6백만원이 될 것이라고 데이콤의 전자 상거래 사업팀에서는 예견하고 있다. 현재, 사이버 쇼핑몰에 가장 먼저 진출한 롯데 백화점의 경우, 사업의 영역을 국내뿐만 아니라 전세계로 넓힌다는 계획을 발표한 바있다. 이는, 지금까지 지속적인 성장을 경험한 바있는 롯데 백화점으로써는 앞으로 국내의 전자 상거래 분야도 성장이 계속 진행될 것으로 예견하고 있다고 보아야 할 것이다.

전자 상거래의 발전은 인터넷의 이용자와 밀접한 관련이 있다.
한국 전산원의 국내 인터넷 이용자 증가 현황을 살펴 보면, 1996년 7십 만명에서 1997년 천 이백만명 그리고 2000년에는 4천 2백만명으로 도약적인 증가를 예견하고 있다. 전세계적으로는 1996년 9천 4백 7십 2만명에서 1997년 일억 2천 8백 십만명 그리고 서기 2000년에는 이억의 사람들이 인터넷을 이용하리라고 전망하고 있다. 인터넷 이용자의 이러한 증가 추세가 바로 전자 상거래의 미래를 밝게 볼 수 있게 하고 있는 것이다. 이러한 밝은 전망을 가진 전자 상거래 분야에 전세계 인터넷의 총아들은 이 분야를 선점하고자 다양한 Server 제품을 내놓고 있다.

인터넷 상업용 서버 제품:

이러한 전망에도 불구하고 전자 상거래에 있어서 풀어가야 할 난제들이 존재하는 것 또한 사실이다. 네트웍 접속, 상품의 배달, 대금 결제 방법, 개인 정보 유출, 사용자 보안 그리고 법률적 제약 등의 문제가 바로 해결해야 하는 사항들이다. 그러나, 이러한 문제들 중에서도 가장 중요한 관건은 대금 지불 방법과 개인 신용 정보에대한 보안 대책을 명확히 제시되어야 한다. 돈을 주고 받는 거래에 있어서 이 사항이 명확하지 않으면 전자 거래 자체에 대한 신뢰감이 이루어 지지 않는 것이다. 현재 일반적인 대금 지불 형식은 신용 카드이며 이 경우 상점은 고객의 신용 카드에 대한 정보를 보호하는 명확한 보안 대책을 제시하여야 한다. 이러한 보안은 주로 SSL(Secure Socket Layer)과 SET(Secure Electronic Transation)으로 이루어지며 현재까지는 이 두 가지가 가장 일반적인 방법이다. Microsoft Commerce Server는 위의 두 가지 방법을 모두 지원한다.

2. 전세계 서버 시장 현황

과거에 마이크로소프트는 인터넷 시장의 중요성을 인식하지 못하였고 결국 넷스케이프 커뮤니케이션사를 인터넷의 총아로 성장하게 만든 결과를 낳았다. 그러나, 뒤늦게 나마 그 중요성을 인식한 마이크로소프트의 마케팅 전략은 무서운 기세로 브라우저의 시장을 잠식하였고 1997년 초반에 전체 브라우저 시장의 28%를 차지하는 성과를 얻었다.
인터넷 브라우저 시장과 마찬가지로 서버 시장으로의 진출도 늦은 마이크로소프트는 또한 번의 성과를 얻었다. 마이크로소프트사에게 있어서 서버 시장이 중요한 이유는 Windows NT 4.0과 IIS 3.0이 그 뒤를 이어 나오는 다른 상업용 서버의 기본 플랫폼이 되므로 이 분야에서의 성공이 Microsoft Commerce Server와 다른 상업용 서버의 성공에 중요한 역활로 작용할 것이기 때문에 그렇다.

Netcraft 사에 의한 1997년 5월의 서버 현황은 다음과 같다:

Totals for TopServers Across All Domains

total image

Change in Server Numbers Across All Domains

market image

Market Share for Top Servers Across All Domains

market image

3. Microsoft Commerce Server 2.0

3.1 Microsoft Commece Server 2.0 & Microsoft Merchant Server 1.0

Merchant Server 1.0 Commerce Server 2.0
이름 Merchant Server 1.0 Commerce Server 2.0
URL http://your_server/prd.i/pgen/vc/0L/welocme.htm http://your_server/vc/default.asp
Registry 사용함. 사용안함.
개발 환경 Registry를 이용한 Directive. ASP를 이용한 Script(Global.asa).
Pipeline 개발 툴 없음. 있음.
MCIS와 연동 고려하지 안았음. ASP를 사용하므로 조금은 고려함.

3.2 Microsoft Commerce Server 2.0 구조

3.2.1 구조
서버 환경
  • Microsoft Windows NT Server Version 4.0
  • Internet Information Server(IIS) version 3.0(Active Server Pages 포함)
  • Open Database Connectivity(ODBC) Version 3.0
  • Microsoft SQL Server Version 6.5

3.2.2 Active Server Pages and Commerce Server
Active Server Pages(ASP)는 서버 쪽에서 프로그램이 작동하는 것으로 활동적인 웹 페이지의 생성과 높은 성능을 제공한다. 서버 쪽에서 생성된 웹 페이지의 결과는 일반적인 HTML 문서로 클라이언트 쪽으로 보내진다.
ASP의 확장자는 HTML과 비교하여 .asp로 이름이 붙여지며, ActiveX Script, VBScript 그리고 Microsoft JScript(JavaScript) Language 등을 지원한다.

ASP를 이용한 예제 페이지

3.2.3 Order Processing Pipeline
Order Processing Pipeline을 사용하여, 상인은 자신의 상점에 적합한 요소를 삽입 또는 삭제함으로써 사업상의 규칙을 세울 수 있다.

Pipeline의 단계는 다음과 같다:

Microsoft Commerce Server의 Order Processing Pipeline은 구매 과정에서의 다양한 주문 진행 함수를 지원하는 Component Object Model(COM) 요소들의 집합으로 구성되어 있다. 또한, 이러한 Pipeline은 Visual Basic이나 C++ 등의 함수를 지원한다. Pipeline의 함수를 확장하려면, 개발자는 Commerce Server Software Development Kit (SDK)를 사용하여 변경 할 수 있다.

3.2.4 Store Management Tools
Commerce Server는 온라인 상점의 구축과 관리가 쉽도록 관리 툴(Management Tools) 등을 제공하는데 다음과 같은 툴을 포함한다:
  • Commerce Host Administrator
  • Store Foundation Wizard
  • Starter stores
  • Start Store Copy Wizard
  • Store Builder
  • Pipeline Editor

상점 관리자 페이지

3.2.5 Wallet
Wallet의 구성은 주소 선택기(Address Selector)와 지불 선택기(Payment Selector) ActiveX 콘트롤(Control)로 구성되어 있으며 이것은 Netscape Navigator의 플러그인(Plug-in)과 유사한 것이다.
Volcano Coffee와 같은 상점에 탑재되어 있는 이러한 콘트롤은 주소와 지불에 대한 정보를 저장하는 인터페이스로 구성되어 있다. Wallet의 이러한 기능을 사용하면, Adventure Works, Microsoft Press 그리고 Volcano Coffee와 같은 상점에서 물건을 사는 고객은 매번 쇼핑 할 때마다 이름, 전화 번호 그리고 주소 등을 입력하는 번거러운 일을 하지 않아도 된다. 대신에 고객은 한번만 자신의 정보를 저장하고 그 정보의 변화가 있을 경우에만 수정하면 된다. 또한, 고객은 자신의 정보에 배달지의 주소와 대금 지불자의 주소를 서로 다르게 지정 할 수도 있으며, 다양한 신용 카드의 정보도 함께 저장 할 수도 있다. 이러한 모든 개인적인 사항은 비밀번호(password)에 의하여 보호 받는다.
이러한 기능을 지닌 Wallet은 자신이 구상하는 상점에 맞게 Commerce Server Software Development Kit (SDK)를 이용하여 수정 할 수 있다.

wallet payment selector image

wallet address selector image

다음과 같은 태그를 payment.asp에 삽입하여 사용한다.

  < OBJECT ID=paySelector
    CLASSID="clsid:87D3CB66-BA2E-11cf-B9D6-00A0C9083362"
    CODEBASE="<% = MSWltIECodebase() %>
    HEIGHT=30
    WIDTH=192>
    <PARAM NAME="AcceptedTypes" VALUE="<% = strMSWltAcceptedTypes %>">
    <PARAM Name="UseComboBox" Value="True" 
  >
    < EMBED
	NAME="paySelector"
	SRC="<% = "http://" & Request.ServerVariables("SERVER_NAME") %>/MSCS_Images/navclient/empty.wlt"
	PLUGINSPAGE="<% = MSWltNavDwnldURL("plginst.htm") %>"
	VERSION="<% = strMSWltDwnldVer %>" 
	HEIGHT="<% = strBuyNowControlHeight %>"
	WIDTH="<% = strBuyNowControlWidth %>"
	ACCEPTEDTYPES="<% = strMSWltAcceptedTypes %>"
	TOTAL="<% = MSCSDataFunctions.Money(CLng(mscsOrderForm.[_total_total])) %>"
	USECOMBOBOX="True"
        >

3.3 보안 (Security)

Microsoft Commerce Server에서 사용하는 보안 기술은 다음과 같은 방법이 있다.
브라우저 보안, 테이타 베이스 보안, 상점 파일 시스템 보안, 상점 관리 툴 보안, 상거래(Transaction) 보안, 개인 고객 정보 보안 그리고 웹 서버에 대한 보안 등으로 나누어 생각 할 수 있다.
사실 위에서 언급한 사항은 일반적으로 보안에 대하여 고려 할 경우 나올 수 있는 사항들이다. Microsoft Commerce Server에서 특이할 만한 사항은 앞에서도 언급한 Wallet을 사용한다는 것이다. 신용 카드 번호, 카드 만기일과 같은 개인적으로 중요한 사항을 서버에 저장하지 않고 클라이언트에 저장하므로 고객은 대금 결제시 마다 신용 카드 번호를 입력해야 하는 번거로움에 없애고 상점은 개인 정보 유출과 같은 사건을 미연에 방지하는 효과를 거둘 수 있을 것이다.

상거래(Transaction)에 있어서 생각 할 수 있는 보안 사항은 "고객(브라우저)과 상점(서버) 사이에서 주고 받는 테이타를 안전하게 유지 할 수 있는가?" 하는 사항일 것이다.

Microsoft Commerce Server는 Secure Socket Layer(SSL) 프로토콜(Protocol)을 지원한다. SSL은 TCP/IP 프로토콜 위에서 클라이언트와 서버 사이에서 테이타 전송을 암호화하는 방법으로 테리사(Terrisa)에서 개발해 Netscape사가 Netscape과 NetSite에 적용한 것으로 현재 SSL 3.0까지의 버전이 나와 있다.
클라이언트와 서버는 클라이언트 소프트웨어에서 생성된 암호화된 "세션 키"(Session Key)를 공유한다. 이 키는 서버의 공개 키(Public Key)를 사용하여 서버에 전달된다.
서버의 공개 키(Public Key)를 사용하여, 세션 키(session key)를 암호화하고, 이 암호화된 세션 키는 오직 비밀 키(Privite Key)에의 의하여만 해독 할 수 있는 것이다. 세션 키의 사용은 공개 키 또는 비밀 키를 사용하는 것 보다 더 빠르다.

대금 결제시에 사용하는 방법은 현재 업계의 표준으로 자리잡은 Secure Electronic Transaction(SET)을 제공한다. SET는 비자, 마스타 카드, 마이크로 소프트, IBM 그리고 넷스케이프 등에서 표준화 시킨 것으로 상점(Commerce Server)과 인증 기관 사이에서 사용하는 암호화 기법이다.
인증 기관이란 신용 카드를 통한 인터넷 상거래에서 발생 할 수 있는 금융 사기를 방지하고자 하는 것으로 일종의 보험 회사라 할 수 있다. 그러므로, 인증 기관은 인터넷이라는 가상 공간에서는 필요한 것임에 틀림없다. 대표적인 인증 기관으로는 미국의 베리사인(Verisign)사와 GET 사 등이 있다. 그러나, 현재 국내에는 이러한 인증 기관이 없는 관계로 당장의 적용에는 어려움이 따르지만, 데이콤이 베리사인사와 인증에 관련된 기술 제휴를 추진 중이고 한국 통신은 GET사와 협의중이다. 그러므로, 조만간 국내에도 이러한 인증 기관이 러시를 이룰 것으로 보인다.

현재, 국내의 온라인 전자 상거래 분야를 살펴보면, 롯테 백화점은 롯테 인터넷 쇼핑 백화점을 대홍 기획을 통하여 영업을 하고 있으며, 신세계 백화점은 (주)아이네트와 개발 중이며 한솔 유통 등이 이 분야로의 사업을 추진 중에 있다. 또한, 데이콤과 비자 인터네셔널 코리아가 8월 부터 그리고 지난 12월에는 한국 통신이 마스타 카드 본사와 협정을 맺어 놓고 있는 상태이므로 국내에도 본격적인 전자 상거래 시장의 쟁탈전이 예상된다.
국내에서 인증 기관이 생길 경우 최우선으로 해결돼야 할 부분은 인증 기관의 신뢰성이다. 인증기관이 만들어 배포하는 암호키가 얼마나 신뢰할 만한가 하는 1차적 문제와 거래 사고가 났을 경우 그 책임의 어디까지를 인증 기관이 떠안을 것이냐 하는 책임한계 문제가 명확해져야 할 것이다.

Verisign사의 Digital ID

key image

3.4. Microsoft Commerce Server 문제점

Microsoft Commerce Server의 문제점은 다른 외국의 프로그램을 국내에 적용 할 때 발생하는 문제점과 유사한다. 미국의 소프트웨어이므로 한글화하는 기본적인 문제에서 부터 쇼핑에 관한 미국 사람들의 생각과 우리의 생각 차이에서 오는 문제까지 다양하다.

Microsoft Commerce Server를 실제로 설치하고 적용하는 문제에 있어서는, Microsoft Commerce Server의 모든 웹 페이지는 ASP로 이루어져있다. 그런데, 아직 ASP에 대한 디버그 툴(Deburg Tool)이 나와 있지 않으므로 에러 코드 번호를 보아도 어디에서의 에러인지 알 수가 없다는 것이다. 또한, Microsoft Commerce Server는 SQL Server와 밀접히 연관되어 있으므로 설치시 에러가 발생하면 Merchant Server의 문제인지 SQL Server의 문제인지 조사하여야 할 것이다.
Microsoft Commerce Server는 다른 마이크로소프트의 상업용 서버인 MCIS와 독립적으로 개발되었기 때문에 이런 서버들간의 연동 문제도 고려 해야 할 것이다. 예를 들면, Microsoft Commerce Server에 기본적으로 들어 있는 사용자 등록과 Microsoft Membership System에 있는 사용자 등록과의 연동이 그러하다.
그리고, SQL Server와 밀접한 관련이 있는 Microsoft Commerce Server는 SQL Server에 테이블의 추가는 자유롭지만 삭제하면 작동하지 않을 수도 있으므로 주의하여야 할 것이다.

4. Microsoft Commerce Server &
Netscape Merchant Server

Microsoft Commerce Server의 작업 환경은 오직 Microsoft Windows NT 플랫폼(Platform)에서만 작동하는 반면에 Netscape Merchant Server는 UNIX 계열에서만 작동한다. Microsoft Merchant Server version 1.0은 마이크로소프트의 다운로드(download) 웹 사이트에서 얻을 수 있지만, Netscape Merchant Server의 경우는 무료 프로그램이 제공되지 않기 때문에 필자가 사용 할 기회가 없었음으로 두 서버간의 비교가 적합하지 않다고 생각되므로 이것에 대한 분석과 비교는 다음 기회로 미루겠다. 그러므로, 여기서는 단지 실제 두 서버를 사용하고 있는 페이지를 알려 주는 것으로 마치겠다.

Microsoft Commerce Server를 사용하는 사이트:

Netscape Merchant Server를 사용하는 사이트:

5. 결론

인터넷 이용자의 증가로 인하여 향후 전자 상거래의 미래는 성공적이라고 낙관 할 수 있을 것이다. 앞으로 이 분야의 발전은 앞에서도 언급한 바와 같이 대금 지불 방식과 개인 정보에 대한 투명성이 관건이 될 것으로 보인다. Netcraft사에서 조사한 바와같이 인터넷 웹 서버 시장에서 Internet Information Server의 급성장으로 인하여 Microsoft Commerce Server는 위에서 언급한 문제점 등을 보안하면 마이크로소프트의 다른 상업용 서버인 Microsoft Commercial Internet System(MCIS)과 함께 전자 상거래를 포함한 인터넷의 여러 중요한 고지에 선착 할 수 있을 것이다.

참고 문헌