2009-07-09 2 views
0

Java의 모듈 식 개발에 대해 귀하는 무엇을 권하고 싶습니다. OSGI는 훌륭하지만 JPA에 대한 지원은 불쌍한 것입니다. 나는 또 다른 틀을 쓰지 않아도 좋겠지 만 필연적 인 것처럼 보인다.모듈화 개발

답변

0

OSGI의 JPA에 대한 지원 부족이 아니라 OSGI 클래스 로더에 대한 JPA 구현의 지원 부족이라고 생각하지 않습니다. 어쨌든 나는 빗 나간다.

OSGI와 함께 OpenJPA를 사용해도 성공했을 수 있습니다. 최신 버전은 이미 OSGI 번들로 압축되어 있습니다. 아파치 펠릭스에서 OpenJPA를 사용하는 방법을 설명하는이 link도 남겨 둡니다.

+0

덕분에 밀이 내 문제를 해결했습니다. – Nico

5

모듈 형 개발에 가장 적합한 방법 : 먼저 생각하고, 나중에 코드를 리팩토링하는 경우가 종종입니다. 사고를 대신 할 수있는 세계의 프레임 워크/라이브러리는 없습니다.

+0

"먼저 생각하고, 나중에 코드를 작성하고, 자주 리팩토링합니다." - 내 새로운 만트라. 감사. – Nico

1

당신이 달성하기를 원하는 것을 생각하고 가능한 한 기술로부터 분리 된 개념을 유지하십시오. 그런 다음 달성하려는 기술에 적합한 기술을 찾으십시오. 필요한 것을 충족시키는 일련의 기술/도구/프레임 워크가 없으면 개념과 구현을 위해 중간에 어딘가에서 다시 생각하고 현장을 찾아야합니다.

0

귀하의 질문에 대한 답변은 귀하가 구축하는 응용 프로그램에 따라 크게 달라질 수 있습니다. Java EE, ESB 및 OSGi는 특정 문제에 대해 적절한 모듈 방식의 배포 전략입니다.

빌딩 용 엔터프라이즈 서비스 지향 소프트웨어와 플러그 형 클라이언트 응용 프로그램은 서로 다른 솔루션을 가진 매우 다른 응용 프로그램입니다.

저는 현재 백엔드 용 Java EE 배포 서비스와 해당 서비스를 사용하는 Eclipse/OSGi 기반 리치 클라이언트를 사용하는 프로젝트에서 작업합니다. 백엔드 서비스 (Java EE), 클라이언트 기반 서비스 (순수 OSGi) 및 UI 구성 요소 (Eclipse 플러그인) 간에는 설계와 배포가 매우 모듈화되어 있습니다.

이러한 기술로 극복해야 할 가장 큰 요인은 제약 조건 내에서 작동하도록 응용 프로그램을 적절하게 설계하고 설계하는 방법을 이해하는 것입니다. 이미 언급했듯이 클래스 로딩은 이러한 환경에서 복잡한 응용 프로그램과 매우 일관된 문제이지만 이러한 문제를 먼저 이해하면 해당 기술에 맞게 소프트웨어를 설계 할 수 있습니다.

스프링과 같은 프레임 워크를 사용하면 기본 기술에 대한 종속성을 줄일 수 있지만 여전히 고유 기능을 활용할 수있는 코드를 작성하는 데 많은 도움이됩니다.

0

OSGi가 요즘 Java EE에서 주류라고 생각합니다. 모듈 식 응용 프로그램을 만드는 것이 올바른 선택입니다. 그렇습니다. 플랫폼 성숙도와 수용성에는 몇 가지 문제가 있지만 커뮤니티의 노력을 살펴보고 (SpringSource, Eclipse 등) 더 나아질 것입니다. 구현은 공개 소스이며 많은 IDE가 OSGi 개발을 지원합니다. 나는 현재 존재하는 한계들로도 자체 프레임 워크를 개발하는 대신 OSGi 구현 중 하나를 채택 할 것을 제안한다.