“웹 환경에 혁신적인 패러다임을 입혀라”
상태바
“웹 환경에 혁신적인 패러다임을 입혀라”
  • 데이터넷 기자
  • 승인 2008.09.12 00:00
  • 댓글 0
이 기사를 공유합니다

에이잭스(Ajax)
웹이 단순한 브라우저 수준을 넘어 소프트웨어 플랫폼으로 진보하면서 효율적으로 활용할 수 있도록 기술을 지원하는 개발 툴 수요가 증대하고 있다. 이에 사용자 편의성과 실용성을 동시에 만족시키는 에이잭스(AJAX) 기반 웹 개발 툴의 기술적 역량에 대해 설명하고 웹 2.0의서비스 개발의 핵심 기술 기반인 에이잭스에 대한 이해를 높이고자 한다. <편집자>




윤성진 //
인스웨이브 솔루션사업부문 상무
sjyoon@inswave.com

거 웹 사이트들이 사용자에게 일방향적으로 콘텐츠를 제공하는 것이었다면, 최근의 웹 사이트들은 보다 쌍방향적이고 새로운 ‘경험’을 제공하는 서비스를 제공하는 것에 집중하고 있다. 과거의 웹 서비스가 불특정 다수에게 제공자 입장에서 취합된 정보를 제공했다면, 새로운 형태의 웹 서비스는 수용자의 개별적인 상황을 고려해 그를 토대로 맞춤형 서비스를 제공한다. 이러한 과정에서 웹 사용자는 공장에서 찍어낸 제품이 아닌, 자신이 의뢰한 특별한 취향을 담은 웹 페이지를 재생산하며 이에 따른 맞춤화된 요구사항들을 충족시켜 나가고 있다. 더불어 이를 뒷받침하기 위한 웹 사이트들을 더욱 쉽고 편리하게 적용하기 위한 혁신적인 기술로서의 웹 개발 툴의 중요성도 크게 부각되고 있다.

‘정보의 바다’로서의 웹
웹에 대한 개념적 변화가 태동된 결정적 계기는 2003년 오라일리의 ‘웹 2.0’ 개념 창시를 기점으로 한다. 웹2.0을 기준으로 이전의 웹은 단순한 텍스트로 구현되는 평면적인 정보 제공 공간이라고 할 수 있다. 이들 웹사이트는 대부분 HTML(Hyper Text Markup Language)에 의해 구현된다.
이는 전자 문서의 서식, 즉 문서의 표현을 정의하기 위해 만들어진 언어로 HTML의 태그들은 문서의 구조 자체보다는 브라우저상에서 어떻게 표현될 것인가를 기준으로 형성돼 있다. 이러한 태그들은 문서 형태에 대한 고정돼 있는 명령 구조로 돼있기 때문에 사용자가 원하는 문서를 정확하게 표현하기에는 한계가 있다. 때문에 쌍방향 커뮤니케이션이나 사용자 맞춤 요구 분석 및 제공 등의 업그레이드된 가치를 제공하는 데에는 무리가 있다. 이러한 이유로 웹의 역할은 소수의 생산자로부터 생산된 다량의 정보를 ‘찾는’ 것에 집중돼 있었다.

플랫폼으로서 웹 역할 증대
HTML에 이어 웹2.0 시대의 새로운 웹 개발 언어로 떠오르는 것이 XML(Extensible Markup Language)이다. 이는 HTML의 단순성을 상쇄하기 위한 개발 툴이며 HTML은 정해진 태그만 사용 가능한 반면, XML은 사용자가 원하는 태그를 생성하고 사용할 수 있어 사용자가 웹 페이지를 구현하는 측면에서 유연성이 확대됐다. 명령어를 통해 화면이 구현되는 점은 과거의 웹과 같은 방식이지만, 사용자가 주체적으로 프로그램을 개발, 활용할 수 있는 개방적인 플랫폼으로서의 웹으로 역량이 향상된 것은 이전과 대비되는 점이다.
웹이 플랫폼으로 활용되면서 기존 클라이언트 기반의 애플리케이션들 또한 SaaS(Service as a Software)라는 형태로 웹으로 옮겨가고 있다. 기존의 설치 기반의 사무용 애플리케이션이 웹상에서 그대로 사용할 수 있도록 하는 문서 프로그램 및 사진/동영상 사이트 등 웹을 기반으로 각종 애플리케이션이 구동될 수 있는 체계가 갖춰지고 있다.
또한 웹 사용자들로 하여금 텍스트를 보는 것에서 그치지 않고 웹상에 의견을 자유롭게 게시하면서 정보를 생산하는 것이 가능하게 된 것도 의미가 있다. 최근 개발되고 있는 편의성이 보장된 웹 개발 툴을 사용함으로써 기존의 HTML과 차별되는 XML을 통해 사용자가 웹상에서 간단한 애플리케이션 플러그인들을 조합하고, 단순한 콘텐츠 배열과 구축의 의미를 넘어 개인 맞춤화 된 화면을 구현할 수 있다. 그 동안 웹상에서 소비자의 역할을 해왔던 대다수의 사용자들이 실제로 공급자의 입장에서 엄청난 양의 정보를 공유하고 있으며 이를 통해 소비자와 생산자의 경계가 무너지면서 공동 번영하고 있다. 기존 설치형, 즉 개인화된 애플리케이션이 웹상으로 떠오르고 공유되면서 집단지성 실현의 장이 되기도 한다.

