SlideShare une entreprise Scribd logo
1  sur  39
Télécharger pour lire hors ligne
GlassFish Application Server



         An Introduction
               By
         Jumping Bean
            21 May 2012
Who Am I?
●   Mark Clarke – Java Developer
●   Working for Jumping Bean, an open source
    solutions integration company
●   Working with Java & open source
    technologies since 2001
●   Co-founder of Jozi JUG
Jozi JUG
Jozi JUG
●   Meet once a month in Johannesburg,
●   Talk
●   Beer
●   Pizza
●   All FREE!
●   Where to find us?
       –    Meetup
       –    Facebook
       –    Web Site
GlassFish History
●   6 June 2005 – Glassfish launched by SUN
       –   based on Sun Java System Application
            Server PE 9
       –   TopLink persistence code donated by Oracle.
●   4 May 2006 – Version 1 JEE 5 RI - aimed at
    developers
●   17 Sep 2007 – Version 2 Clustering, MS
    interop web services. Aimed at enterprise
GlassFish History
●   10 Dec 2009 – Version 3 Java EE6 RI.
    Introduced OSGI, fast startup & redeploy on
    change.
       –   New architecture,
Recent Releases
●   Version 3.1 shipped Feb 28th 2011
       –   ssh-based provisioning, centralised admin,
             clustering & load balancing (reintroduced)
●   Version 3.1.1 shipped Jul 2011
       –   Bug fix release
●   Version 3.1.2 shipped Feb 2012
       –   – bug fixes, new admin console features, new
             thread pool properties, transaction recovery
             from database
Future Releases
●   Version 4.0 – Java EE7 – PaaS
       –   Some hints in V3
GlassFish Versions
●   Oracle Glassfish Server
       –   Oracle supported version,
       –   Based on Open Source Edition + some closed
            source bits,
       –   Similar to SUN's Glassfish Enterprise Server


●   Glassfish Open Source Edition
       –   GPL or CDDL
       –   Community Supported
GlassFish Versions
   * from blogs.oracle.com
GlassFish Versions
●   Certified interoperability with Oracle Fusion
    Middleware products:
        –   Oracle Internet Directory,
        –   Oracle Virtual Directory,
        –   Oracle, WebLogic Server,
        –   Oracle Access Manager
●   Includes Oracle GlassFish Server Control for
    improved manageability and performance of
    production deployments
GlassFish Adoption




* from maps.glassfish,org/server
GlassFish Adoption




* from maps.glassfish,org/server
GlassFish Adoption
●   World wide - 23,257,762 active users,
●   South Africa –           268,449 active users.




        * from maps.glassfish,org/server
Installing GlassFish
●   Zip package
        –   No configuration wizard
        –   Update tool must be installed manually
        –   Manual uninstall
●   Self-extracting bundle
        –   GUI installer, installer can be used to perform
             configuration after installation,
        –   Can do silent mode installs, useful for scripting
        –   Option to install Update Tool,
        –   Uninstaller provided
Installing/Upgrading GlassFish
●   Update tool
       –   Used to update server components,
       –   Install additional functionality
       –   Graphical & command line (pkg)
       –   In place upgrades
Why GlassFish?
●   Easy to administer with GUI,
●   Cluster wide management and deployment,
●   Load balancing,
●   Centralised administration,
●   Support for the latest web services specs +
    interoperability with Microsoft WCF,
Why GlassFish?
●   Developer productivity,
●   Modular architecture
        –   Extensible
        –   Embeddable
●   Support for multiple languages
●   In place upgrade.
●   Built-in, fine-grained, monitoring
Developer Productivity
●   Fast startup times
●   User friendly Admin console interface,
●   Excellent tooling
        –   Netbeans,
                 ●   Compile on Save
                 ●   Deploy on Change
        –   Eclipse,
        –   Maven support,
        –   IntelliJ,
●   Scriptable via command line interface
Developer Productivity
●   Session retention on redeploy
GlassFish Architecture
●   Kernel
        –   hundred kilobyte kernel
        –   Startup/shutdown sequence
        –   Basic service deployment
        –   Reading config
●   Services cross container functionality
        –   Security, JNDI
        –   Admin Console
GlassFish Architecture
●   Container - Handle user applications
             ●   E.G. Web container, EJB container
GlassFish Sub-Projects
●   HK2 Kernel
       –   hundred kilobyte kernel
