본문 바로가기

구글링

Broadleaf 커머스 Vs. 아파치 Ofbiz

Broadleaf Commerce Vs. Apache Ofbiz
(original source by http://l154k.blogspot.com/2011/09/broadleaf-commerce-vs-apache-ofbiz.html)

일단 2~3년전 난 아파치 OFBIZ쓰는걸 포기했었어, 왜냐면 몇주 써보니까 이게 너무 복잡해서 '생산적'인것 같이 않았거든. 그러다 몇달전에 Broadleaf 커머스라는걸 알게 되었는데 무척 관심이 가더군. 스프링, 스프링MVC frontend, GWT backend, 하이버네이트, 메이븐 등의 기반인게 나랑 맞더라구.
SCM으로 git이나 github.com을 썼다면 난 이 글을 쓰지도 않았을 테지만 이사람들 backend단에 flex를 없애버린건 정말 좋았어. 이 플랫폼으로 커스텀 쇼핑카트를 만드는 원칙은 상당히 직관적이긴 하지만 역시나 경험있는 개발자가 필요할거야.

다음으로 e커머스 out of the box 솔루션(특히 미국외 비지니스)은 쉽게 말해 특별한 요구사항을 맞출수없어. 한번 둘러보라구 
 (인스톨하고 바로 쓸수있는) 수많은 PHP쇼핑카트툴들이 카트기능을 쓸수있게 해주지만, 이 솔루션들의 '보편적 기능'들의 댓가로 필요없는 단점들을 계속 안고 가야만해.
결재, 세금, 회계, 배송 같은 것들은 지역특화적이야. PHP쇼핑카트들은 아키텍쳐가 개판이거나, 모듈화가 안되어 있고, UX가 구리던가 아니면 수많은 희안한 것들 투성이지. 
Prestashop은 내가 보고 말해왔던것들중 나쁘진않았어

이제 Konakart같은 일부 오픈소스거나 shopizer나 jadasite같은 오픈소스 자바 e커머스 솔루션을 보자고. jadasite는 보기엔 옳다구나 하지만 이건 out of the box야, 쉘이나 ant스크립트 조차 없어, 메이븐도 안되.. 결재나 배송모듈을 바꿔야한다고 생각해봐, 오우 말도안돼.. 어쨋든 나는 이클립스 WTP기반의 어플리케이션은 사양이라고...

마지막으로 아파치 Ofbiz나 Broadleaf 커머스같은 솔루션은 out of the box 솔루션이 아니라 플랫폼이야 (뭐...broadleaf coffer shop 데모 페이지를 보면 이건 완전 바로 쇼핑몰 개시해도 될 수준이지만) 개발자가 커스텀 솔루션과 함께 넣어서 이것들을 활용해야해.
개발/코딩/프로그래밍이 아니라 '함께 넣는다'고 했다 이게 뭔말이냐면 예를 들자면 실제 구축된 지역에 인프라 구축하고, 거기에 가지고 있는 모듈을 바꾸고 확장하고 합친 
빈,서비스, 엔티티들을 적용하는거야
 

내 생각에 아파치 Ofbiz의 복잡성은 
완전히 익숙해진 레벨의 사람이 아니면 완전 시간낭비야, 이건 큰 문제라구! 근데 Broadleaf 커머스는, 훨씬 더 쉽더라구
문서들도 더 구체적이고 최근거야.. 내가 볼땐 이 두 플랫폼에 완전 초짜인 개발자들용이지
아파치 orbiz를 택하자면 실제 보여지는 결과보다 더 많은 삽질을 내부적으로 하게되.. 이게 완전 의욕을 꺽어버려.. 근데 Broadleaf Commerce경우는 대강 코드베이스 두시간정도 훑다보면 거의 모든 흐름을 알수있지

ofbiz를 살펴보고 결론을 내린게, 내가 필요로 하는 쇼핑카트로서는 그다지 가치가 없어. 엔티티, 서비스엔진, 워크플로우 등등과 플랫폼을 설정하는 방식이 아주 J2EE non-standard같단 말이지 난 완전 헤매버렸어 그리고는 깨달았지 아마도 이 삽질은 필연적이었다는걸.. 왜냐면 생각해봐 어떤 e커머스 플랫폼이 이렇게 거대한 기능을 갖고있냐고... 이걸로는 Broadleaf 커머스에서 했던것처럼 할수가 없어... 간단히 말해서 이 ofbiz로 뭘 좀 만들어내려면 한 몇주는 삽질해가며 배워야만해.. 그러고는 e커머스 카트 완전체를 홀로 만들어내겠지.
 

이건 10년이나 되었고 아파치재단이 뒤를 봐주고 있으니까 상대적으로 더 큰 커뮤니티가 있다는 장점이 있어. 근데 내 생각엔 이 프로젝트에 기여하고 있는 사람들이 빠른 변화를 원하지않는 회사의 직원들이기 때문에 소극적 프로그래밍을 하게 되고, 때문에 플랫폼에 도움이 될만한 급진적 요소들이 거의 없어 (적어도 이건 인상적이드라..)
이건 경험많은 Ofbiz 개발자들에겐 문제가 되지않지만 뉴비들에겐 큰 애로사항이지

난 Broadleaf 커머스의 소스기반을 살피는데 몇시간 썼는데
e커머스 카트를 위한 (webapp) 메이븐 프로젝트를 설정하려면 뭐를 해야하는가를 확실히 봤어 dependencies로 broadleaf플랫폼 라이브러리들을 넣고 컨테이너 하나 그냥 배포해봤는데 작동잘하드라고! 아마 svn 체크아웃하고 몇분안에 볼수있을거야! 데모프로젝트가 있는데 너의 새 사이트나 쇼핑몰로서 복사하거나 활용할수있어. 그냥 필요한 것을 (컨트롤러, 서비스, 엔티티, jsp, css, 전체 모듈들)을 Spring configuration이나 파일시스템을 통해 그냥 간단하게 추가하거나 합치거나 덮어쓰면 되. 이런식으로 너만의 커스텀 e커머스 카트를 만들수있어.

한가지 내가 고마워하는건 데모 사이트뿐아니라 디폴트/클래식 템플릿, 인프라셋업, 디폴트 워크플로우 그리고 모듈들을 가지고 있는 메이븐 archetype이라는 사실이야. 개발자로서 바로 배포하고 수정할수있다는거지 또는 테마 뭐 둘다 좋아 


언급할만한 다른 중요한 건 Google Web Tookit의 경험이 매우 큰 장점이 된다는거야. 이건 백엔드/ 관리자 모드를 개발하는데 필요하거든.. 또, Broadleaf 커머스는 사이트 규모를 키우거나 클라우드 서비스같은게 필요할때 클라우드 기반으로 배포가 쉬워. 마지막으로 Liferay나 WebShere같은 포틀릿과의 통합이 상대적으로 쉬운 유일한 e커머스 솔루션인것같아. 임베딩할수있다는 얘기가 아니라 Broadleaf 프레임워크를 이용해 e커머스 카트 포틀릿을 만들수있다는거야물론 통합하려면 힘들겠지만 확실한건 현재로선 이것보다 더 적합하거나 더 나은건 없어

이 소프트웨어는 주목받아 마땅할만해, 나는 Broadleaf 커머스 커뮤니티가 성장하길 바라고 지켜보려고해