Other technologies and products related to J2EE

Download Report

Transcript Other technologies and products related to J2EE

Other technologies and products
related to J2EE
(The final exam will not cover this part)
Application server

An application server, in an n-tier architecture, is a server
that hosts an API to expose business logic and business
processes for use by third-party applications

Three-tier architecture is a popular n-tier architecture (clientserver architecture) in which the user interface, functional
process logic ("business rules"), computer data storage and
data access are developed and maintained as independent
modules, most often on separate platforms.
Application Server


Following the success of the Java Platform, the term
application server sometimes refers to a J2EE application
server.
Among the better known Java Enterprise Edition
application servers are



WebLogic Server (BEA)
JBoss (Red Hat)
WebSphere Application Server and WebSphere Application
Server Community Edition (IBM)
JBOSS

JBoss is a Java Application Server



An software tool that provides an execution environment for
Java 2 Enterprise Edition (J2EE) component based services.
J2EE components incorporate several differing technologies
such as Java Servlets, Java Server Pages (JSP), XML and
Enterprise Java Beans (EJB).
Java Application Servers provide the supporting framework for
these J2EE components, supplying much of the low-level
prosaic services such as security, scalability, protocol support.
JBOSS vs Tomcat

If you are doing JSP/Servlet programming, Tomcat is all
you need.

If you want to do EJB/JMS programming along with other j2ee
functionalities, you may choose JBOSS


JBOSS is a full J2EE server
Actually, JBOSS has an embedded Tomcat too, so you can run your
JSP/Servlet without modification in JBOSS
Enterprise JavaBeans



Server side re-usable components that enable rapid application
development
Factor out common services from application development
 Distribution and remote invocation (interface with other
services)
 Transaction management (one unit of work)
 Thread management
 Persistence (related to database)
 Security (JAAS)
 Scalability
You can just concentrate on application code!
Difference between JavaBean and
Enterprise JavaBean


Enterprise JavaBean is a standard server-side component
model for distributed business applications
JavaBean is intra-process component
where as EJB is an Inter-Process component
The three types of Beans

Session Beans




Entity Beans

Represent persistent components in the business model (database

Students, employees, documents, etc.
Shared between clients, but access is synchronized


Provide synchronous (request-response conversation) client access to
business services
Can be stateless (shared) or stateful (one per client)
Have NO persistent state
tables and columns)
Message Driven Beans (not efficient for real-time)



Provide asynchronous access to business services (a queue)
Invoked by messages instead of distributed method call
Clients do not interact directly with them
Web Services
“Web services” is an effort to build a distributed
computing platform for the Web.
Yet another one!
Livermore July 25 2001
Web Services

The basic Web services platform is XML + HTTP.



The HTTP protocol is the most used Internet protocol.
XML provides a language which can be used between different
platforms and programming languages and still express
complex messages and functions.
Web services platform elements:




SOAP (Simple Object Access Protocol)
UDDI (Universal Description, Discovery and Integration)
WSDL (Web Services Description Language)
RESTful (Representational State Transfer)
Web Services

What is SOAP?






SOAP is a simple XML-based protocol to let applications
exchange information over HTTP.
Or more simple: SOAP is a protocol for accessing a Web
Service.
SOAP stands for Simple Object Access Protocol
SOAP is a communication protocol
SOAP is a format for sending messages
SOAP is designed to communicate via Internet
Web Services

What is WSDL?






WSDL is an XML-based language for describing Web services
and how to access them.
WSDL stands for Web Services Description Language
WSDL is based on XML
WSDL is used to describe Web services
WSDL is also used to locate Web services
WSDL is a W3C standard
Web Services

What is UDDI?




UDDI is a directory service where businesses can register and
search for Web services.
UDDI stands for Universal Description, Discovery and
Integration
UDDI is a directory for storing information about web
services
UDDI is a directory of web service interfaces described by
WSDL
Web Services

What is REST Web service?




Use HTTP methods explicitly.
Be stateless.
Expose directory structure-like URIs.
Transfer XML, JavaScript Object Notation (JSON), or both.
Apache Axis 2


The Apache Axis2 project is a Java-based implementation
of both the client and server sides of the Web services
equation.
Apache Axis2 provides a complete object model and a
modular architecture that makes it easy to add
functionality and support for new Web services-related
specifications and recommendations.
Apache Axis 2

Axis2 enables you to easily perform the following tasks:







Send SOAP messages
Receive and process SOAP messages
Create a Web service out of a plain Java class
Create implementation classes for both the server and client
using WSDL
Easily retrieve the WSDL for a service
Send and receive SOAP messages with attachments
Create or utilize a REST-based Web service
Apache Axis 2
To understand Axis2 and what it does, you must have a good idea of the life cycle of a
Web services message. Typically, it looks something like this:
Make web application testing automatic



Automation is very important when it comes about
testing.
Creating or recording a bunch of automated tests that
can be performed again and again gives the confidence
that what was working before is still working after the
code was changed.
Without automation somebody should stay and test
everything manually after each code change. And with the
next code change all the work will be lost which is very
frustrating.
Make web application testing automatic
One of the ways of doing automation is by recording GUI
activities which can be played at a later point in time.
 AutoIt can help with automatic web application testing
http://www.autoitscript.com/site/autoit/

Spring Framework


The Spring Framework is a popular open source
application framework that can make J2EE development
easier.
It consists of a container, a framework for managing
components, and a set of snap-in services for web user
interfaces, transactions, and persistence.
Hibernate



Hibernate is a powerful, high performance
object/relational persistence and query service.
Hibernate lets you develop persistent classes following
object-oriented idiom - including association, inheritance,
polymorphism, composition, and collections.
Hibernate allows you to express queries in its own
portable SQL extension (HQL), as well as in native SQL,
or with an object-oriented Criteria and Example API.