●   Grizzly
       –   NIO based network listeners/connectors http
●   OSGi
       –   Used for module system, swappable Apache
            Felix or Knoperfish
●   Tomcat – (modified) for servlet container
GlassFish Architecture
●   Jersey – Provides REST Web Service
    functionality
●   Metro – Web service stack, SOAP etc
●   Shoal – Clustering framework
●   Majorra – JSF
●   OpenMQ – Message Service
Embedded
●   Testing
       –   EJBContainer API (EJB 3.1)
       –   Simple testing using Java SE (Junit, Maven)
●   Packaging/Bundling
       –   Integration testing,
       –   Ship server with app
GlassFish Administration
              Concepts
●   Domain – An administrative name space.
    Can administer multiple instances, on same or
    different node.
       –   Domain Administration Server (DAS) used to
            centrally administer domain
●   Instance – Is a JVM process. Applications are
    deployed to instances.
●   Virtual Hosting – Each instance can do
    virtual hosting
GlassFish Domains
●   Multiple instances in a domain
●   Instance can belong to only one
    administrative domains
●   One DAS per domain
●   Each domain has own isolated configuration
●   Standalone instances or clusters
       –   share applications and resources
●   Each instance has own config for ports etc
GlassFish Administration
              Channels
●   Web App: Admin Console – easy to use,
●   Command line: asadmin – bash scripting
●   JMX – Admin GlassFish from your code,
●   Restful API – REST client
GlassFish Administration
●   Ease of administration - Can create
       –   new domains,
       –   New instances,
       –   Deploy applications
