Java EE EIS 层
我一直在阅读有关 Java EE 架构的内容,并且(至少在 Oracle 文档中)看到了一些对所谓的 EIS(企业信息系统)层的引用,其中包含第三层(数据) Java EE 架构层。
据我所知,在三层系统中,数据库通常是第三层。有时,遗留系统也被放置在这一层,因为它们也与业务中间件(第二层)相同的数据库直接交互,并且由于某种原因,它们不属于其他任何地方。
我的问题是:什么代码(如果有)属于第三“EIS”层? ORM 代码,例如 Hibernate 类和 DAO?
在第二层,系统和已编译的 Java 都在运行。例如,您可能有一个 Tomcat 服务器运行您编写的一堆 WAR。我没有“理解”第三层中的类比,其中有一个 RDBMS 和(我猜?!?!)一些与该 RDBMS 交互的代码。
总之,我想我想知道在 EIS 层中部署代码背后的标准/最佳实践是什么,以及这些部署是什么样的。提前致谢!
I've been reading up on Java EE architecture, and have seen (in the Oracle docs at least) several references to a so-called EIS (enterprise information systems) tier which comprises the 3rd (data) tier of the Java EE architecture.
I understand that in a 3-tier system the database usually is the 3rd tier. Some times legacy systems are also placed on this tier because they also interact directly with the same database as the business middleware (2nd tier) and for one reason or another, they don't belong anywhere else.
My question is: what code (if any) belongs on the 3rd "EIS" tier? ORM code such as Hibernate classes and DAOs?
On the 2nd tier you have both systems and compiled Java running. For instance you might have a Tomcat server running a bunch of WARs that you wrote. I'm not "getting" the anology in the 3rd tier, where you have an RDBMS and (I guess?!?!) some code to interact with that RDBMS.
In sum, I guess I'm wondering what the standard/best practices are behind deploying code in the EIS tier, and what those deployments look like. Thanks in advance!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
Java EE 建议的层模型是一个概念模型。我认为您正在将其与应用程序的打包结构混合在一起(基于您对 anders.norgaard 帖子的评论)。打包模型取决于自己的应用程序,但下面两篇文章提供了最佳实践
The tier model suggested by Java EE is a conceptual model. I think you are mixing this with packaging structure of your application (based on your comment to anders.norgaard post). The packaging model depends upon once own application but below two articles provide the best practices
在开发 Java EE 应用程序时,我将三个层视为
这很好且独立,并且避免了诸如此类的情况。触发器和 PL-SQL 等
最好,
安德斯
When developing a Java EE application I think of the three layers as
That is nice and self-contained and avoids eg. triggers and PL-SQL etc.
Best,
Anders
EIS层对应于与其他信息系统的连接,例如ERP应用程序(例如JD Edwards),或事务系统(IBM的IMS)或CRM等,
众所周知的EIS解决方案提供Java连接器。从 J2EE 应用程序中,我们可以实现连接器并直接与这些应用程序进行通信。
这是关于此主题的很好的参考资料。
EIS tier corresponds to connecting with other information systems, such as, ERP application (example JD Edwards), or a Transactional system (IBM's IMS) or CRM etc.,
Well known EIS solutions provide Java connectors. From J2EE application, we could implement the connectors and communicate directly with these applications.
This is good reference material on this topic.
EIS 层是一个概念层,作为 jar 文件包含在应用程序中。
它主要由资源适配器组成,这些适配器通常由相应的 EIS 制造商提供。
您的 java bean 可以使用这些适配器来访问 EIS 的数据和服务。
这就是为什么您通常不将某些内容部署到 EIS 层中的原因。
每当您使用 EIS 资源适配器时,该层就“就在那里”。
与数据访问层相同的概念(-> orm framworks):
你不写。
你没有在里面放任何东西。
您只需使用它即可。
The EIS tier is a conceptional tier that is included as a jar file inside an application.
It mainly consists of resource adapters that are often provided by the corresponding EIS manufacturers.
Your java beans can use these adapters to access data and services of an EIS.
That's why you typically don't deploy something into the EIS tier.
The tier is "just there" whenever you use an EIS resource adapter.
Same concept as with the data access layer (-> orm framworks):
You don't write it.
You don't put anything in it.
You simply use it.