Entity Beans  «Prev  Next»
122
Lesson 2Entity Bean Course Prerequisites
Objective Verify that you have the background and necessary software for this course.

Entity Bean Course Prerequisites

In order to get the most out of the course you must have completed the first course in this series successfully.

Platform Support

You can take this course on Windows, Macintosh, or Linux platforms. However, to complete the exercises in this course, you must have access to a computer running the Java 2 Enterprise Edition Reference Implementation.
This restriction will change over time as it is ported to more platforms. Please check the Oracle web site for more information.
In today's business world, applications need to access data, apply business logic, add presentation layers, be mobile, use geo-localization, and communicate with external systems and online services. That is what companies are trying to achieve while minimizing costs, using standard and robust technologies that can handle heavy loads. If that is your case, this course is for you. The Java Enterprise Edition appeared at the end of the 1990s and brought to the Java language a robust software platform for enterprise development.

Challenged at each new version, overengineered, and competing with open source frameworks, J2EE was seen as a heavyweight technology, and by heavy I mean real heavy. Java EE benefited from these criticisms to improve and today focuses on simplicity. If you are part of the group of people who still think that EJBs are bad then study this course, and you will change your mind. EJBs (Enterprise Java Beans) are great, as is the entire Java EE technology stack. If, on the contrary, you are a Java EE adopter, you will see in this course how the platform has found equilibrium through its ease of development and easy component model. If you are a beginner in Java EE, this course is also the right course: it covers the most important specifications in a very understandable manner and is illustrated with a lot of code and diagrams to make it easier to follow.
Open standards are collectively one of the main strengths of Java EE. More than ever, an application written with 1) JPA, 2) CDI, 3) Bean Validation, 4) EJBs, 5) JSF, 6) JMS, 7) SOAP web services, or 8) RESTful web services
is portable across application servers.


Open source is another strength of Java EE. As you will see, most of the Java EE 7 Reference Implementations use open source licensing 1) GlassFish, 2) EclipseLink, 3) Hibernate Validator, 4) OpenMQ, 6) Metro, and 5) Jersey
This module explores the innovations of Java EE 7, and examines the various specifications and how to assemble them to develop applications. Java EE 7 consists of nearly 30 specifications and is an important milestone for the enterprise layer 1) CDI 1.1, 2) Bean Validation 1.1, 3) EJB 3.2, 4) JPA 2.1 for the web tier (Servlet 3.1, JSF 2.2, Expression Language 3.0), and for interoperability (JAX-WS 2.3 and JAX-RS 2.0).
This module and course covers a broad part of the Java EE 7 specifications and uses the JDK 1.7 and some well-known design patterns, as well as the GlassFish application

Hibernate

With a little experience and the power of annotations, you can build a complex, database-backed system with ease. Once you have built a system using Hibernate, you will not want to go back to the traditional approaches. While Hibernate is incredibly powerful, it presents a steep learning curve when you first encounter this framework. Steep learning curves are a good thing because they provide insight once you have scaled them. Gaining insight takes perseverance and assistance. Our aim in this module is to help you scale that learning curve by presenting you with the minimal requirements of a Hibernate application, explaining the basis of those requirements, and walking you through an example application built using to them. We then provide additional material to be digested once the fundamentals are firmly understood. Throughout, we provide examples, rather than relying upon pure discourse. We hope that you will continue to find this module useful as a reference after you have become an expert on the subject.

Relational Database

Most significant development projects involve a relational database. The mainstay of most commercial applications is the large-scale storage of ordered information, such as catalogs, customer lists, contract details, published text, and architectural designs. With the advent of the World Wide Web, the demand for databases has increased. Though they may not know it, the customers of online newspapers are using databases. Somewhere in the inner workings of the application a database is being queried and a response is being returned. While the demand for such applications has grown, their creation of database driven web applications has not become noticeably simpler. Some standardization has occurred around the Java Persistence API with the release of Enterprise Java Beans 3.0. Hibernate 3.5 is an implementation of the Java Persistence API standard, which replaced older Java persistence solutions such as the entity beans from Enterprise Java Beans 2.
There are solutions for which some sort of object-relational mapping (ORM) like Hibernate is appropriate, and some for which the traditional approach of direct access by means of JDBC API is appropriate. Hibernate represents a good first choice, as it does not preclude the simultaneous use of these alternative approaches. To illustrate some of Hibernate's strengths, in this chapter we will show you a brief example using Hibernate and contrast this with the traditional JDBC approach.

Jakarta EE Recipes