브라우져위에서 동작한다는 측면에서 두 개의 기술이 유사하다라고도 말할 수 있겠지만 ajaxactive-x를 단순비교하는 것은 무리라고 생각합니다. active-x는 사실 데스크탑 애플리케이션이 할 수 있는 거의 모든 기능을 다 구현할 수 있을 것입니다. 하지만 여기에는 동작환경이 반드시 MS windows에 MS browser여야 한다는 아주 큰 제약이 있습니다.(물론 현재 우리나라 인터넷환경에서는 예외이겠지만 표준화, 접근성강화라는 방향으로 나가고 있다고 생각합니다. 그리고 공공기관이나 국가기관의 사이트라면 더욱더 문제가 된다고 생각합니다.)

아래는 공통적인 장점은 제외한 차이점을 위주로 적어보았습니다.



<active-x와 비교했을 때 ajax의 한계>

ajax에서 사용하는 자바스크립트는 기본적으로 브라우져 위에서 작동됩니다. 그러므로 브라우져의 보안모델에 제약을 받습니다. 기존의 (별도로 서명되지 않은)자바 애플릿 등과 마찬가지로 로컬 pc 파일에 대하여 읽거나 쓰는 등의 행위를 포함하여 소스를 보내준 도메인이 아닌 다른 도메인으로의 연결 등의 행위를 할 수 없습니다. 이는 보안적인 측면에서 당연한 구조이며 만약 이러한 브라우저의 보안 모델이 없다면 어떤 사이트에 접속하는 순간 pc의 파일이 다 삭제된다거나 하는 것이 가능 할 수도 있을 것입니다.



<active-x와 비교한 ajax의 장점>

- 일반적으로 cross-browsing을 지원하도록 개발되므로 대부분의 브라우져에서 사용 가능합니다. 물론 os와는 독립적으로 동작하므로 os의 영향은 받지 않습니다.

- 그리고 active-x와 달리 별도의 설치과정이나 사용자 확인과정이 필요 없습니다.

- 기타 장점은 active-x에서 모두 구현 가능하므로 적지 않겠습니다.



<active-x의 장점>

- 웹브라우져의 보안 모델을 넘어서는 다양한 기능의 응용프로그램을 구현 가능합니다.

- MS웹브라우져 위에서 실행시키는 것이 가능하고 브라우져와 상호 컨트롤이 용이합니다.

- 일반 윈도우 애플리케이션과 동일한 정도의 다양하고 조작의 자연스러움을 자연스러움과 풍부함을 사용할 수 있습니다.



<active-x의 단점>

- MSIE에 종속적인 기술입니다. MSIE를 제외한 다른 모든 브라우져에서 작동이 안 됩니다. 사용자 접근성준수와 웹표준화의 심각한 걸림돌이라고 생각합니다.

- 브라우져의 기본 보안모델범위 밖의 작업이 필요치 않은 경우에도 사용자가 설치를 허용해줘야 하는 작업이 필요합니다. 예를 들어 단순히 서버와 연계된 데이터 그리드를 표현하기 위해 active-x를 사용한다면 이를 설치하기 위해 사용자의 설치허용 절차를 거쳐야합니다.

- 최근에는 MS의 브라우져에서도 (XP SP2) 설치를 기본적으로 차단하여 사용자들의 불편 초래하고 있습니다.



<기타의견>

모든 Active-x를 Ajax로 모두 대체하는 것은 불가능할 것입니다. 하지만 표준기술로 대체될 수 있는 부분은 분명히 제거되어야 합니다.

하지만 MSWindows+MSIE가 아닌 다른 환경을 지원하는 인터넷 뱅킹사이트가 하나도 없는 특이한 우리나라의 현실을 감안했을 때 현실적으로 불가능한 부분이 많이 존재하리라 생각합니다.

그런 점을 감안한다면 최대한 표준기술을 이용하여 서비스를 구성하되 현실적으로 불가능한 부분만 제한해서 Active-x를 이용하여 구성하는 것이 바람직하다고 생각됩니다.

네이버도 기존의 active-x를 쓴 지도 서비스를 ajax버젼으로 개편하여 별도의 설치없이 모든 브라우져에서 사용이 가능하게 했으며, 우체국에서는 현재 리눅스 사용자를 위한 인터넷뱅킹사이트 구축 중인 것으로 알고 있습니다.

그리고 불가피하게 로컬파일에 접근하는 등의 다양한 동작을 하는 서비스가 필요한 경우는 최대한 브라우져와 별도로 동작하는 일반 응용프로그램으로 개발하여 타브라우져나 타 os버젼의 응용프로그램개발의 확장가능성을 열어두는 것이 좋을 것으로 생각됩니다. 물론 이 경우에도 설치의 편이성을 active-x를 이용해서 제공하는 것은 가능할 것이고 프로그램의 자동버젼체크등의 기능은 애플리케이션 자체에서 가능할 것입니다.

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2008-08-27 17:31:13
Processing time 0.0123 sec