2009-07-09 110 views
0

您对Java中的模块化开发有何建议? OSGI是伟大的,但它支持JPA是可怜的。我真的不想写另一个框架,但似乎不可避免。模块化开发

回答

0

我不认为问题是在OSGI中缺少对JPA的支持,但缺乏对OSGI类加载器的JPA实现的支持。无论如何,我离题了。

您可能使用OpenJPA和OSGI成功。最新版本已经打​​包成OSGI捆绑包。我也离开了这个link,它解释了如何让OpenJPA在Apache Felix中工作。

+0

感谢mil,链接解决了我的问题。 – Nico 2009-08-26 16:12:59

5

模块化开发的最佳见解:先考虑代码,稍后重构,经常重构。世界上没有可以取代思想的框架/图书馆。

+0

“先考虑,代码稍后,经常重构。” - 我的新口头禅谢谢。 – Nico 2009-08-26 16:13:22

1

想想你想达到什么样的目标,并保持概念与技术脱节。然后尝试寻找适合您尝试实现的技术。如果没有一套符合您需要的技术/工具/框架,请做一些重新思考并找到适合概念和实施的中间位置。

0

您的问题的答案很依赖于您正在构建的应用程序。 Java EE,ESB和OSGi都是适用于某些问题的模块化部署策略。

构建企业面向服务的软件与可插拔客户端应用程序是具有不同解决方案的非常不同的应用程序。

我目前正在开发一个项目,该项目使用后端的Java EE部署服务以及使用这些服务的基于Eclipse/OSGi的胖客户端。在后端服务(Java EE),基于客户端的服务(纯OSGi)和UI组件(Eclipse插件)之间,设计和部署是相当模块化的。

任何这些技术要克服的最大因素是了解它们如何工作和适当地设计您的应用程序以在其约束范围内工作。如前所述,类加载是这些环境中任何复杂应用程序的一个非常一致的问题,但预先了解这些问题可以使软件适用于该技术。

像Spring这样的框架的使用可以很好地编写代码,将依赖关系切换到底层技术,但仍然能够利用其独特功能。

0

我猜OSGi是现今Java EE的主流。这是构建模块化应用程序的正确选择。是的,平台成熟度和接受度存在一些问题,但要看看社区的努力和意愿(例如SpringSource,Eclipse)以使其更好。这些实现是开源的,许多IDE支持OSGi开发。我建议采用OSGi实现之一,而不是开发自己的框架,即使存在今天的这些限制。