2009-12-30 2 views
4

OSGi의 선언적 서비스와 Bluprint 서비스의 차이점은 무엇입니까? 두 가지 모두 osgi에서 Dependency injection을 달성하는 것을 목표로합니다. 청사진 서비스가 선언적 서비스의 대안입니까? 또는 bluprint 서비스가 선언 서비스의 한계 (있는 경우)를 채우고 있습니까?OSGi의 선언적 대 블러 프트 서비스

+1

가능하면 http://stackoverflow.com/questions/1587256/osgi-does-blueprint-replace-declarative-services의 사본 – Thilo

답변

9

그 질문에 대한 간단한 대답은 없습니다. 두렵습니다. 차이점의 범위를 확인하려면 두 가지 사양을 모두 읽는 것이 좋습니다. 선언적 서비스는 Service Compendium의 112 섹션이며, 청사진 컨테이너는 동일한 문서의 섹션 121입니다. 여기에서 핵심 및 간략한 문서를 얻을 수 있습니다. http://www.osgi.org/Download/Release4V42 가장 큰 차이점은 (DS 용어로는) 청사진 서비스가 현재 존재하는 것에 의존하지 않고 활성화 될 수 있다는 것입니다. 컨테이너는 실제 구현이 사용 가능해질 때까지 차단하는 프록시 서비스를 작성합니다. 이것은 Spring의 접근 방식과 유사하며 Spring의 IOC/DI 접근법을 사용하는 사람들은 Spring이나 Blueprint를 사용하지 않은 개인적인 경험으로는 말할 수 없지만 즉시 청사진을 얻을 것이라고 믿습니다.

OSGi 서비스를 다루기 때문에 DS와 청사진을 적절하게 혼합하고 일치시킬 수 있습니다. 지금까지는 DS로 구현할 수있는 것보다 더 복잡한 작업을 수행 할 필요가 없다는 것을 알았으므로 Blueprint가 상당히 많은 기능을 제공하는 것처럼 보이지만 사양에서 볼 때 청사진 컨테이너 사양이 어떤 사용 사례를 충족하는지 확신 할 수 없습니다 구성 요소 개발을 단순화하기 위해

나는 주로 J2EE 개발자들이 익숙하다고 생각하기 때문에 추가되었다고 생각한다. :)

1

나는 이것이 낡은 실이라는 것을 알고 있지만, 나는 그 질문이 여전히 중요하다고 생각한다.

나는 BS가 DS보다 OSGi의 동적 특성을 더 잘 숨긴다는 것에 동의한다. 또한 DS가 번들 중 을 바인딩하기위한 것이고 BS는 "내부 소비를위한"개체 그래프를 작성하는 데 사용될 수있는 것처럼 보입니다.