Freigeben über


Sharp Architecture (#arch)를 아시는지 ...

바야흐로 프레임웍의 시대이다. 모두가 프레임웍을 얘기한다. 말하는 이가 지칭하는 프레임웍의 의미와 듣는 이가 받아들이는 프레임웍의 의미가 조금 다르더라도 그 둘은 어렴풋한 눈 맞춤으로도 프레임웍이라는 틀안에 함께 있음을 기뻐한다. 많은 이들에게 있어 마이크로소프트가 .NET Framework 3.5 SP1에서 제공하는 3종 세트와 곧 정식 출시될 ASP.NET MVC 프레임웍은 가뭄의 단비인양 여기저기서 환영하는 모습이 역력하다. 실제 출시되기도 이전에 모(某) 기업에서는 ADO.NET Entity Framework, ADO.NET Data Service를 이미 도입하여 시스템을 사용하고 있다 !!!

Sharp Architecture 는 시장에서 소위 잘 나가는 프레임웍들의 조합을 통해 엔터프라이즈급 애플리케이션의 틀을 마련한 후, 개발 역량을 이러한 틀 마련(plumbing)이 아닌 비지니스 구현 자체에 두어 구현의 효율성 및 품질을 높이기 위해 제시된 하나의 Reference implementation이라 할 수 있다. 이를 위해 ASP.NET MVC 프레임웍을 통해 웹 기반의 뼈대를 완성하고 비지니스 데이터를 저장하기 위해 NHibernate의 구조화된 OR (Object Relational) 매핑 기능을 이용하고 있다.
TurningPointe-1

Sharp Architecture가 나오게 된 배경을 잠시 살펴보면, 대규모 애플리케이션의 아키텍처는 대개 3 Tier (혹은 n-tier)라 칭해지는데, 핵심이 되는 구조는 아래와 같다. 지금껏 많은 기업용 애플리케이션 개발에 있어서 자체 개발한 프레임웍을 도입해 틀을 마련하거나 프레임웍이라고 칭하기에는 부족한 수준의 라이브러리 모임에 약간의 정체 불명의 코드셋이 결합된 형태를 띄거나 이러한 역량을 마련할 시간적 여유가 없을 경우에는 파트너의 상용 프레임웍을 도입하여 그들의 경험을 공유하는 모습을 보여왔다. 그러는 사이에 시장에는 점차 오픈 혹은 오픈 소스 기반의 닷넷 개발 프레임웍들이 등장하여 어느덧 수십개에 이르게 된 것이다.

image

위에서 언급되지 않은 것이 훨씬 더 많은 것을 감안한다면, 이 많은 프레임웍 중에서 자사 혹은 현 프로젝트에 가장 적합한 프레임웍을 선정하는 것 또한 간단한 것은 아니다. 큰 의미에서 같은 기능을 제공하는 같은 Tier에 속한 프레임웍들 사이에도 나름대로 이것을 만든 이들의 철학과 고민이 담긴 결과물이기에 쓰임새에 따라 장단점이 갈리곤하다. 하여 진행하는 프로젝트의 기간과 참여하는 인력들의 기술적 배경, 금전적 여유 및 향후 도입한 프레임웍의 생존 가능성 등등을 매트릭스로 삼아 가장 적합한 (가장 좋은.. 이 아닌) 프레임웍들의 조합을 만드는 것이 필요하다.

이러한 조합 가운데 하나로 MVP인 Billy McCafferty가 제안한 것이 ASP.NET MVC + NHibernate 인 Sharp Architecture인 것이다. 좀 더 자세한 사항은 아래 링크를 참조하시길...

Sharp Architecture의 홈페이지
Sharp Architecture 토론방
Sharp Architecture 구조 #1
Sharp Architecture 예전 홈페이지 및 예전 버전

Comments

  • Anonymous
    September 08, 2008
    10월에 오프라인 세미나로 프레임워크 데이 한 번 해주세요..