본문 바로가기

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

공개SW 활용 성공사례

[공개SW 활용 성공사례 36] 토마토시스템 - 데이터모델링 툴

OSS 게시글 작성 시각 2012-06-05 14:29:19 게시글 조회수 1757

“데이터모델링 툴의 호환성-확장성 보장 열쇠는 이클립스”

지난 2000년 대학종합정보화 전문기업으로 출발한 토마토시스템은 X인터넷과 RIA 솔루션을 선보이며 ISP(Internet Service Provider) 및 BPR(Business Process Reengineering) 사업에 주력해 왔다. 이 회사는 2008년 이클립스 기반 RIA 개발 솔루션인 엑스리아(eXria)의 소스 코드를 소스포지와 엑스리아 커뮤니티 사이트에 공개한 데 이어서 2010년에는 이클립스에 기반을 둔 데이터모델링 툴인 e엑스이알디(eXERD)를 선보이며 공개SW를 활용한 솔루션 개발에도 적극적인 모습을 보여줬다. 특히 올해 4월 2.0 버전으로 업그레이드된 e엑스이알디는 파일과 모델 간 비교, 병합, 화면 렌더링 부분 등에서 이클립스가 가진 호환성 및 확장성을 극대화할 수 있도록 기능 강화에 중점을 두고 개발됐다.

- 기     관 토마토시스템
- 수행년도 2012년
- 도입배경 다양한 운영 환경에서 성능 향상과 비용 절감이 가능하면서 확장성과 효율성을 두루 갖춘 데이터모델링 툴 개발 요구 발생
- 솔 루 션 이클립스
- 도입효과 : 이클립스 플러그인만 추가하면 멀티플랫폼 환경에서도 기존 인프라를 보호하면서 향상된 성능으로 운영 환경을 개선할 수 있음. 또한 인프라 개선과 확장 시 시스템 투자비용 절감 효과 획득

토마토시스템
데이터모델링은 현실 세계를 데이터베이스로 표현하는 과정인 만큼 정확성, 일관성, 융통성, 공유성에 초점을 맞춰 수행해야 한다. 특히 정해진 기호와 규칙을 사용해 업무를 좀더 정확하고 이해하기 쉽게 나타내는 작업인 만큼 설계 과정부터 데이터 구조를 논리적으로 표현하는 것이 중요하다.

그래서 관계 데이터모델링, 네트워크 데이터모델링, 계층적 데이터모델링 등 다양한 방법들이 사용되고 있지만, 많은 사람들이 그 가운데 객체-관계(Entity-Relationship, 이하 E-R) 데이터모델링에 주목하고 있다. 객체-관계 모델링은 한마디로 현실에 존재하는 각 개체 유형과 이들의 관계를 서로 연결해 데이터베이스화시키는 것을 말한다.

이 과정을 그래프 방식으로 도식화해 표현한 것을 E-R 다이어그램이라고 부르는데, 개체 유형은 사각형으로, 타입 간 관계는 다이아몬드로, 개체 및 관계 속성은 타원으로 각각 표현하고 여기에 이들을 연결하는 링크가 추가된다.


“호환성과 확장성은 이클립스 기반이기에 확보 가능”

e엑스이알디는 E-R 다이어그램 작성 시 최단 코스 찾기 알고리즘을 활용해 테이블 배치를 위상학적으로 최적화시킨 다음 자동 수행한다. 이를 통해 개발자는 E-R 데이터모델링을 위해 관계선을 작성하는 시간과 노력을 줄일 수 있다.

이지율 토마토시스템 기술연구소 선임연구원은 “특히 데이터베이스 규모가 커지면 테이블 수가 많아지면서 자연스레 다이어그램이 복잡해지고 이로 인해 E-R 데이터모델링 환경 자체가 혼잡해지지만, e엑스이알디는 애니메이션 효과를 이용한 인터렉티브한 작업 모드와 다양한 입력오류 방지 장치들을 마련해 집중도와 효율성을 동시에 높여주는 E-R 데이터모델링 환경을 제공한다”고 설명했다.

e엑스이알디 메인 화면
e엑스이알디 메인 화면▲

e엑스이알디에서는 현재 작업 중인 관계선을 굵게 표현한다든가 Undo 또는 Redo 명령 시 작업 내용이 공중에서 사라지거나 다시 나타나는 등 개발자가 수행한 모든 작업 과정을 애니메이션 방식으로 제공한다. 또 개발자의 반복적인 직접 코드 입력 방식으로 인해 예기치 못한 실수가 발생한다고 판단해, 시각화된 대화창을 제공함으로써 좀더 쉽고 안전하게 데이터베이스를 모델링할 수 있도록 돕는다.

하지만 이지율 선임연구원은 “무엇보다 e엑스이알디의 가장 큰 장점으로 운영환경을 가리지 않는 호환성과 확장성의 보장을 꼽을 수 있다”면서 이는 공개SW인 이클립스에 기반을 두고 개발된 데이터모델링 툴이기에 가능한 것임을 강조했다.
데이터모델링을 위해 별도의 프로그램을 실행할 필요가 없는 e엑스이알디는 기존 작업환경에 이클립스 3.4.1 버전 이상에서 개발된 플러그인만 연동시키면 다양한 운영환경에서도 데이터모델링 작업을 수행할 수 있다. 실제로 국내에서 많이 사용되고 있는 이알윈(ERWin), 이알스튜디오(ERStudio), DA#은 윈도우 환경에서만 운영할 수 있지만, 이클립스 플러그인을 활용한 e엑스이알디는 다양한 멀티플랫폼 환경을 지원한다.


