An enterprise application normally consist on several
things:
a) Database data
b) Objects to access that database
c) Business Logic to use that data
d) Routing objects to select the proper BL objects
e) presentation objects
Since presentation objects in modern Enterprise apps
are web-based you ususally wnat them in a different
machine to assure the security of the other layers, so
you will have distribuited objects called by protocols
such RMI or IIOP. Java enterprise applications are
usually done with the J2EE framework and thinked with
the J2EE patterns guide, so you will have several kind
of objects:
a) JSPs and servlets for web requesting. Some servlets
usually are "Controllers" that routes the web request
to the propper presentation responder (JSP or another
servlet) they are called Front Controllers
b) Facades are used to hide Business logic to
presentation layers, ideally they don't have any logic
and are forwarders between JSPs/servlets and session
beans who do have business logic in the same or
different server.
c) Session beans are used to have business logic
centralized and they usually are in the same server as
entities wich are normally used to do one register
seleccions or writting ops to the database. The
"Container" (server that handles Entity and sessiion
beans) is incharge to access the database via hits own
connection pool in order to prevent bad practices on
database access programming like the lack of commmits
or the lack of connection clossed.
d) Value Objects are simple classes that are used to
transport entity data to the facades or beyond,
reducing network consumption.
e) DAOs are required when you need a collection of
Value Objects (multiple row selects for example).
And there are many other java patterns that help to
provide a stable and good Enterprise application with
the Java framework.