본문으로 이동

마이크로소프트 엔터프라이즈 라이브러리

위키백과, 우리 모두의 백과사전.
엔터프라이즈 라이브러리
개발자마이크로소프트 및 커뮤니티
안정화 버전
6.0.1304.0 / 2013년 4월 25일(13년 전)(2013-04-25)
운영 체제윈도우 8, 윈도우 7, 윈도우 서버 2012, 윈도우 서버 2008 및 상위 버전
플랫폼닷넷 프레임워크
종류소프트웨어 팩토리
라이선스마이크로소프트 퍼블릭 라이선스 opensource.org/licenses/ms-pl
웹사이트msdn.microsoft.com/entlib
www.codeplex.com/entlib

마이크로소프트 엔터프라이즈 라이브러리(영어: Microsoft Enterprise Library)는 마이크로소프트 닷넷 프레임워크를 위한 도구 및 프로그래밍 라이브러리 모음이다. 이 라이브러리는 데이터 액세스, 로깅, 예외 처리 등 핵심 프로그래밍 영역에서 검증된 관행을 쉽게 구현할 수 있도록 API를 제공한다. 엔터프라이즈 라이브러리는 플러그형 바이너리와 소스 코드 형태로 제공되며, 개발자가 자신의 목적에 맞게 자유롭게 사용하고 사용자 정의할 수 있다. 또한 테스트 케이스와 퀵스타트(quickstarts)가 함께 제공된다.

이점

[편집]
  • 생산성 향상: 각 애플리케이션 블록은 공통적인 애플리케이션 문제를 해결하기 위한 여러 인터페이스를 제공한다.
  • 구성 기반 설계(Configuration-driven design): 애플리케이션 동작에 대한 많은 기술적 결정을 애플리케이션 구성 시점까지 미룰 수 있다. 예를 들어, 애플리케이션이 예외를 적절히 처리하지 못할 경우, 코드에 예외 처리기를 추가하는 대신 관리자가 추가적인 예외 처리 정책을 구성할 수 있다.
  • 테스트 용이성 향상: 애플리케이션의 여러 영역을 재구성하여 애플리케이션을 독립적으로 테스트하기 더 쉽게 만들 수 있다.
  • 개발자의 작업 부하를 줄여준다.

애플리케이션 블록

[편집]

각 애플리케이션 블록은 특정한 횡단 관심사를 다루며, 개발자의 생산성을 높일 수 있도록 고도로 구성 가능한 기능을 제공한다. 엔터프라이즈 라이브러리의 애플리케이션 블록은 애플리케이션 아키텍처에 최대한 의존하지 않도록 설계되었으며, 예를 들어 로깅 애플리케이션 블록은 웹, 스마트 클라이언트 또는 서비스 지향 애플리케이션에서 동일하게 사용될 수 있다.

마이크로소프트는 엔터프라이즈 라이브러리 애플리케이션 블록을 활용하는 여러 다른 결과물을 생산하였으며,[1] 여기에는 웹 서비스 소프트웨어 팩토리와 스마트 클라이언트 소프트웨어 팩토리가 포함된다.

유틸리티

[편집]

애플리케이션 블록 외에도 표준 마이크로소프트 엔터프라이즈 라이브러리 배포판에는 다음이 포함된다:

  • 구성 콘솔: 애플리케이션 구성에 애플리케이션 블록을 시각적으로 추가할 수 있다.
  • 프로덕션 로깅을 위한 Out-of-proc 서비스.

버전 역사

[편집]

마이크로소프트 엔터프라이즈 라이브러리에는 여러 버전이 존재한다:

  • 엔터프라이즈 라이브러리 6.0 (2013년 4월) - 현재
  • 엔터프라이즈 라이브러리 5.0 윈도우 애저 통합 팩 (2011년 12월) - 현재
  • 엔터프라이즈 라이브러리 5.0 선택적 업데이트 1 (2011년 5월) - 현재
  • 엔터프라이즈 라이브러리 5.0 실버라이트 통합 팩 (2011년 5월) - 활성
  • 엔터프라이즈 라이브러리 5.0 (2010년 4월) - 활성
  • 엔터프라이즈 라이브러리 4.1 (2008년 10월) - 지원 종료
  • 엔터프라이즈 라이브러리 4.0 (2008년 5월) - 지원 종료
  • 엔터프라이즈 라이브러리 3.1 (2007년 5월) - 지원 종료
  • 엔터프라이즈 라이브러리 3.0 (2007년 4월) - 지원 종료
  • 엔터프라이즈 라이브러리 2.0 (2006년 1월) - 활성/은퇴
  • 엔터프라이즈 라이브러리 1.1 (2005년 6월) - 지원 종료
  • 엔터프라이즈 라이브러리 1.0 (2005년 1월) - 지원 종료

