Jakarta ee javaeeeis层

Jakarta ee javaeeeis层,jakarta-ee,multi-tier,Jakarta Ee,Multi Tier,我一直在阅读Java EE体系结构,并且(至少在Oracle文档中)看到了对所谓的EIS(企业信息系统)层的多次引用,该层包括Java EE体系结构的第三层(数据) 我知道在三层系统中,数据库通常是第三层。有些时候,遗留系统也被放置在这一层上,因为它们也与业务中间件(第二层)的同一数据库直接交互,并且出于某种原因,它们不属于其他任何地方 我的问题是:什么代码(如果有的话)属于第三层“EIS”?ORM代码,比如Hibernate类和DAO 在第二层,系统和编译的Java都在运行。例如,您可能有一个

我一直在阅读Java EE体系结构,并且(至少在Oracle文档中)看到了对所谓的EIS(企业信息系统)层的多次引用,该层包括Java EE体系结构的第三层(数据)

我知道在三层系统中,数据库通常是第三层。有些时候,遗留系统也被放置在这一层上,因为它们也与业务中间件(第二层)的同一数据库直接交互,并且出于某种原因,它们不属于其他任何地方

我的问题是:什么代码(如果有的话)属于第三层“EIS”?ORM代码,比如Hibernate类和DAO

在第二层,系统和编译的Java都在运行。例如,您可能有一个Tomcat服务器运行您编写的一系列WAR。我并没有在第三层中“获取”anology,在第三层中,您有一个RDBMS和(我猜?!)一些代码来与该RDBMS交互


总之,我想我想知道在EIS层部署代码背后的标准/最佳实践是什么,以及这些部署是什么样子的。提前谢谢

在开发JavaEE应用程序时,我认为这三层是

  • 前端(JSF/Richfaces)
  • 业务逻辑(EJB)
  • 数据层(Hibernat/JPA)
  • 这是很好的,自包含的,避免了触发器和PL-SQL等

    最好的,
    Anders

    javaee建议的层模型是一个概念模型。我认为您将此与应用程序的包装结构混合在一起(基于您对anders.norgaard post的评论)。包装模型取决于自己的应用程序,但下面两篇文章提供了最佳实践


  • EIS层对应于与其他信息系统的连接,如ERP应用程序(例如JD Edwards)或事务系统(IBM的IMS)或CRM等

    众所周知的EIS解决方案提供Java连接器。从J2EE应用程序中,我们可以实现连接器并直接与这些应用程序通信


    这是关于这个话题的

    EIS层是一个概念层,作为jar文件包含在应用程序中

    它主要由资源适配器组成,这些适配器通常由相应的EIS制造商提供

    您的JavaBean可以使用这些适配器访问EIS的数据和服务

    这就是为什么通常不将某些东西部署到EIS层的原因

    每当您使用EIS资源适配器时,该层“就在那里”

    与数据访问层(->orm framworks)的概念相同:
    不是你写的
    你没有在里面放任何东西

    你只需要使用它

    谢谢Anders,但是您想将数据层放在哪里?如果您的EJB位于部署到某个应用服务器的jar文件中,您如何打包您的Hibernate/JPA代码以及将其放置在何处?在JEE应用程序中,您只需将其与应用程序的其余部分一起包含在jar/EAR文件中。毕竟,这都是Java代码。