长时间听众,第一次来电。
我们正在从BEA WebLogic 10迁移到GlassFish v3。我们已成功将大规模项目移至GlassFish,一切正常,但现在我们正在为未来做好规划。
具体来说,我们将MyEclipse 8.5与一个生成EAR文件的企业应用程序项目(DCMHub)和一个进入EAR的单个Web应用程序项目(DCMWeb)一起使用。
然而,DCMWeb实际上是一大堆相关的应用程序,它们都聚集在一个巨大的混乱的jsps,类文件和jar中。我们想要做的是将它们分解为逻辑单元。例如,我们不是只有一个Web应用程序(DCMWeb),而是想要有几个,比如DCMWeb_A,DCMWeb_B和DCMWeb_C,以及一些Web服务(DCMWebService_A,DCMWebService_B)等等。 (显然,我们不会使用这些特定的名称;我只是称它们为了便于提出问题。)
现在这里有点棘手。所有这些Web应用程序和Web服务都将共享一些常用功能。例如,我们想要单点登录,因此用户,身份验证和权限的概念应该相同。同样,我们希望共享某些类,例如用户所在的部门,或他工作的Office等等。
如果这只是一个普通的旧Java应用程序,我可能会为演示文稿创建一堆jar,例如,DCMWeb_A,DCMWeb_B,DCMWeb_C,DCMWebService_A,DCMWebService_B,以及一些用于共享类和业务逻辑的额外jar,例如, CommonClasses.jar,UserAndDeskLogic.jar等
但是不是一个普通的旧Java应用程序。这是一个企业应用程序,我想构建它,以便a)我们很容易从简单的步骤转换到丑陋的项目到漂亮的项目,而不会破坏任何重大的东西,和b)最终导致我们完全符合Java EE 6中“正确”的处理方式,这样我们就可以利用Java,GlassFish和MyEclipse中的所有最新产品。
现在,这是我们在MyEclpse 8.5中得到的粗略结构:
DCMHub(企业应用程序)
META-INF
application.xml中
MANIFEST.MF
DCMWeb(Web应用程序)
src(所有java源文件)
的WebContent
css(我们所有的样式文件)
图像(我们所有的.jpgs,.gifs等)
包括(我们所有的jsp片段)
javascript(全部.js文件)
META-INF
MANIFEST.MF
安全(所有需要身份验证才能查看的jsps)
WEB-INF
班
LIB
顶级域名
applicationContext.xml中
dcmweb-servlet.xml中
faces-config.xml中
log4j.properties
的log4j.xml
oscache.properties
太阳jaxws.xml
sun-web.xml中
web.xml中
XMLHTTP
login.jsp(我们未经身份验证的用户登录页面)
现在,显然,我们正在考虑使用封装一些业务逻辑的一个方面是使用EJB 3。但是我该如何介绍呢?我以前的尝试都失败了。我无法让MyEclipse将它们作为EAR的一部分进行部署,或者更常见的是,我无法让Web应用程序项目“看到”EJB项目中的类。 (虽然我可以对它们进行Goto-Definition,奇怪的是,但MyEclipse仍然将其标记为错误。)
对于真正冗长的问题感到抱歉,但 是组织此应用程序的最佳方式,以便我们能够继续前进,但不会破坏我们目前正在进行的任何工作?
非常感谢!
Jeff G
P.S。我能够加载我的EJB和我的MyEclipse项目来引用它,因此该部分得以解决。但我仍然追问这个大问题:即,前进的最佳方式是什么?
答案 0 :(得分:0)
普通Java EE Eclipse可以在具有通用功能的耳朵中执行实用程序项目。 MyEclipse有类似的概念吗?