DSC01768 DSC01769

3일째에 제가 관심있게 지켜보았던 세션은 바로 IIS 7.0에 관련된 세션이었습니다.

image image

IIS 7.0의 특징 중에 하나는 모듈화입니다. 기존의 IIS 6.0과는 달리 모든 모듈들이 다 쪼개져있어서, IIS 설치와 관련된 옵션이 40여개정도로 세분화되었습니다. 지금까지의 IIS 6.0은 웹 서버, FTP 서버 이런식으로 서비스단위로 설치가 가능했었습니다만, IIS 7.0은 모듈화가 되어져 있고, 개발자가 모듈을 개발한 후, 해당 모듈을 IIS에 붙여서 사용할 수 있습니다.

예를 들어, IIS에서 SQL Logging을 하는 모듈을 Visual Studio를 이용하여 개발한 후, 이를 IIS 7.0에서 바로 동작시킬 수 있다는 것입니다.

image

기존의 IIS 6.0의 경우에 IIS를 확장할 수 있는 방법은 ISAPI를 이용하는 방법이었습니다. 이러한 ISAPI는 C++로 개발을 해야하기 때문에, 여러모로 난해한 점이 많았으며.. 제한적이었습니다만, IIS 7.0의 경우에는 Managed Code과 Native Code를 모두 사용하여 IIS를 확장할 수 있게 되었습니다. ISAPI 컨셉이 아닌 말 그대로 모듈이죠..

image image

image image

데모를 통해 IIS 7.0용 모듈과 핸들러를 개발하는 데모를 보여줬습니다. 첫번째가 SQL Logging 모듈을 개발하여 이를 IIS에 붙여 돌려, 사용자가 접근했을 때, 관련된 로그가 DB에 남기는 것이었으며.. 두번째 데모는... IIS 7.0의 인증 부분에 대해 확장을 하여, IIS 자체가 SQL DB안에 저장된 사용자 계정/암호 정보를 이용한 인증을 개발하는 것이었습니다.

인증 부분이 모듈화되어져 있으므로, 기존의 기본 인증, Windows 통합 인증등을 제외하고 SQL Provider를 이용하여 인증 처리를 하도록 IIS가 직접 지원하며, 해당 사용자들에 대해 Role을 부여할 수 있게 되어져 있습니다.

마지막 데모는 서버에 저장된 이미지들을 사용자들에게 보낼 때, JPG로 컨버팅하는 핸들러를 확장하는 것이었습니다. 관리자가 PNG로 저장하여 올린 이미지를 IIS가 직접 JPG로 컨버팅하도록 핸들러를 개발하고 이를 붙여서 동작시키는 것이었죠. 제가 개발 쪽에 대한 깊은 지식이 없어서, 코드 레벨까지 말씀드리긴 어렵지만.. IIS 7.0을 이용하여 확장이 가능하다는 컨셉은 무척이나 환영할만한 요소입니다. 당연히 서버도 모듈화로 인해 LightWeight해지겠죠.. 불필요한 요소가 없어지니..

image image

통합된 Tracing 기능도 제공을 합니다. 기존의 IIS Tracing은 IIS 웹 서버 레벨에서만 가능했지만, 이제는 사이트 레벨에서부터 가능해지며, 이에 대해 코드 레벨 Tracing을 처리하여, 개발자 분들께서 손쉽게 자신의 오류나 동작 방식 파악을 하실 수 있습니다.

이어진 오후 세션의 내용은 IIS 설정을 확장하는 내용이었습니다. IIS 7.0부터는 Metabase를 사용하지않고, .NET Framework의 설정과 Web.Config을 사용합니다.

image image

XML로 구성된 설정이므로, 동적으로 수정 및 확장이 가능하며, 스키마 선언을 통해 원하시는 구성 정보를 저장시킬 수도 있습니다.

image image

image image

IIS Manager의 경우에도 Windows Vista, Windows Server 2008에서 새롭게 작성되었으며, 모듈 및 카테고리별로 관리가 가능합니다. 처음에는 다소 불편하실 수 있지만, 더 낫다는 것도 느끼실 거라 생각합니다. 참고 : IIS 7.0 on Windows Vista and Windows Server 2008

Managed Code로 작성이 되어져 있기 때문에, 당연히 관리 도구에 대해서도 확장이 가능하겠죠? 이에 대한 데모가 이어졌습니다.

image

IIS 7.0에 대해 엔지니어가 알고 있어야 할 내용을 살펴보는 시간이었습니다.

image image

역시나 오전 세션과 같이 메타베이스에서 XML로의 구성 변화에 대해 진행한 후

image image

데모를 진행하여, 실제 Config 파일을 변경하여 설정을 넣는 것과, GUI 관리 도구에서 진행하는 것을 보여주더군요. 마지막 아젠다는 바로 관리 도구에 대한 이야기였습니다. 많이 관리 도구 레벨의 이야기는 들으셨기 때문에, 간단하게 그림만 하나 포스팅합니다. :)

image

HTTPS를 이용하여 원격에서 관리도 가능합니다.

+ Recent posts