Java EE EIS Tier

IAmYourFaja picture IAmYourFaja · Jan 3, 2012 · Viewed 10.8k times · Source

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!

Answer

anders.norgaard picture anders.norgaard · Jan 3, 2012

When developing a Java EE application I think of the three layers as

  1. Frontend (JSF/Richfaces)
  2. Business logic (EJB)
  3. Data layer (Hibernat/JPA)

That is nice and self-contained and avoids eg. triggers and PL-SQL etc.

Best, Anders