2014-04-23 3 views
-1

저는 현재 내부 CRM 스타일 응용 프로그램 개발 중입니다. 이것은 많은 외부 시스템과 통합되어야하며, 서비스가 사용 가능하지 않은 경우 (시스템이 다운되거나 장애가있는 것으로 이야기하는 코드에 의해) 정상적으로 저하되어야합니다.OSGI는 좋은 선택입니까?

OSGI 번들은 현재의 이해를 바탕으로이를 실현하는 완벽한 방법 인 것처럼 보입니다. 유지 관리가 수행 될 때 특정 모듈을 종료 할 수 있으며 코드는 해당 서비스를 사용할 수 없을 때 작업을 다르게 수행 할 수 있습니다.

제 질문은 스프링이 분명히 OSGI를 버리고 (이 애플리케이션은 현재 스프링 4.0을 많이 사용하고 있습니다), OSGI가이 프로젝트에 적합한 선택입니까? 고려해야 할 대안이 있습니까?

감사합니다.

+1

좋은 소식과 나쁜 소식이 있습니다. 좋은 소식은 그렇습니다. OSGi는 좋은 선택이고, SpringSource를 포기하거나 버리지 않는 것은 무의미합니다. Spring을 OSGi와 함께 사용할 수 있습니다. 나쁜 소식은 질문이 StackOverflow에 적합하지 않다는 것입니다. 주로 의견 기반이므로 투표를 닫아야합니다. 죄송합니다! –

답변

0

아파치 카멜 https://camel.apache.org/은 SpaceTrucker에서 이미 언급했듯이 OSGI보다 상위 레벨에서 작동하기 때문에 더 나은 선택이 될 수 있습니다. Camel은 외부 시스템을 통합해야 할 때 매우 편리합니다.

+0

낙타는 OSGi를 기반으로하므로 "Toyota Camry를 운전하는 것이 자동차를 운전하는 것보다 낫습니다"라고 말하는 것과 같습니다. 그것은 여전히 ​​차입니다! –

+0

@NeilBartlett 그러나 자동차에 핸드 크랭크 스타터 또는 전기식 스타터가 있으면 차이가 있습니다. 나는 그 가치가 처음에는 낙타를 봐야한다고 생각합니다. – SpaceTrucker

+0

@SpaceTrucker 또는 내가 필요로하는 것이 모두 컴팩트 인 경우 낙타가 큰 RV에서 돌아 다니는 것과 같다고 말할 수 있습니다. –

0

OSGI는 그런 종류의 문제에 대해서는 스위스 군용 칼이 아닙니다. 가동 중지 시간을 가질 수있는 외부 서비스에 느슨하게 결합되는 것은 문제보다 높은 수준에 있습니다. feature toogles을 살펴보십시오. 서비스 중단 시간이 있다고 판단되면 토글을 전환하는 논리를 구현해야합니다.

+0

귀하의 의견으로는 OSGI를 사용해야한다는 것을 의미하는 전환점이 무엇입니까? 필자는이 기능 토글 경로를 고려해 보았지만 (필자는 그렇게 말하지는 않았지만) OSGI가 더 나은 접근 방법이라고 생각했습니다. 부수적 인 이점으로 다른 소프트웨어가 트랙 아래에서 사용할 수있는 모듈을 제공 할 수도 있습니다. – Innominate

+0

@Innominate 팁 포인트를 정확히 정의 할 수 없습니다. 또한 다른 요구 사항이 무엇인지에 영향을 미칩니다. 이미 모듈화가 그들 중 하나라고 말한 것입니다. 나는 낙타를보기 위해 tomix000과 aggree 할 것이다. – SpaceTrucker

관련 문제