“제니퍼5와 오픈소스 JUI 함께 발전해요“

JUI_JENNIFER UI

애플리케이션성능관리(APM) 솔루션 업체 제니퍼소프스가 지난해 4월 오픈소스로 공개한 사용자인터페이스(UI)컴포넌트 라이브러리 ’JUI’를 업데이트 했다. 이와 함께 상용 APM 제품인 ‘제니퍼5’ UI를 오픈소스 프로젝트로 개발한 UI로 전면 교체하는 작업도 완료했다. 자사 상용 제품과 오픈소스프로젝트가 맞물려 발전하는 모양을 만들어 내고 있다.

최근 제니퍼소프트는 JUI에 차트를 포함시켜 업데이트 했다고 밝혔다. 차트는 배경이 되는 8종의 그리드와 데이터를 표현할 수 있는 막대, 라인, 도넛 등 33종의 브러시, 인터랙션을 담당하는 6종의 위젯으로 구성됐다.

기존에 공개한 스크립트 컴포넌트와 스타일 컴포넌트도 더 발전시켰다. 이제 20종의 스타일 컴포넌트와 17종의 스크립트 컴포넌트를 제공한다. JUI엔 대용량 데이터 처리가 가능한 테이블 컴포넌트도 포함돼 있다.

제니퍼소프트는 오픈소스로 프로젝트를 통해 개발한 JUI를 제니퍼5에 대부분 적용시켰다.

JUI 프로젝트 리더 홍재석 개발자는 “리얼타임 차트를 제외한 모든 차트를 교체했다”며 “오픈소스로 공개된 차트에도 리얼타임 차트가 있긴 하지만 아직은 부족한 편이라 그것을 제외하곤 모두 똑 같이 쓰고 있다”고 설명했다.

▲ JUI에 추가된 차트

JUI는 개발부터 제니퍼에서도 사용하고 오픈소스로도 공개할 목적으로 만들어 졌다. 제니퍼5가 전작과 달리 HTML5기반으로 만들어지면서 새 UI가 필요했고 개발 단계부터 오픈소스로 공개할 것을 염두에 두고 UI 컴포넌트를 라이브러리 형태로 만든 결과다.

오픈소스로 공개할 것을 고려하면서 UI를 만들다 보니 상용제품을 개발할 때 도움을 받은 점이 의외로 많다는 게 홍재석 개발자의 설명이다.

그는 “제니퍼에서만 쓸게 아니기 때문에 좀 더 일반화 해서 개발하다 보니 시간이 좀 더 오래 걸리긴 했지만 범용적인 기능을 미리 다 만들어 놨기 때문에 제니퍼 화면을 개발할 땐 조합만 하면되서 오히려 생산성이 좋아졌다”고 말했다. 지금은 디자이너 없이도 기획을 스토리보드에 배치만 해 바로 신규 화면 개발을 할 수 있을 정도가 됐다. 또 처음부터 개발하지 않고 재 사용하는 거니까 시간도 줄일 수 있게 됐다는게 그의 설명이다.

JUI를 제니퍼에 적용했기 때문에 오픈소스프로젝트에 신뢰가 높아지는 효과도 보고 있다. 아무리 꽁짜라 해도 믿을 수 없는 오픈소스프로젝트는 쓰길 꺼려지기 마련이다. 그런 점에서 제니퍼5는 JUI의 가장 좋은 레퍼런스 역할을 하고 있다.

홍재석 개발자는 “개발자들은 다른데서 많이 사용되고 있는 오픈소스를 선호하는데 이미 검증이 다 됐다는 의미이기 때문”이라며 “JUI도 이번에 업데이트 하자마자 그 주에 제니퍼5에 적용했다”고 말했다.

그런면에서 홍재석 개발자는 JUI 프로젝트에서 가장 힘들었던 점은 UI를 개발하는 것보다 실제 적용하는 데 있었다고 말한다. 적용을 했는데 성능이 제대로 안 나오거나 버그가 발견되면 고치고 다시 적용하는 과정을 반복해야 했다.

JUI 프로젝트 멤버

정확히 집계하긴 어렵지만 피드백을 보면 JUI를 쓰는 사용자들도 꽤 있는 것으로 보인다. 특히 테이블에 대한 관심이 높다. 홍재석 개발자는 “동일한 테이블을 쓰는 제니퍼5에선 트랜젝션 상태를 최대 150만 회까지 테이블로 보여줄 수 있다”며 “고성능을 필요로 하는 경우 JUI 테이블을 많이 참조하는 것 같다”고 말했다.

JUI프로젝트는 최근 영문 변역 작업을 마쳤다. 제니퍼소프트는 국내외 개발자들이 프로젝트를 더 많이 사용하고 프로젝트에 참여하는 외부 개발자들도 나오길 기대하고 있다.

홍재석 개발자는 “올해는 글로벌 경쟁력을 갖춘 오픈소스 프로젝트가 되기 위해 기능도 좀 더 보강할 생각”이라며 “JUI는 아무 제약 없는 MIT라이선스기 때문에 많은 개발자들이 사용하고 피드백도 줬으면 좋겠다”고 말했다.

기사원문: http://www.zdnet.co.kr/news/news_view.asp?artice_id=20150204173044&type=xml