Java EE: An Introduction JPA, EJB, JSF 1 Wednesday, January 27, 2010 J ava EE Components • Applets: GUI app’s executed in a web browser. They use the Swing API to provide powerful user interfaces. • Applications: programs executed on a client. Typically GUIs or batchprocessing programs that have access to all the facilities ofthe Java EE middle tier. • W eb applications: app’s executed in a web container and respond to HTTP requests from web clients. • Made of servlets, servlet filters, web event listeners, JSP pages, and JSF . Serv lets also support web service endpoints • Enterprise Java Beans: containermanaged components for processing transacti onal business logic. They can be accessed locally and remotely through RMI or HTTP for SOAP and RESTful web services . 2 Wednesday, January 27, 2010 MVC Design Pattern • The ModelViewController MVC design pattern separates the core business model functionality from the presentation and control logic that uses this functionality. • The separation allows multiple views to share the same enterprise data model, which makes supporting multiple clients easier to implement, test, and maintain. Source: Java BluePrints J2EE Patterns, MVC http://java.s un.com/bluepri nts/patterns/M VC-detailed.ht ml 3 Wednesday, January 27, 2010 JEE app and the MVC architecture • In a JEE application: • The model business layer functionality represented by JavaBeans or EJBs • The viewthe presentation layer functionality represented by JSFs the view• The controller Servlet mediating between model and view• Must accommodat e input f rom various clients includingHTTP requests from web clients, and… • WML from wireless clients • XML documents from suppliers • Etc. 4 Wednesday, January 27, 2010
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
• Applets: GUI app’s executed in a web browser. They use theSwing API to provide powerful user interfaces.
• Applications: programs executed on a client. Typically GUIs or
batchprocessing programs that have access to all the facilities of the Java EE middle tier.
• Web applications: app’s executed in a web container and respondto HTTP requests from web clients.
• Made of servlets, servlet filters, web event listeners, JSP pages,and JSF. Servlets also support web service endpoints
• Enterprise Java Beans: containermanaged components forprocessing transactional business logic. They can be accessedlocally and remotely through RMI or HTTP for SOAP and
RESTful web services .2Wednesday, January 27, 2010
MVC Design Pattern
• The ModelView Controller MVC design pattern separates
the core business modelfunctionality from thepresentation and control logicthat uses this functionality.
• The separation allows multiple views to share the sameenterprise data model, whichmakes supporting multipleclients easier to implement,test, and maintain.
• Models the data and behavior behind the business process
• What it’s responsible for:
• Performing DB queries
• Calculating the business process
• Processing orders
• Encapsulation of data and behavior which are independentof presentation
5Wednesday, January 27, 2010
View layer in a Web App
• Display information according to client types
• Display result of business logic Model
• Not concerned with how the information was obtained, orfrom where since that is the responsibility of Model
6Wednesday, January 27, 2010
Controller in a Web App
• Serves as the logical connection between the user's
interaction and the business services on the back• Responsible for making decisions among multiple
presentations
• e.g. User's language, locale or access level dictates a di erentpresentation.
• A request enters the application through the control layer, which will decide how the request should be handled and what information should be returned
7Wednesday, January 27, 2010
Web Applications
• A web application is a dynamic extension of a web or applicationserver. Types of web applications:
• Presentationoriented
• generates interactive web pages containing various types of markup language HTML, XHTML, XML, and so on and dynamic content in response to requests.
• Serviceoriented
• A serviceoriented web application implements the endpoint of a web service.
• In Java EE platform, web components provide the dynamicextension capabilities for a web server.
• Web components are either Java servlets, web pages, web serviceendpoints, or JSP pages
• Relational model i.e. RDBMS vs. Object Oriented model i.e. Java
• ObjectRelational Mapping ORM
• Java Persistence API JPA
• An API above JDBC
• Can access and manipulate relational data from Enterprise Java Beans EJBs , web components, and Java SE applications
• Includes an entity manager API to perform DBrelatedoperations like CRUD
• Includes JPQL, an objectoriented query language
13Wednesday, January 27, 2010
JPA
• Objects vs. Entities
• Objects are instances that justlive in memory.
• Entities are objects that liveshortly in memory andpersistently in a database.
• JPA map objects to a database via metadata that can be suppliedusing annotations or in an XMLdescriptor
• Annotations: The code of theentity is directly annotated with allsorts of annotations described in
the javax.persistence package.
@Entity
public class Book {
@Id @GeneratedValue
private Long id;
@Column(nullable = false)
private String title;
private Float price;
@Column(length = 2000)
private String description;
private String isbn;
private Integer nbOfPage;
private Boolean illustrations;
// Constructors, getters, setters
}
14Wednesday, January 27, 2010
JPA mapping
15Wednesday, January 27, 2010
Enterprise Java Beans
• serverside components
• encapsulate business logic
• take care of transactions and security
• used in building business layers to sit on topof the persistence layer and as an entry pointfor presentationtier technologies like JavaServer Faces JSF .
• can be built by annotating a POJO that willbe deployed into a container