통계 위젯 (화이트)

3851
300
2204133

저작권

모든 내용은 허락없이 상업적으로 사용하실 수 없습니다. - 오광섭 -

클릭몬 (와이드)





비스타 출시로 야기된 ActiveX 이야기들을 읽으며.. ▣ 일이야기 ▣

2007년 1월 31일.. 국내에서는 ActiveX 때문에 더 유명해진 비스타가 전세계 동시 출시가 되었다.. 이제 곧 국내에서도 비스타가 탑재된 데스크탑과 노트북들이 나올 것이다.. ActiveX에 대한 우려의 이야기들은 예전부터 많았지만, 그 이후로도 상황은 크게 달라지지 않았고, 이번에 다시 화두에 올랐다.. 그간 많은 노력들에도 불구하고 큰 인식의 변화를 일으키지 못한 상태에서 다시 논란의 기회가 제공된 것이다..

이번에는 소송 이야기까지 나오며, 큰 이슈화가 되어가고 있는 것 같기는 하지만 이번에도 말, 말, 말 뿐인 이슈로 넘어가지 않을까 하는 생각도 든다.. 그러면 업계에서는 또 "조용해지면 다시 ActiveX로 문제해결"을 시도할 것이며, ActiveX 컨트롤 없이도 해결가능한 부분을 ActiveX로 해결하려는 시도에 질린 사용자들은 분노를 참지 못하는 상황이 계속 반복되기만 하는게 아닐까 하는 불안감도 든다.. 그간의 상황을 제대로 이해하지 못하고 ActiveX 컨트롤 이젠 못쓴다네 신난다, 혹은 ActiveX 컨트롤 무조건 싫어~ 하는 목소리들이 갑자기 쏟아져 나와 정작 중요한 이야기들은 묻혀버리고 있는 상황이 아닌가 하는 생각도 들기 때문이다.. (이런 분들은 Active X 기술 포기했다는 이야기는 이제 그만, ActiveX에 대한 거짓말과 진실, ActiveX 문제의 진실, [컬럼 후기] ActiveX 문제의 진실, ActiveX의 문제 ? 우물안 개구리의 편의주의 같은 글들을 꼭 읽어봐야 한다..) 해서 이번엔 말로만 끝나지 않도록 만들어봤으면 한다.. 많은 분들의 참여가 필요하다..

아는 사람들은 알겠지만, 필자는 98년도 부터 무려 10년 가까이 엄청난 양의 ActiveX 컨트롤을 만들어온 사람이다.. 엑티브엑스 방어하는 개발자들 정신 좀 차려라.. 같은 글을 읽으며 가장 먼저 반성해야 하는 사람인 것이다.. 그래서 생각을 좀 해봤다..

그럼, 무분별한 ActiveX 컨트롤의 사용이 왜 문제일까?
크게 2가지를 꼽을 수 있는데 웹표준을 무너뜨리며, 많은 보안문제를 야기하기 때문이다.. 이외에 뭘 설치하라고 뜨고 이걸 클릭하기 귀찮다는 의견은 사용자를 무시하는 처사는 아니지만, 이는 사용자를 위한 안내문이므로 여기서는 논외의 대상으로 해야겠다.. 다만, 무슨 프로그램을 왜 설치하려고 하는지에 대한 설명이 없다는 것은 개선해야 할 내용인데, 이와 같은 내용은 중요함에도 이번 IE 7과 비스타 출시에서도 개선되지 않았다.. ActiveX가 없어질 것이 아니라면, IE 8이 나올때까지 미뤄둘 것이 아니라 이 부분도 이번에 개선 되었어야 한다.. 외국에서는 ActiveX 컨트롤 사용이 많지 않다고 하니 그래서 간과되지 않았나 싶다.. 하지만, Microsoft에서 이런 부분을 간과한 것은 무척 아쉽다.. codesign에 대한 스펙을 조금만 확장 시키면 어렵지 않게 해결될 문제라 생각되기 때문이다..