Unity 3.5 포터블 클래스 라이브러리 프리뷰

[편집]

Unity는 마이크로소프트 엔터프라이즈 라이브러리의 의존성 주입 컴포넌트이며, 의존성 주입 애플리케이션 블록에서 발전하였다. 이후 독립적인 라이브러리가 되었으며[2] 커뮤니티에 의해 계속 유지 관리되고 있다.[3] 2014년 4월에 출시된 버전 3.5는[4] 자마린에 대한 지원을 추가하였다.[5]

버전 6.0

[편집]

마이크로소프트 엔터프라이즈 라이브러리 6은 2013년 4월에 출시되었다.[6] 새로운 기능은 다음과 같다:

  • Semantic Logging Application Block (SLAB)
  • 전반적인 라이브러리 간소화
  • 오류에 대한 복원력을 높이기 위한 일반화 및 업데이트된 Transient Fault Handling Application Block ("Topaz")
  • Unity에서의 규칙에 따른 등록 및 기타 개선 사항
  • 윈도우 스토어 앱 지원 (Unity, Topaz)
  • 로깅 애플리케이션 블록의 비동기 로깅 지원
  • 빠른 시작과 실험 및 사용의 편의성을 위한 모든 블록의 간소화된 프로그래밍 방식 구성
  • 기타 기술(ASP.NET MVC 및 ASP.NET 웹 API)과의 통합

이 릴리스에서는 다음 3가지 블록이 은퇴하였다:

  • Caching Application Block
  • Cryptography Application Block
  • Security Application Block

버전 5.0

[편집]

마이크로소프트 엔터프라이즈 라이브러리 5.0은 그리고리 멜니크의 발표와 함께 2010년 4월에 출시되었다.[7] 새로운 기능은 다음과 같다:

  • 의존성 주입을 완전히 지원하는 아키텍처 리팩토링
  • 코드베이스 간소화
  • 컨테이너 독립성 (Unity가 포함되어 있지만 다른 DI 컨테이너 사용 가능)
  • 비동기 데이터베이스 지원
  • 데이터 액세서
  • Fluent 구성 인터페이스 지원
  • IntelliSense를 활성화하기 위한 구성 스키마
  • 새로운 구성 도구
  • 더 높은 로깅 성능
  • 계층적 구성 병합 및 리디렉션 지원
  • VAB와 System.ComponentModel.DataAnnotations 간의 유효성 검사 속성 준수
  • WPF 유효성 검사
  • 전반적으로 더 명확한 오류 메시지 제공
  • 사이드 바이 사이드(Side-by-side) 지원
  • 선택적 설치 프로그램
  • 비주얼 스튜디오 2008 및 비주얼 스튜디오 2010 지원
  • 버그 수정
  • 버전 4.1과의 하위 호환성

버전 5.0 실버라이트 통합 팩

[편집]

마이크로소프트 엔터프라이즈 라이브러리 5.0을 마이크로소프트 실버라이트로 포팅한 버전이다. 2011년 5월에 출시되었으며,[8] 다음 블록을 포함한다:

  • Caching Application Block
  • Validation Application Block
  • Logging Application Block
  • Exception Handling Application Block
  • Unity Application Block
  • Policy Injection Application Block

버전 5.0 윈도우 애저 통합 팩

[편집]

2011년 12월 출시.[9]

Unity 3.0

[편집]

2013년 4월 출시.[10]

Unity 2.1

[편집]

2011년 5월 처음 출시되었으며 2012년 8월 업데이트되었다.[11]

버전 4.1

[편집]

