패킷 발생 70% 줄여, 운영비용 크게 절감

DailyGrid IT Solution Review Report

eXria를 사용하면 운영과정서 패킷 발생을 크게 줄여 이에 따른 비용을 절감할 수 있는 장점이 있다. 서비스 운영자 입장에선 패킷비용을 고민해야 한다. 개발한 결과물들은 대부분 WAS서버에 배치하게 되는데, 이 경우 사용자가 특정 서비스를 요청하면 이 요청은 WAS에 가서 컴파일을 한 다음, 웹 서버를 거쳐서 리스폰스에 담겨 브라우저로 내려오는 구조를 취한다. 이 과정에서 WAS에 부하가 생긴다.

eXria는 결과물을 배치하기 전에 미리 컴파일을 해서 이를 WAS서버가 아닌 Web서버에 배치시키는 형식을 갖는다. eXria를 이용해 만든 결과물을 실제로 웹서버에 배치해 보았다. 웹 서버가 제공하는 캐싱 기능을 써서 리퀘스트가 WAS까지 도달하지 않았고, 이에 따라 패킷도 발생하지 않았다. 즉, 패킷 비용은 발생하지 않으면서도 브라우저는 훨씬 빠르게 작동했다. 이런 방식을 통해 eXria는 패킷발생에 따른 비용과 속도저하 문제를 모두 잡아냈다.

경쟁 업체선 이 기능을 제공하지 않고, 작업한 결과물을 WAS 서버에 올리는 방식을 취한다. 하여 eXria를 사용하면, 경쟁 제품의 리퀘스트가 정상적으로 발생하는 상황 대비해서 패킷발생을 크게 줄일 수 있는데, 70% 가량 패킷처리 속도를 줄일 수 있고 패킷 비용도 70% 감소시킬 수 있다. 트래픽 감소는 운영자 입장에선 큰 이슈다. 국내의 한 포털업체의 경우 패킷 및 트래픽을 잡은 후, 연간 20억원 가량의 비용을 줄였다.

▲ 그리드의 컬럼 생성 및 데이터 바인딩 과정을 개발자가 직접 코딩하지 않고 마우스 클릭 만으로 자동으로 생생되는 화면이다.

애플릿, 에이작스 선택해 대용량 데이터 처리 실현

웹 2.0이 선보인 이후, 표준 애플리케이션을 구현하려면 에이작스(Ajax)로 통신을 하게 됐다. Ajax는 'Asynchronous JavaScript and XML' 의 약자이며 이름으로 알 수 있듯이 JavaScript, 통신객체(XMLHttpRequest), 통신 데이터(XML) 세 가지가 주요 구성 요소며. 자바스크립트를 통해 웹버서에 비동기 통신으로 데이터를 송수신해 웹에 반영해주는 방식을 쓴다.

다만 에이작스는 대용량 처리가 되지 않는 문제점이 있다. 예를 들면 100~200 Maga 데이터를 서버로부터 내려받아 그리드에서 보여줄 때, 브라우저가 다운되는 현상이 발생한다. 이 때문에 에이작스는 대용량에선 사용할 수 없다.

어떤 업체선 액티브X를 도입해 대용량 데이터를 처리하고 있지만, eXria는 애플릿(applet)을 이용해 이 문제를 해결했다. 애플릿은 Java 언어로 구성된 간단한 기능의 소규모 프로그램을 의미하거나 웹 페이지에 포함되어 작은 기능을 수행하는 프로그램을 말한다. 용량과 속도에 구애 받지 않고 서버에 별도의 요청 없이 작업을 수행한다.

애플릿을 쓰면 모바일에서 구동이 되지 않는데, eXria는 “선택적 적용”이란 방법을 써 이 문제를 해결했다. 테스트를 위해 미리 만들어 놓은 100개 화면 중, 5개를 대용량 처리가 필요한 화면으로 구성했다. 이 화면에선 애플릿 선택해 대용량 데이터를 처리했는데, 속도의 느려짐 없이 매우 잘 구동했다. 나머지 화면서 데이터 처리를 위해 속성 값을 애플릿에서 에이작스로 넘겨 데이터를 처리하는 방식을 썼다.

DB모델링 도구 제공, 작업 속도 향상

