문제

어떤 모듈/서비스/비트 응용 프로그램의 기능에 특히 좋은 후보에 대한 OSGi 모듈?

나는 사용에 관심이 OSGi 내 응용 프로그램에서.우리는 Java 상점과 우리가 사용하는 봄 꽤 광범위하게,그래서 나는 기대를 사용하는 방향으로 봄 동적 모듈 OSGi(tm)서비스 플랫폼.내가 찾는 것은 좋은 방법을 통합하는 약간의 OSGi 응용 프로그램으로 재판입니다.는 사람이 여기 사용이나 이와 유사한 OSGi 기술 기?이 있는 함정이?

@Nicolas-감사합니다,나는 보았습니다.그것은 좋은 튜토리얼 그러나 내가 찾는 것이 더하는 방법에 대한 아이디어를 내가 첫째로"진짜"OSGi 번들과 반대로 안녕하세요 세상 예입니다.

@데이비드-링크 감사합니다!이상적으로,그린필드 앱,나는 디자인의 모든 것을 동적입니다.내가 무엇을 찾고,지금은 하지만,그것을 소개하는 작은 조각의 기존 응용 프로그램.가정을 선택할 수 있는 모든 조각,응용 프로그램의 어떤 요인을 고려 하는 그 조각 또는 더 나은 더 나쁜으로 OSGi 기니피그?

도움이 되었습니까?

해결책

잘 할 수 있기 때문에,하나의 부분 OSGi 한 부분 non-OSGi 해야 합니다 당신의 전체 응용 프로그램 OSGi.단순한 형태에도 당신은 하나 OSGi 번들의 전체 응용 프로그램.분명히 이 사용하는 것이 최선의 방법은 아닙 하지만 그것이 유용할 수 있는 느낌을 얻을 수있는 배포를 위한 번들에 OSGi 컨테이너(분,Felix,Knoplerfish,etc.).

그것을 가지고 다음 단계를 시작하려는 분할 응용 프로그램 구성요소,구성요소는 일반적으로의 집합을 가지고 책임을 다할 수 있는 고립의 나머지 부분에서의 응용 프로그램을 통해 세트의 인터페이스 클래스 종속성입니다.식별 이러한 순수하게 손으로 할 수 있는 범위에서 오히려 간단에 대한 잘 설계되어 있지만 느슨하게 결합된 응용 프로그램를 위한 악몽 연동 소스 코드는 익숙하지 않습니다.

일부는 도움말에서 올 수 있는 도구 JDepend 를 보여줄 수 있는 당신의 커플링을 자바 패키지에 대하여 다른 패키지/클래스에서 당신의 시스템입니다.패키지 저렴한 원심성 결합해야를 추출하기 쉬운로 OSGi 번들보다 하나 원심성 높은 연결할 수도 있습니다.더 많은 건축적 통찰력이 있을 수 있으로 프로 같은 도구 구조 101.

순수히 기술적 인 수준에서 작업,매일 응용 프로그램으로 구성되는 160OSGi 뭉치고 사용하는 봄 DM 나가는 것을 확인할 수 있습니다 전에서"정상"봄 봄 DM 이 크게 고통을 무료입니다.여분의 네임스페이스는 사실 당신은 할 수 있습니다(그리고해야한다)격리 당신의 OSGi 특정 봄 구성에서 별도의 파일을 더욱 쉽게 있지 않고 OSGi 배포시오.

OSGi 은 깊고 넓은 구성요소 모형,문서 나는 추천합니다:

  • OSGi R4 사양:을 얻을 Pdf 의 핵심하고 무료로 액세스 할 수 있습니다.사양에,그들은 정식,신뢰할 수 있는 아주 읽을 수 있습니다.바로 가기를 그들에게 편리한 모든 시간에,당신은 그들에게 문의하십시오.
  • 에 읽어 OSGi 최상의 방법이 설정의 것을 하지만 다소 작은 설정의 것을 지고 몇 가지 있어야 결코 (DynamicImport:*예를 들어).

일부 링크:

다른 팁

학습할 경우 새로운 기술이 풍부한 장식새김으로 당신을 얻는 것이 없이 큰 두통.이 시점에서는 커뮤니티 ops4j.org 제공하는 다양한 도구 집합이라는"인"을 포함됩니다:

  • 러너 Pax:실행 및 스위치를 사 펠릭스,춘분,Knopflerfish 및 콘시어지게
  • Pax 건설:를 구성,구성 및 구축 OSGi 프로젝트를 쉽게 maven
  • Pax 무인 항공기:테스트 OSGi 번들로 Junit 되고 있는 동안 framework 독립(사용 PaxRunner)