2008년 10월에 출시된 이 엔터프라이즈 라이브러리 릴리스는[12] 다음 사항을 포함하는 서비스 릴리스이다:[13]

  • Unity 가로채기(interception) 메커니즘 및 정책 삽입 애플리케이션 블록과 Unity 애플리케이션 블록의 통합
  • Unity 애플리케이션 블록에 제네릭 지원 추가
  • Unity 애플리케이션 블록에 배열 지원 추가
  • 성능 향상
  • 구성 도구의 사용성 개선
  • 비주얼 스튜디오 2008 서비스 팩 1 지원
  • 버그 수정

애플리케이션 블록 소프트웨어 팩토리와 Strong Naming Guidance Package는 이 릴리스에 포함되어 있지 않으나 별도로 다운로드할 수 있다. 따라서 더 이상 Guidance Automation Extensions(GAX)에 대한 의존성은 없다.

버전 4.0

[편집]

2008년 5월에 출시된 이 릴리스는[14] 다음을 포함한다:

버전 3.1

[편집]

2007년 5월, 유효성 검사 및 정책 삽입 애플리케이션 블록에 대한 사소한 개선 사항을 담은 엔터프라이즈 라이브러리 3.1이 출시되었다.

버전 3.0

[편집]

2007년 4월, 엔터프라이즈 라이브러리 3.0이 출시되었다. 이 버전에는 새로운 애플리케이션 블록, 새로운 애플리케이션 블록 소프트웨어 팩토리, 그리고 닷넷 프레임워크 3.0과의 더 나은 통합을 제공하는 새로운 기능이 포함되어 있다. 엔터프라이즈 라이브러리 3.0 릴리스에는 다음 애플리케이션 블록이 포함되어 있다:

  • Caching
  • Data Access
  • Cryptography
  • Exception Handling
  • Logging
  • Policy Injection (신규)
  • Security
  • Validation

버전 2.0

[편집]

2006년 1월, 닷넷 프레임워크 2.0을 대상으로 하는 새로운 버전의 엔터프라이즈 라이브러리가 출시되었다. 이 릴리스의 가장 중요한 변화는 Configuration Application Block이 제거되었으며, 블록들이 닷넷의 개선된 System.Configuration 기능을 사용하도록 업데이트된 점이다. 또한 로깅 애플리케이션 블록에 대한 상당한 개선이 포함되었으며, 보안 애플리케이션 블록의 많은 부분은 닷넷 프레임워크 2.0에서 제공하는 유사한 기능으로 인해 제거되었다. 닷넷 2.0용 엔터프라이즈 라이브러리에는 다음 애플리케이션 블록이 포함되어 있었다:

  • Caching
  • Data Access
  • Cryptography
  • Exception Handling
  • Logging
  • Security

버전 1.1

[편집]

닷넷 프레임워크 1.1을 위해 두 가지 버전의 엔터프라이즈 라이브러리가 출시되었다. 첫 번째는 2005년 1월에 출시되었고, 이어서 2005년 6월에 소규모 유지 보수 릴리스가 있었다. 닷넷 1.1용 엔터프라이즈 라이브러리에는 다음 애플리케이션 블록이 포함되어 있었다:

  • Caching
  • Configuration
  • Cryptography
  • Data Access
  • Exception Handling
  • Logging and Instrumentation
  • Security

버전 1.0

[편집]

미래

[편집]

마이크로소프트 에반젤리스트인 론 제이콥스는 엔터프라이즈 라이브러리의 목적을 프레임워크 릴리스 사이의 닷넷 개발 "공백을 메우는 것"으로 설명했다. 프레임워크가 계속 발전함에 따라 개발자들은 더 생산적인 개발 라이브러리를 요구하고 있다.

동시에 마이크로소프트 플랫폼이 발전하면서 초기에는 엔터프라이즈 라이브러리에서 다루던 시나리오들이 이제는 플랫폼 자체에서 지원받고 있다. 이러한 경우, 패턴 및 관행(patterns & practices) 팀은 은퇴 과정을 통해 일부 부품을 폐기한다.[15]

마이크로소프트는 엔터프라이즈/LOB(Line-of-business) 개발을 위해 엔터프라이즈 라이브러리를 계속 홍보하고 있으며, 마이크로소프트 IT 내부의 프로젝트뿐만 아니라 많은 마이크로소프트 제품들도 이를 광범위하게 사용하고 있다.

