ActiveX이구환
ActiveX는 마이크로소프트 인터넷 및 인트라넷 전략의 중심에 있는 기술 플랫폼이다. 마이크로소프트의 인터넷 전략인 "수용 및 확장"의 전형을 보여주는 것으로서 이미 Windows 개발 환경에 익숙해져 있는 개발자들에게 인터넷 및 인트라넷 상에서 공동으로 사용할 수 있는 객체를 만들 수 있는 환경(플랫폼)을 제공 하겠다는 것이다. ActiveX는 클라이언트, 서버, 툴에 이르기까지 광범위한 부분을 커버하고 있는 용어이다. ActiveX 기술의 오픈화를 위해 10월에는 ActiveX에 관련된 표준화 작업을 "Open Group"에 이관하였다. 또한 맥킨토시용 ActiveX SDK를 같은 달에 발표하였으며 연말쯤에는 Unix용도 발표할 계획이다. 이러한 노력은 ActiveX 기술이 Windows 기반만이 아니라 다중 플랫폼을 지원하게 됨을 의미한다. ActiveX 컨트롤이 이미 3,000여개를 넘어서고 있고 많은 부분들이 상업적으로 판매가 됨으로 해서 성공 가능성을 일찌감치 보여주고 있다.
본 강의는 크게 2가지로 나누어 진행할 예정이다. 전체내용은 10월 28-30일 샌프란시스코 산호세에서 개최된 Site Builder Conference(SBC) 내용을 위주로 꾸며질 것이며 전반부는 여기에서 발표된 최신의 ActiveX 관련 기술, 툴 및 동향들을 소개하고 후반부는 이러한 기술을 이용하여 실제적으로 ActiveX 컨트롤을 만들고(VB5 Control Creation Edition), 웹 페이지에 포함시키는 과정들에 대한 설명 및 데모를 진행할 것이다. 이 초록을 작성하는 날이 위 행사 전이라 자세한 정보는 세미나 당일 PPT 파일 및 보충 자료를 통하여 배포할 예정이며 마이크로소프트 한국 사이트에서 위 자료를 찾을 수 있도록 할 것이다.
아래의 내용은 ActiveX에 대한 전반적인 내용을 간략히 설명하고자 한다.
마이크로소프트의 인터넷 전략은 인터넷 및 PC 기반의 기술을 하나로 통합하는데 있다. 이는 인터넷 표준을 기존의 각 제품에 반영할 뿐만이 아니라 이러한 인터넷 표준을 지원하는 제품들을 개발 공급한다는 것을 의미한다. 사용자들에게는 인터넷 사용자 환경을 기존의 윈도우 환경에 자연스럽게 통합하고, 개발자에게는 인터넷 기술을 포함하는 툴들을 제공하고, 기존의 툴들에 인터넷을 지원하는 기능들을 자연스럽게 포함시켜 인터넷 및 인트라넷용 프로그램을 개발할 수 있도록 하고, 새로운 기술을 지원하는 최상의 툴들을 제공하는데 있다. 기업에게는 기 투자한 정보 시스템의 자원을 최대한 활용하면서 인터넷 기술을 쉽게 접목할 (인트라넷) 수 있도록 사용자 인터페이스 및 문서 양식 통합을 제공한다.
ActiveX란 개방된 플랫폼으로서 개발자 및 웹 마스터들이 인터넷 및 인트라넷을 위한 재미 있는 컨텐트 및 프로그램을 개발할 수 있도록 해준다. 개발자는 현재 성숙된 툴인 C/C++ 및 베이직과 같은 개발 언어뿐만이 아니라 자바와 같은 개발언어를 이용하여 인터넷 및 인트라넷 용 프로그램을 작성할 수 있다. 이렇게 개발된 ActiveX 컨트롤 및 자바 애플릿 공히 ActiveX 플랫폼상에서 동작이 가능하다.
ActiveX 기술의 클라이언트 부분은 ActiveX 컨트롤, 자바 애플릿, 스크립팅 언어, Active 문서등을 포함한다. 이러한 클라이언트 기능은 대부분이 인터넷 익스플로러를 통하여 지원된다.
ActiveX 서버 부분 역시 다양한 부분들을 포함하고 있으나 하나로 표현한다면 SBC에서 발표될 Active 플랫폼이 될 것이다. Active 플랫폼은 Windows NT Server, Internet Information Server, ActiveX Server, BackOffice 및 노르망디 전체 제품을 망라하는 제품 및 이들의 근간을 이루는 기술을 포함한다.
ActiveX 툴 부분은 컨트롤 및 애플릿을 개발하고 이들을 웹 페이지에 포함시키는 전 과정을 지원하게 된다. 간단한 툴로서는 ActiveX Control Pad 및 HTML Layout Control이 있으며, Internet Assitance for Office 등이 있으며 체계적인 웹 사이트 관리 및 저작을 위해서는 FrontPage, ActiveX 컨트롤 및 애플릿 개발은 Visual Basic, Visual J++, 인트라넷용 웹 서버 개발을 위한 Internet Studio(아직 개발 코드명임)등이 있다.
인터넷은 모든 사람에게 새로운 도전의 기회를 제공하고 있다. 실력이 있고 좋은 제품이 있다면 인터넷상에 있는 모든 세계가 잠재 시장이 될 수 있다. 국내에도 이미 Windows 개발 환경에 익숙한 개발자들이 많이 있다. ActiveX는 이러한 개발자들에게 무한 가능성을 열어 줄 것이다. 새로운 언어를 처음부터 다시 배우는 것이 아니라 이미 알고 있는 사실을 응용하여 새로운 일을 할 수 있다면 그것보다 좋은 것은 없을 것이다. ActiveX 기술은 바로 이러한 점을 지향하고 있다.
ActiveX는 하나의 플랫폼이다. ActiveX에는 위에서 설명한 대로 클라이언트, 서버, 툴 및 네트웍 아키텍쳐에 이르기까지 각 기술 컴포넌트들이 하나의 거대한 플랫폼을 이루고 있다. ActiveX는 마이크로소프트의 인터넷 및 인트라넷 전략을 표현하는 거대한 기술 플랫폼 이다. 이에 반해 ActiveX 컨트롤은 ActiveX의 한 컴포넌트이다. 기존 OLE 컨트롤을 인터넷 상황에 맞도록 그 무게를 줄인 것이라 할 수 있다.
컨트롤과 여타 객체들은 웹 컨텐트를 역동적으로 만드는데 있어 중요한 역할을 한다. 특히 HTML 페이지에서 이러한 객체들은 사용자들에게 사용자 인터페이스를 제공하여 입력, 질문, 찾기 등과 같은 기능을 제공하여 쌍방향의 재미 있는 컨텐트를 제공하도록 하는 것이다. 컨트롤 체들은 첵크 상자, 편집창, 단추, 리스트 상자등과 같은 간단한 것 들이다.
ActiveX 컨트롤은 프로그램안에서 사용될 수 있도록 설계되어 있다. ActiveX 컨트롤은 주로 개발 플랫폼을 이용하여 프로그램에 포함 시킬 수 있어서 번거로웠으나 ActiveX Control Pad를 이용하면 쉽게 HTML 문서안에 포함 시킬 수 있다. ActiveX 컨트롤은 객체 기술인 COM(Component Object Model) 및 OLE에 기반을 두고 있다. COM은 ActiveX 컨트롤에 대한 기술 기반으로서 이진 호환성, 타 컨트롤 컨테이너와의 접목성 및 다중 플랫폼 지원등을 가능하게 해준다. COM 및 OLE에 대한 자세한 정보는 "Inside OLE, Kraig Brockschmidt, Microsoft Press"를 참고바란다.
ActiveX 컨트롤은 HTML 페이지안에 <OBJECT> 태그를 이용하여 추가된다. <OBJECT> 태그는 HTML 3.x 이상의 규격으로서 HTML 페이지안에 새로운 형태의 미디어(객체)를 추가할 수 있도록 해준다. <OBJECT> 태그안에는 여러가지의 매개변수가 있으며 자세한 내용은 HTML 규격을 참고바란다. 아래는 <OBJECT> 태그를 사용한 예이다.
<OBJECT
classid="clsid:8E27C92B-1264-101C-8A2F-040224009C02"
CODEBASE="http://server/control.ocx">
Best if viewed with Internet Explorer 3.0.<P>
Type a date here:
<INPUT TYPE=TEXT NAME="Date" MAXLENGTH=10 SIZE=10>
</OBJECT>
실제 HTML 페이지 저작시에 위와 같은 일을 한다는 것은
번거로운 일이나 ActiveX Control Pad를 이용하면 위와 같은 저작 작업을
쉽게 할 수 있다.
전체 강의는 위의 내용을 더욱 상세하게 다루게
될 것이다.
데모 순서 및 내용
아래에 첨부하는 내용은 ActiveX에 자세한 소개입니다. 참고하시기
바랍니다.
마이크로소프트는 인터넷 및 인트라넷 상에서 사용될 컴포넌트 응용프로그램* 의 개발을 촉진하기 위하여 지난 3월 샌프란시스코에서 개최 된 마이크로소프트 인터넷 PDC(전문 개발자 회의; Microsoft Professional Developers Conference)에서 몇 가지의 중요한 발표들을 했다. 즉, 인터넷 및 인트라넷용 컴포넌트 소프트웨어의 규격, 자바(JAVA)에 대한 마이크로소프트의 보다 구체적인 지원 정책, 컴포넌트 소프트웨어 규격을 충족시키는 컴포넌트를 제작하기 위한 개발 도구, 규격을 이용한 컴포넌트들의 자유로운 실행 방안에 대한 마이크로소프트의 정책이 발표되었다. 이러한 발표들의 모든 내용들은 ActiveX라는 마이크로소프트가 새로 부여한 이름으로 범주화 할 수 있다. 즉, 마이크로소프트는 ActiveX라는 이름으로 인터넷 관련 모든 기술들을 개발하고 보급하게 된 것이다. ActiveX 아키텍쳐의 대부분은 그동안 'Sweeper'라는 코드명으로 개발되어 왔다.
결국, ActiveX는 다양한 유형의 개발자들에게 호응을 받기 위해서 OLE, Visual Basic, 자바를 포함하는 통일된 개발 틀을 만들어 내기 위한 마이크로소프트의 노력의 산물이라고 할 수 있다.
마이크로소프트는 마이크로소프트의 OLE 및 COM(Common Object Model)에 기반을 둔 비주얼 베이직, 비주얼 베이직 스크립트, OLE 컨트롤(OCX)를 이용해서 다이나믹한 웹 페이지를 만드는 것이 가능하다고 발표했었다. 보다 정확하게 표현한다면 비주얼 베이직 스크립트를 가지고 HTML 페이지의 일부분을 구성하면서 실행될 수 있는 "인 라인(in-line)" 응용프로그램과 같은 OCX를 만들거나 OCX들을 통합할 수 있다. 결국, 본질적으로 마이크로소프트가 윈도우용 응용프로그램 및 솔루션의 확산을 위해서 강조해 왔던 OLE 및 COM이 ActiveX라는 이름으로 전환되면서 인터넷 관련 표준 및 기술들에 대한 지원이 대폭 강화된 것이다. 결국 OLE 및 COM에 기반을 둔 개발자들이 기존의 지식과 투자를 그대로 활용하면서 인터넷이라는 새로운 플랫폼에 편안하게 대처할 수 있게 하는 것이 마이크로소프트의 전략이라고 할 수 있다.
예를 들자면 현재까지 OCX라고 불리웠던 것들은 이제 ActiveX 컨트롤로 불리워 지게 된다. 따라서 현재 존재하는 수 백 개의 OCX들은 이제 ActiveX 컨트롤이 된 것이다. ActiveX라는 깃발 아래에서 마이크로소프트는 인터넷 상에서 ActiveX 컨트롤들의 사용을 최적화하기 위해서 향상된 스크린 렌더링 기술, 컴포넌트의 코드 사이즈를 줄이는 능력 등을 포함하는 OLE/COM 규격을 향상시켜 왔다. 마이크로소프트는 또한 인터넷 상에서 보다 완전하고 보안을 보증할 수 있는 전자 결재(digital signature) 컴포넌트의 표준 제정을 선도하기 위한 기술을 발표하였다.
ActiveX 컨트롤의 예로는 그래픽 뷰어, 신용카드 거래 컴포넌트, 스프레드시트 애플릿 등을 들 수 있다. 이러한 컴포넌트들은 HTML로 작성된 페이지에 포함되고 HTML 브라우져에서 실행될 수 있다. ActiveX 기술에는 ActiveX 문서도 포함되어 있는데, 이는 그동안 문서 오브젝트(Document Object)로 간주되어 왔던 것이다. ActiveX 문서는 인터넷 익스플로러 안에서 특정 응용프로그램의 데이터를 처리할 수 있는 API(application programming interface) 아키텍쳐를 제공한다. 브라우져를 이용해서 특정 문서의 포맷을 그대로 읽어 들이는 경우 기존의 아키텍쳐는 사용자들이 해당 응용프로그램을 작동시키거나 스프레드시트, 데이터베이스, 및 다른 파일들을 HTML로 전환해야만 했다. 그렇지만 ActiveX 문서를 이용하게 되면 마이크로소프트 오피스와 같은 응용프로그램의 경우, 브라우져 안에서 작동되는 보기 프로그램(viewer)를 이용해서 워드나 엑셀의 문서들을 별도의 실행이나 전환 없이 볼 수 있게 된다.
ActiveX 컨트롤은 C, C++, 델파이, 마이크로소프트 비주얼 베이직과 같은 다양한 프로그래밍 언어로 만들 수 있다. 또한 비주얼 베이직 스크립트와 자바 스크립트와 같은 스크립트 언어를 이용해서 HTML 페이지에 포함되어 있는 여러 개의 ActiveX 컨트롤들을 통합함으로써 웹 기반의 응용프로그램이나 서버 스크립트를 만들 수 있게 해 준다. 마이크로소프트는 또한 ActiveX 컨트롤이 HTML 페이지 내에서 자바 애플릿과 함께 존재할 수 있다.
마이크로소프트는 인터넷 인포메이션 서버(IIS)와 인터넷 서버 API(ISAPI)를 ActiveX 서버 프레임워크를 구성하는 ActiveX 기술군(群)에 포함시키고 있다. 현재 발표되어 있는 IIS는 개발자들로 하여금 ISAPI와 COM 오브젝트와 ActiveX 서버 스크립팅으로 구성되는 서버용 응용프로그램(server-side application)을 활용할 수 있게 하는 ActiveX 컴포넌트를 지원하고 있다. 예를 들면, ActiveX 서버 프레임워크는 COM 오브젝트와 ISAPI 간의 상호 운용을 가능하게 할 뿐만 아니라 개발자들이 OLE DLL(Dynamic Link Libraries)나 데이터베이스용 커스텀 쿼리와 같은 서버 기능을 제공하는 오토메이션 서버를 만들 수 있도록 해 준다. 마이크로소프트는 올 4분기에 발표될 버전 3.0에서는 보다 향상된 속도와 ActiveX 서버 프레임워크의 확장성이 대폭 향상될 것이라고 예고하고 있다.
개발 도구 공급 업체 역시 ActiveX를 지원하고 있으며 대표적인 업체로는 볼랜드, 파워소프트, 매크로미디어(Macromedia), 넷메네지(NetManage)와 같은 회사들이 있으며 전체 업체의 목록은 마이크로소프트의 홈 페이지, http://www.microsoft.com에서 조회해 볼 수 있다.
마이크로소프트는 ActiveX 기술이 윈도우 뿐만 아니라 Mac OS에서도 운용되는 기술이 될 것이라고 얘기하고 있다. 이런 맥락에서 마이크로소프트는 매크로미디어社와 맥킨토시 운영체제를 위한 ActiveX 기술을 개발하기 위해서 전략적인 협력을 맺기로 했다고 발표하였다. 또한 마이크로소프트는 브리스톨 테크놀러지(Bristol Technologies), 메인소프트(Mainsoft)와는 UNIX 상에서 OLE/COM을 운용하기 위한 작업을 계속하고 있다. 한편, 마이크로소프트는 넷스케이프의 네비게이터에서 ActiveX 컨트롤을 이용하기 위한 ActiveX 플러그 인을 엔컴파스(nCompass)와 개발하고 있다. ActiveX 플러그 인은 마이크로소프트 인터넷 익스플로러에서 사용할 수 있다.
웹마스터나 개발자들이 ActiveX 기술을 사용하는 것을 돕기 위해서 마이크로소프트는 IIS, 도움말 파일, ActiveX SDK(ActiveX Software Development Kit)를 포함하고 있는 ActiveX 개발 키트(ActiveX Development Kit)를 발표하였다. 또한 이 ActiveX 개발 키트에는 최신 버전의 인터넷 익스플로러, 인터넷 데이터베이스 커넥터, SQL 서버, IIS 등과 함께 운용될 수 있도록 개발된 완전한 functional order-entry 응용프로그램이 포함되어 있다.
일반 개발자들은 마이크로소프트 웹 사이트에서 이 제품을 무료로 다운로드 받을 수 있다. 현재 MSDN 레벨 2와 3의 회원들은 무료로 이 제품을 받게 된다.
마이크로소프트는 기존 기술의 지속적인 개선과 확장, 산업 표준의
제정 및 제정된 표준의 적극적인 활용을 통해서 성장해 왔다고 해도
과언이 아니다. 즉 가장 선도적인 원천 기술을 상품화해 내는데 탁월한
실력을 발휘해 온 것이다. ActiveX 기술을 바탕으로 하는 마이크로소프트의
인터넷 전략은 이런 면에서 볼 때, 현재 가장 많은 사용자 층을 확보하고
있는 윈도우 운영체제에 대한 기존의 수 많은 투자를 보전하면서 윈도우
기반 기술을 인터넷에서 활용할 수 있도록 하자는 것이다. 자바의
적극적인 수용이나 플러그 인의 지원, 맥킨토시 및 UNIX의 지원 등은
마이크로소프트가 앞으로 인터넷 이라는 새로운 플랫폼에서도 주도권을
잃지 않을 것임을 짐작하게 하는 지표라고 볼 수 있을 것이다.