Sencha GXT를 이용한 회계 시뮬레이션 애플리케이션 개발 사례


Logic9s 데이타 복잡도를 단순화 시키는 소프트웨어 솔루션을 개발하고 있습니다. 우리의 주요 제품은 ClearFactr 라는 SaaS 애플리케이션으로서 Self-Describing Spreadsheet, 강력한 회계 데이타 시뮬레이터, 분석 내용 묶음들을 유기적으로 엮는 기능을 제공하고 있습니다. 또한 이 모든 것들을 다른 사용자들과 쉽게 공유하고 모니터링할 수 있는 기능을 제공하고 있습니다. Logic9s 는 광범위한 기존의 스프레드시트 사용자들을 타겟으로 하고 있습니다. 기존 스프레드시트를 사용하면서 이해할수 없는 데이타 모델과 공식들을 다루면서 고통스러운 경험을 했거나 사용하기 어렵고 커뮤니케이션이 잘 안되는 분석 내용들을 다뤄 봤던 고객들을 대상으로 합니다.

ClearFactor 애플리케이션의 전형적은 사용처는 창업가들을 새로운 회사를 위한 재정 모델을 개발할 때 사용합니다. 이를 통해서 투자자 그룹에게 회계 부분에 대한 시뮬레이션을 돌려보고 그 내용을 공유할 수 있게 해줍니다. 창업가나 투자자 모두 Self-Describing Spreadsheet 의 혜택을 볼수 있는 구조입니다.

Sencha GXT 그리드 위젯으로 개발된 Self-Describing Spreadsheet

창업가나 투자자는 자신들의 가정에 기반하여 시뮬레이션을 돌려보고 값을 저장하고 설정을 조정해 볼 수 있습니다. 이를 통해 결과값을 비교 분석해 볼 수 있게 됩니다. 특허 출원중인 Sensitive Analyzer 라는 기능은 독특한 시각화 기법들을 제공합니다. 이를 통해서 다른 사람들이 놓치고 지나갔을지도 모르는 재정적 계획들속에 포함된 중요한 촉발 요인이나 상호관계를 끄집어 내어 파악할 수 있게 해줍니다. 그래서 사용자는 누가 어떤 요소들과 진정한 상호작용을 하고 있는 지를 파악하고 처리해야할 일들의 우선순위를 매길수 있게 됩니다.

ClearFactr 앱의 프론트엔드는 전적으로 Sencha GXT 에 의해 개발되었고 앱의 나머지 백엔드 부분은 모두 아마존 웹 서비스에서 구동되고 있습니다.

왜 Sencha GXT를 선택하였는가

우리는 Java를 이용하여 프론트엔드에서 백엔드까지 관통하는 개발을 원했습니다. 구글 웹 툴킷은 이 명세에 정확히 부합했습니만 우리가 꿈꾸는 정교한 UI 를 만들기에는 부족하였습니다. 밑바닥에서부터 Java 로 개발되어진 Sencha GXT는 우리가 조사해보고 실험해 본 다른 대안 UI 기술중에서 가장 분명한 선택으로 다가 왔습니다. Sencha GXT의 집약된 디자인과 아키텍쳐는 훌륭한 Javadoc 을 통해서 더 빛낫습니다. Sencha GXT의 클래스와 메소드명이 너무나 직관적이어서 우리가 가지고 있던 Java Swing 개발 경험들을 수시간 만에 Sencha GXT로 이전 시킬 수 있었습니다. ClearFactr 시스템의 인터랙티브 대시보드의 근간이 되는 BorderLayoutContainer 의 경우 Swing 의 BorderLayout 클래스를 가지고 구현되었던 것을 본따서 적용할 수 있었습니다. 이와같이 다양한 클래스들과 디자인 패턴들간의 관계들은 개발자들이 이해하기 쉬울정도로 강력한 유효성이 입증되었습니다.

Sencha GXT 그리드 위젯의 성능은 화면에 뿌려지는 속도는 네비게이션 속도에서 다른 경쟁 제품들을 압도했습니다. ‘개발자모드’에서의 그리드 위젯 사용은 개발자들의 개발 생산성을 무척 증가시켜 주었습니다. 또한 Sencha 엔지니어들의 컨설팅을 받아 우리가 제공하고자 하는 사용자 경험을 전달하는 중요한 위젯 컴포넌트들을 커스터마이즈 할 수 있었습니다. 우리 시스템 사용자들은 종종 이렇게 이야기 합니다. “이 시스템이 네이티브 PC 프로그램이 아니고 웹기반이라는 사실이 믿기지 않는다”

ClearFactr의 Cell Ancestry 기능은 Sencha GXT 그리드, 탭패널, 슬라이드, 메뉴아이템등의 위젯 조합으로 개발