웹표준은 웹을 누구나 사용하게 만드는 중요한 사항이다.. 다양한 플랫폼, 다양한 OS, 다양한 웹브라우저, 그리고 시각장애인들을 위한 배려 등 그간 웹브라우저 전쟁의 결과 때문에 묻혀버려 잊고 살아온 기간동안 발생했던 어려움들을 해결해줄 수 있는 대안인 것이다.. 표준을 준수하는데 노력과 비용이 더 들어가는 것은 사실이지만, 이를 통해 얻을 수 있는 혜택을 생각하면 오히려 우리 엔지니어들에게 더 큰 가치가 있다는 것을 알아야 한다.. 이때문에 "왜 사내에서 정작 관심을 가져야 할 사람들은 관심을 안 가지고, 데스크탑 어플리케이션 개발팀장이 웹표준에 그리 관심을 갖느냐?", "요즘 너무 모든 것을 웹표준으로 해결하려는게 아니냐"는 팀원들의 질문을 받기도 하지만, 웹표준을 이제 미뤄둘 수 있는 숙제가 아니다.. 웹표준에 대한 주옥같은 글들은 여러곳에서 찾을 수 있으니 열심히 읽자..

가장 큰 문제는 ActiveX가 특정 환경에 종속된 기술이라는 점이다.. 지금은 어도비에 통합된 매크로미디어의 플래쉬는 ActiveX 임에도 리눅스, 맥 등 다양한 플랫폼과 웹브라우저에서 사용할 수 있도록 함으로써 이러한 논란이 일어나도 이야기 주제에서는 빠져나가는 저력을 과시하고 있는데 반해 국내의 대부분의 업체들은 이러한 역량을 갖추지 못해 매번 논란의 중심에 서게된다.. 부득이하게 ActiveX 컨트롤을 만들어야 하는 상황이라면, 다양한 환경에서 같은 서비스를 사용하게 만들어야 이러한 논란의 주인공이 되지 않을 것이며, 앞으로는 이런 주인공에 발탁되는 일이 점점 더 괴로운 상황일 될 것이다..

그 다음으로는 보안문제인데, 보안에 상당한 신경을 쓴 자바 애플릿과는 달리 ActiveX 컨트롤의 경우 일단 설치가 되고 나면 무슨 짓이던 할 수 있는 권한을 가지게 되므로 비스타에서 이를 막기 위한 시도가 이루어졌다.. 바람직한 일이긴 하지만, 자바 애플릿처럼 애초에 보안이 강조된 구조가 아니었던 것이 앞으로는 그 기능을 제한한다고 하니 논란이 되고 있다.. 충분한 기간이 있었다고 지적하는 분들이 많지만, 국내 업계의 환경에는 충분치 못한 시간이었다..

그럼 누구의 책임일까? 왜 충분치 못한 시간이었을까?
이런 상황에서 간혹 보면 개발자들의 탓을 하는 글들을 볼 수가 있는데 사실 이는 방향을 제대로 잡지 못한 비판이라 생각한다.. 프로그래머들은 이런 의사결정을 할 위치에 있지 못하기 때문이다.. ActiveX 컨트롤로 만들어진 프로그램들을 보면 구현단계에서 고민을 하다 ActiveX 컨트롤로 만드는 것이 편하기 때문에 만들어진 것 보다는 구현해야 하는 스펙의 요구사항 자체가 ActiveX 컨트롤로 만들어야만 했던 경우가 더 많다.. 더 비극적인 상황은 이러한 요구사항이 사용자들을 통해서 얻어졌다기 보다는 회사의 제품기획에서 이게 더 편할 것이다, 좋을 것이라는 예측에서 만들어진 경우가 더 많다는 것이다.. 즉, 서비스를 기획하는 단계에서 웹 플랫폼에 과도한 요구를 한 경우가 많다.. 윈도우즈와 IE가 98% 이상을 차지했던 국내의 컴퓨팅 환경 때문에 만연된 편의주의 때문일 것이다..
ActiveX 컨트롤 없이 해결할 수 있는 문제를 프로그래머의 의사결정으로 ActiveX로 구현을 했다면 비판 받아 마땅하며, 반성해야 할 것이다.. 하지만, 회사와 기획팀의 의도를 꺾을 수 있는 개발팀은 그리 많지 못하다..

웹표준을 준수하는 것이 중요한 사안임을 인식하지 못하는 경영진과 제품기획이 있는 한 ActiveX는 짧은 시간내에 없어질 수 없다.. 한순간에 사라지길 바란다면 너무 이상적이다.. 나쁘다고 외치기만 하는 것은 이제 충분하다.. 어떻게 줄여 나갈 것인가에 대한 논의를 해야 한다.. 외국에서는 뛰어는 프로그래머인지 모르겠지만, 국내 여건을 잘 알지도 못하면서 자기가 나서서 국내 ActiveX를 모두 없애주겠다는 주장은 우리 실정에 큰 도움이 되지 못한다..