모델링 도구와 연결은 경쟁 툴이 갖지 않은 eXria만의 장점으로 매우 돋보였다. 일반적인 경우라면 UI툴을 실행하고 모델링 툴을 별도로 실행한다. 이렇게 두 개의 프로그램을 동시에 실행하면 리소스를 많이 써야 한다. 그리고 두 툴을 오가며 작업을 하다보면 개발자들은 직관력이 떨어지고 작업속도도 느릴 수밖에 없다.

eXria는 모델링 도구인 eXERD를 툴에 내포하고 있어, 마우스 클릭으로 가능한 자동생성 기능을 제공한다. 이점이 일반 개발자들에게 크게 어필하고 있다. 리버스 엔지니어링을 통해 SQL을 자동으로 생성했더니, 이를 기반으로 그리드가 자동으로 만들어졌다. 버튼을 몇 번 클릭해 코딩 없이 결과물을 만들었다. 경쟁툴과 달리 매우 강력한 기능으로 별도의 모델링 툴을 구동할 필요가 없어 개발 속도가 빠르다. eXERD는 토마토시스템이 자체 개발한 데이터 모델링 도구로, 사용자 중심적인 기능을 구현해 개발자들로부터 호응이 높다.


▲ eXERD 기능을 결합시켜 개발 생산성을 높여준다. 개발자가 직접 코딩 하지 않고 마우스 클릭만으로 SQL 생성을 자동으로 생성해 주는 화면이다.

브라우저 디버깅 툴 개방해 개발자 편의성 높여

자바 개발자들은 이클립스가 제공하는 디버그 기능을 선호한다. 이 디버깅 기능을 잘 제공해주는지 여부가 UI툴을 선택하는 기준이 되기도 한다. 브라우저 플랫폼에서 운영하는 디버깅 툴은, 통상 해당 브라우저를 만든 회사의 툴의 기능이 가장 좋다.

웹 솔루션 벤더들은 자사 솔루션 안에 어마어마한 디버깅 기능이 들어 있다며 입에 침이 마르도록 선전한다. 이들은 자바 스크립트 디버깅 그리고 브라우저 디버깅 등의 기능을 자사 툴 안에서 모두 제공을 한다고 주장하나, 이는 사실과 많이 다르다. 개별 브라우저 벤더사마다 고유 스펙이 있고 오픈하지 않은 API가 있는데, 이런 API를 벤더들이 모두 추적하는 것은 사실상 불가능하며 다만 오픈된 영역서만 수박겉할기 식으로 적당히 추적하는 정도라고 보면 된다.

이런 문제를 해결하려면 해당 브라우저 벤더가 제공하는 디버거를 쓸 수 있게, UI툴을 개방하는 편이 좋다. 공짜로 배포되고 있는 브라우저 벤더의 디버거 기능을 100% 사용하려면 UI툴은 웹 표준을 모두 준수해야 한다는 전제 조건이 달린다.

“이클립스 안에 있는 자바 디버거는 매우 강력한데 스크립스 디버거는 왜 이렇게 취약해” “웹 표준 스펙을 안 따라서 우리가 제공해주는 디버거 기능이 안 되네. 야, 한계다!” 디버거를 쓸 때 개발자들에게서 흔히 들을 수 있는 불평이다.

eXria는 이런 이슈를 해결하기 위해 브라우저 제조회사가 만든 디버거를 쓸 수 있게 기능을 오픈했다. 또 표준스펙을 모두 준수하기 때문에 브라우저 벤더사의 디버거를 모두 쓸 수 있다. 이렇게 “열려있다”는 것은 eXria의 강력한 장점으로 보였다.

 

Conclusion

토마토시스템의 eXria는 개발자들에게 실질적인 개발 편의성을 제공해주는 툴로 다양한 기능들이 돋보였다. 대중적인 자바 개발툴인 이클립스와 흡사한 형태의 화면 구성을 갖추고 있어 개발자들은 툴에 대한 학습시간을 줄일 수 있다. 또 모델링 도구와 연결은 경쟁 툴이 갖지 않은 eXria만의 장점이다. 대용량 처리를 위해 애플릿을 선택적으로 적용할 수 있게 만든 점은 좋은 선택이다. 개방성을 추구하는 툴이어서, 브라우저 제조회사가 만든 디버거를 쓸 수 있게 기능을 오픈한 것도 좋은 평가를 받았다.

[TechWatch 제작 문의: 010-6663-0326, grid@dailygrid.net]

장정희 기자
저작권자 © 데일리그리드 무단전재 및 재배포 금지