Sencha GXT의 차트 라이브러리 또한 걸출한 물건이라고 생각합니다. 차트 라이브러리의 API들을 통해서 ClearFactr의 정제된 데이타 분석 결과들을 프론트엔드로 표헌하는 것이 아주 자연스럽게 진행될 수 있었습니다. 차트 API 가 제공하는 유연성과 쉽게 커스터마이즈 할 수 있는 차트 시각적 기능들은 Sencha GXT가 시장에서 왜 팔리는 제품인지를 설명해 준다고 생각합니다.

ClearFactr의 차트 시뮬레이션 요약기능은 Sencha GXT 차트 라이브러리로 구현

Sencha GXT 이용의 비즈니스 가치

Sencha GXT의 가장 큰 가치는 아키텍쳐 중립적 구조를 가지고 있다는 점이며 무엇보다 Java를 통해 익혔던 경험과 기능들을 Sencha GXT 개발시 그대로 옮겨올 수 있다는 데 있다고 생각합니다. Sencha GXT API 들은 지네릭 Java 를 이용해 구현이 되었기 때문에 단순한 데이타 구조를 표현할때 뿐만 아니라 매우 중요한 비즈니스 로직들을 구현할때에도 UI 코드가 아주 쉽고 자연스럽게 Java 로 통합될 수 있었습니다. 또한 그런 비즈니스 로직들의 화면 구현시 Sencha GXT 의 ‘shared’ 패키지를 이용해서 서버사이드에 쉽게 접근 할 수 있습니다.

Sencha는 서버쪽 제품을 공급하는 회사는 아니기 때문에 어떤 특정한 백엔드 아키텍쳐를 사용하라고 우리에게 강요하지 않습니다. 예를 들어GWT-RPC 를 이용하여AWS Elastic Beanstalk 과 통신하는 것은 정말 너무 간단합니다. 게다가 뛰어난 성능과 확장성까지 제공하면서도 컴파일 시간까지 줄여주는 기능을 제공합니다. 또한 ClearFactr의 고도의 병렬 복합 백엑드 시스템과 연결이 되는 쉽고 유지보수가 가능한 게이트웨이로서의 역할도 제공합니다.

저는 개발자로서 수년간의 대규모 사용자 소프트웨어 개발 경험이 있었지만 웹개발자는 아니었습니다. 그런데 Sencha GXT의 다양한 혜택들을 통해서 고성능, 고확장의 웹기반 애플리케이션을 빠른 시일내에 구현해 낼 수 있었습니다. 가장 중요한 것은 최종 결과 코드를 가지고 일을 진행하는 것이 즐겁습니다. Java 가 아닌 다른 UX 프레임워크를 이해하느라 시간을 소비할 필요없이 사용자들이 원하는 것들을 구현하고 전달하는 것에만 집중할 수 있습니다.

GXT를 처음 도입하는 개발팀에 대한 조언

Sencha GXT를 처음 시작할때는 Sencha 의 에제 사이트에 있는 훌륭하게 잘 정리된 Sencha GXT Explorer 예제를 가지고 학습을 시작하실 것을 권장드립니다. Sencha GXT가 가지고 있는 기능들과 모범 사례들에 대한 수많은 코드들이 아주 잘 정리되어 있습니다. 하지만 정말 특수한 기능들에 대한 구현을 고민하고 있다면 센차의 프로페셔녈 컨설팅 서비스를 이용할 것을 권해 드립니다. 시간과 비용을 절감해 줄 뿐만아니라 프로젝트 중간에 닥칠 아키텍쳐 설계상의 중요한 문제들도 피해 갈 수 있기 때문입니다.

정리하며

Sencha GXT는 문자그대로 우리 ClearFactr 시스템을 가능케 했습니다. 우리는 ClearFactr 를 GXT 다음버전으로 업그레이드 할 계획을 갖고 있습니다. 또한 GXT 테마 빌더를 이용해서 우리 회사 홈페이지의 디자인 색감과 유사한 테마를 ClearFactr 에 적용할 계획입니다. 새롭게 개선된 그리드 위젯기능은 Self-Describing Spreadsheet 기능들을 더욱 강화시켜 줄 것으로 기대하고 있습니다. 엑셀을 좋아히지만 모든 기능이 필요한 것은 아닙니다. 이 경우 ClearFactr 이 더 나을 수 있습니다. Sencha GXT는 우리에게 뛰어난 사용자 경험과 의심의 여지가 없는 최고의 가치를 선사해 주었습니다.

글쓴이 소개

딘은 Logic9s의 CEO입니다. 복잡한 데이타를 단순하게 전달하는 소프트웨어 개발 사업을 진행하고 있습니다. Logic9s 의 대표 상품은 ClearFactr 라는 SaaS 기반의 소프트웨어이며 온라인 협업과 회계 관련 시뮬레이션 기능을 제공하는 제품입니다.

Sencha GXT 제품소개 보기

#dashboard #ux #java #gxt #javascript #ui #frontend #미래웹 #sencha #html5 #spreadsheet #chart

Featured Posts
Recent Posts