보다 풍부한 웹 애플리케이션 구현하는 ‘RIA’
웹의 이러한 역할 확대는 궁극적으로 사용자의 웹 주체성까지 성장시키며 점차 사용자 입장에서 편리성과 실용적인 측면이 강화된 화면 구현에 대한 관심을 고조시켰다. 이에 RIA(Rich Internet Application) 솔루션이 등장하게 된 것이다.
RIA는 2001년 미국 매크로미디어사가 X인터넷 제품인 ‘플래시 MX’라는 제작 툴을 통해 선보인 개념으로 시장에 알려졌다. 기존의 플래시 기술은 HTML을 통해 구현되기 힘들다는 단점이 있었는데, 플래시를 웹 애플리케이션서버와 접목, 기업의 DB와 연동시킴으로써 탄생된 기술이 RIA이다.
웹 사용자는 이러한 성격의 RIA를 통해 기존의 웹 애플리케이션이 가진 일차원적인 평면의 그림을 다이내믹하고 화려하게 구현할 수 있게 됐고, 단일 인터페이스에서 모든 프로세스를 한번에 처리할 수 있게 됐다. 일반적으로 플래시는 역동적이라는 측면에서 기술적 역량이 강조돼 왔는데, 이러한 플래시와 DB를 연동함으로써 작용하는 RIA는 현재 웹 사이트 제작에 사용되는 텍스트 입력 기술과 비교해 속도 및 화면 구현 면에서 탁월한 기술로 각광받고 있다.
이렇게 X인터넷에서 처음 출발한 RIA를 구현하는 기술적 이슈로는 현재 크게 에이잭스와 X인터넷 시장이 형성돼 있다. 특히, 에이잭스는 복잡한 기술 구조로 인한 개발 생산성이 낮으며, 스크립트를 남용함으로써 악성 코드를 확장할 수 있다는 위험성에도 불구하고 X인터넷에 비해 체계적인 개발환경과 표준 플랫폼을 지원한다는 점, 더불어 확장성이 가능한 구조라는 점 때문에 RIA 시장에서 영향력 있는 기술로서 자리 잡고 있다.
반면, X인터넷은 기존 웹 환경의 약점이었던 속도 경쟁력 및 사용이 불편한 UI, 비용 대비 낮은 프로젝트 생산성이 문제시 되고 있으나, X인터넷을 도입하게 되면 사용자가 미리 원하는 데이터를 가져다 놓을 수 있어 서버에 접속해야 하는 시간을 줄일 수 있으며 업무 효율을 높일 수 있다는 장점으로 RIA 시장에서의 경쟁력을 강화하고 있다. 

