Upload
trista
View
43
Download
1
Tags:
Embed Size (px)
DESCRIPTION
Assignment of JAVA. Email id : [email protected] BSSE-F10-M-10-JAVA1. Lecture 5. Technologies of J2EE By Mr. Muhammad Shehzad. Review. Traditional enterprise application providers have changed over from 2-tier, client-server application models to three-tier application models. - PowerPoint PPT Presentation
Citation preview
Assignment of JAVA Email id : [email protected] BSSE-F10-M-10-JAVA1
Overview of J2EE/Session 2/Slide 1 of 38
Lecture 5
Technologies of J2EEBy Mr. Muhammad Shehzad
Overview of J2EE/Session 2/Slide 3 of 38
Review Traditional enterprise application providers have changed
over from 2-tier, client-server application models to three-tier application models.
The rapid development of this new model was fuelled by the introduction of various middleware services.
A developer is usually faced with a range of problems while developing an enterprise-wide application.
The different problem domains include:• Programming productivity• Response to demand• Integration with existing systems• Freedom to choose• Maintaining security
The mission of J2EE is to provide a platform-independent, portable, multi-user, secure and standard enterprise-class platform for server-side deployments written in the Java language.
Overview of J2EE/Session 2/Slide 4 of 38
Review Contd… The J2EE specifications include those to:
• Design the enterprise application• Distribute Roles to people involved in developing
the software (Project/Product) i.e. J2EE specifies the rules of engagement that people must agree on when writing enterprise software
• Bundle the files to the clientProgramming productivity
• Standardize the technologies that could be used in J2EE
• Standardize the interaction between the different technologies
Overview of J2EE/Session 2/Slide 5 of 38
Review Contd… The various J2EE components include:
• Application components• Containers• Resource manager drivers• Databases
The J2EE platform communicates with the outside world in different ways. These ways, known as contracts, are well defined, and separated into:
• APIs• Network protocols• Deployment descriptors
One of the most important concepts in J2EE is a platform role. The J2EE standard provides separation between different roles, so that different players in the market can specialize in their role. These roles include:
• J2EE Product Provider• Application Component Provider
Overview of J2EE/Session 2/Slide 6 of 38
Review Contd… One of the most important concepts in J2EE is a platform role.
The J2EE standard provides separation between different roles, so that different players in the market can specialize in their role. These roles include:
• J2EE Product Provider• Application Component Provider• Application Assembler• Deployer• System Administrator• Tool Provider
The J2EE Platform provides several benefits such as:• Simplified architecture and development• Integrating existing enterprise information systems• Scaling• Security
Overview of J2EE/Session 2/Slide 7 of 38
The Objectives… Describe the various technologies
involved in J2EE Explain the component technologies Discuss the service technologies Describe the communication
technologies
Overview of J2EE/Session 2/Slide 8 of 38
J2EE Technologies categories
Java Applets
and Applications
HTML
XML
Client-side Technology
EJBServlets
JSP
Component Technologies
Service Technologies
JDBCJNDI
Java Transaction
API
CommunicationTechnologies
Internet
Protocols
RMIJMS
JavaMail
Overview of J2EE/Session 2/Slide 9 of 38
Overview of J2EE/Session 2/Slide 10 of 38
Component Technologies
Servlets JSPEJBJavaBeans
Overview of J2EE/Session 2/Slide 11 of 38
Servlets
Server-side programs No interface Form basic building blocks of
web applications Provide the means to extend
and enhance web servers Can be used to generate
dynamic content
Server
Client
Servlet
Applet
Overview of J2EE/Session 2/Slide 12 of 38
JSP (Java Server Pages) Extension of servlet
technology Created to support authoring
of HTML and XML pages Easier than servlets to
combine static data with dynamic content
More suited for separating application logic from presentation logic
Server
ClientJSP
WebServer Servlet invoked
JSP Compiled by web server
Result Returned
Overview of J2EE/Session 2/Slide 13 of 38
Enterprise JavaBeans Used to develop
business logic Allow separation of
app logic from system level services
To use services provided by J2EE, business components are implemented by EJB components/Enterprise beans
Server
Middle Tier
Client
---------------
---------------
System level services
Applicationlogic
Overview of J2EE/Session 2/Slide 14 of 38
Enterprise BeansSession Beans Entity Beans
Used exclusively by clients that created them
Stateful Stateless
Client
Does the tasks
Bean destroyed
Exists as long as session exists
Client
Does the tasks
Bean exists
Persists only as long as request is being processed
Data
ClientClient
Client
Bean
• Wrapper for data easing access to
data
• Instance of bean can be shared by multiple
clients
Overview of J2EE/Session 2/Slide 15 of 38
Service Technologies
Generally, containers take care of required J2EE services for components
Developer focuses on business logic
Sometimes services may need to be explicitly called
Developer
Components
Develops
SERVICES
Overview of J2EE/Session 2/Slide 16 of 38
Java Transaction API & Service
TransactionManager
Java Transaction API
ResourceManager
ApplicationServer
TransactionalApplications
Components of Distributed Transaction System
Java Transaction Service specifies the implementation of the Transaction ManagerMost important component in a
transaction processing environmentCreates transactions requested by components, and performs 2-phase commit recovery protocol with Resource Managers
Overview of J2EE/Session 2/Slide 17 of 38
Transactions
Group of operations performed on data
Records
Database
TRANSACTION
-----------------------------
tomic
onsistentsolated
urable
Overview of J2EE/Session 2/Slide 18 of 38
Request sent to Transaction Manager to initiate transaction
Transaction Manager starts transaction & associates it with thread that initiated the process
Transaction Manager creates transactional context -which is shared by all relevant components & threads
Thread issues commit or rollback request
Transact
ion
Begins
Transact
ion
Ends
Overview of J2EE/Session 2/Slide 19 of 38
Component
Service
Communication Technologies
Communication Technologies
Overview of J2EE/Session 2/Slide 20 of 38
Internet Protocols
Client
ServerSendsrequest
Resultssent
Request processed
Web-based, distributed, enterprise applications scenario
Overview of J2EE/Session 2/Slide 21 of 38
HTTP Set of rules for exchanging files on the
World Wide Web
Overview of J2EE/Session 2/Slide 22 of 38
Internet
TCP/IP
TCP breaks up data into packets
TCP assembles packets after checking for errors, missed packets etc.
IP picks up packets, and ensures that they reach destination.TCP tracks the packets
Overview of J2EE/Session 2/Slide 23 of 38
SSL
Data
Encrypted Data
SSL
Encrypted data transmitted
Overview of J2EE/Session 2/Slide 24 of 38
Java Mail
JavaMailJavaMail
Used to exchange messages between users Supports SMTP, POP, IMAP4 Slower than JMS
Overview of J2EE/Session 2/Slide 25 of 38
XML
Internet
XML
XML
For distributing structured information over the Internet
Data interchange format in web- based applications--
Overview of J2EE/Session 2/Slide 26 of 38
The Power of XML
---------------------
XML
Appropriate presentationstyle applied
Same data can be presented in a variety of ways, to a variety of devices
SQL ServerDatabase
OracleDatabase
XML XML
Changes are updated to2 different databases
Overview of J2EE/Session 2/Slide 27 of 38
HTML XML
------------
Fixed predefined tags Tags defined by developer------------Handles content &
presentation
Browser interprets HTML code
CSSCan be optionally used to take care of presentation
Handles ONLY content XSL/CSS
Transforms XML by applying styles to it
Overview of J2EE/Session 2/Slide 28 of 38
J2EE Technologies
Client-SideComponent
TechnologiesService
Technologies
Commun
icatio
n
Techno
logies
ServletsJSP
JavaBeansEJB
Session
Beans Entity
Beans
JDBC
Java Transaction
API & Servi
ceJNDI
Internet
ProtocolsOther
Protocols
HTTPTCP/IP SSL
RMI JMSJavaMail
Overview of J2EE/Session 2/Slide 29 of 38
Summary The J2EE technologies can be broadly
classified into four different categories: Client-side technologies Component technologies Service technologies Communication technologies
Component technologies include: Servlets Java Server Pages Enterprise JavaBeans
Session Beans Entity Beans
Overview of J2EE/Session 2/Slide 30 of 38
Summary Service Technologies include:
Java Database Connectivity Java Transaction API and Service Java Naming and Directory Interface
Transaction - A transaction is a group of operations that are carried out as a single unit on records stored in a database. The group must have a set of characteristics in order to be considered as transactional.
ACID properties include Atomic Consistent Isolated Durable
Overview of J2EE/Session 2/Slide 31 of 38
Summary Contd... The Java Naming and Directory Interface, JNDI
in short, is a naming service. A naming service associates a name with an
object, so that clients can locate the object using the specified name.
A directory service on the other hand, allows attributes as well as names to be associated with objects.
Internet Protocols include: HTTP TCP/IP SSL
Overview of J2EE/Session 2/Slide 32 of 38
Summary Contd... Remote Object Protocols include:
RMI and RMI-IIOP Java IDL JMS JavaMail
XML or Extensible Markup Language is the most popular tool to distribute structured information over the Internet.
XML is used for structured information management.
XML can also be used to create customized views of data .
XML documents come in two flavors – well formed and valid.
J2EE deployment descriptors are written in XML based on predefined DTDs