그런 다음 많은 구현 OSGi 본 서비스:

  • Pax 로깅 (로깅),
  • 웹 Pax (http 서비스)
  • Pax 웹 Extender (전원),
  • Pax 코 (구성)
  • Pax Shell (쉘 구현,의 일부는 다음 osgi 자료)
  • 그리고 훨씬 더 많은.

..과가 도움이 되는 프레임워크 independend 커뮤니티-하지만 그는 이제 광고;-)

이 대답은 거의 3 년 후 질문에 요청했지만, 링크 나는 그냥 발견 정말 좋, 특히,대한 우선 사용하여 받는다는 것입니다.이 단계별로 설명이 있습니다.

귀하의 기존 응용 프로그램의 모놀리식 또는 계층에서 별도의 프로세스/레이어?

는 경우에는 계층으로 변환할 수 있습간/응용 프로그램 계층에서 실행하 OSGi 컨테이너입니다.

내 팀의 경험을,우리는 발견하려고 하는 웹서 OSGi 고통스럽습니다.다른 통증 점는 최대 절전 모드 및 자카르타브 커먼즈니다.

내가 찾 OSGi 사양 꽤 읽을 수 있고 나는 당신을 인쇄 순서도 표시하는 알고리즘 등니다.내가 당신을 보장해야의 순간,"가 나오는 이유는 무엇 NoClassDefFoundError?":flowchart 왜 당신을 말할 것이다.

http://neilbartlett.name/blog/osgibook/.이 책은 손에 예 OSGi 모범 사례를 설명합니다.

http://njbartlett.name/files/osgibook_preview_20091217.pdf

http://www.manning.com/hall/

두 번째는 아 책을 읽고 나 자신이 하지만 상업적인 목적으로 사용하는 것을.

첫 번째는 나에게 매우 유용합니다.그 건물은 처음에 다음의 손에 OSGi.

의 몇 가지가 있는 생각을 염두에 두는 경우에 당신은 시작과 함께 OSGi.

으로 언급한 곳에서 이사,classloading 에 대해 알고 정말 중요합니다.내 경험에서 모두 조만간 문제로 실행합니다.

또 다른 중요한 것은 기억하기:지를 개최한다.보 화이트보드 패턴에는 서비스의 개념 OSGi 구조(링크를 참조하십시오에서 하나의 다른 답변).

내 경험에 의지 않아야 합로 변환 monolitic 응용 프로그램으로 OSGi 기반의 하나입니다.이 일반적으로 심하게 다루기 힘들 엉망입니다.새롭게 시작합니다.

다운로드 중 하나는 자유롭게 사용할 수 있는 독립형 OSGi 구현입니다.내가 찾 Knopflerfish 오히려 좋은 안정되어 있는(내가 사용하는 그것에 많은 프로젝트).그것은 또한이 많은 소스 코드입니다.당신은 여기에서 찾을 수 있습니다: http://www.knopflerfish.org

다른 좋은 튜토리얼은 여기에서 찾을 수 있습니다. https://pro40.abac.com/deanhiller/cgi-bin/moin.cgi/OsgiTutorial

베드로는 크리엔스의 OSGi Alliance 게 좋은 인터뷰: http://www.infoq.com/interviews/osgi-peter-kriens.자신의 홈페이지 블로그(항상 좋은 읽기 여기에서 찾을 수 있습니다: http://www.aqute.biz

아파치 Felix 튜토리얼.그러나 제 생각에서 일반적인 활용 OSGi 에서 원하는 응용 프로그램이 없는 한 사람의"자 이 프레임워크를 사용하기 때문에,그것은 마약중독"결정을 내렸다.그것은 더 많은 디자인의 문제이지만,그때는 모든 OSGi 제공 측면에서 당신의 디자인,할 수 있으로 바닐라 Java 니다.

로에 대한 런타임할 수 없습니다 추가 기존 응용 프로그램과 그것을 만들 OSGi 사용됩니다.필요할 수 있도록 디자인 역동적입니다.봄 DM 을 쉽게 숨기는 것에서 당신은,그러나 그것은 여전히 있다고 알고 있어야 합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top