북한의 소프트웨어 분야는 상대적으로 하드웨어에 비해 발전했고 남한과의 기술격차도 그리 크지 않은 것으로 나타나고 있다.[1] 이는 하드웨어 분야의 발전이 어려워지자 상대적으로 개발이 요이한 소프트웨어를 중점적으로 육성한 결과라고 할 수 있다. 이미 북한은 1980년대부터 소프트웨어 산업의 인력양성과 연구기관설립에 역량은 집중해왔다. 1993년부터 김정일은 컴퓨터 연구기관을 방문하면서 프로그램 개발을 독려하고, 1996년 과학원 방문에서는 외국컴퓨터 기술도입의 필요성을 강조하면서 외국 전문잡지를 각 연구기관에 보급시킨바 있다.[2] 또한 1990년부터는 매년 컴퓨터 프로그램 경연 및 전시회를 개최하여 소프트웨어 개발을 독려하고 있다. 이 결과 1998년과 1999년 일본에서 열린 세계바둑프로그램 대회에서 북한이 우승을 차지한 바 있다. 최근 들어서도 북한은 새로운 제품들을 적극 개발하고 있으며 기존 제품 성능 개량에도 적극적이다. 예를 들어 문자인식프로그램은 인쇄체 문자 99.9%, 필기체 문체 95%의 인식률을 보일 정도로 성능향상이 이루어졌다고 한다. 또한 영-조 및 조-영 프로그램 개발도 거의 완성단계에 들어가고 있다고 한다. 그리고 북한은 3D영상 그래픽 기술개발, 특히 미국 타이타닉 영화를 모방한 그래픽 기술을 집중적으로 연구하고 있다고 한다.[3] 현재 북한의 IT인력은 7,000명 가량으로 추정되고 있다.[4] 그러나 광의의 개념으로는 약 10만명 정도가 정보통신산업 인력에 포괄된다고 한다. 그리고 그 중 5,000명만이 관련분야에 종사하는 것으로 알려져 있다.[5]2. 하드웨어 북한은 1960년대부터 컴퓨터 개발연구를 시작하였다. 문화혁명을 피해 북한으로 온 조선족 과학자들을 중심으로 ‘전자계산기 제작집단’을 조직하여 1960년대 말 전진-5500이라는 디지털 컴퓨터를 최초로 제작하였다. 4,096개의 숫자를 저장하는 정도의 초보적 수준이었지만 남한의 최초 컴퓨터인 세종 1호가 1973년에 제작된 것을 본 때 당시로서는 남한보다 앞섰다고 할 수 있다.
차 례AJAX의 정의AJAX의 개요 및 특징AJAX의 내용AJAX 사용의 전망참 고 문 헌AJAX의 정의Ajax라는 용어는 Jesse James Garrett가 만든 것으로 "Asynchronous JavaScript + XML의 약어"입니다.Jesse James Garrett은 다음과 같이 Ajax를 정의했습니다.“Ajax는 기술은 아니다. 하지만 실제로는 몇 개의 기술로 이루어 졌으며, 각각 그 자체로 충분하지만 합치면 새롭고 강력한 방식으로 작용한다.”Ajax는 다음을 통합합니다.1. XHTML 및 CSS를 사용하는 표준 기반 프레젠테이션2. Document Object Model을 사용하는 동적 표시 및 상호 작용3. XMLHttpRequest를 사용하는 비동기 서버 통신4. 모든 것을 바인딩하는 JavaScript다시말해, DHTML이나 LAMP와 같이 Ajax는 자체가 하나의 특정한 기술을 말하는 것이 아니며, 함께 사용하는 기술의 묶음을 지칭하는 용어입니다. 실제로 AFLAX와 같이 사실상 Ajax에 바탕을 두고 있는 유사/복합 기술들이 속속 나타나고 있습니다.Ajax 어플리케이션은 실행을 위한 플랫폼으로 위에서 열거한 기술들을 지원하는 웹 브라우저를 이용합니다. 이것을 지원하는 브라우저로는 모질라 파이어폭스, 인터넷 익스플로러, 오페라, 사파리 등이 있습니다.(위키피디아)AJAX의 개요 및 특징Ajax의 핵심은 XmlHttpRequest JavaScript 객체입니다. 이 JavaScript 객체는 원래 Internet Explorer 5에서 소개된 것으로, 비동기 요청을 가능하게 하는 기술입니다. 간단히 설명하면 XmlHttpRequest는 사용자를 차단하지 않으면서 JavaScript를 사용하여 서버에 요청하고 응답을 처리할 수 있도록 합니다.클라이언트에서 화면 업데이트를 수행하게 되면 훨씬 자유롭게 웹 사이트를 만들 수 있습니다. Ajax를 사용하여 실현할 수 있는 작업을 몇 가지 소개하면 다음과 같습니다.사용자가 Update를 클릭한 다음 서버가 전체 페이지를 다시 전송할 때까지 기다리지 않고 쇼핑 카트에 총계를 동적으로 업데이트 합니다.서버에서 다운로드하는 데이터의 양을 줄여 사이트 성능을 향상시킵니다. 예를 들어, Amazon의 쇼핑 카트 페이지에서 장바구니의 항목 수를 업데이트하는 경우 전제 페이지를 다시 로드하므로 32K의 데이터를 다운로드해야 합니다. Ajax를 사용하여 총계를 새로 계산하는 경우 서버는 새로운 총계 값에만 바로 응답하면 되기 때문에 필요한 대역폭이 100배나 줄어듭니다.사용자가 입력할 때마다 페이지를 새로 고치지 않습니다. 예를 들어, 사용자가 한 페이지 이상인 목록에서 Next를 클릭하면 Ajax는 전체 페이지를 다시 작성하는 대신 서버의 데이터 내용대로 목록만 새로 고칩니다.사용자가 테이블 데이터를 편집하기 위해 새로운 페이지를 탐색할 필요 없이 그 자리에서 바로 테이블 데이터를 편집합니다. Ajax를 사용할 경우 사용자가 Edit를 클릭하면 정적 테이블을 편집 가능한 컨텐츠를 사용하는 테이블에서 다시 작성할 수 있습니다. 사용자가 Done을 클릭하면 서버를 업데이트하기 위해 Ajax 요청을 만들고, 표시 전용 정적 데이터를 가지도록 테이블을 다시 작성합니다.Ajax가 기존의 웹 어플리케이션과 다른 특징은 무엇일까요?기존의 웹 어플리케이션은 폼을 채우고 제출(submit)을 하면, 웹 서버로 요청을 보내도록 합니다. 웹 서버는 전송된 내용에 따라서 새로운 웹 페이지를 작성하여 결과물을 되돌려줍니다. 이때 최초에 폼을 가지고 있던 사이트와 사용자가 이 폼을 채워 결과물로서 되돌려 받은 두 페이지 사이에 중복되는 HTML코드로 인해 많은 대역폭을 낭비하게 되죠. 대역폭의 낭비는 단순히 회선의 낭비를 넘어서서 금액으로 환산가능한 초과 투자를 낳게 되고요. 게다가 이러한 방식으로는 네이티브 어플리케이션과 비교할 때 복잡한 대화형 사용자 인터페이스를 작성하기가 어렵게 됩니다.반면에 Ajax 어플리케이션은 필요한 데이터만을 주도록 웹 서버에 요청할 수 있습니다. 보통 SOAP이나 XML 기반의 웹 서비스 프로토콜을 사용하며, 웹 서버의 응답을 처리하기 위해 클라이언트 쪽에서 자바스크립트를 쓰는데 그 결과로 웹 브라우저와 웹 서버 사이의 교환되는 데이터량이 줄어들기 때문에 어플리케이션의 응답성이 좋아집니다. 요청을 주는 수많은 컴퓨터에서 이 같은 일이 일어나기 때문에, 전체적인 웹 서버 처리량도 줄어들게 됩니다.AJAX의 내용AJAX가 각광받는 이유에 대해서 알아봅시다.1. Active X 기술의 대안(MS IE)○AJAX는 대부분의 웹브라우저에서 기본지원○설치과정이 없음2. 웹상에서 리치 인터페이스 구현○웹 페이지의 애플리케이션화○데스크톱 애플리케이션 정도의 인터페이스 생성3. 비동기 상호작용○속도향상○대기시간 불필요○트래픽 감소○비용절감Ajax가 어떻게 보급되었는지 알아볼까요.이것은 이미 존재하던 기술이었지만, 2005년 초에 있었던 몇 가지 사례 이후로 인기를 끌기 시작했습니다. 먼저 구글이 구글 그룹스를 포함한 훌륭한 대화형 어플리케이션의 기반을 위해 비동기식 통신을 이용한 것이죠. 두 번째로는 Ajax라는 용어가 AJAX: A new approach for a new application 기사에서 등장한 것으로, 이후 빠르게 대중화되어 이 기법의 보급에 도움이 되었습니다.현재 대화형 웹 페이지를 위한 도구로서 Ajax를 이용하는 어플리케이션들이 급격히 늘어나고 있으며, 이는 부분적으로 이용할 수 있는 어플리케이션 툴킷(예: Ruby on Rails, DWR)이 늘어나 프로그래머들이 구현하기가 쉬워졌기 때문입니다. 대한민국에서도 네이버를 비롯한 포털 업체에서 이 기술을 도입하고 있습니다.그러나 Ajax에 대한 비판 또한 존재합니다.어댑티브 패스(Adaptive Path)의 컨설턴트는 이 조어를 만든 사람이 이미 있는 기법을 마케팅 수단으로써 사용하고 있다고 주장했습니다.Ajax 기술이 이전에는 일반적인 지칭이 없다는 점이 지적되어 왔기 때문에, 일부에서는 이 통일된 용어를 하나의 발전으로서 환영합니다. 그러나 이 기술을 이용해 가장 특출한 어플리케이션들을 만든 사람 중 하나인 한 구글 엔지니어가 그들이 사용한 기술이 '자바스크립트'라고 간주한다는 얘기도 있습니다.Ajax는 소프트웨어 개발에 대한 새로운 접근방식이 아닙니다. 보다 높은 관점에서 표현 레이어는 하나의 폼 이면서 하나의 이벤트 핸들링 배후의 프로그래밍 레이어 같은 것으로, 흔히 프로그래밍 용어인 MVC로 알려져 있습니다. 이러한 프로그래밍은 예를 들어 이전의 프로그래밍 환경인 델파이, MFC, 비주얼 베이직, 오라클 ADF, 윈도우즈 Forms 등으로 매우 잘 알려져 있습니다.. 이 같은 모델을 사용하는 어플리케이션들은 주변에 많이 있어왔고, WebDAV를 사용하는 마이크로소프트 아웃룩 웹 액세스와 브라우저에서 직접 웹 서비스를 이용하는 웹 기반의 ERP 시스템 P2plus 같은 것들이 있습니다. 그러나 이전에는 표준적인 통신 모델이 없었기 때문에, 이들은 모두 독자적인 확장을 이용합니다.Ajax의 새로운 양상은 마이크로소프트의 인터넷 익스플로러만을 고려하면 되었을 예전의 기술과는 달리 이 같은 어플리케이션을 이용할 수 있는 브라우저가 다양해 졌다는 점이다.