IT 전문잡지 Infoworld의 고정 필자인 Andrew Oliver가 제시한 2013년에 하지 말아야 할 9가지 프로젝트 중에 흥미로운 내용이 있어 소개하려 한다.
Andrew Oliver가 제시한 2013년에 하지 말아야 할 프로젝트는 다음과 같다.
9. 부하 테스트 프레임워크(웹 애플리케이션용)
특히 웹 애플리케이션을 제외한 부분에서 극히 소수의 경우를 제외하고 부하 테스트 도구는 이미 존재한다. 새 도구를 만들 이유가 없다. WebPerformanceInc.com과 같이 대신 해주는 웹 사이트부터 로드러너(LoadRunner)와 같이 거추장스럽고 불편하지만 오랜 시간을 거쳐 숙성된 도구에 이르기까지, 부하 테스트를 위해 필요한 모든 것이 준비되어 있다. 셀레늄(Selenium), 테스트메이커(Testmaker)와 같은 오픈소스 도구도 있다. 자기만의 부하 테스트를 만들어야 하는 경우는 있겠지만, 웹 애플리케이션을 위한 자체 부하 테스트 도구를 만들어야 할 필요는 없으니 하지 말길 바란다.
8. 캐시(특히 분산 캐시)
NoSQL 전에는 자기만의 캐시를 만드는 것은 회사 사장에게서 연구 개발 자금을 확보하기 위한 좋은 수단이었다. 그렇게 해서 직접 벤처 기업을 시작해 타히티로 은퇴하기 전에 거대 기업에 매각되길 희망할 수 있었다. 그러나 오늘 새 프로젝트를 시작한다면 아마 자금을 구하지 못할 것이다. VC들은 지나간 유행에 자금을 대려 하지 않기 때문이다.
그래도 문제는 없다. 직접 캐시를 만들지 않아도 된다. 물론 기술적으로 캐시 만들기가 어려운 일은 아니지만, 잘못 만든 캐시는 부하가 큰 상황에서 시작할 때 데이터베이스를 죽이고 메모리를 누출시키거나 쓰레딩 문제를 일으키곤 한다. 젬파이어(Gemfire), 테라코타(Terracotta), 인피니스팬(Infinispan) 또는 코히어런스(Coherence)와 같은 기존 캐시 도구 중 하나를 위한 맞춤형 캐시 로더 또는 캐시 스토어를 만들어야 할 수는 있다. 게다가 이러한 도구들 중 일부는 오픈소스이므로 꼭 필요하다면 고쳐서 쓰면 된다.
7. 인벤토리 시스템
인벤토리 관리나 공공 도서관 운영이나 같은 개념이 적용된다(도서관은 전자책을 두려워한다는 부분을 빼면). 약간의 커스터마이즈 작업이 필요할 수는 있지만 오픈소스 OneCMDB, IBM의 Taddm, HP의 UCMDB 등 여러 가지 범용 인벤토리 관리 시스템이 이미 시중에 존재한다.
6. 워크플로 엔진
여전히 독자적인 워크플로 엔진을 만드는 사람들이 있다. 이들은 학교에서 상태 시스템에 대해 배웠지만 졸업 후 오픈소스 액티비티(Activiti), JBPM 등에는 관심을 두지 않은 사람들이다. 어떤 일이 발생하고, 상태가 발생하고, 상태를 저장하고, 그 상태를 사용해 그 지점에서 계속 진행한다. 그게 전부다. 이 기능을 하는 프로그램을 100개 더 만들어봤자 아무 필요도 없다.
5. 이커머스 스위트
“이커머스”의 “e(이)”를 남겨둔 이유는 1990년대를 상기하기 위해서다. 무엇에든 앞에 “e”자만 붙이면 그럴듯해 보였던 때를 기억하는가?(적어도 CNN은 그렇게 생각했다.) 지금은 e 없이 그냥 커머스 스위트라고 하는데, 오픈소스 브로드리프(Broadleaf), 마그네토(Magento), 스프리(Spree), 젠카트(Zencart), 그리고 쇼피파이(Shopify)와 같은 SaaS 도구에서부터 ATG, 웹스피어, 웹로직 등 터무니없이 높은 가격의 폐쇄형 프로그램에 이르기까지 상당히 많다. 전통적인 오프라인 사업을 하지 않는다면 이러한 도구 중 하나를 커스터마이즈해야 할 것이다. 온라인에서는 무엇을 팔든 필연적으로 커머스 스위트를 올려야 하고, 지불 처리 프로그램에 통합해야 할 수도 있겠지만 새로 만들 필요는 결코 없다.
4. 리포팅 엔진
필자는 직접 리포팅 엔진을 만든 적이 있다. 변명하자면 당시에는 쓸 수 있는 것이 없었다. 필자는 여러 회사에서 자바로 리포팅 도구를 만들었는데, 그 회사들이 정확히 원하는 기능을 수행하는 기존 도구가 없었기 때문이다. 결국 이들은 엑셀에 적당히 숫자를 집어넣어 사베인 옥슬리 법안을 준수하는 모양새를 갖추었다. 그래서 필자는 아파치 POI 프로젝트를 시작했지만(마이크로소프트 파일 형식을 자바로 이식), 이후 JBoss에 들어가는 바람에 엑추에이트(Actuate)와 크리스탈 리포트(Crystal Reports)에 대처하는 원대한 오픈소스 계획을 위한 코드는 결국 한 줄도 쓰지 못했다. 그 사이 자스퍼리포트(JasperReports), BIRT, 펜타호(Pentaho)를 비롯한 도구들이 등장하여 공백을 채우기 시작했다. 이 중 하나를 사용하면 된다.
3. 메시지 버스
지난 10년 동안 많은 사람들이 만들고 또 만들 정도로 인기가 있었다. 느린 구닥다리 MQ 시리즈 웹스피어MQ로는 더 이상 만족할 수 없었기 때문에 메시징과 관련한 신생 업체들이 생겨났다. JBoss, BEA와 기타 자바 EE 벤더들이 저마다 하나씩 만들었고 이후 또 다른 식으로 만들어서 이전 것을 대체했다.
큐에 집어넣어 필요한 곳에 전달하는 일은 필요하다. 때로는 벽에다 써서 모든 것이 똑 같은 메시지를 집도록 해야 하는 경우도 있다. 그래서 호넷Q(HornetQ), 래빗MQ(RabbitMQ), 액티브MQ(ActiveMQ)를 비롯한 많은 옵션들이 존재한다. 갖가지 기능으로 치장한 무거운 프로그램도 있고, 가볍지만 강력한 프로그램도 있다. 이것을 직접 만들어 유지하는 고생을 할 필요 없이, 요구 사항을 충족하는 기존 프로그램을 분명히 찾을 수 있을 것이다.
2. 싱글사인온(SSO) 구현
아직 이것으로 새로운 사업을 시작할 여지는 있을지 모르겠지만, 아마 상사가 여러분의 은밀한 파일럿 프로젝트를 중단시키고 피켓링크(Picketlink), ADFS, 오픈AM(OpenAM), 핑 아이덴티티(Ping Identity) 등을 사용하도록 지시할 것이다. 점대점 SSO 역시 만들어서는 안 된다.
오해는 말길 바란다. 이 영역은 표준화 측면에서 열악한 분야이기 때문에 커스텀 작업과 통합이 이루어질 것이다. IT 업체들은 모두 상호 운용성을 입버릇처럼 말하지만, 이들의 관심사란 결국 사용자가 자신들의 “플랫폼” 또는 제품 “스위트”를 구매하고, 거기 종속되어 다른 곳에서는 아무것도 구입하지 않도록 하는 것일 뿐이다. 아무튼 100개의 점대점 통합 프로젝트를 추진하거나 직접 결함투성이의 SSO를 구현하는 것보다는 전체적인 공급업체 하나를 선택해서 면밀한 통합을 추진하는 편이 비용 절감 측면에서 유리할 것이다.
1. 컨텐츠 관리 시스템
컨텐츠 관리 시스템은 세상에 넘쳐난다. 형태도 다양하다. 드루팔(Drupal)과 비슷한 것도 있고 인터우븐 팀사이트(Interwoven Teamsite )/어도비 CQ와 비슷한 괴물들도 있고 셰어포인트와 유사한 것도 있다. 일부는 세 가지 접근 방법을 통합한다(알프레스코(Alfresco) 등). 어느 정도는 모두 비슷하다.
타일러 더든의 말을 빌자면 특별한 것은 없다. 어떤 CMS를 구현하든 이 세 가지 유형 중 하나에 포함될 것이다. 너무나 특이해서 이 유형에 모두 맞지 않는 컨텐츠를 찾기란 무척 어렵다. 잘해봐야 오픈소스 구현을 커스터마이즈하거나 새롭게 단장하는 정도면 충분하다. 직접 CMS를 만드는 것은 너무 90년대스러운 행동이다. 직접 만들지 말라!
위에 9가지 항목들을 열거한 이유는 언제든 기존의 것을 분석하기 보다는 새로운 것을 만들려 하는 개발자의 경향을 경계하고 위 항목에 해당하는 시스템들은 이미 상용과 오픈 소스 모두 충분히 안정화되어 있으니 직접 만들려 하지 말고 커스터마이징을 하는 것이 바람직하다는 것을 말하기 위함이다.
이 중 흥미로운 부분은 이커머스 스위트를 5번째로 꼽은 것이다.
이커머스로 분류되던 90년대와 비교해 이제는 충분히 저변화되고 안정화되어 별도로 구분 짓지 않고 Commerce suite라고 불리는 것에서 알 수 있듯이 새롭게 만들 이유가 없다는 것이다.
WebNet Hosting에서 작성한 가장 유명한 20가지 오픈 소스 이커머스 쇼핑 카드 중 상위 6가지를 통해 2013년의 오픈소스 쇼핑몰의 트랜드를 살펴보기로 한다.
- 원제: 9app dev projects you should cancel in 2013 by Andrew C. Oliver
- 작성자: 솔루션연구소 박철휘 수석
- 원문 주소: http://www.javaworld.com/javaworld/jw-12-2012/121220-9-software-projects-to-cancel-in-2013.html
- 번역문: http://www.itworld.co.kr/news/79569
다운받기 : [2013.01]SYS4U_EC_Trend_Report_20130327-06
※ 본 문서는 (주)시스포유아이앤씨가 제작한 문건으로 일체의 저작권은 (주)시스포유아이앤씨에 귀속됩니다. 본 문서의 무단 전재와 복제를 금지하며, 본 문서의 일부 또는 전부를 이용하기 위해서는 반드시 (주)시스포유아이앤씨의 사전동의를 받아야 합니다.
© 2013 SYS4U I&C All rights reserved.