The Glassfish Application Server - PowerPoint PPT Presentation

1 / 20
About This Presentation
Title:

The Glassfish Application Server

Description:

The Glassfish Application Server Carlton Northern CS775 4/22/08 Overview Introduction Application Servers 101 Web Application Demo Glassfish Features Netbeans and ... – PowerPoint PPT presentation

Number of Views:289
Avg rating:3.0/5.0
Slides: 21
Provided by: CarlNo1
Category:

less

Transcript and Presenter's Notes

Title: The Glassfish Application Server


1
The Glassfish Application Server
  • Carlton Northern
  • CS775
  • 4/22/08

2
Overview
  • Introduction
  • Application Servers 101
  • Web Application Demo
  • Glassfish Features
  • Netbeans and Glassfish Integration Demo
  • Glassfish Web GUI Administration Demo
  • Questions
  • References

3
Introduction
  • Glassfish is an open-source, Java Enterprise
    Edition (EE) compliant application server.
  • The Sun Java System Application Server is Suns
    commercial offering of Glassfish.
  • Glassfish V1 is the reference implementation of
    J2EE 1.4.
  • Glassfish V2 is the reference implementation of
    Java EE 5 (in other words J2EE 1.5).
  • But what is an application server?

4
Application Servers 101
  • Application servers deliver applications to
    client-computers through HTTP.
  • They differ from web servers in their extensive
    use of server-side dynamic content and
    integration with databases.
  • Typically, application servers perform the
    business logic and data access for web
    applications.
  • Example Apache Tomcat, JBOSS

5
Three-Tier Architecture
  • http//en.wikipedia.org/wiki/ImageOverview_of_a_t
    hree-tier_application.png

6
Why Use an Application Server?
  • Question Web servers can perform all the
    functionality of a an application server through
    extensions like Apache Axis, so why are
    application servers necessary?
  • Answer Application servers provide the necessary
    abstraction and decoupling from web servers to
    allow for greater interoperability and
    portability.
  • App servers have standard ways to communicate to
    web servers, called servlets.
  • App servers use containers to deploy applications.

7
Web App Deployment Demo
  • http//localhost8080/LastFlickrGWT/

8
Glassfish Features
  • Support for
  • Java EE
  • Ruby on Rails
  • PHP
  • AJAX
  • Metro (a web services stack)
  • CORBA
  • Many many different frameworks
  • Multiple levels of use.
  • Clustering
  • Grouping
  • Load-Balancing
  • Data Replication
  • Complete Web GUI Administration
  • Integration with NetBeans and Eclipse

9
Metro Web Services Stack
10
Web Services Interoperability Technologies (WSIT)
11
Multiple Level Use
  • Glassfish separates functionality so that the
    user only uses what is needed.
  • Each profile builds upon the functionality of the
    previous.
  • Developer profile used for development of
    applications.
  • Enterprise profile used for deployment and high
    availability of applications without cluster
    support.
  • Cluster profile used for clustering support.

12
Clustering
  • Glassfish allows for the clustering of
    application server instances.
  • Instances can be on the same or different
    machines.
  • A cluster provides a runtime environment in which
    one or more Java EE applications can be run.
  • Clusters provide high availability by using
    failover and load-balancing.
  • Server instances can be added to a cluster, even
    while the application is running making
    clustering extremely scalable.

13
High Availability
  • The High Availability feature in Glassfish
    provides 99.999 availability for applications.
  • High Availability is offered through
  • High Availability Session Persistence
  • High Availability Message Service
  • RMI-IIOP Load-Balancing and Failover

14
High Availability Session Persistence
  • Provides high availability of HTTP requests and
    session data.
  • Useful for mission critical web applications like
    shopping carts.
  • Provides this through
  • In-memory replication of state data on other
    servers in the cluster
  • Using High Availability Database (HADB) (outside
    of scope of this presentation)

15
In-memory Replication of Session Data
  • Replicates HTTP session data and stateful session
    beans (SFSBs) in the memory of server instances
    on other machines.
  • Allows for preserving the state of an application
    over server failures.
  • This requires the Group Management Service (GMS)
  • GMS allows for notification of failures in a
    group and can take action.

16
High Availability Java Message Service (JMS)
  • JMS is an API that allow Java EE applications to
    create, send, receive and read messages.
  • JMS allows message delivery semantics like once
    and only once delivery and also message ordering.
  • JMS is made highly available through connection
    pooling, failover and clustering.
  • Connection pooling is the act of caching
    frequently used connections to a service rather
    than discarding them after each use.
  • JMS instances are clustered in a peer-to-peer
    relationship utilizing a common data store
    (HADB).
  • These clusters utilize GMS and therefore can take
    advantage of failover.

17
Netbeans Glassfish Integration
  • Demonstration in Netbeans

18
Web GUI Administration Demo
  • http//localhost4848/

19
Questions
  • QA

20
References
  • http//docs.sun.com/app/docs/coll/1343.5
  • http//en.wikipedia.org/wiki/Three-tier_(computing
    )
  • https//glassfish.dev.java.net/
  • http//www.netbeans.org/
Write a Comment
User Comments (0)
About PowerShow.com