'Enterprise Library'에 해당되는 글 5건

  1. 2010.04.21 Enterprise Library 5.0 출시
  2. 2009.04.08 Hands-on Labs for EL 4.1 and Unity 1.2
  3. 2008.10.31 Enterprise Library 4.1 출시
  4. 2008.03.04 Enterprise Library / Unity 로드맵 (3)
  5. 2008.02.13 닷넷 DI Container 현황

많은 개발자들이 기다려온 Enterprise Library (EntLib) 5.0이 출시되었다. EntLib는 개발  과정에서 늘 고민하게 되는 공통적인 코드 블럭들을 마이크로소프트가 전세계 개발자들과 함께 고민하면서 발전시켜 나가고 있는 라이브러리성 프레임웍의 모음집이다. 시장에는 이미 많은 오픈 소스 기반의 라이브러리들이 있어 개발자의 노가다를 줄여주고, 시장에서 검증된 성능의 품질 좋은 코드셋을 앞다투어 쏟아내고 있다. 여기에 마이크로소프트도 거대 닷넷 생태계에 일원으로 참여하고 있는 것이다.

EntLib 5.0은 이전 4.1버전과 마찬가지로 아래와 같은 9개의 application block들로 구성되어 있다.

  • Caching Application Block. Developers can use this application block to incorporate a cache in their applications. Pluggable cache providers and persistent backing stores are supported.
  • Cryptography Application Block. Developers can use this application block to incorporate hashing and symmetric encryption in their applications.
  • Data Access Application Block. Developers can use this application block to incorporate standard database functionality in their applications, including both synchronous and asynchronous data access and returning data in a range of formats.
  • Exception Handling Application Block. Developers and policy makers can use this application block to create a consistent strategy for processing exceptions that occur throughout the architectural layers of enterprise applications.
  • Logging Application Block. Developers can use this application block to include logging functionality for a wide range of logging targets in their applications. This release further improves logging performance.
  • Policy Injection Application Block. Powered by the Interception mechanism built in Unity, this application block can be used to implement interception policies to streamline the implementation of common features, such as logging, caching, exception handling, and validation, across a system.
  • Security Application Block. Developers can use this application block to incorporate authorization and security caching functionality in their applications.
  • Unity Application Block. Developers can use this application block as a lightweight and extensible dependency injection container with support for constructor, property, and method call injection, as well as instance and type interception.
  • Validation Application Block. Developers can use this application block to create validation rules for business objects that can be used across different layers of their applications.
  • 각 application block 사이의 dependency는 아래와 같다.

    image

    이전 버전에 비해 달라진 점 몇가지를 들면...
    * 아키텍처 리팩토링을 통해 DI 기능을 충실히 지원하여 테스트 및 유지보수성이 좋아짐
    * DI 컨테이너 비종속성. (기본은 Unity이며 Objectbuilder와 Unity가 하나로 합쳐져서 더이상 ObjectBuilder가 존재치 않음)
    * 비동기 데이타 접근 지원
    * 캐시 기능 향상
    * Unity 자체 성능 향상
    * 로깅 속도 향상
    * 어셈블리 숫자 감소
    * .NET Framework 4.0 지원, VS2010 통합  지원

    좀 더 상세한 정보를 볼 수 있는 싸이트로는 다음과 같은 곳이 있다.
    * MSDN
    * CodePlex
    * EntLib 5.0 개발 가이드
    * EntLib 5.0 문서

    Posted by 장현춘

    댓글을 달아 주세요

    Enterprise Library 4.1 (EL) 과 Unity Application Block 1.2 (Unity) 에 대한 Hands-on Lab이 공개됐다. 국내 닷넷 개발 진영에도 범용 개발 프레임웍에 대한 관심이 고조되고 있고, 점차 많은 적용 사례가 공유되어 신규 개발에 힘을 실어주고 있는 시점에 EL과 Unity에 대한 HOL의 발표는 참으로 적절한 타이밍이라 여겨진다.

    Enterprise Library는 이름이 의미하듯이 엔터프라이즈 애플리케이션 개발에 늘 고려하는, 즉 cross-cutting concern이라할 수 있는 기능을 모아 쉽게 적용할 수 있게 만든 라이브러리 모음집이다.

    image

    현재 EL 4.1에 포함되어 있는 Application block들로는 PIAB (Policy Injection Application Block), Logging, Caching, Cryptography, Data Access, Exception handling, Security, Validation 그리고 Unity가 있다. EL 4.1 HOL은 바로 이들 각각에 대한 HOL을 C#과 VB로 제공하여 쉽게 따라하며 익힐 수 있게 구성되어 있다.

    image

    좌측 그림 가운데 Interception (w/ PIAB and Unity), Unity, Validation은 새롭게 추가된 것들이며, 그외 나머지 HOL은 이전 버전의 것을 업데이트한 것이다.

    EL과 Unity가 호스팅되고 있는 Codeplex를 방문하면 좀 더 상세한 정보를 알아 볼수 있다.
    EL 4.1 ": http://www.codeplex.com/entlib
    Unity : http://www.codeplex.com/unity

    각각의 HOL의 다운로드 위치는 다음과 같다.
    EL 4.1 HOL
    Unity 1.2 HOL

    MSDN에서도 EL과 Unity에 대한 상세한 정보를 찾을 수 있다.
    EL 4.1
    Unity 1.2

    참고로 EL과 Unity를 포함하여 p&p에서 제공하는 각종 asset들을 활용하여 개발자 생산성이 40%까지 향상될 수 있다는 조사 보고서도 여기서 살펴볼 수 있다.

     

    p&p 팀에서는 또한 Enterprise Library 다음 버전에 담고 싶은 기능에 대한 온라인 설문 조사를 진행하고 있다. 평소에 담고 싶었던 내용이 있었다면 한번쯤 의견을 전달하는 것도 좋을 것으로 생각된다.

    EntLib_voting_2

    Posted by 장현춘

    댓글을 달아 주세요

    Enterprise Library (entlib) 4.1 이 출시됐다. 지난 6월에 entlib 4.0 이 출시된 지 다섯달 만에 4.1이 출시된 것이다. 이번에 출시된 entlib 4.1은 OS로는 Windows XP professional / Vista  혹은  Windows Server 2003 / 2008에서 .NET Framework 3.5 이상  Visual Studio 2008 환경에 적합하도록 설계되어 있다. entlib 4.1에 포함되어 있는 Application Block으로는 다음과 같은 것들이 있다.

  • Caching Application Block
  • Cryptography Application Block.
  • Data Access Application Block
  • Exception Handling Application Block.
  • Logging Application Block
  • Policy Injection Application Block
  • Security Application Block
  • Unity Application Block.
  • Validation Application Block.
  • EntLib 4.1을 설치하면 설치와 동시에 빌드가 이루어지며 소스 코드로 함께 설치가 된다. 아울러 EntLib 4.1은 Microsoft Public License (Ms-PL)을 따른다.

    참고로, EntLib 4.1에 포함되어 있는 Unity Application block 1.2는 이전 버전에서와 마찬가지로 Dependency Injection만을 원하는 개발자들을 위해 EntLib 4.1과 독립적으로 사용될 수 있으며, 이를 위해 Unity Application Block 자체적으로 configuration 설정 파일을 가지고 있다. 또한 EntLib 4.1도 Unity Application Block을 반드시 사용하여 객체를 생성할 필요는 없다. Unity를 쓰지않고, Object Builder를 이용할 수도 있고, 혹은 시장에 통용되는 다른 Dependency Injection 컨테이너를 사용할 수도 있다.

    다음은 EntLib 4.1에 포함되어 있는 Application Block들의 dependency를 도식화한 것이다.

    entlib4.1-unity

    Dd203099_practices(en-us,MSDN_10)

    Posted by 장현춘

    댓글을 달아 주세요

    마이크로소프트 본사 patterns & practices (P&P)팀이 Enterprise Library (EntLib)와 Unity Dependency Injection (DI) framework의 로드맵을 발표하였다. 현재 EntLib은 v4.0 개발이 진행중이며, Unity DI 컨테이너는 며칠 내에 정식 버전이 출시될 것으로 보인다.

    • 3월 15일 - Unity 1.0 출시
    • 3월 15일 - EntLib v4.0 CTP 출시, EntLib 기능 업그레이드이며 Unity와의 통합 버전은 아니다. DI 컨테이너로 사용되는 ObjectBuilder가 v1.0에서 v2.0으로 업그레이드되어 EntLib v4.0 CTP와 연동된다.
    • 4월 중순 이후 - EntLib v4.0 정식 출시
       

    EntLib v4.0의 새로운 모습은 Codeplex의 EntLib 싸이트를 참고하시길 ...

     

    업데이트 1
    - Unity 1.0 정식 릴리스가 4월 7일로 연기됨

    Posted by 장현춘

    댓글을 달아 주세요

    1. Favicon of http://uggi.tistory.com/ BlogIcon 아프락사스 2008.03.05 09:22  댓글주소  수정/삭제  댓글쓰기

      오타 발견..Injenction ㅋㅋ

      MS가 노력하는 모습이 좋네요..

    2. Favicon of https://acroama.net BlogIcon 장현춘 2008.03.05 09:52 신고  댓글주소  수정/삭제  댓글쓰기

      눈도 좋아...
      거 재미없으며 여 와.

    3. Favicon of http://blog.hoons.kr BlogIcon HOONS 2008.03.05 11:18  댓글주소  수정/삭제  댓글쓰기

      3월 15일이 기대되는데요 (^^)
      좋은 정보 감사합니다.

    ASP.NET MVC 프레임웍의 출시와 더불어 함께 부각되고 있는 것이 IoC (Inversion of Control) 혹은 DI (Dependency Injection) 컨테이너이다. 마틴 파울러는 이 두 용어의 쓰임새를 분명히 하고자 패턴 이름으로 DI를 쓰자고 했으나 여전히 시장에서는 IoC, DI, Hollywood Principle 등을 거의 같은 의미로 사용하고 있다. 
    현재 ASP.NET과 연동하여 비지니스 티어에 사용할 수 있는 DI Container로 주로 언급되는 것들로는 StructureMap, Windsor Container, Spring.NET, ObjectBuilder 등이 있다.

    StructureMap은 Jeremy D. Miller가 만들고 유지보수호가 있으며, 닷넷 DI 컨테이너 가운데 가장 오래된 것이며 가장 널리 사용되고 있다.

    ObjectBuilder는 Enterprise Library (EntLib) 2.0 부터 도입되기 시작하여 EntLib를 구성하는 각종 App Block들의 Factory 역할을 하는 DI 컨테이너이다. 다만, EntLib를 염두해두고 만들어졌기 때문에 외부 개발자가 애플리케이션 개발에 활용하기에 적합한 API 등을 갖추고 있지는 않았고 불편하다. 이점 때문에 많은 개발자들이 이의 개선을 요구하였고 마침내, ObjectBuilder를 대신할 새로운 Lightweight한 DI 컨테이너의 개발 계획이 발표되었다. EntLib v4 개발의 일환으로 발표되었지만, EntLib와는 함께 배포도 하고 혹은 DI 컨테이너 별도로 배포하여 다른 용도로의 활용을 쉽도록 하였으며 아울러 EntLib v4도 다른 DI 컨테이너와 사용될 수 있도록 할 예정이다. 자세한 사항은 아래 싸이트를 참조하길...
    Enterprise Library v4 개발

    Spring.NET은 자바 진영에서의 성공에 힘입어 닷넷으로 포팅된 DI 컨테이너이다. Spring.NET은 Spring.Java와 마찬가지로 핵심이 되는 DI 기능이외의 모든 모듈은 쉽게 빼고 넣을 수 있어서 개발자가 원하는 부분만을 취할 수 있다. 아울러 대부분의 모듈은 이미 시장에서 그 품질이 인정된 다른 프레임웍이나 기술을 그대로 활용할 수 있도록 일종의 Wrapper와 같은 모듈만을 제공함으로써, 개발자가 갖고 있는 다른 프레임웍이나 기술에 대한 경험을 그대로 활용할 수 있는 융통성을 제공하고 있다.  Spring.NET은 다음과 같은 모듈로 구성되어 있다.
    Spring.Core : DI 기능을 구현하는 Factory이자 Registry와 같은 역할을 한다.
    Spring.Aop : DI와 더불의 Spring의 핵심 기능으로 불리며 AOP (Aspect-oriencted Programming)을 제공한다.
    Spring.Data : ADO.NET에 대한 wrapper 기능을 제공
    Spring.Data.NHibernate : NHibernate를 사용할 수 있는 wrapper 기능을 제공
    Spring.Web : ASP.NET을 사용할 때 Page에 대한 DI 기능까지 제공한다.
    Spring.Web.Extensions : 웹 서비스를 자바스크립트에서 접근할 수 있도록 해주는 기능이나, WCF 3.5에서는 ASMX 웹 서비스나, WCF 서비스에 기본 기능으로 제공해주고 있기 때문에 그다지 사용할 필요가 없을 듯..
    Spring.Services : 일반 닷넷 클래스 (PONO - Plain Old NET Object)에 대해 자동으로 proxy 등을 생성해줌으로써 ASMX 웹 서비스, Enterprise Services, .NET Remoting 이 가능해도록 하는 기능이나, WCF가 이미 제공하고 있다. 다른 점은 Spring.Services는 각종 proxy등을 통해 기존 기술을 사용할 수 있게 해주는 것이나, WCF는 새로운 방식으로 더 나은 성능을 제공한다는 점... 예전 기술을 사용하는 경우가 아니면, 별로 효용이 없을 듯.
    Spring.Testing.NUnit : 단위 테스트 NUnit 사용하도록 하는 기능
    전반적으로 Spring.NET은 .NET Framework 2.0 기반으로 작성되었으며, 자바와 달리 닷넷의 빠른 변화를 따라잡지 못하는 면이 있다.

    Posted by 장현춘

    댓글을 달아 주세요