아울러, 모든 ActiveX 컨트롤들을 웹에서 사라지게 할 수도 없다.. 모든 것을 웹으로 해결하려는 시도도 줄여야 할 것이며, ActiveX 컨트롤을 사용하면 강점이 있을 것을 표준에 저해된다고 없애버리려고만 해서도 안된다.. 비스타 출시 이후에도 많은 수의 ActiveX 컨트롤들이 여전히 존재할 것이며, 그렇다고 해서 이야기 해봐야 소용없다며 절망하여 ActiveX 컨트롤에 대한 비판을 삼가해 버리지도 말자..

금감원을 고소한다고 해결될 문제가 아니라고 생각한다.. 현재까지는 대안 보다는 비난이 많았고, 경우에 따라서는 감정싸움으로 번지기까지 한다.. 그보다는 웹표준에 뛰어난 이들이 ActiveX 컨트롤 의존도를 어떻게 낮출 수 있는지에 대한 아이디어를 내고, 리눅스와 맥 환경에서의 개발에 경험이 있는 국내의 엔지니어들이 의견을 내고, ActiveX 컨트롤을 만들던 업체들에서는 정말 ActiveX 컨트롤을 사용할 수 밖에 없는 부분이 아닌 경우에는 다른 기술로 대체하는 방안에 대한 고민과 연구를 해야한다.. 블로거들이 현실적인 대안제시에 좀 더 시간을 할애한다면 국내의 이러한 상황을 개선시키는데 많은 도움이 될 것이라 생각된다.. 우리가 이 공간에서 얼마나 많은 지식과 경험을 배우고 공유하고 있는지 생각해보자..
너무 이상적인 생각일 수도 있지만, 이 공간은 그런 이상적인 생각들은 많이 실현해왔다..
그동안 그런 노력들이 없었던 것도 아니고, 많은 이들의 노력이 의미 없었던 것이라 말하는게 아니다.. 이런 이야기를 나눌 수 있는 기회가 서로의 비난 속에 묻히고 있는게 아닌가 하는 생각이 들기 때문이다..

그간 많은 글들을 읽으면 그간 내간 만들었던 ActiveX 컨트롤들을 살펴봤다.. 몇개는 ActiveX 컨트롤 없이 해결할 수 있는 것들도 있었고, 상당수는 계속 ActiveX 컨트롤을 유지해야 하며, 몇개는 갸우뚱 싶은게 있다.. 아직까지는 웹 어플리케이션 개발에 대한 지식이 미천하기 때문일 것이다.. (다른 한편으로는 그간 참 많이도 만들었다는 생각도..)

그중에 하나를 꼽았는데, 이건 ActiveX 컨트롤 없이도 해결할 수 있을 것 같은데 마땅히 다른 방법이 떠오르질 않는다.. 플래쉬로 만들면 가능할지 어떨지 모르겠지만, 여전히 ActiveX 컨트롤이다.. 다른 방법이 없을까? 2002년 이었던 것 같은데, 메일을 하나 받았다.. 시각장애인을 위한 ActiveX 컨트롤이 필요한데, 웹브라우저 화면 내용을 확대하여 볼 수 있는 기능이 필요하다는 것이다.. 아주 안 보이는 사람들이 아닌 시력이 약한 사람들을 위해 내용을 확대하여 보여주는 기능이 필요하다는 것이다.. 그리 어렵지 않게 만들 수 있을 것 같았고, 장애인들을 위해 사용된다고 해 만들어주기로 하고 아래 그림과 같은 ActiveX 컨트롤을 만들었다..
윈도우즈에서 기본 제공하는 프로그램과 비슷한 기능이지만, 몇가지 기능이 없고 자신의 윈도우 위에 마우스 커서가 갔을 경우 자신의 윈도우 내용도 계속 확대하느라 화면이 이상해지는 버그도 있다.. 하지만, 회사 일도 아니고 개인적인 부탁이라, 몇시간 야근으로 얼른 끝내고 퇴근하고 싶어 게으름에 굴북하고 스펙을 줄였다..

