Open Source Java Frameworks

AMΛογισμικό & κατασκευή λογ/κού

12 Δεκ 2011 (πριν από 5 χρόνια και 11 μήνες)

905 εμφανίσεις

This document describes HP support for specific
open source Java frameworks to enable development
of enterprise Java applications for the Integrity
NonStop platform.
Until recently, enterprise Java application developers
needed to master several Java EE technologies,
including Enterprise Java Bean (EJB) technology.
However, many Java developers consider EJB
technology to be complex, with a steep learning
curve and difficult to work with, and hence, avoid
this technology in their implementations.
In recent years, the open source community, partly
to overcome the complexity associated with EJB
technology, has developed many Java frameworks
that substantially simplify the task of developing
enterprise Java applications. These open source
frameworks have been widely adopted by Java
developers and, in many cases, have become the
de facto technology for developing enterprise Java
applications, largely replacing EJB technology.
In order to provide this open source framework-based
environment to developers wishing to develop
enterprise Java applications for HP Integrity NonStop
servers, HP is providing support for specific open
source frameworks. The supported frameworks are:
Spring framework from SpringSource: •
Additional details on Spring can be found at
www.springsource.org
Hibernate framework from Red Hat: •
Additional details on Hibernate can be found at
www.hibernate.org
Axis2 framework from Apache Software Foundation: •
Additional details on Axis2 can be found at
ws.apache.org/axis2
MyFaces framework from Apache Software Foundation: •
Additional details on MyFaces can be found at
myfaces.apache.org
Spring framework
The Spring framework promotes the development of
enterprise Java applications using loosely coupled
Java objects known as POJOs or Plain Old Java
Objects. POJO objects are so named because these
objects do not implement any framework-specific
interface, but instead implement application-specific
logic. The rich set of functionality embedded in the
Spring framework provides capabilities that help:
Enable loose coupling of POJO objects using a •
technique known as Dependency Injection (DI). Using
DI, an object can be “wired” to its dependent objects
by means of configuration settings without having the
object be hardwired to its dependent objects.
Enable modularization of code dealing with cross •
cutting concerns using a technique known as Aspect
Oriented Programming.
Provide abstractions for various database access •
technologies such as Java Database Connectivity
(JDBC), Hibernate, iBatis, and so on, making the usage
of these data access technologies simpler and less
error-prone. These abstractions also make it possible to
replace an application’s Data Access Objects (DAO)
that uses—say, JDBC with DAO objects that uses
Hibernate without impacting the rest of the application.
Provide support for both programmatic and •
declarative transaction demarcation.
Provide Model-View-Controller framework to support •
development of presentation services.
Provide remote access support with which Spring •
Beans (POJO) can be easily accessed by remote
applications and also enable Spring Beans to easily
access remote applications.
Spring version 2.5.5 has been tested with and is
supported on Integrity NonStop servers. This version
can be obtained by downloading the file spring
framework 2.5.5-with-dependencies.zip from
www.springsource.com/products/spring-community-
download
Open Source Java Frameworks
Data sheet
Hibernate framework
Hibernate is an Object/Relational Mapping (ORM)
framework that simplifies the development of JDBC
application code dealing with database interactions.
It also provides greater application portability across
many relational databases. Hibernate provides its
own query facilities and application programming
interfaces (APIs) to generate the SQL calls necessary
for object persistence, data retrieval, and other create,
read, update, and delete database operations.
Hibernate version 3.2.6 has been tested with, and
is supported on, Integrity NonStop servers. This
version can be can be obtained by downloading
the file hibernate-3.2.6.ga.zip from
www.hibernate.org/6.html
Axis2 framework
Apache Axis2 is a Web services framework that
provides a Web service interface to an application.
This Web service can then be accessed either as a
SOAP service or as a RESTful service. Apache Axis2
is well integrated with Spring.
Axis2 version 1.4.1 has been tested with, and
is supported on, Integrity NonStop servers. This
version can be obtained by downloading the file
axis2-1.4.1-bin.zip from
ws.apache.org/axis2/download/1_4_1/download.cgi
MyFaces framework
Apache MyFaces is a server-side, component-based,
user interface framework for Web applications.
MyFaces implements the JavaServer Faces specification,
which is now part of the latest Java EE 5.0 specification.
MyFaces version 1.2.5 has been tested with, and
is supported on, Integrity NonStop servers. This
version can be obtained by downloading the file
myfaces-core-1.2.5-bin.zip from
archive.apache.org/dist/myfaces/binaries/
Collectively, these four frameworks provide support
for all the architectural layers—presentation service
layer, Web services layer, business service layer, and
persistence service layer of an enterprise application.
Specifically:
Spring framework supports the presentation service •
layer, Web services layer, and business service
layer, and provides abstractions for the persistence
service layer.
Hibernate framework supports the persistence •
service layer.
Apache Axis2 framework supports the Web •
services layer.
MyFaces framework supports the presentation •
service layer.
In addition, each of the four frameworks has a strong
open source community as a result of the framework’s
broad adoption within the Java development community.
Key benefits
Simpler programming model
You can develop your business logic using the Spring
framework by implementing your business objects
as POJOs, which are not required to implement any
Spring-specific interfaces. Similarly, application domain
objects that need to be persisted to a relational
database, such as NonStop SQL/MX, can be persisted
using Hibernate without requiring the domain objects
to implement any Hibernate specific interfaces. In
other words, your application domain objects can be
implemented as POJO objects too. The fact that your
application objects can be implemented as POJO
objects greatly simplifies application development.
There is another benefit to implementing application
objects as POJOs. Because POJO objects do not
require any specialized container (such as an EJB
container) for their runtime, these objects can be
functionally tested on a Java SE platform, without
requiring time-consuming setup operations that are
required for testing EJB components with Java EE
application servers. This greatly simplifies the task
of testing POJO objects and improves test coverage
and productivity.
Finally, the frameworks themselves embed many
good object-oriented design patterns and provide
a consistent structure to the applications that use the
frameworks. For example, Spring’s JDBC abstractions
or Hibernate’s query facilities help developers avoid
tricky, and often error-prone, boiler plate JDBC code.
This leads to better quality implementation and easier
application maintainability.
Open and standards-based
The fact that these frameworks are open source
implementations guarantees you freedom from vendor
lock-in. Second, the fact that application objects are
POJOs means that you can switch to another framework,
or choose not to use a framework, relatively easily.
2
Please note that the frameworks themselves are not distributed by HP. You can download the frameworks by following the URLs below:
Finally, framework-based applications are container
agnostic—that is, these applications can run on a
light-weight Web container like Tomcat, or run on a
full-fledged Java EE application server like WebLogic
Server. This allows you to choose a deployment server
that is best suited for the server platform.
The frameworks are also standards-based.
For example:
Apache MyFaces implements the JavaServer Faces •
API specification, now a standard in the latest Java
EE specification.
Apache Axis2 implements many of the Web services •
standards formalized by the W3C organization.
Hibernate implements the Java Persistence API (JPA), •
the standard persistence API in Java EE.
Differentiated deployment
On Integrity NonStop platforms, framework-based
applications can be deployed as Web applications
on NonStop Servlets for JavaServer Pages (NSJSP),
which is a value-added port of the widely adopted
Apache Tomcat server.
NSJSP provides an excellent runtime environment on
Integrity NonStop servers by leveraging NonStop
TS/MP software to provide scalability and fault
tolerance. It does so while maintaining API level
compatibility with the Tomcat Servlet container.
As a result, NSJSP provides a standard execution
environment for your framework-based applications
while, at the same time, it provides a scalable and
fault-tolerant runtime infrastructure for your applications.
In addition, other NonStop software products, like
iTP Web Server software and the NonStop SQL/MX
database software, that are involved in servicing work
requests provide a standards-based, scalable, and
fault-tolerant environment.
In summary, the end-to-end path required to service
a work request, from iTP Web Server in the front-end
to NonStop SQL/MX in the backend, is provided
by NonStop software components that are highly
scalable and available.
HP deliverables
Sample applications
Several sample applications are provided, which
illustrate how to:
Integrate NonStop TMF software with Spring’s •
transaction management facilities
Integrate Hibernate’s persistence framework with a •
Spring application
Use Java Persistence API (JPA) with a Spring application•
Expose a Spring Bean as a Web Service with •
Apache Axis2
Integrate Apache MyFaces with Spring•
To obtain the sample applications:
Log on to NonStop eServices Portal•
Go to Scout for NonStop •
Look for T0874—this T-number product contains the •
sample applications
Download the file•
Hibernate dialect class for NonStop SQL/MX
Hibernate uses this dialect class to generate
SQL statements optimized for NonStop SQL/MX
database. This Java class must be set as the value
of the Hibernate.dialect property while configuring
Hibernate for use with NonStop SQL/MX database.
To obtain the Hibernate dialect class:
Log on to NonStop eServices Portal•
Go to Scout for NonStop•
Look for T0873—this T-number product contains the •
Hibernate dialect class for NonStop SQL/MX
Download the file•
Documentation
A manual titled “Open Source Java Frameworks
on NonStop User’s Guide” is available at
docs.hp.com under NonStop Technical Library.
For each of the frameworks, the manual discusses
installation, configuration, and how to get started
with the framework using a sample application.
Framework File to download URL
Spring 2.5.5 spring-framework 2.5.5-with-dependencies.zip www.springsource.com/download/community?project=Spring%20Framework
Hibernate 3.2.6 hibernate-3.2.6.ga.zip www.hibernate.org/6.html
Axis2 1.4.1 axis2-1.4.1-bin.zip http://ws.apache.org/axis2/download/1_4_1/download.cgi
MyFaces 1.2.5 myfaces-core-1.2.5-bin.zip http://archive.apache.org/dist/myfaces/binaries/
3
Get connected
www.hp.com/go/getconnected
Current HP drivers, support & security alerts
delivered directly to your desktop
Prerequisite software
NonStop Server for Java 5.0 or later•
NonStop Servlets for JSP 6.0 or later•
H-series OS version H06.15 or later; J-series OS •
version H06.04 or later
For more information
For more information about Open Source Java
Frameworks visit:
www.springsource.org for additional information on
Spring framework
www.hibernate.org for additional information on
Hibernate framework
ws.apache.org/axis2 for additional information on
Axis2 framework
myfaces.apache.org for additional information on
MyFaces framework
HP Financial Services
HP Financial Services provides innovative financing
and financial asset management programs to help you
cost-effectively acquire and manage your HP solutions.
For more information on these services, contact your
HP sales representative or visit
www.hp.com/go/hpfinancialservices
Technology for better business outcomes
To learn more, visit www.hp.com/services/nonstop
© Copyright 2009 Hewlett-Packard Development Company, L.P. The information contained herein is subject to
change without notice. The only warranties for HP products and services are set forth in the express warranty
statements accompanying such products and services. Nothing herein should be construed as constituting an
additional warranty. HP shall not be liable for technical or editorial errors or omissions contained herein.
4AA2-8792ENW, August 2009
HP Services
Keep your IT organization competitive and ready to
evolve as your business needs change. HP Services
are designed to lower your IT costs, increase
availability, and reduce the complexity of multi-vendor
services and system implementation.
Run your business smoothly as your IT adapts
to changing business needs. The convenient
pre-packaged HP Care Pack Service options and
custom support solutions cover the entire IT solution
lifecycle, to help you design, deploy, integrate,
and manage an agile infrastructure.
www.hp.com/support/services
Your environments will achieve the high levels of
availability that your users demand when you
utilize HP Mission Critical and Proactive Services.
www.hp.com/services/missioncritical
Manage, optimize, reduce costs, and streamline
management of your storage environments with the
HP Storage Services Portfolio.
www.hp.com/services/storage
Transform your data center with HP data center
services that help you design and build an
energy-efficient data center that will meet your
needs today and tomorrow.
www.hp.com/services/datacenter
Capitalize on your IT environment capabilities with
a partner who understands server, storage, and
network technology in a multi-vendor environment.
www.hp.com/services