1 introduction to enterprise application development wth jee
TRANSCRIPT
![Page 1: 1 Introduction to Enterprise Application Development wth JEE](https://reader035.vdocuments.net/reader035/viewer/2022062512/55296c9d4a795968158b474f/html5/thumbnails/1.jpg)
Introduction to Enterprise Application
Development
![Page 2: 1 Introduction to Enterprise Application Development wth JEE](https://reader035.vdocuments.net/reader035/viewer/2022062512/55296c9d4a795968158b474f/html5/thumbnails/2.jpg)
Contents
1 What is an enterprise application?
2 Enterprise application n-tier architecture
3 What is a web application?
4 Static and Dynamic resource/page
5 Web server
6 Application server
7 HTTP Protocol
8 HTTP and Statelessness
9 The GET request method
10 A sample GET Packet
![Page 3: 1 Introduction to Enterprise Application Development wth JEE](https://reader035.vdocuments.net/reader035/viewer/2022062512/55296c9d4a795968158b474f/html5/thumbnails/3.jpg)
Contents
11 The POST Request
12 A sample POST Packet
13 A sample response packet
14 Status codes
15 Java Platform, Enterprise Edition
16 JEE technologies: Foundation
17 JEE technologies: Web Services Technologies
18 JEE technologies: Web Application Technologies
19 JEE technologies: Enterprise Application Technologies
20 JEE technologies: Management and Security Technologies
![Page 4: 1 Introduction to Enterprise Application Development wth JEE](https://reader035.vdocuments.net/reader035/viewer/2022062512/55296c9d4a795968158b474f/html5/thumbnails/4.jpg)
Contents
21 J2EE Architecture
22 Advantages of JEE
23 Java web applications
![Page 5: 1 Introduction to Enterprise Application Development wth JEE](https://reader035.vdocuments.net/reader035/viewer/2022062512/55296c9d4a795968158b474f/html5/thumbnails/5.jpg)
Know
• What an enterprise application is• The general n-tier architecture• Typical characteristics of web applications• The difference between static and dynamic
resources / pages• What HTTP is about• What JEE is
![Page 6: 1 Introduction to Enterprise Application Development wth JEE](https://reader035.vdocuments.net/reader035/viewer/2022062512/55296c9d4a795968158b474f/html5/thumbnails/6.jpg)
What is an enterprise application?
• Software that performs business functions such as accounting, customer information management, sales and so on
• Aims to improve the organisation’s performance
![Page 7: 1 Introduction to Enterprise Application Development wth JEE](https://reader035.vdocuments.net/reader035/viewer/2022062512/55296c9d4a795968158b474f/html5/thumbnails/7.jpg)
What is an enterprise application?
• Software application for the enterprises of today…and tomorrow…Need for rapid scalability (both in terms of volume and
geographical spread)Need to accommodate multiple types of device
access Need to integrate with diverse software applicationsNeed to be very change-friendlyHigh degree of security reliability and performance
![Page 8: 1 Introduction to Enterprise Application Development wth JEE](https://reader035.vdocuments.net/reader035/viewer/2022062512/55296c9d4a795968158b474f/html5/thumbnails/8.jpg)
Enterprise application n-tier architecture
Presentation logic
Business Logic
XML documents
Browser
Application Client
Services
firewall
DB
![Page 9: 1 Introduction to Enterprise Application Development wth JEE](https://reader035.vdocuments.net/reader035/viewer/2022062512/55296c9d4a795968158b474f/html5/thumbnails/9.jpg)
What is a web application?
• Client accesses applications using a browser.• Client typically requests for a static or dynamic
resource/page from a server connected to the internet. This server is a web server.
• The client typically gets back HTML page as response that can view in the browser. Further interaction with the server can happen using the HTML page.
![Page 10: 1 Introduction to Enterprise Application Development wth JEE](https://reader035.vdocuments.net/reader035/viewer/2022062512/55296c9d4a795968158b474f/html5/thumbnails/10.jpg)
Static and Dynamic resource/page
• Static pages/resources are the files that are pre-created in a particular path in the web server.
• Dynamic pages are created by the application on the fly.
![Page 11: 1 Introduction to Enterprise Application Development wth JEE](https://reader035.vdocuments.net/reader035/viewer/2022062512/55296c9d4a795968158b474f/html5/thumbnails/11.jpg)
Web server
• Request for a static resources is met by the web server.
• The web server understands HTTP protocol. • Example: Apache web server.
![Page 12: 1 Introduction to Enterprise Application Development wth JEE](https://reader035.vdocuments.net/reader035/viewer/2022062512/55296c9d4a795968158b474f/html5/thumbnails/12.jpg)
Application server
• Request for a dynamic resource is met by application server.
• The web server which can run web application is an application server.
• Example: Websphere Application Server from IBM
![Page 13: 1 Introduction to Enterprise Application Development wth JEE](https://reader035.vdocuments.net/reader035/viewer/2022062512/55296c9d4a795968158b474f/html5/thumbnails/13.jpg)
HTTP Protocol• An application level protocol ( generally
implemented over TCP/IP) used to transfer information between the web clients and web applications.
• It provides a set of rules that computers use to communicate over the internet.
![Page 14: 1 Introduction to Enterprise Application Development wth JEE](https://reader035.vdocuments.net/reader035/viewer/2022062512/55296c9d4a795968158b474f/html5/thumbnails/14.jpg)
HTTP Protocol
• Communication is done by sending packets.• The packet structure should be is defined by the
protocol.• Packets are request and response packet.• Older HTTP versions was stateless implies that
after one cycle of request-response the connection between the client and the web server is lost.
• HTTP 1.1 is not stateless.• Most common HTTP request methods: GET and
POST
![Page 15: 1 Introduction to Enterprise Application Development wth JEE](https://reader035.vdocuments.net/reader035/viewer/2022062512/55296c9d4a795968158b474f/html5/thumbnails/15.jpg)
HTTP Protocol
• Older HTTP versions were stateless meaning:– after one cycle of request-response the connection
between the client and the web server is lost.• HTTP 1.1 is not stateless.• Most common HTTP request methods: GET and
POST
![Page 16: 1 Introduction to Enterprise Application Development wth JEE](https://reader035.vdocuments.net/reader035/viewer/2022062512/55296c9d4a795968158b474f/html5/thumbnails/16.jpg)
Request
Response
Client
Web Server
HTTP and Statelessness
opening connection to the requested URL
closing connection to the requested URL
![Page 17: 1 Introduction to Enterprise Application Development wth JEE](https://reader035.vdocuments.net/reader035/viewer/2022062512/55296c9d4a795968158b474f/html5/thumbnails/17.jpg)
The GET request method
• Used for accessing static resources such as HTML pages or images.
• Example: requesting for a page www.yahoo.com
![Page 18: 1 Introduction to Enterprise Application Development wth JEE](https://reader035.vdocuments.net/reader035/viewer/2022062512/55296c9d4a795968158b474f/html5/thumbnails/18.jpg)
The GET request method
• Can also be used to retrieve information that is formed dynamically ( example: page generated by the application in a response to a specific user query).
• Form tag assumes GET method when method attribute is not specified.
• Example: www.mySite.com/index.do?city=Bangalore
![Page 19: 1 Introduction to Enterprise Application Development wth JEE](https://reader035.vdocuments.net/reader035/viewer/2022062512/55296c9d4a795968158b474f/html5/thumbnails/19.jpg)
A sample GET Packet
GET /mywebdir/index.do?city=Bangalore HTTP/1.1
Host:www.mySite.com
User-Agent:Mozilla/5.0…
Accept: text/xml,application/xml, text/html, image/gif
Accept-Language: en-us
Accept-Encoding: gzip, deflate
Keep-Alive: 300
Connection: keep-alive
Request Header
![Page 20: 1 Introduction to Enterprise Application Development wth JEE](https://reader035.vdocuments.net/reader035/viewer/2022062512/55296c9d4a795968158b474f/html5/thumbnails/20.jpg)
<html><head><title>Book list</title></head><body><h1>Locate Books</h1><form name=“findBook" method=“get" action="FindBook"> Title: <input name="title" type="text"><br><br> <input type="submit" name="Submit" value="Submit"></form></body></html>
Request goes to the application as:http://myWeb/FindBook?title=“Mastering%20EJB”
Query String
URL: Uniform Resource Locator
optional
![Page 21: 1 Introduction to Enterprise Application Development wth JEE](https://reader035.vdocuments.net/reader035/viewer/2022062512/55296c9d4a795968158b474f/html5/thumbnails/21.jpg)
The POST Request
• This method is used to send large amount of data to the server.
• It is commonly used for accessing dynamic resources.
• Data is sent within the body of the request.– If data such as password is transmitted, the
post method is preferred.
![Page 22: 1 Introduction to Enterprise Application Development wth JEE](https://reader035.vdocuments.net/reader035/viewer/2022062512/55296c9d4a795968158b474f/html5/thumbnails/22.jpg)
A sample POST Packet
POST /mywebdir/index.do HTTP/1.1
Host:www.mySite.com
User-Agent:Mozilla/5.0…
Accept: text/xml,application/xml, text/html, image/gif
Accept-Language: en-us
Accept-Encoding: gzip, deflate
Keep-Alive: 300
Connection: keep-alive
city=Bangalore&state=Karnataka
Request Header
Request Body
![Page 23: 1 Introduction to Enterprise Application Development wth JEE](https://reader035.vdocuments.net/reader035/viewer/2022062512/55296c9d4a795968158b474f/html5/thumbnails/23.jpg)
A sample response packet
HTTP/1.1 200 OKSet-Cookie:JSESSIONID=7277272818;Path=/xyzContent-Type: text/htmlContent-Length:230Date: Sun, 1 Apr 2007 13:45:30 GMTServer: Apache Server/1.1Connection:close
<html>…</html>
Response Header
Response Body
Status code which indicates successful request acceptance
![Page 24: 1 Introduction to Enterprise Application Development wth JEE](https://reader035.vdocuments.net/reader035/viewer/2022062512/55296c9d4a795968158b474f/html5/thumbnails/24.jpg)
Status codesStatus Code
Type Description
1XX Information Request received, continuing to process
2XX Success The was successfully received and accepted
3XX Redirection Further action must be in order to complete the request
4XX Client Error Request cannot be fulfilled because of error in client side
5XX Server Error Request cannot be fulfilled because of error in server side
![Page 25: 1 Introduction to Enterprise Application Development wth JEE](https://reader035.vdocuments.net/reader035/viewer/2022062512/55296c9d4a795968158b474f/html5/thumbnails/25.jpg)
Java Platform, Enterprise Edition
• JEE is a powerful collection of technologies that sit on top of Java2 Standard Edition (J2SE) environment.
• It provides cross-platform compatibility for both application and application server.
• The JEE architecture is managed by Sun Microsystems with the help and support of many active industry partners.
• JEE technology is used to build used to build enterprise application.
![Page 26: 1 Introduction to Enterprise Application Development wth JEE](https://reader035.vdocuments.net/reader035/viewer/2022062512/55296c9d4a795968158b474f/html5/thumbnails/26.jpg)
JEE technologies: Foundation
• Java Platform, Enterprise Edition 5
![Page 27: 1 Introduction to Enterprise Application Development wth JEE](https://reader035.vdocuments.net/reader035/viewer/2022062512/55296c9d4a795968158b474f/html5/thumbnails/27.jpg)
JEE technologies: Web Services Technologies
• Java API for XML-based Web Services (JAX-WS)
• Java API for XML-based RPC (JAX-RPC)• Java Architecture for XML Binding• SOAP with Attachments API for Java (SAAJ)• Streaming API for XML• Web Service Metadata for the Java Platform
![Page 28: 1 Introduction to Enterprise Application Development wth JEE](https://reader035.vdocuments.net/reader035/viewer/2022062512/55296c9d4a795968158b474f/html5/thumbnails/28.jpg)
JEE technologies: Web Application Technologies
• JavaServer Faces (JSF)• JavaServer Pages (JSP)• JavaServer Pages Standard Tag Library• Java Servlet
![Page 29: 1 Introduction to Enterprise Application Development wth JEE](https://reader035.vdocuments.net/reader035/viewer/2022062512/55296c9d4a795968158b474f/html5/thumbnails/29.jpg)
JEE technologies: Enterprise Application Technologies
• Common Annotations for the Java platform• Enterprise Java Beans (EJB)• J2EE Connector Architecture• JavaBeans Activation Framework (JAF)• JavaMail• Java Message Service API• Java Persistence API• Java Transaction API (JTA)
![Page 30: 1 Introduction to Enterprise Application Development wth JEE](https://reader035.vdocuments.net/reader035/viewer/2022062512/55296c9d4a795968158b474f/html5/thumbnails/30.jpg)
JEE technologies: Management and Security Technologies
• J2EE Application Deployment• J2EE Management• Java Authorisation Contract for Containers
![Page 31: 1 Introduction to Enterprise Application Development wth JEE](https://reader035.vdocuments.net/reader035/viewer/2022062512/55296c9d4a795968158b474f/html5/thumbnails/31.jpg)
J2EE ArchitectureOur Focus !
![Page 32: 1 Introduction to Enterprise Application Development wth JEE](https://reader035.vdocuments.net/reader035/viewer/2022062512/55296c9d4a795968158b474f/html5/thumbnails/32.jpg)
Advantages of JEE
• Helps in creating applications that meet the needs of modern enterprises (we looked at this earlier)
• Simple to develop application Easy to communication with the server Declarative security, transaction
• Application server independence Application developed can be deployed in application
servers developed by different vendors Flexible security model
Authentication system defined by OS or application can be used based on the requirement
![Page 33: 1 Introduction to Enterprise Application Development wth JEE](https://reader035.vdocuments.net/reader035/viewer/2022062512/55296c9d4a795968158b474f/html5/thumbnails/33.jpg)
Java web applications
• Java web applications are made up of JavaServer Pages (JSPs), Servlets and static resources such as HTML pages, images etc
• The Web container is used to host these web components
![Page 34: 1 Introduction to Enterprise Application Development wth JEE](https://reader035.vdocuments.net/reader035/viewer/2022062512/55296c9d4a795968158b474f/html5/thumbnails/34.jpg)
Java web applications
• Enterprise Java applications have EJBs as well• The EJB container is used to host EJBs.• Web Server + Web container + EJB container =
Enterprise Application Server