2013년 11월부터 마이크로소프트는 엔터프라이즈 라이브러리와 모든 애플리케이션 블록을 완전히 오픈 소스화했다.[16] 이제는 커뮤니티의 기여를 받는다. SLAB 1.1 및 Unity 3.5의 최신 릴리스는 커뮤니티와의 긴밀한 협력을 통해 개발되었다.

2015년 8월, 마이크로소프트는 Unity 의존성 주입을 새로운 소유자(파블로 시브라로와 페드로 우드)에게 넘기고 새로운 깃허브 저장소로 이전한다고 공지했다.[3] 동시에 코드플렉스에 있던 패턴 및 관행 - 엔터프라이즈 라이브러리 홈페이지에서는 나머지 애플리케이션 블록이 더 이상 개발되지 않을 것이라고 발표했다.[17] 그러나 소스 코드는 계속해서 이용 가능하다.

같이 보기

[편집]

각주

[편집]
  1. ↑ “Microsoft patterns & practices”. 《GitHub》. Microsoft. 2020년 11월 27일에 확인함.
  2. ↑ Tavares, Chris (2013년 11월 5일). “Forward to Developer's Guide to Dependency Injection Using Unity”. 《microsoft.com》. Microsoft Patterns & Practices. 2020년 11월 27일에 확인함.
  3. 1 2 “The future of Unity”. 《blogs.msdn.microsoft.com》. 2015년 8월 21일. 2016년 5월 7일에 확인함.
  4. ↑ Melnik, Grigori (2014년 4월 21일). “Unity 3.5 RTW: Now with more Peace, Love, and Rock 'n' Roll”. 《Microsoft Blog》. 2020년 11월 27일에 확인함.
  5. ↑ “Simplifying cross-platform development - Unity 3.5 Portable Class Library Preview”. 《MSDN Blog》. Microsoft. 2015년 11월 26일에 원본 문서에서 보존된 문서.
  6. ↑ “Just released - Microsoft Enterprise Library 6”. 《microsoft.com》. 2013년 4월 25일. 2020년 11월 27일에 확인함.
  7. ↑ Melnik, Grigori (2010년 4월 20일). “Microsoft Enterprise Library 5.0 Released!”. 《Microsoft Blog》. 2020년 11월 27일에 확인함.
  8. ↑ Melnik, Gregori (2011년 5월 11일). “Silverlight Integration Pack for Microsoft Enterprise Library 5.0 released!”. 《Microsoft Blog》.
  9. ↑ Melnik, Grigori (2011년 12월 2일). “Announcing the Enterprise Library Integration Pack for Windows Azure with Autoscaling, Transient Fault Handling and more”. 《Microsoft Blog》. 2020년 11월 27일에 확인함.
  10. ↑ “Unity 3”. Microsoft. 2014년 3월 14일.
  11. ↑ “Unity 2.1”. Microsoft. 2014년 3월 14일.
  12. ↑ Melnik, Grigori (2008년 10월 28일). “Just Released: Microsoft Enterprise Library 4.1 and Unity 1.2”. Microsoft Patterns & Practices. 2020년 11월 27일에 확인함.
  13. ↑ “About This Release of Enterprise Library”. 《microsoft.com》. 2010년 12월 21일. 2020년 11월 27일에 확인함.
  14. ↑ “Microsoft Enterprise Library 4.0 – May 2008”. Microsoft Patterns & Practices. 2013년 12월 6일. 2020년 11월 27일에 확인함.
  15. ↑ Melnik, Grigori (2011년 4월 8일). “On deprecation”. 《Microsoft Blog》. 2020년 11월 27일에 확인함.
  16. ↑ Melnik, Grigori (2013년 11월 21일). “Microsoft Enterprise Library - Open Development Model”. 《Microsoft Blog》.
  17. ↑ “patterns & practices – Enterprise Library”. 《CodePlex》. 2018년 1월 16일에 원본 문서에서 보존된 문서. 2016년 5월 7일에 확인함.

추가 읽기

[편집]

외부 링크

[편집]