[공개SW 활용 성공사례 99] 싸이버로지텍 - 자체 개발 중인 비주얼라이제이션 툴 구축의 핵심에 공개SW 적용
|
해운·항만·물류 분야의 생산성 향상, 비용절감, 고객 서비스 향상을 통한 경쟁력 확보 등을 지원하기 위해 컨테이너 선사 통합시스템, 벌크 선사 통합시스템, 터미널 운영 시스템 등 다채로운 IT 솔루션을 개발해 서비스해 온 싸이버로지텍은 서울 본사를 거점으로 미주, 중국 현지법인을 포함해 유럽, 일본, 중남미 등지에 글로벌한 사업망을 갖추고 있다. 이런 사업 영역의 확장으로 해외에 진출한 싸이버로지텍 솔루션의 수도 증가했고, 솔루션을 유지 관리하는 데 있어서 각 나라마다 다른 시스템 환경 상황에 대응해야 할 필요성 또한 점차 증가했다. 이에 효율적인 대처방안을 고심하던 싸이버로지텍은 지속적인 연구개발을 통해 높은 신뢰와 효율을 자랑하는 독창적인 솔루션을 제공하겠다는 회사의 목표와 이념에 따라 자체적인 비주얼라이제이션 툴 개발을 문제 해결의 단초로 삼기로 했다.
솔루션의 세부 관리에 필요한 툴, 자체 구축 결정
해외 진출이 앞으로 더욱 확대될 것으로 전망되는 만큼 싸이버로지텍으로서는 다양한 해외 상황에 맞게 자사의 솔루션들을 유지 개선해 나가기 위해서는 무엇보다 관리 과정에 솔루션의 소스 코드까지 들여다보는 세부적인 통찰 과정이 필요하다고 판단했다. 그것이 결과적으로 시스템 유지보수 및 관리에 필요한 미래 비용 부담을 절감하는 길이라고 생각한 것이다. 또한 내부적으로 진행 중인 많은 시스템 개발 과정에도 필연적으로 다수의 개발자들이 관여하기 때문에 이에 보다 완성도 높은 결과물 생성을 위한 관리 환경을 지원하기 위해서는 여러모로 개발 과정 전반에서 소스 코드 현황을 모니터링할 필요가 있었다. 특히 프로세스와 형상 관리를 조합해 프로젝트 진행 상황만 모니터링하는 일반적인 방식에는 한계가 있다고 판단한 싸이버로지텍은 소스 코드 자체를 들여다보고 관리할 수 있는 비주얼라이제션 툴 구축 계획을 세우고 실행에 옮겼다.
▲ 싸이버로지텍 홈페이지
이 과정에 비주얼라이제이션 영역의 파서 단을 위해 공개SW인 ANTLR(ANother Tool for Language Recognition)이 사용됐고, 아키텍처 재구축 및 그래픽화를 위해서는 Graphviz가 사용됐다. 특히 내부 서버 단의 핵심 엔진 역할을 위해 ANTLR을 사용한 것이 가장 눈에 띈다. ANTLR은 문법 요소를 활용해 파서 단을 구성하고 만드는 역할을 수행한다. 이를 통해 자체적인 비주얼라이제이션 툴 구축 과정에서 가장 중요한 소스 코드 안의 정보를 모두 추출해 분석하는 것이 가능했다. 무엇보다 일반적으로 많이 사용되는 이클립스도 파서를 지원하지만 자바에만 국한돼 있기에 이 부분에서 자바스크립트, SQL, DDL, JSP 파서 등을 모두 지원하는 ANTLR이 빛을 발했다. 자바 외적인 부분은 자체적인 문법이 없기 때문에 최대한 문법을 만들어서 파서를 구성해야 하는데 ANTLR의 경우 그런 부분을 간단하게 지원했기 때문이다. 또한 파서들이 분석을 하게 되면 쓸데없는 정보를 많이 생성하는데 ANTLR에는 불필요한 정보들을 가볍게 축소해서 제공하는 기능도 포함돼 있었다. 특히 싸이버로지텍은 ANTLR의 파서 트리 재구성 기능에 주목했다.
싸이버로지텍 기반기술팀 이종국 수석은 파서 트리 재구성 기능에 대한 예로 ‘자바형 트리를 C# 코드로 재구성할 수 있다는 것’ 등을 들며 이 기능을 통해 기존에 6개월 정도 걸릴 작업을 3개월로 단축할 수 있었다고 설명했다. 또한 이종국 수석은 트리 생성을 통해 자동으로 정보를 추출하고 분석하는 기능도 활용할 수 있는데, 이를 활용하면 과거에 일일이 손으로 작성해야 했던 부분을 간단히 스크립트 몇 개만 넣으면 스스로 정보를 추출하고 문제를 전달받을 수 있는 것이 ANTLR의 강력한 성능 중 하나라고 강조하기도 했다.
이에 더해 이종국 수석은 “체인지 마이너를 비롯해 소스 코드의 변경 추적을 수행하는 상용툴들이 여럿 있지만 자체적인 가격과 컨설팅을 위한 비용도 만만치 않다”며 “특히 체인지 마이너는 아주 일부만 애매하게 보여줘 어디에 문제가 생겨서 소스 코드가 복잡해진 것인지 알 수 없을 뿐더러 상황과 환경에 따라 원하는 대로 보고 싶은 것을 모두 확인할 수 없다는 것이 한계”라고 지적하며 공개SW인 ANTLR을 사용하게 된 배경을 밝혔다.
▲ 아키텍처 비주얼라이제이션 구성
스프링 프레임워크, 레드마인 등 공개SW 적극 활용
이밖에도 싸이버로지텍은 프로젝트 관리를 위해 레드마인(Redmine)을 도입해 운용 중이며, 자체 구축 중인 비주얼라이제이션 툴 외에도 개인별 보유 기술을 시스템으로 관리해 상황에 따라 적절한 기술 보유자 등을 확인할 수 있는 ‘개인 경력 관리 시스템’, 수시로 변화하는 컨테이너 터미널의 상황에 최적화된 계획 수립 및 현장 작업관리 효율을 극대화하기 위한 ‘터미널 솔루션’, ‘항만 업무 솔루션’, ‘장비 위치 관리 시스템’, ‘포털 솔루션’ 등을 포함해 비즈니스 처리를 담당하는 서버 프로그램 개발 전체에 스프링 프레임워크(Spring Framework)를 활용하고 있다.
이 과정에서도 기존에는 자체 개발한 J2EE 기반의 프레임워크를 사용했었지만 시스템 유형에 따라 커스터마이징 혹은 기능 추가에 따른 부담이 발생해 이를 개선코자 스프링 프레임워크를 도입했다고 회사측은 전했다. 특히 스프링 프레임워크는 추가 개발이 필요한 다양한 유틸리티 기능 지원을 비롯해 트랜잭션 지원, AOP 기능, 타 프레임워크와의 통합 용이성 보장, RMI/Webservice/JMS 통신 지원 등 시스템 개발에 유용한 여러 이점을 갖춘 점이 높은 평가를 받았고, 실제 도입 이후에도 시스템 확장성이나 변경의 유연함 측면에서 강점을 지녀 분산 환경 시스템 구축 시 유리하게 활용되는 등 공개SW 도입에 대해 긍정적으로 평가했다. 이처럼 싸이버로지텍은 다양한 방면에 공개SW를 활용하고 있으며, 현재 40% 가량 구축이 완료된 비주얼라이제이션 툴은 지속적으로 내부 시연과 조율을 통해 새로운 기능 추가가 검토되는 등 향후 진행될 여러 프로젝트에도 공개SW의 활용이 기대되는 분위기다.
[인터뷰]
“공개SW 도입 이후라도 목적과 방향에 맞는 솔루션 전환 시점 중요해”
싸이버로지텍 기반기술팀 이종국 수석
파서 단에 ANTLR을 활용한 이유는
사실 처음부터 ANTLR을 고려한 것은 아니었다. C용 컴파일러인 YACC은 사용에 불편한 점이 많았고, ANTLR을 사용하기 전까지는 자바CC(Java CC, 파서 생성기)를 사용하기도 했지만 주기적인 기능의 발전이 이뤄지지 않아 이번 프로젝트의 시작과 함께 ANTLR을 도입하게 됐다. 무엇보다 파서 트리 자동화 기능이 강력한 점이 돋보였다. 또한 일반적으로 파서 부분은 핵심 모듈이기 때문에 외부에 공개되지 않는 편인데, ANTLR 같은 좋은 기능을 제공하는 공개SW 파서 툴의 활용을 통해 비주얼라이제이션 자체 개발 과정의 핵심 엔진 개발에 실질적으로 접근해 개발을 현실화하는 등 많은 도움을 받을 수 있었다.
공개SW를 도입하는 이들에게 조언한다면
이번 프로젝트 과정에서 자바CC를 계속 고집했다면 계획했던 비주얼라이제이션 툴 구축이 어려웠을 것이다. 즉 현재의 트렌드 등을 잘 파악해서 어떤 툴을 선정할지, 도입 이후라도 다른 툴로 전환해야 할지, 이런 부분에 대한 적절한 판단이 필요하다. 또한 리눅스나 여러 자바 프레임워크 이외에도 프로젝트 관리, 테스트, 요구사항 관리, 모델링 등 프로젝트를 쉽고 편리하게 지원해주는 다양한 공개SW들도 많다는 점을 명심하길 바란다. 그런 툴을 사용하는 데 많은 노하우가 필요치도 않다. 그러므로 활용이 쉬운 공개SW부터 많이 사용해 보고, 서로 알고 있는 공개SW에 대한 정보도 활발히 공유하면 국내 공개SW 활용 환경에도 긍정적인 영향을 미칠 것이라고 기대한다.
- 마이크로소프트웨어 한종진 기자 hjj@imaso.co.kr
- 공개SW 역량프라자
번호 | 제목 | 조회수 | 작성 |
---|---|---|---|
149 | [공개SW 활용 성공사례 107] 망고시스템 - 공개SW 기반 공간 DBMS 드라이버 개발 | 1707 | 2013-10-22 |
148 | [공개SW 활용 성공사례 106] 내일비 - 소셜 콘텐츠 관리 서비스 개발에 공개SW 적용 | 1210 | 2013-10-15 |
147 | [공개SW 활용 성공사례 105] 동국대학교 - 공개SW 기반 솔루션 개발로 VFX 기술 접근 난이도 낮아져 | 1466 | 2013-10-08 |
146 | [공개SW 활용 성공사례 104] 소프트웨어인라이프 - 구글 앱스 기반의 스마트워킹 솔루션 개발 | 1562 | 2013-10-01 |
145 | [공개SW 활용 성공사례 103] 서울대 중앙도서관 - 공개SW 도입해 대학 연구자료 기관 레포지토리 구축 | 1950 | 2013-09-24 |
144 | [공개SW 활용 성공사례 102] 아이엑스소프트 - 공개SW 도입으로 모바일 플랫폼의 실시간 동시접속 이슈 해결 | 2147 | 2013-09-16 |
143 | [공개SW 활용 성공사례 101] 한국고용정보원 - 공개SW 기반으로 고용정보 시스템 서비스 개선 | 1379 | 2013-09-10 |
142 | [공개SW 활용 성공사례 100] 크몽 - 공개SW로 린스타트업 실현 | 1904 | 2013-09-03 |
141 | [공개SW 활용 성공사례 99] 싸이버로지텍 - 자체 개발 중인 비주얼라이제이션 툴 구축의 핵심에 공개SW 적용 | 1190 | 2013-08-27 |
140 | [공개SW 활용 성공사례 98] 미국 오클라호마대학교 - 공개SW OS로 전환해 대학 캠퍼스 컴퓨팅 시스템 구축 | 1201 | 2013-08-21 |
0개 댓글