내 오픈소스에 날개를!-(1)웹 플랫폼 설치 관리자(WPI)를 위한 나의 어플리케이션 패키지 제작

안녕하세요. 김대우 입니다. 이번에 소개해 드리고 싶은 내용은 다락 서버 프로젝트에서 상세히 다뤄진 WPI를 이용해 손쉬운 어플리케이션 설치에 이어, 우리의 오픈소스 프로젝트를 이 웹 플랫폼 설치 관리자(이하 WPI-Web Platform Installer)에 등록하는 방법에 대해서 소개해 드릴 예정입니다. 
darak01.jpg
Q. 웹 플랫폼 설치 관리자가 무엇인가요? – KBench 링크를 참조하세요.
Q. 다락 서버 프로젝트란 무엇인가요? – 꿈이 자라는 다락방 서버 웹사이트를 참조하세요. – 마이크로소프트와 NHN이 공동으로 주관합니다.
Q. 웹 플랫폼 설치 관리자 다운로드는 어떻게 받나요? – 마이크로소프트 /web에서 다운로드 가능합니다.
링크를 클릭하시면 바로 확인 가능합니다.
그렇다면, 이곳 웹 플랫폼 설치 관리자에는 어떤 어플리케이션들이 등록되어 있을까요? 
install2.jpg
마이크로소프트 웹 앱 갤러리 에 등록되면 자동으로 WPI에 나타납니다.
대한민국 대표 CMS인 XpressEngine과 블로그 엔진인 Textyle이 현재 등록되어 있습니다. 국내 다수 블로거 분들이 이용하시는 텍스트큐브 역시 등록되어 있었으나 여러 사정으로 잠시 보류된 상태입니다. “백견이 불여일타”라고, 직접 다운로드 하시고 설치를 진행해 보시면 “아하~ 이렇게 쉽구나” 하고 바로 감이 오실 거에요. ^_^
WPI를 이용하면 어떤 장점이 있나요?
여기서 중요한 점은? 설치를 진행하면, 그 동안 고민스러웠던 여러 종속된 어플리케이션이나 서비스 등을 고민할 필요 없이, 자동으로 WPI가 모든 종속된 웹 서버, 데이터베이스 등을 자동으로 구성해 설치하게 됩니다. 즉, 관리의 편의성이 극대화 되며 내가 패키징한 오픈소스 어플리케이션이 더 많은 사람에게 닿을 수 있다는 의미지요. 또한, WPI는 다국어를 지원하기 때문에 한번 등록하면 전세계의 WPI사용자 모두에게 우리의 어플리케이션을 무상으로 홍보할 수 있다는 장점도 있습니다. 특히, WPI는 개방 플랫폼을 지향하기 때문에 MySQL이나 MSSQL과의 연계도 가능하며, PHP 어플리케이션도 아무 문제 없이 등록 가능합니다.(XpressEngine Textyle 도 등록되어 있지요)
그렇다면 WPI를 등록할 경우에 어떤 주의점, 제한 사항이 있나요?
넵, 등록할 때 주의하실 사항을 Web App Gallery 팀에서 제공하는 "등록 원칙과 관련된 글 을 통해 확인 가능합니다. 뜬구름 잡는 이야기처럼 보일지 모르지만 운영 원칙이니 참고 하시길 바랍니다. XE팀과 제가 직접 관련 패키징 작업을 도움 드린 적이 있는데요. 진행하면서 느낀 점을 한번 더 정리해 보자면
- 보안 제공
WPI를 통해 설치되는 어플리케이션은 보안상의 제약으로 웹사이트 하위 폴더에 대해서만 권한이 부여됩니다. 즉, 윈도우의 system 폴더 등에 대한 권한이 없으며, PHP 어플리케이션일 경우 php.ini 파일에 대한 편집이 불가합니다. 또한, PHP의 확장 모듈 중에 mysql이나 mssql 등은 이용 가능하나, Zend와 같은 확장 기능은 이용할 수 없습니다.
- 사용자 편의성 우선
WPI는 사용자 편의성 우선 원칙에 의해 제작되었습니다. WPI에서 입력 받은 값을 통해 WPI로 설치 과정이 완료되면 반드시 완성된 웹사이트가 보여지도록 하는 것을 권장하고 있습니다. 즉, WPI 설치 후 기본 레이아웃이나 스킨이 적용된 즉시 사용 가능한 Welcome 화면이 나올 것을 권장해 드리고 있습니다.
- 웹 서비스를 위한 어플리케이션 등록
어플리케이션은 불특정 다수를 통해 서비스되는 어플리케이션을 등록할 수 있으며, 개인용 웹사이트 관리 솔루션 등은 상용을 권장해 드리지 않습니다.
- 오픈소스 커뮤니티 지원
WPI는 오픈소스 커뮤니티에 대한 공익적인 목적이 더 강한 서비스 입니다. 오픈소스로 제공되는 소프트웨어만을 등록이 가능합니다.(오픈소스이며 상업용 패키지인 쇼핑몰일 경우, 하위 기본 무료 오픈소스 버전을 WPI에 등록 하는 것은 가능합니다.-사례가 있습니다.)

Web App Gallery 팀에서 제공하는 WPI를 등록하는 절차
file.axd?i=1675
웹앱갤러리 팀에서 제공하는 어플리케이션 등록 절차 등록을 위한 공식 절차 내용인데 조금 많이 단순 하지요? 이제 상세히 기술적인 측면도 설명 드리도록 하겠으니, 조금만 기다려 주시길 바랍니다.
자, 이렇게 간단히 WPI를 올리기 전에 고려하실 사항에 대해서 알아 보았습니다. 그럼 다음 글을 통해, 직접 WPI를 패키징하는 절차를 설명 드리도록 하겠습니다.

참조자료 :
마이크로소프트 웹 플랫폼 - (1) 다시 쓰는 웹 플랫폼
마이크로소프트 웹 플랫폼 - (2) 마이크로소프트 웹 플랫폼은 무엇인가?
Introducing the Windows Web Application Gallery