,서비스 구성 요소 아키텍처 및 선언적 서비스 구성 요소 모델
서비스 구성 요소 아키텍처 (SCA)는는 서비스 지향 아키텍처 (SOA) 원칙에 따라 응용 프로그램을 구성하는 데 사용되는 소프트웨어 기술이다. 그 서비스 구현의 세부 사항에서 비즈니스 로직의
분리 : 그것은 많은 장점이 포함되어 개발 모델이다.
은 C++을 포함하여 언어의 다양한 자바, COBOL 및 PHP뿐만 아니라 XML, BPEL 및 XSLT
편도 포함 원활하게 다양한 통신 작업을 할 수있는 능력 구축을 서비스 지원 , 비동기, 콜 리턴 및 알림.
능력 레거시 구성 요소 또는 서비스에 "결합"으로는 웹 서비스, EJB, JMS, JCA, RMI, RPC, CORBA 등과 같은 기술에 의해 일반적으로 액세스.
(비즈니스 로직의 외부)를 선언 할 수있는 기능 등의 보안, 거래 및 신뢰성있는 메시징의 사용 로 서비스에 대한 요구 사항의 품질
는
- 는 개체
데이터 서비스 데이터에서 표현 될 수
내가 추가 할, 다른 모듈과의
- 느슨한 커플 링 s (성분).
나는 SCA 기술을 사용하여 간단한 소프트웨어를 구현했으며, Tuscany Tutorial의 도움을 받아 SCA 이질성과 플랫폼 독립성을 확인할 수있었습니다.
오늘 저는 좀 관련이있는 다른 모델을보고 있습니다. Declarative Services Component Model (DS)은 OSGi 서비스를 게시 및/또는 참조하는 구성 요소 생성을 단순화하는 구성 요소 모델입니다. DS에서 OSGI 번들은 XML 구성 요소 선언 파일을 번들 리소스에 추가하여 구성 요소로 래핑 된 것처럼 보입니다. 일반적으로 XML 파일에는 번들 서비스 및 참조에 대한 선언이 포함되어 있습니다. ~ SIMA G ~ SCA 복합 파일입니다. 다음은 그러한 파일의 예입니다.
<?xml version="1.0" encoding="UTF-8"?>
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="it.eng.test.ds.consumer">
<implementation class="it.eng.test.ds.consumer.Consumer"/>
<reference bind="bindHappy" cardinality="0..1" interface="it.eng.test.ds.happy.IHappy" name="IHappy" policy="dynamic" unbind="unbindHappy"/>
<reference bind="bindSad" cardinality="0..1" interface="it.eng.test.ds.sad.ISad" name="ISad" policy="dynamic" unbind="unbindSad"/>
</scr:component>
내 질문 : SCA와 DS 사이에 어떤 종류의 관계가 있습니까? DS가 SCA 이질성 및 구성 요소 격리를 달성 할 수 있습니까? 예를 들어, DS는 SCA 구성 요소와 같은 다른 플랫폼에 서비스 또는 참조를 제공 할 수 있습니까? SC 구성 요소가 분리 된 것과 동일한 의미로 DS 구성 요소가 독립적 (격리) 될 수 있습니까?
OSGI 번들을 SCA 구성 요소의 구현으로 사용한다면 역동 성을 유지할 수 있습니까? 즉, 런타임에 SCA 구성 요소 (OSGI 번들로 구현 됨)를로드 및 언로드 할 수 있습니까? –