2009-04-09 3 views
14

OSGi에서 구현 한 모듈 식 번들 개념을 정말 좋아합니다.샌드 박스에서 실행할 수있는 Mini-OSGi (예 : AppEngine 또는 WebStart)?

Google AppEngine (웹 애플리케이션 용) 또는 Java WebStart (클라이언트 소프트웨어 용)와 같은 "관리 형 배포"서비스도 좋습니다.

이 두 아이디어는 서로 개념적으로 보완하는 것처럼 보입니다.

그러나 OSGi 표준에는 AppEngine 또는 Webstart와 같은 샌드 박스 가상 시스템에서 Felix 또는 Equinox와 같은 구현을 실행할 수 없도록하는 몇 가지 기능이 포함되어 있습니다. 이러한 환경에서는 영구적 인 번들 상태 및 기본 라이브러리를 저장하는 데 사용되는 OSGi 번들 캐시를 배제하는 파일 시스템에 직접 액세스 할 수 없습니다.

이제 네이티브 라이브러리를 사용하거나 영구적 인 번들 상태를 가질 필요가 없습니다. OSGi의 코어 번들과 서비스 개념을 구현하는 프레임 워크가 있습니까 (OSGi 번들을 그대로 배포 할 수 있도록 이상적으로 호환되는 방식). 그러나 번들 캐시 (그리고 샌드 박스에서는 사용할 수없는 다른 기능) 없이도 작동 할 수 있습니다. ?

나는 AppEngine 또는 WebStart에서 작동하는 Felix의 제한된 버전을 찾고 있습니다. 물론

의 웹 시작 엔진과 구글 AppEngine에 그냥 밖으로의 상자도 좋을 것 OSGi 프레임 워크 서비스를 제공하는 경우 ...

업데이트 : AppEngine에의 또 다른 매우 제한 측면 새로운 스레드를 시작할 수 없다는 것입니다. 이것은 (다른 것들 중에서) 비동기 번들 라이프 사이클 관리를 방지합니다. 분명히 WebStart의 문제는 아닙니다.

답변

0

유일한 문제는 번들 캐시에서 발생하지만 필요하지 않은 경우 Equinox 또는 Felix에서이 속성을 null로 설정하여 제거 할 수 있습니까? 나는이 캐시가 춘분 (Felix를 모르는 것)을 실행하는 데 필수가 아니라는 것을 확신합니다.

1

저는이 작업을 수행 할 수 있다고 확신하며 This eclipse help page을 시작했을 수도 있습니다. 올바르게 이해했다면 번들에 서명을하고 jnlp 파일에 모든 권한을 요청해야합니다.

+0

예, "모든 권한 요청"부분이 문제입니다 ... – Thilo

+0

그 사실을 알 수 있습니까? 내 말은 : 코드에 합법적 인 요구가있는 경우 사용자에게 이러한 요구 사항을 충족 할 수있는 권한을 부여하도록 요청하지 않는 이유는 무엇입니까? 이 분야에서 당신을 제약하는 건 없나요? –

+0

응용 프로그램 코드에는 파일 시스템 액세스가 필요하지 않습니다. 그러나 OSGi는이를 내부적으로 필요로합니다. 그것은 합법적 인 필요입니까? 그럴 수도 있고 아닐 수도 있고. – Thilo

1

Chris Aniszczyk와 상담해야합니다. 그는 Equinox와 Knopflerfish와 함께 작동 시켰습니다. 스크린 샷을 보시려면 여기를 : http://twitpic.com/300lk 그는 그것에 대해 블로깅을 계획하고 있었지만, 나는 그가 꽤 바쁜 순간이라고 생각합니다. http://mea-bloga.blogspot.com/

+0

흥미 롭습니다. 나는 그가 그것에 관해 blog를하기를 바란다.나는 여기에 내 자신의 작은 실험을 시작했습니다 : http://drop.io/appengine/ http://miniosgi.appspot.com/ – Thilo

+0

그는 지금 그것에 대해 블로그 않았다 : http://eclipsesource.com/blogs/2009/04/10/osgi-on-appengine/ – Thilo

+0

사람들이 블로그를 너무 많이 가지고있을 때 그게 문제입니다. 모든 것을 따라 잡기가 어렵습니다 (특히 모든 것을 알지 못하는 경우) ;-)) 포인터 주셔서 감사합니다. 스레딩 문제에 아직 빠지지 않았지만 스토리지에 직면 한 문제가 발생했습니다 ... –

1

http://code.google.com/p/lemmon/

여기에 자신의 블로그에 링크입니다 URLStreamHandler 문제에 대한 문제를 확인하십시오.

개인적인 경험이 없으므로 도움이 될만한 단서가됩니다.