●   Across nodes using SSH (Unix/Linux( or
    DCOM(Windows)
GlassFish Clustering
●   High Availability with clustering,
●   Session replication,
●   Fail-over,
●   Application deployment support,
GlassFish Monitoring
●   Monitoring via
       –   Admin console
       –   Asadmin command line utility
       –   REST interface
       –   JMX
●   Monitoring Server
       –   Services – Off/Low/High
                 ●   JDBC connection
                 ●   HTTP services etc
Multi-Language Support
●   Support can be installed via update manager
●   PHP via
       –   jfastcgi
       –   php/java bridge
       –   Quercus – Java implementation of PHP
●   Pyhton
       –   Jython container can run Django apps
       –   fastcgi
Multi-Language Support
●   Grails
●   Jruby
        –   Jruby container
●   Scala/Lift
●   Phobos
        –   javascript
Application Versioning
●   Deploy multiple versions of an app, only one
    enabled
●   Commands
       –   asadmin deploy foo.war
       –   Asadmin deploy -name=foo:beta-1 foo.war
       –   Asadmin deploy -name-foo:beat-2 -enable
            false foo.war
       –   Asadmin enable foo:beta-2
Application Versioning
●   asadmin deploy -name=foo:rc1 foo.war
●   asadmin undeploy foo:beat*
●   asadmin undeploy foo:*
Application Scoped Resource
●   Created and Destroyed when application is
    deployed and undeployed
●   Ensures no other application uses your
    resources which are usually globally defined
●   Modules with deployment descriptor scoped to
    those modules only
Application Scoped Resource
●   glassfish-resources.xml
       –   JDBC connection pool,
       –   JDBC rsources
       –   Connector Connection pools
       –   Resource adapters
       –   External JNDI resources,
       –   JavaMail resources
GlassFish – Java EE 7
●   Multi-tenacy
●   Application Versioning
●   Virtualisation
●   Modularity
●   New Roles
GlassFish – An Introduction




           The End

Contenu connexe

Tendances

U-Boot presentation 2013
U-Boot presentation  2013U-Boot presentation  2013
U-Boot presentation 2013Wave Digitech
 
Electron - Build cross platform desktop apps
Electron - Build cross platform desktop appsElectron - Build cross platform desktop apps
Electron - Build cross platform desktop appsPriyaranjan Mohanty
 
ROS2 on VxWorks - Challenges in porting a modern, software framework to RTOS
ROS2 on VxWorks - Challenges in porting a modern, software framework to RTOSROS2 on VxWorks - Challenges in porting a modern, software framework to RTOS
ROS2 on VxWorks - Challenges in porting a modern, software framework to RTOSAndrei Kholodnyi
 
Exploring Your Apple M1 devices with Open Source Tools
Exploring Your Apple M1 devices with Open Source ToolsExploring Your Apple M1 devices with Open Source Tools
Exploring Your Apple M1 devices with Open Source ToolsKoan-Sin Tan
 
Quickboot on i.MX6
Quickboot on i.MX6Quickboot on i.MX6
Quickboot on i.MX6Gary Bisson
 
Testing documents
Testing documentsTesting documents
Testing documentssuhasreddy1
 
Embedded Linux BSP Training (Intro)
Embedded Linux BSP Training (Intro)Embedded Linux BSP Training (Intro)
Embedded Linux BSP Training (Intro)RuggedBoardGroup
 
Linux Preempt-RT Internals
Linux Preempt-RT InternalsLinux Preempt-RT Internals
Linux Preempt-RT Internals哲豪 康哲豪
 
QEMU and Raspberry Pi. Instant Embedded Development
QEMU and Raspberry Pi. Instant Embedded DevelopmentQEMU and Raspberry Pi. Instant Embedded Development
QEMU and Raspberry Pi. Instant Embedded DevelopmentGlobalLogic Ukraine
 
Fast DDS Hello World in Windows
Fast DDS Hello World in WindowsFast DDS Hello World in Windows
Fast DDS Hello World in WindowseProsima
 
Hardware Abstraction Layer
Hardware Abstraction LayerHardware Abstraction Layer
Hardware Abstraction LayerTeh Kian Cheng
 

Tendances (20)

Board Bringup
Board BringupBoard Bringup
Board Bringup
 
Linux Internals - Part II
Linux Internals - Part IILinux Internals - Part II
Linux Internals - Part II
 
U-Boot presentation 2013
U-Boot presentation  2013U-Boot presentation  2013
U-Boot presentation 2013
 
SystemV vs systemd
SystemV vs systemdSystemV vs systemd
SystemV vs systemd
 
Building aosp
Building aospBuilding aosp
Building aosp
 
Electron - Build cross platform desktop apps
Electron - Build cross platform desktop appsElectron - Build cross platform desktop apps
Electron - Build cross platform desktop apps
 
Android Things : Building Embedded Devices
Android Things : Building Embedded DevicesAndroid Things : Building Embedded Devices
Android Things : Building Embedded Devices
 
ROS2 on VxWorks - Challenges in porting a modern, software framework to RTOS
ROS2 on VxWorks - Challenges in porting a modern, software framework to RTOSROS2 on VxWorks - Challenges in porting a modern, software framework to RTOS
ROS2 on VxWorks - Challenges in porting a modern, software framework to RTOS
 
Exploring Your Apple M1 devices with Open Source Tools
Exploring Your Apple M1 devices with Open Source ToolsExploring Your Apple M1 devices with Open Source Tools
Exploring Your Apple M1 devices with Open Source Tools
 
BeagleBone Black Bootloaders
BeagleBone Black BootloadersBeagleBone Black Bootloaders
BeagleBone Black Bootloaders
 
Quickboot on i.MX6
Quickboot on i.MX6Quickboot on i.MX6
Quickboot on i.MX6
 
Linux Programming
Linux ProgrammingLinux Programming
Linux Programming
 
Testing documents
Testing documentsTesting documents
Testing documents
 
Embedded Linux BSP Training (Intro)
Embedded Linux BSP Training (Intro)Embedded Linux BSP Training (Intro)
Embedded Linux BSP Training (Intro)
 
Ansible intro
Ansible introAnsible intro
Ansible intro
 
Linux Preempt-RT Internals
Linux Preempt-RT InternalsLinux Preempt-RT Internals
Linux Preempt-RT Internals
 
QEMU and Raspberry Pi. Instant Embedded Development
QEMU and Raspberry Pi. Instant Embedded DevelopmentQEMU and Raspberry Pi. Instant Embedded Development
QEMU and Raspberry Pi. Instant Embedded Development
 
Platform Drivers
Platform DriversPlatform Drivers
Platform Drivers
 
Fast DDS Hello World in Windows
Fast DDS Hello World in WindowsFast DDS Hello World in Windows
Fast DDS Hello World in Windows
 
Hardware Abstraction Layer
Hardware Abstraction LayerHardware Abstraction Layer
Hardware Abstraction Layer
 

Similaire à Glassfish An Introduction

OTN Developer Days - GlassFish
OTN Developer Days - GlassFishOTN Developer Days - GlassFish
OTN Developer Days - GlassFishglassfish
 
Deploying Java EE 6 Apps in a Cluster: GlassFish 3.1 at Dallas Tech Fest 2011
Deploying Java EE 6 Apps in a Cluster: GlassFish 3.1 at Dallas Tech Fest 2011Deploying Java EE 6 Apps in a Cluster: GlassFish 3.1 at Dallas Tech Fest 2011
Deploying Java EE 6 Apps in a Cluster: GlassFish 3.1 at Dallas Tech Fest 2011Arun Gupta
 
GlassFish Server 3.1: Deploying your Java EE 6 Applications
GlassFish Server 3.1: Deploying your Java EE 6 ApplicationsGlassFish Server 3.1: Deploying your Java EE 6 Applications
GlassFish Server 3.1: Deploying your Java EE 6 ApplicationsArun Gupta
 
GlassFish 3.1 at JCertif 2011
GlassFish 3.1 at JCertif 2011GlassFish 3.1 at JCertif 2011
GlassFish 3.1 at JCertif 2011Arun Gupta
 
Boston 2011 OTN Developer Days - GlassFish
Boston 2011 OTN Developer Days - GlassFishBoston 2011 OTN Developer Days - GlassFish
Boston 2011 OTN Developer Days - GlassFishArun Gupta
 
GlassFish 3.1 – Simplifying your Java EE 6 Development and Deployment @ JAX L...
GlassFish 3.1 – Simplifying your Java EE 6 Development and Deployment @ JAX L...GlassFish 3.1 – Simplifying your Java EE 6 Development and Deployment @ JAX L...
GlassFish 3.1 – Simplifying your Java EE 6 Development and Deployment @ JAX L...Arun Gupta
 
Java EE 6 Clustering with Glassfish 3.1
Java EE 6 Clustering with Glassfish 3.1 Java EE 6 Clustering with Glassfish 3.1
Java EE 6 Clustering with Glassfish 3.1 Shreedhar Ganapathy
 
Java EE 6 & GlassFish V3 - Alexis Moussine-Pouchkine - May 2010
Java EE 6 & GlassFish V3 - Alexis Moussine-Pouchkine - May 2010Java EE 6 & GlassFish V3 - Alexis Moussine-Pouchkine - May 2010
Java EE 6 & GlassFish V3 - Alexis Moussine-Pouchkine - May 2010JUG Lausanne
 
How to deploy a Java application on Google App engine Flexible environment
How to deploy a Java application on Google App engine Flexible environmentHow to deploy a Java application on Google App engine Flexible environment
How to deploy a Java application on Google App engine Flexible environmentMichelantonio Trizio
 
GlassFish OSGi Server
GlassFish OSGi ServerGlassFish OSGi Server
GlassFish OSGi ServerArtur Alves
 
OSGi and Java EE in GlassFish - Tech Days 2010 India
OSGi and Java EE in GlassFish - Tech Days 2010 IndiaOSGi and Java EE in GlassFish - Tech Days 2010 India
OSGi and Java EE in GlassFish - Tech Days 2010 IndiaArun Gupta
 
Andrei Niculae - glassfish - 24mai2011
Andrei Niculae - glassfish - 24mai2011Andrei Niculae - glassfish - 24mai2011
Andrei Niculae - glassfish - 24mai2011Agora Group
 
Virtualizing Development
Virtualizing DevelopmentVirtualizing Development
Virtualizing DevelopmentAdam Culp
 
Modular Java applications with OSGi on Apache Karaf
Modular Java applications with OSGi on Apache KarafModular Java applications with OSGi on Apache Karaf
Modular Java applications with OSGi on Apache KarafIoan Eugen Stan
 
JDK 8 and JDK 8 Updates in OpenJDK
JDK 8 and JDK 8 Updates in OpenJDKJDK 8 and JDK 8 Updates in OpenJDK
JDK 8 and JDK 8 Updates in OpenJDKWolfgang Weigend
 
Manage Java Applications in an Open Hybrid Cloud
Manage Java Applications in an Open Hybrid CloudManage Java Applications in an Open Hybrid Cloud
Manage Java Applications in an Open Hybrid CloudIsaac Christoffersen
 

Similaire à Glassfish An Introduction (20)

OTN Developer Days - GlassFish
OTN Developer Days - GlassFishOTN Developer Days - GlassFish
OTN Developer Days - GlassFish
 
Deploying Java EE 6 Apps in a Cluster: GlassFish 3.1 at Dallas Tech Fest 2011
Deploying Java EE 6 Apps in a Cluster: GlassFish 3.1 at Dallas Tech Fest 2011Deploying Java EE 6 Apps in a Cluster: GlassFish 3.1 at Dallas Tech Fest 2011
Deploying Java EE 6 Apps in a Cluster: GlassFish 3.1 at Dallas Tech Fest 2011
 
GlassFish Server 3.1: Deploying your Java EE 6 Applications
GlassFish Server 3.1: Deploying your Java EE 6 ApplicationsGlassFish Server 3.1: Deploying your Java EE 6 Applications
GlassFish Server 3.1: Deploying your Java EE 6 Applications
 
GlassFish 3.1 at JCertif 2011
GlassFish 3.1 at JCertif 2011GlassFish 3.1 at JCertif 2011
GlassFish 3.1 at JCertif 2011
 
Boston 2011 OTN Developer Days - GlassFish
Boston 2011 OTN Developer Days - GlassFishBoston 2011 OTN Developer Days - GlassFish
Boston 2011 OTN Developer Days - GlassFish
 
GlassFish 3.1 – Simplifying your Java EE 6 Development and Deployment @ JAX L...
GlassFish 3.1 – Simplifying your Java EE 6 Development and Deployment @ JAX L...GlassFish 3.1 – Simplifying your Java EE 6 Development and Deployment @ JAX L...
GlassFish 3.1 – Simplifying your Java EE 6 Development and Deployment @ JAX L...
 
GlassFish Community and future larochelle
GlassFish Community and future larochelleGlassFish Community and future larochelle
GlassFish Community and future larochelle
 
Java EE 6 Clustering with Glassfish 3.1
Java EE 6 Clustering with Glassfish 3.1 Java EE 6 Clustering with Glassfish 3.1
Java EE 6 Clustering with Glassfish 3.1
 
GlassFish OSGi - Java2days 2010
GlassFish OSGi - Java2days 2010GlassFish OSGi - Java2days 2010
GlassFish OSGi - Java2days 2010
 
Java EE 6 & GlassFish V3 - Alexis Moussine-Pouchkine - May 2010
Java EE 6 & GlassFish V3 - Alexis Moussine-Pouchkine - May 2010Java EE 6 & GlassFish V3 - Alexis Moussine-Pouchkine - May 2010
Java EE 6 & GlassFish V3 - Alexis Moussine-Pouchkine - May 2010
 
How to deploy a Java application on Google App engine Flexible environment
How to deploy a Java application on Google App engine Flexible environmentHow to deploy a Java application on Google App engine Flexible environment
How to deploy a Java application on Google App engine Flexible environment
 
Retour JavaOne 2009
Retour JavaOne 2009Retour JavaOne 2009
Retour JavaOne 2009
 
GlassFish OSGi Server
GlassFish OSGi ServerGlassFish OSGi Server
GlassFish OSGi Server
 
OSGi and Java EE in GlassFish - Tech Days 2010 India
OSGi and Java EE in GlassFish - Tech Days 2010 IndiaOSGi and Java EE in GlassFish - Tech Days 2010 India
OSGi and Java EE in GlassFish - Tech Days 2010 India
 
Andrei Niculae - glassfish - 24mai2011
Andrei Niculae - glassfish - 24mai2011Andrei Niculae - glassfish - 24mai2011
Andrei Niculae - glassfish - 24mai2011
 
Virtualizing Development
Virtualizing DevelopmentVirtualizing Development
Virtualizing Development
 
Serverless design with Fn project
Serverless design with Fn projectServerless design with Fn project
Serverless design with Fn project
 
Modular Java applications with OSGi on Apache Karaf
Modular Java applications with OSGi on Apache KarafModular Java applications with OSGi on Apache Karaf
Modular Java applications with OSGi on Apache Karaf
 
JDK 8 and JDK 8 Updates in OpenJDK
JDK 8 and JDK 8 Updates in OpenJDKJDK 8 and JDK 8 Updates in OpenJDK
JDK 8 and JDK 8 Updates in OpenJDK
 
Manage Java Applications in an Open Hybrid Cloud
Manage Java Applications in an Open Hybrid CloudManage Java Applications in an Open Hybrid Cloud
Manage Java Applications in an Open Hybrid Cloud
 

Plus de Jumping Bean

DevOpsDaysCPT Ansible Infrastrucutre as Code 2017
DevOpsDaysCPT Ansible Infrastrucutre as Code 2017DevOpsDaysCPT Ansible Infrastrucutre as Code 2017
DevOpsDaysCPT Ansible Infrastrucutre as Code 2017Jumping Bean
 
Postgrtesql as a NoSQL Document Store - The JSON/JSONB data type
Postgrtesql as a NoSQL Document Store - The JSON/JSONB data typePostgrtesql as a NoSQL Document Store - The JSON/JSONB data type
Postgrtesql as a NoSQL Document Store - The JSON/JSONB data typeJumping Bean
 
React - The JavaScript Library for User Interfaces
React - The JavaScript Library for User InterfacesReact - The JavaScript Library for User Interfaces
React - The JavaScript Library for User InterfacesJumping Bean
 
IPv6 How To Set Up a Linux IPv6 Lan
IPv6 How To Set Up  a Linux IPv6 LanIPv6 How To Set Up  a Linux IPv6 Lan
IPv6 How To Set Up a Linux IPv6 LanJumping Bean
 
HTML 5 & The Modern Web
HTML 5 & The Modern WebHTML 5 & The Modern Web
HTML 5 & The Modern WebJumping Bean
 
Building games-with-libgdx
Building games-with-libgdxBuilding games-with-libgdx
Building games-with-libgdxJumping Bean
 
Linux Containers & Docker
Linux Containers & DockerLinux Containers & Docker
Linux Containers & DockerJumping Bean
 
Introduction to Web Sockets
Introduction to Web SocketsIntroduction to Web Sockets
Introduction to Web SocketsJumping Bean
 
Secrets of a linux ninja Software Freedom Day 2013 Johannesburg, South Africa
Secrets of a linux ninja  Software Freedom Day 2013 Johannesburg, South AfricaSecrets of a linux ninja  Software Freedom Day 2013 Johannesburg, South Africa
Secrets of a linux ninja Software Freedom Day 2013 Johannesburg, South AfricaJumping Bean
 
M-Learning application development with open source
M-Learning application development with open sourceM-Learning application development with open source
M-Learning application development with open sourceJumping Bean
 
Introduction to AngularJS
Introduction to AngularJSIntroduction to AngularJS
Introduction to AngularJSJumping Bean
 
Introduction to Android Development
Introduction to Android DevelopmentIntroduction to Android Development
Introduction to Android DevelopmentJumping Bean
 
IPv6 - Jozi Linux User Group Presentation
IPv6  - Jozi Linux User Group PresentationIPv6  - Jozi Linux User Group Presentation
IPv6 - Jozi Linux User Group PresentationJumping Bean
 
SELinux Johannesburg Linux User Group (JoziJUg)
SELinux Johannesburg Linux User Group (JoziJUg)SELinux Johannesburg Linux User Group (JoziJUg)
SELinux Johannesburg Linux User Group (JoziJUg)Jumping Bean
 

Plus de Jumping Bean (15)

DevOpsDaysCPT Ansible Infrastrucutre as Code 2017
DevOpsDaysCPT Ansible Infrastrucutre as Code 2017DevOpsDaysCPT Ansible Infrastrucutre as Code 2017
DevOpsDaysCPT Ansible Infrastrucutre as Code 2017
 
Postgrtesql as a NoSQL Document Store - The JSON/JSONB data type
Postgrtesql as a NoSQL Document Store - The JSON/JSONB data typePostgrtesql as a NoSQL Document Store - The JSON/JSONB data type
Postgrtesql as a NoSQL Document Store - The JSON/JSONB data type
 
React - The JavaScript Library for User Interfaces
React - The JavaScript Library for User InterfacesReact - The JavaScript Library for User Interfaces
React - The JavaScript Library for User Interfaces
 
IPv6 How To Set Up a Linux IPv6 Lan
IPv6 How To Set Up  a Linux IPv6 LanIPv6 How To Set Up  a Linux IPv6 Lan
IPv6 How To Set Up a Linux IPv6 Lan
 
HTML 5 & The Modern Web
HTML 5 & The Modern WebHTML 5 & The Modern Web
HTML 5 & The Modern Web
 
Building games-with-libgdx
Building games-with-libgdxBuilding games-with-libgdx
Building games-with-libgdx
 
Linux Containers & Docker
Linux Containers & DockerLinux Containers & Docker
Linux Containers & Docker
 
Introduction to Web Sockets
Introduction to Web SocketsIntroduction to Web Sockets
Introduction to Web Sockets
 
Secrets of a linux ninja Software Freedom Day 2013 Johannesburg, South Africa
Secrets of a linux ninja  Software Freedom Day 2013 Johannesburg, South AfricaSecrets of a linux ninja  Software Freedom Day 2013 Johannesburg, South Africa
Secrets of a linux ninja Software Freedom Day 2013 Johannesburg, South Africa
 
M-Learning application development with open source
M-Learning application development with open sourceM-Learning application development with open source
M-Learning application development with open source
 
Introduction to AngularJS
Introduction to AngularJSIntroduction to AngularJS
Introduction to AngularJS
 
Introduction to Android Development
Introduction to Android DevelopmentIntroduction to Android Development
Introduction to Android Development
 
Java logging
Java loggingJava logging
Java logging
 
IPv6 - Jozi Linux User Group Presentation
IPv6  - Jozi Linux User Group PresentationIPv6  - Jozi Linux User Group Presentation
IPv6 - Jozi Linux User Group Presentation
 
SELinux Johannesburg Linux User Group (JoziJUg)
SELinux Johannesburg Linux User Group (JoziJUg)SELinux Johannesburg Linux User Group (JoziJUg)
SELinux Johannesburg Linux User Group (JoziJUg)
 

Dernier

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKJago de Vreede
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 

Dernier (20)

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 

Glassfish An Introduction

  • 1. GlassFish Application Server An Introduction By Jumping Bean 21 May 2012
  • 2. Who Am I? ● Mark Clarke – Java Developer ● Working for Jumping Bean, an open source solutions integration company ● Working with Java & open source technologies since 2001 ● Co-founder of Jozi JUG
  • 4. Jozi JUG ● Meet once a month in Johannesburg, ● Talk ● Beer ● Pizza ● All FREE! ● Where to find us? – Meetup – Facebook – Web Site
  • 5. GlassFish History ● 6 June 2005 – Glassfish launched by SUN – based on Sun Java System Application Server PE 9 – TopLink persistence code donated by Oracle. ● 4 May 2006 – Version 1 JEE 5 RI - aimed at developers ● 17 Sep 2007 – Version 2 Clustering, MS interop web services. Aimed at enterprise
  • 6. GlassFish History ● 10 Dec 2009 – Version 3 Java EE6 RI. Introduced OSGI, fast startup & redeploy on change. – New architecture,
  • 7. Recent Releases ● Version 3.1 shipped Feb 28th 2011 – ssh-based provisioning, centralised admin, clustering & load balancing (reintroduced) ● Version 3.1.1 shipped Jul 2011 – Bug fix release ● Version 3.1.2 shipped Feb 2012 – – bug fixes, new admin console features, new thread pool properties, transaction recovery from database
  • 8. Future Releases ● Version 4.0 – Java EE7 – PaaS – Some hints in V3
  • 9. GlassFish Versions ● Oracle Glassfish Server – Oracle supported version, – Based on Open Source Edition + some closed source bits, – Similar to SUN's Glassfish Enterprise Server ● Glassfish Open Source Edition – GPL or CDDL – Community Supported
  • 10. GlassFish Versions * from blogs.oracle.com
  • 11. GlassFish Versions ● Certified interoperability with Oracle Fusion Middleware products: – Oracle Internet Directory, – Oracle Virtual Directory, – Oracle, WebLogic Server, – Oracle Access Manager ● Includes Oracle GlassFish Server Control for improved manageability and performance of production deployments
  • 12. GlassFish Adoption * from maps.glassfish,org/server
  • 13. GlassFish Adoption * from maps.glassfish,org/server
  • 14. GlassFish Adoption ● World wide - 23,257,762 active users, ● South Africa – 268,449 active users. * from maps.glassfish,org/server
  • 15. Installing GlassFish ● Zip package – No configuration wizard – Update tool must be installed manually – Manual uninstall ● Self-extracting bundle – GUI installer, installer can be used to perform configuration after installation, – Can do silent mode installs, useful for scripting – Option to install Update Tool, – Uninstaller provided
  • 16. Installing/Upgrading GlassFish ● Update tool – Used to update server components, – Install additional functionality – Graphical & command line (pkg) – In place upgrades
  • 17. Why GlassFish? ● Easy to administer with GUI, ● Cluster wide management and deployment, ● Load balancing, ● Centralised administration, ● Support for the latest web services specs + interoperability with Microsoft WCF,
  • 18. Why GlassFish? ● Developer productivity, ● Modular architecture – Extensible – Embeddable ● Support for multiple languages ● In place upgrade. ● Built-in, fine-grained, monitoring
  • 19. Developer Productivity ● Fast startup times ● User friendly Admin console interface, ● Excellent tooling – Netbeans, ● Compile on Save ● Deploy on Change – Eclipse, – Maven support, – IntelliJ, ● Scriptable via command line interface
  • 20. Developer Productivity ● Session retention on redeploy
  • 21. GlassFish Architecture ● Kernel – hundred kilobyte kernel – Startup/shutdown sequence – Basic service deployment – Reading config ● Services cross container functionality – Security, JNDI – Admin Console
  • 22. GlassFish Architecture ● Container - Handle user applications ● E.G. Web container, EJB container
  • 23. GlassFish Sub-Projects ● HK2 Kernel – hundred kilobyte kernel ● Grizzly – NIO based network listeners/connectors http ● OSGi – Used for module system, swappable Apache Felix or Knoperfish ● Tomcat – (modified) for servlet container
  • 24. GlassFish Architecture ● Jersey – Provides REST Web Service functionality ● Metro – Web service stack, SOAP etc ● Shoal – Clustering framework ● Majorra – JSF ● OpenMQ – Message Service
  • 25. Embedded ● Testing – EJBContainer API (EJB 3.1) – Simple testing using Java SE (Junit, Maven) ● Packaging/Bundling – Integration testing, – Ship server with app
  • 26. GlassFish Administration Concepts ● Domain – An administrative name space. Can administer multiple instances, on same or different node. – Domain Administration Server (DAS) used to centrally administer domain ● Instance – Is a JVM process. Applications are deployed to instances. ● Virtual Hosting – Each instance can do virtual hosting
  • 27. GlassFish Domains ● Multiple instances in a domain ● Instance can belong to only one administrative domains ● One DAS per domain ● Each domain has own isolated configuration ● Standalone instances or clusters – share applications and resources ● Each instance has own config for ports etc
  • 28. GlassFish Administration Channels ● Web App: Admin Console – easy to use, ● Command line: asadmin – bash scripting ● JMX – Admin GlassFish from your code, ● Restful API – REST client
  • 29. GlassFish Administration ● Ease of administration - Can create – new domains, – New instances, – Deploy applications ● Across nodes using SSH (Unix/Linux( or DCOM(Windows)
  • 30. GlassFish Clustering ● High Availability with clustering, ● Session replication, ● Fail-over, ● Application deployment support,
  • 31. GlassFish Monitoring ● Monitoring via – Admin console – Asadmin command line utility – REST interface – JMX ● Monitoring Server – Services – Off/Low/High ● JDBC connection ● HTTP services etc
  • 32. Multi-Language Support ● Support can be installed via update manager ● PHP via – jfastcgi – php/java bridge – Quercus – Java implementation of PHP ● Pyhton – Jython container can run Django apps – fastcgi
  • 33. Multi-Language Support ● Grails ● Jruby – Jruby container ● Scala/Lift ● Phobos – javascript
  • 34. Application Versioning ● Deploy multiple versions of an app, only one enabled ● Commands – asadmin deploy foo.war – Asadmin deploy -name=foo:beta-1 foo.war – Asadmin deploy -name-foo:beat-2 -enable false foo.war – Asadmin enable foo:beta-2
  • 35. Application Versioning ● asadmin deploy -name=foo:rc1 foo.war ● asadmin undeploy foo:beat* ● asadmin undeploy foo:*
  • 36. Application Scoped Resource ● Created and Destroyed when application is deployed and undeployed ● Ensures no other application uses your resources which are usually globally defined ● Modules with deployment descriptor scoped to those modules only
  • 37. Application Scoped Resource ● glassfish-resources.xml – JDBC connection pool, – JDBC rsources – Connector Connection pools – Resource adapters – External JNDI resources, – JavaMail resources
  • 38. GlassFish – Java EE 7 ● Multi-tenacy ● Application Versioning ● Virtualisation ● Modularity ● New Roles
  • 39. GlassFish – An Introduction The End