본문 바로가기

Home > 정보마당 > 공개SW 활용 성공사례

공개SW 활용 성공사례

“자체 개발 중인 비주얼라이제이션 툴 구축의 핵심에 공개SW 적용”

싸이버로지텍은 2000년 창립 이래 독자적인 차세대 시스템 개발 및 기술 연구를 통해 현재까지 10여 개가 넘는 해운·항만·물류 분야의 전문 IT 솔루션과 첨단 통합운영 시스템을 구축 및 운영해 오고 있다. 특히 최근 들어 자사 솔루션의 해외 판매가 증가함에 따라 세계 시장 어디서나 통용될 수 있는 통합적인 시스템 관리에 대한 필요성이 제기됐고, 이에 대한 해결책으로 자체적인 비주얼라이제이션(Visualization) 툴 구축에 관심이 모아졌다. 이 과정에 공개SW를 사용한 싸이버로지텍은 자체적인 소스 형상 관리 툴 개발 계획의 구체화와 함께 개발 시간 절감 효과도 얻을 수 있었다.

- 기     관 싸이버로지텍
- 수행년도 2013년
- 도입배경 자사 솔루션의 해외 판매 증가에 따라 다양한 해외 시스템 상황에 대한 일관성 유지와 효율적인 관리의 필요성이 제기됨
- 솔 루 션 ANTLR, Graphviz, Spring Framework, Redmine 등
- 도입효과 : 비주얼라이제이션 툴 구축에 핵심적 역할을 수행하는 파서 단에 ANTLR을 도입해 자바 이외의 파서 분석이 가능. 자동 파서 트리 기능을 통해 구축 시간을 50% 이상 줄이는 효과 얻게 됨

싸이버로지텍 로고

해운·항만·물류 분야의 생산성 향상, 비용절감, 고객 서비스 향상을 통한 경쟁력 확보 등을 지원하기 위해 컨테이너 선사 통합시스템, 벌크 선사 통합시스템, 터미널 운영 시스템 등 다채로운 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 역량프라자
맨 위로
맨 위로