이클립스
이 툴에서 리버스 엔지니어링과 포워드 엔지니어링이 지원되는 것도 이클립스 기반이기에 가능하다. 기존 DBMS 모델에서 E-R 다이어그램을 추출하는 리버스 엔지니어링은 관심 영역별로 다이어그램을 분류해 추가로 다이어그램을 생성하거나 이를 또 다른 다이어그램에 포함할 수 있다.

포워드 엔지니어링은 설계한 E-R 데이터모델에 다양한 옵션을 추가한 다음, 기존에 사용하던 DBMS에 테이블을 생성할 수 있게 해준다. 특히 e엑스이알디에서는 데이터 정의 언어(DDL) 생성 옵션 마법사를 제공해 대상 모델을 직접 선택하거나 다이어그램별로 지정할 수 있다.



이클립스 플러그인 추가로 업무효율성 ↑ 비용 ↓

최근 e엑스이알디는 오픈마켓인 11번가 서비스를 공급하는 커머스플래닛에 도입되면서 확장성과 호환성이 다시금 검증됐다.
팀 단위로 데이터베이스 관리와 개발 프로젝트를 동시에 수행하던 커머스플래닛은 능동적인 업무 환경을 마련하기 위해 팀에 소속된 개발자 모두에게 전용 데이터모델링 툴을 제공할 계획을 세웠지만, 기존에 사용 중인 데이터모델링 제품이 중앙집중식 데이터베이스 관리에 초점을 맞춘 데다 도입비용도 높아 모든 개발자에게 공급하기가 어려웠다. 이에 커머스플래닛은 꼭 필요한 기능만 내장돼 있으면서 비용 부담이 적은 데이터모델링 툴에 주목했고 결국 e엑스이알디를 선정했다.
e엑스이알디 도입 후 시스템 개선 결과를 점검한 결과, 기존에는 별도 프로그램을 운영해 오류 발생 부분을 확인한 다음 정합성을 수정했지만 메타데이터 연동 및 관리 부분을 이클립스 플러그인 형태로 추가 개발해 기 구축된 메타시스템과 연동하자 오류 발견 시 자동 수정은 물론 연관된 데이터모델들이 자동 변경됐고, 이를 통해 업무 효율성도 더 향상됐다는 게 커머스플래닛 관계자의 전언이다.

이와 관련해 이지율 선임연구원은 “커머스플래닛의 경우 이클립스 기반 플러그인만 추가된 형태라서 기존 인프라에 대한 안정성을 확보할 수 있었으며, 추후 다른 장비를 추가해 운영환경이 변경되더라도 그때 상황에 맞춰 플러그인만 추가 확장하는 개념이므로 시스템 투자비용도 낮출 수 있었다”고 덧붙였다.

커머스플래닛은 이번 도입으로 업무효율성을 높이고 비용절감 효과를 얻은 만큼 향후 다수의 개발자로 구성된 데이터베이스 관리팀이나 협력이 필요한 시스템 또는 프로젝트에서 e엑스이알디를 추가 도입할 의사가 있음을 내비쳤다.

마지막으로 이지율 선임연구원은 국내 웹 개발자들의 절대적인 지지와 안드로이드 SDK 탑재로 이클립스가 주목받고 있음에도 관련 교육이나 커뮤니티가 활성화되지 않아 정보 제공의 창구가 협소한 점을 지적하며, 이클립스를 활용한 다양한 공개SW 및 상용SW가 등장할 수 있도록 해당 부분이 조속히 개선되길 기대했다.



------------------------------------------------------
[인터뷰]

“이클립스 활성화에 걸맞은 대책과 노력 필요한 때”
이지율 토마토시스템 선임연구원


이지율
Q> e엑스이알디의 확장성과 호환성이 이클립스에 기인한다고 했는데…

이클립스가 확장성이 뛰어나다는 것은 잘 알려진 사실이다. 이클립스는 리치 클라이언트 플랫폼(RCP)을 포함한 상위 기능을 제공하기 위해 플러그인을 사용하는데, 플러그인은 플랫폼과 플랫폼 또는 플러그인과 플러그인 간을 연결하는 가교이면서 또 하나의 플랫폼이 된다. 특히 다른 언어와 이기종 환경에서도 기존 시스템에 영향을 주지 않고 플러그인만 추가하는 개념이기 때문에 다양한 응용도 가능하고 확장만으로 시스템 성능을 개선할 수 있다.
이클립스의 이런 플러그인을 통한 확장성은 e엑스이알디 개발 시 그대로 적용됐다. 커머스플래닛 도입 사례에서 메타데이터 연동 및 관리 부분에 대한 추가 개발을 원활하게 진행할 수 있었던 이유도 여기에 있다.



Q> 국내 이클립스 개발 환경을 평가한다면?

2000년부터 많은 이클립스 개발자들이 커뮤니티를 통해 정보를 공유하며 다양한 컴포넌트들을 개발해 왔고, 이클립스 재단은 다양한 개발자들의 요구에 신속하게 대응하고 있다. 이렇게 만들어진 이클립스는 국내 개발자, 특히 웹 개발자의 선호도가 매우 높은 공개SW 중 하나다. 특히 안드로이드 SDK가 이클립스에 기반을 두면서 그 관심이 매우 커졌다.
하지만 국내에서 이클립스 개발 정보를 얻거나 기술 내용을 공유하는 모습은 찾아보기 어렵고, 커뮤니티에 적극적으로 참여하는 개발자들도 극소수에 불과하다. 이는 이클립스 관련 교육기관이 없고 출간된 서적도 부족해 정보를 제공받을 만한 창구가 협소하기 때문이라고 생각한다. 따라서 이에 대한 대책과 개발자들의 적극적인 노력이 필요하다.

----------------------------------------------------------------




- 마이크로소프트웨어 이병혁 기자 saemosi@imaso.co.kr

- 공개SW 역량프라자

맨 위로
맨 위로