사용자 편의성과 효율성을 높여주는 에이잭스
에이잭스와 X인터넷은 웹상에서 소프트웨어를 활용하는 사용자가 점차 증가하면서 웹 환경을 더욱 편리하고 효율적으로 지원해주는 기술로 요구받기 시작했다.
특히, 에이잭스는 현재 RIA 시장에서 사용자 편의성을 내세우며 급부상하고 있다. 에이잭스는 ‘비동기 자바스크립트와 XML’라는 의미로 제시 제임스 가렛(Jesse James Garrett)에 의해 2005년 처음 알려진 개념이다. 이는 범용적인 브라우저에서 지원하는 DHTML, 자바 스크립트(JavaScript), XML 등을 활용하는 기술이다.
웹2.0의 기술적 기반을 이루는 에이잭스의 복잡성은 낮은 생산성을 야기하고, 유지 보수를 어렵게 하기 때문에 새로운 웹 비즈니스에서 요구하는 다양한 소프트웨어와 애플리케이션을 구축하기 위한 기술로 적용하는데 장애로 작용하고 있기도 하다. 하지만, 에이잭스를 읽은 브라우저에 의해 작동되는 비동기 방식의 에이잭스는 서버의 응답을 기다리지 않아도 작업이 가능하기 때문에 시간 비용을 절감할 수 있고 이는 곧 서버의 부담을 줄여준다. 이전의 동기방식이 서버에 일일이 결과를 요청하고 이 결과를 받아야 브라우저 화면이 구현되는 것과는 차별화된다.
에이잭스는 기존 X인터넷 기술과는 달리 벤더 및 플랫폼의 독립성을 보장하는 표준기술을 적용하는데, 이는 호환성을 극대화한다. 이것이 에이잭스 기술의 가장 큰 장점으로, 표준기술을 적용하지 않은 웹 애플리케이션을 사용할 경우 운영체제나 기타 기반 애플리케이션의 변화가 발생하면 서비스를 중단하거나 많은 시간과 비용을 들여 유지보수를 실시해야 한다. 하지만, 에이잭스는 표준 스펙을 제공하는 모든 웹 애플리케이션 서버(WAS)를 지원하고 파이어폭스, 오페라, 사파리 등 다양한 브라우저와 MS 윈도우 비스타와 같은 OS와도 호환되는 특성이 있다. 때문에 에이잭스 개발 플랫폼으로 개발 생산성 및 유지 보수 효율성이 보장되면 사용자 편의성을 극대화시킬 수 있다. 게다가 브라우저 안에서 자바 스크립트가 직접 사용자의 지시사항을 따르고 서버와의 작업은 뒷단에서 지원하기 때문에 페이지 변환 없이 사용자가 원하는 항목으로 선택 이동이 가능하다.
이처럼 에이잭스는 기존의 정적인 HTML 문서에서는 사실상 불가능했던 기능을 구현해줄 수 있도록 하고, 사용자가 원하는 항목을 자유롭게 편집함으로써 편의성과 실용성을 극대화 한다.
에이잭스는 이러한 기술들을 바탕으로 사용자의 경험이 기반이 되는 유연한 환경을 구현한다. 액티브X나 X인터넷 환경에서 제공할 수 없는 편의성과 빠른 구현은 X인터넷 이상의 동적인 사용자 인터페이스 기능을 극대화한다. 특히 드래그 앤 드롭(Drag and Drop)을 통해 화면을 조작할 수 있는 동적인 UI를 웹에서도 구성할 수 있다.
실제로 이렇게 역동적인 화면 구현으로 인한 사용자의 편의성을 강점으로 내세운 에이잭스 기술이 반영된 웹 사이트들이 속속 등장하면서 RIA 시장에서 에이잭스의 영향력이 공고해지고 있다.
에이잭스 기술이 반영된 대표적인 웹 사이트로는 구글의 개인화 서비스가 대표적으로 언급되고 있다. 구글 개인화 서비스는 간단하게 말해, 메인 페이지를 자신의 취향에 맞게 재구성할 수 있도록 지원하는 웹 서비스다. 사용자가 자신만의 웹 페이지를 구성할 때 포함하고 싶은 기능을 자유롭게 클릭 한 번으로 선택 설정할 수 있게 돼 있다. 즉, 사용자는 시계, 날씨, 뉴스 보기 등의 기능을 한 화면 안에 배치할 수 있고, 이는 에이잭스의 기술을 통해 드래그 앤 드롭이 가능해지면서 별도의 명령어 없이 마우스만으로도 자유롭게 위치를 이동시킬 수도 있다.
구글은 에이잭스가 기반이 된 개인화 서비스를 통해 과거 여타 포털 사이트들이 직접 실행하던 프로그램을 사용자가 개인적 취향에 맞게 꾸밀 수 있도록 지원하고, 이를 통해 사용자의 웹 주체성과 편의성을 월등히 향상시켰다.
이와 같은 에이잭스 기술이 반영된 국내 웹 페이지로 사례로는 대림산업과 한국농촌공사가 있다. 대림산업은 사용자가 직접 클릭을 통해 한 화면 안에서 세부 항목을 열람할 수 있는 화면 구현을 제공한다. 이는 비동기방식으로 진행되는 에이잭스의 특성을 극대화한 기능으로 사용자는 서버의 응답을 기다리지 않아도 브라우저상에서 연이은 작업을 수행할 수 있어 소요시간의 낭비를 줄일 수 있다.
한국농촌공사 홈페이지의 메인화면은 간단한 마우스 터치만으로 사용자에게 제공될 부수적인 웹 페이지 항목 열람이 가능하다. 원하는 세부 웹 페이지를 클릭하면 각 홈페이지와 관련한 정보 제공 항목들이 나타나는데, 이들 항목 또한 사용자가 직접 마우스 클릭으로 분류해 나가며 단시간에 원하는 정보만 볼 수 있게 해 놓았다. 서버에 각각의 항목에 대한 결과를 요청을 하지 않기 때문에 사용자는 클릭을 하는 동안 페이지 전환의 불편함 없이 한 화면 안에서 원하는 정보를 얻을 수 있다.  