자바 애플릿으로 만들면 마우스 어느 위치에 있는 내용이던 확대를 할 수 없을 것 같았고 (아직도 가능한지 여부를 잘 모르겠다..) 자바 스크립트로 만들 수 있는 방법도 몰랐다.. 가장 좋은 방법은 ActiveX 컨트롤을 만들어 배포하지 않고, 윈도우즈 XP에서 기본 제공되는 돋보기 프로그램을 사용하도록 하는 것이다.. (지금 생각해보면 이런 기획의도가 너무 모든 것을 웹사이트에서 제공해주려는게 아닌가 하는 생각도 든다..)
하지만, 꼭 우리 웹사이트에서 이런 기능을 제공해야 한다는 기획서를 받아 구현해야만 하는 입장이라면 어떻게 만드는 것이 좋을까?

꼬리말 : 기존 어플리케이션 수정에 참고할만한 내용
Now Is Not the Time for Vista, MS,「비스타 시큐리티」문제에 반론
Vista 에서 Administrator 로 Application을 돌리는 방법
Understanding and Working in Protected Mode Internet Explorer
Windows Vista 를 위한 ActiveX 마이그레이션 작업 절차 정리 문서 - 1
Vista Note -1 환경설정 파일 저장
Vista Note -2 Virtualization

덧글

  • 기타 2007/02/05 00:08 # 답글

    좋은 글 잘 읽었습니다. 웹 표준에 뛰어난 이들과 윈도 이외의 플랫폼 개발 경험을 가진분들의 경험과 안목을 모아 대안을 연구해보자... 비난보단 현실적 대안 제시에 시간을 좀 더 할애하자는 관점에 공감합니다...
  • 미친병아리 2007/02/05 01:56 # 답글

    기타님 : 다른 많은 분들도 비슷한 의견 많으셨을 겁니다.. ActiveX로 만들려다 변경한 사례들을 보아보는 것도 좋을 것 같습니다..
  • Heart 2007/02/07 17:51 # 삭제 답글

    저도 가끔 ActiveX 를 개발하기도 하고, 블로그에 ActiveX 관한 글을 포스팅해서 여러 분들과 의견을 주고받았지만 궁극적인 해결 방안은 하나인 것 같습니다.

    "어플리케이션과 웹을 구분하자"

    ActiveX가 쓰인 사례의 대부분은 어플리케이션 단이었던(혹은 이어야 하는) 기능들이 웹에 박히면서 시작되었다고 생각합니다.
    그 시작이 유저였느니, 개발자였느니, 회사였느니 찾는 것은 '닭이 먼저, 계란이 먼저' 와 다를 바가 없구요, ActiveX를 걷어낼 수 있는 방법은 대안이 될 수 있는 플랫폼을 강구함과 동시에 기능들을 자신들이 있어야 할 위치로 되돌려 놓는 것이라 생각합니다.
  • 미친병아리 2007/02/10 14:21 # 답글

    Heart님 : 가장 좋은 방법임에 공감합니다.. 웹에서 해결 안되는 것은 어플로..
  • 최준열 2007/03/12 22:15 # 삭제 답글

    저도 당해봤습니다. 윗선에서 독단적으로 판단해서 '우리 웹 사이트에서 이러이러한 기능이 되도록 구현해 주세요'라고 하는 상황. 아 정말 짜증나죠. 그런데 그 사람이 초등학생도 아니고 그사람이 절 골탕먹이고 싶어서 그런 것을 주문했을 리는 없겠죠.

    제 생각엔 윗선의 담당자가 웹에 대해서 무지해서 그런 무리한 요구를 하는 경우가 대다수인 것 같습니다. 담당자가 웹 개발을 한 번도 안 해 봤고 웹 관련 교육도 한 번도 안 가 본 상태에서 그냥 '머릿속으로 상상한 기능'을 구현해 달라고 개발자에게 주문하는 거죠.

    그래서 저는 발주처의 담당자도 AJAX 교육이나 asp.net 교육 같은 것을 이수하는 것이 좋다고 생각합니다. 평생 개발로 먹고 살라는 것도 아니고 같이 코딩 해달라는 것도 아니고 5일 교육 한 번 가달라는 건데 그것도 못한다고 하면 IT인으로서의 자격이 없는 것이겠죠.
  • 미친병아리 2007/03/26 01:20 # 답글

    최준열님 : 발주처 담당자들에 대한 적절한 교육이 필요하다는 의견 공감합니다..
댓글 입력 영역