에이잭스 기반의 웹 개발 툴로 구현하는 웹 환경
이처럼 새로운 웹 2.0 서비스 개발의 핵심적 기술이 되고 있는 에이잭스는 다양한 소프트웨어가 인터넷 상에서 자유롭게 서비스 될 수 있게 지원할 뿐만 아니라 기업용 애플리케이션의 개발과 사용 면에 있어서도 그 활용도를 매우 빠르게 극대화 시키고 있다.
하지만, 지금까지 에이잭스 기반의 웹 애플리케이션 개발도구가 부재했고, 기존 X인터넷 업체의 웹 개발툴에 에이잭스가 지원되는 수준이었기 때문에 에이잭스의 활용도는 현저히 낮았다. 특히, 복잡한 화면을 일일이 수작업으로 구현해 시간 비용적인 측면에서 경제성이 크게 뒤쳐져 있었다. 이는 웹 화면의 컴포넌트와 기능의 모듈화를 방해해 코드의 재사용률은 떨어뜨리고, 개발생산성을 저하시키는 결과를 가져왔다. 실제로 에이잭스 기반의 웹 애플리케이션을 개발할 때 개발자들이 어려움을 느낀 부분이 UI 개발이다.
이 문제를 해결하기 위해서는 기본적인 UI 컴포넌트를 제공하고 프로젝트 현장에서 개발자가 개발한 UI 요소를 컴포넌트화 할 수 있도록 하여 재사용이 가능하도록 해야 하는데, 이렇게 함으로써 에이잭스 기반 애플리케이션의 개발 난이도를 감소시키고 개발 생산성을 증대시킬 수 있다. 게다가 이렇게 개발된 소프트웨어의 품질 또한 낮아 애플리케이션에 대한 통제 및 추적 관리의 어려움을 배가, 유지보수 비용 또한 높아졌다.
이 때문에 일정한 수준의 안정성과 성능이 검증된 에이잭스 기반의 웹 개발 툴 도입이 중요하게 인식되고 있다. 안정성과 성능이 검증된 에이잭스 처리 플랫폼을 제공해 표준화된 웹 2.0 UI 개발 구조를 제시해야 한다는 요구도 증폭되고 있다. 이로 인해 애플리케이션을 신속히 개발할 수 있도록 하는 WYSIWYG(What You See Is What You Get) 개발 도구를 제공하고 에이잭스의 활용 범위를 확대함으로써 사용자들에게 큰 문제로 인식되고 있는 개발 및 유지 보수 생산성을 증대시키는 개발 툴이 각광을 받고 있다.
특히 안정성과 생산성을 공통적으로 보장할 수 있다는 점에 개발 툴에 대한 시장의 요구가 늘어나고 있는데, 이에 최근에 에이잭스 기반의 웹 애플리케이션을 구축하기 위한 프레임워크와 개발도구가 잇따라 출시됐거나 출시되고 있다.
이 중 인스웨이브시스템즈의 웹스퀘어는 에이잭스 플랫폼을 비롯해 그 기능과 성능을 확장할 수 있는 컴포넌트인 ‘플러그 인’ 구조가 함께 마련돼 있는 에이잭스 기반 웹 개발 도구로 에이잭스 기반의 웹 애플리케이션을 구현할 수 있도록 지원한다.
애플리케이션 벤더와 플랫폼의 독립성을 보장하는 표준기술을 적용해 호환성을 극대화하고, 강력한 기능을 지닌 표준 웹 기술임에도 불구하고 사용하는 데에 어려움이 있던 에이잭스 엔진을 WYSIWYG 방식으로 개발할 수 있도록 지원함으로써 개발 생산성을 극대화시켰다.

댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글 0
댓글쓰기
계정을 선택하시면 로그인·계정인증을 통해
댓글을 남기실 수 있습니다.