SlideShare a Scribd company logo
1 of 26
Download to read offline
Creating Quick and
Powerful Web
Applications with
MySQL, GlassFish, and
NetBeans/Eclipse



Arun Gupta, GlassFish Guy
http://blogs.sun.com/arungupta
Sun Microsystems, Inc.
                                 1
Who is Arun ?
• GlassFish Guy
• With Sun for over 10 years
• Specifications, Engineering, Standards,
Interoperability, ...
   > blogs.sun.com/arungupta
   > twitter.com/arungupta




             Creating Quick and Powerful Web Applications with MySQL, GlassFish, and NetBeans/Eclipse   2
What is GlassFish ?

• Open Source Community
  > Users, Partners, Testers, Developers, ...
  > Started in 2005 on java.net
• Application Server
  > Java EE 5 and 6 Reference Implementation
  > Enterprise Quality and Open Source
  > Full Commercial Support from Sun




            Creating Quick and Powerful Web Applications with MySQL, GlassFish, and NetBeans/Eclipse   3
State of GlassFish

• GlassFish v2
 >   Java EE 5 Reference Implementation
 >   Clustering, Load Balancing, High Availability
 >   Web-based/CLI Administration Console
 >   .NET 3.x/4.x Web services Interoperability
 >   Current Release: 2.1
• GlassFish v3
 >   Java EE 6 Reference Implementation
 >   Modular (OSGi), Embeddable, Extensible
 >   Java EE, Rails, Grails, Django, ...
 >   Current Release: v3 Preview
             Creating Quick and Powerful Web Applications with MySQL, GlassFish, and NetBeans/Eclipse   4
Sun GlassFish Enterprise Server


                                            Enterprise Manager



                     Customer
                     Advocate                                                       eLearning
                                                                                    Credit




    Customer Focused                                                                          24x7 Support
    Support Team

                                               GlassFish
        Sun VIP                                Open Source
        Interoperability                       Application Server                              Patches &
        Support                                                                                Upgrades



           Creating Quick and Powerful Web Applications with MySQL, GlassFish, and NetBeans/Eclipse          5
Demo: JDBC Connection Pool &
     Resource creation using
     Administration Console




       Creating Quick and Powerful Web Applications with MySQL, GlassFish, and NetBeans/Eclipse   6
Java Persistence API
• Java specification that defines Object to
  Relational Mapping in Java EE 5
• Annotations to persist POJOs
• JPQL to query objects from the database
    >MySQL-specific query statements (LIMIT)
• Requires a Persistence Provider and a
  Database
    >Common Persistence Providers:
     TopLinkEssentials, EclipseLink JPA, ...
    >Common Databases: MySQL, Oracle, ...
         Creating Quick and Powerful Web Applications with MySQL, GlassFish, and NetBeans/Eclipse   7
JPA Sample
@Entity class Employee {
     @Id private int id;
     private String firstName;
     private String lastName;
     pubic Employee (int id,
                    String firstName,
                    String lastName) {
      ...
     }

    public String getFullName(){
       return firstName + lastName;
     }
    ...
}

            Creating Quick and Powerful Web Applications with MySQL, GlassFish, and NetBeans/Eclipse   8
Demo: CRUD operations using
     NetBeans, JPA, and
     GlassFish




http://blogs.sun.com/arungupta/entry/totd_38_creating_a_mysql

              Creating Quick and Powerful Web Applications with MySQL, GlassFish, and NetBeans/Eclipse   9
RESTful Web Services

• JAX-RS: Java API for RESTful Web services
• Annotation-based server-side API
• HTTP Centric
• Jersey: Reference Implementation of JAX-RS
• Also provides client-side API
• jersey.dev.java.net


        Creating Quick and Powerful Web Applications with MySQL, GlassFish, and NetBeans/Eclipse   10
JAX-RS Sample
@Path("widgets/{id}")
@Produces("application/widgets+xml")
@Consumes("application/widgets+xml")
public class WidgetResource {
    private Widget w;
    public WidgetResource(@PathParam("id") String id)
{
         this.w = locateRecord(id);
    }

    @GET
    Widget getWidget() {
          return w;
    }

    @PUT
    Widget updateWidget(Widget update) {
          w = processUpdate(update);
          return w;
    }
}

          Creating Quick and Powerful Web Applications with MySQL, GlassFish, and NetBeans/Eclipse   11
GET /NetBeans/6.5




       Creating Quick and Powerful Web Applications with MySQL, GlassFish, and NetBeans/Eclipse   12
Demo: Publish your MySQL Table
     as a RESTful Web service




http://blogs.sun.com/arungupta/entry/restful_representation_of_sakila_using

              Creating Quick and Powerful Web Applications with MySQL, GlassFish, and NetBeans/Eclipse   13
Dynamic Languages and
  Web Frameworks




http://glassfish-scripting.dev.java.net
              Creating Quick and Powerful Web Applications with MySQL, GlassFish, and NetBeans/Eclipse   14
Rails on GlassFish

• Native Deployment, no packaging required
  > GlassFish v3
  > Capistrano recipes available
  > Server runtime available as Gem
• WAR deployment using Warbler
  > GlassFish v2 and v3
• JRuby/Rails (Groovy/Grails, Django/Jython)
  modules at Update Center
• Commercially supported by Sun
          Creating Quick and Powerful Web Applications with MySQL, GlassFish, and NetBeans/Eclipse   15
Tooling
 • NetBeans support
   > Develop, deploy debug




          Creating Quick and Powerful Web Applications with MySQL, GlassFish, and NetBeans/Eclipse   16
Demo: Develop, Deploy, and Debug
     Rails application using
     NetBeans and GlassFish



http://blogs.sun.com/arungupta/entry/screencast_26_develop_run_debug

                Creating Quick and Powerful Web Applications with MySQL, GlassFish, and NetBeans/Eclipse   17
GlassFish v3 Monitoring
• Event-driven light-weight and non-intrusive monitoring
• Modules provide domain specific probes (monitoring
  events)
  > EJB, Web, Connector, JPA, Jersey, Orb
• Monitoring data gathered on demand
• End-to-end monitoring on Solaris platforms using DTrace
• Equivalent functionality for GlassFish on other platforms
  (including Solaris) using scripting languages
  > JavaScript to start with



            Creating Quick and Powerful Web Applications with MySQL, GlassFish, and NetBeans/Eclipse   18
Demo: End-to-End Application
      Tracing using NetBeans, GlassFish,
      MySQL, OpenSolaris, DTrace




        Creating Quick and Powerful Web Applications with MySQL, GlassFish, and NetBeans/Eclipse   19
GlassFish Tools Bundle for Eclipse




       Creating Quick and Powerful Web Applications with MySQL, GlassFish, and NetBeans/Eclipse   20
GlassFish Tools Bundle – Key Features
• Out-of-the-box installer with all Java EE Eclipse Standard
  Features, JDK and GlassFish servers
• GlassFish Registration Wizard
• GlassFish v2.1 and v3 automatic domain
  creation/configuration
• JavaDB configuration, JDBC resource wizard
• Start, Stop, Deploy, Undeploy, Debug JSP/Java
• Deploy on Save: Default for v3
• HTTP Monitoring preconfigured

           Creating Quick and Powerful Web Applications with MySQL, GlassFish, and NetBeans/Eclipse   21
More Features ...
• All Sun DTDs registered for validation/code completion
• All Java EE APIs registered for code
  completion/Javadocs
• GlassFish log integrated into Eclipse IDE console
• All v2 and v3 DocBooks integrated in Help
• GlassFish Web Properties in Help menu (The Aquarium,
  Support, ...)
• ...
• Download: http://download.java.net/glassfish/eclipse

           Creating Quick and Powerful Web Applications with MySQL, GlassFish, and NetBeans/Eclipse   22
Demo: GlassFish Tools Bundle
      for Eclipse




http://blogs.sun.com/arungupta/entry/screencast_26_develop_run_debug

                Creating Quick and Powerful Web Applications with MySQL, GlassFish, and NetBeans/Eclipse   23
Price Performance
SpecjAppServer2004 (Nov 2008)

  • 2% cost of Dell, 5% cost of HP
  • 13 times better price/performance




 http://www.sun.com/servers/x64/x4150/benchmarks.jsp#3
            Creating Quick and Powerful Web Applications with MySQL, GlassFish, and NetBeans/Eclipse   24
Why GlassFish and MySQL ?

• Same pricing strategy – per server, unlimited
• Same support levels – Gold, Silver, ...
• Same support organization – No buck passing
• Combined reference architectures
 > MySQL cluster and Sailfin:
   http://www.sun.com/offers/details/mysql_cg_service_execution.html




            Creating Quick and Powerful Web Applications with MySQL, GlassFish, and NetBeans/Eclipse   25
References

• GlassFish
  > http://glassfish.org
  > http://blogs.sun.com/theaquarium_br
• NetBeans
  > http://netbeans.org
  > http://planetnetbeans.org/
• Eclipse: http://download.java.net/glasfish/eclipse
• MySQL: http://mysql.org
• http://blogs.sun.com/arungupta
          Creating Quick and Powerful Web Applications with MySQL, GlassFish, and NetBeans/Eclipse   26

More Related Content

What's hot

Azure PaaS databases
Azure PaaS databasesAzure PaaS databases
Azure PaaS databasesGianluca Hotz
 
MySQL features missing in MariaDB Server
MySQL features missing in MariaDB ServerMySQL features missing in MariaDB Server
MySQL features missing in MariaDB ServerColin Charles
 
Databases in the hosted cloud
Databases in the hosted cloud Databases in the hosted cloud
Databases in the hosted cloud Colin Charles
 
Confoo 202 - MySQL Group Replication and ReplicaSet
Confoo 202 - MySQL Group Replication and ReplicaSetConfoo 202 - MySQL Group Replication and ReplicaSet
Confoo 202 - MySQL Group Replication and ReplicaSetDave Stokes
 
Get ready for Jamstack with Sitecore Experience Edge
Get ready for Jamstack with Sitecore Experience EdgeGet ready for Jamstack with Sitecore Experience Edge
Get ready for Jamstack with Sitecore Experience EdgeVarunNehra
 
How to upgrade like a boss to MySQL 8.0 - PLE19
How to upgrade like a boss to MySQL 8.0 -  PLE19How to upgrade like a boss to MySQL 8.0 -  PLE19
How to upgrade like a boss to MySQL 8.0 - PLE19Alkin Tezuysal
 
Nowosci w portfolio Citrix
Nowosci w portfolio CitrixNowosci w portfolio Citrix
Nowosci w portfolio CitrixPawel Serwan
 
MySQL Cluster - Latest Developments (up to and including MySQL Cluster 7.4)
MySQL Cluster - Latest Developments (up to and including MySQL Cluster 7.4)MySQL Cluster - Latest Developments (up to and including MySQL Cluster 7.4)
MySQL Cluster - Latest Developments (up to and including MySQL Cluster 7.4)Andrew Morgan
 
程序猿都该知道的MySQL秘籍
程序猿都该知道的MySQL秘籍程序猿都该知道的MySQL秘籍
程序猿都该知道的MySQL秘籍Jinrong Ye
 
Cnam cours azure web sites
Cnam cours azure web sitesCnam cours azure web sites
Cnam cours azure web sitesAymeric Weinbach
 
MySQL 20 años: pasado, presente y futuro; conoce las nuevas características d...
MySQL 20 años: pasado, presente y futuro; conoce las nuevas características d...MySQL 20 años: pasado, presente y futuro; conoce las nuevas características d...
MySQL 20 años: pasado, presente y futuro; conoce las nuevas características d...GeneXus
 
FOSDEM 2015 - NoSQL and SQL the best of both worlds
FOSDEM 2015 - NoSQL and SQL the best of both worldsFOSDEM 2015 - NoSQL and SQL the best of both worlds
FOSDEM 2015 - NoSQL and SQL the best of both worldsAndrew Morgan
 
Codership's galera cluster installation and quickstart webinar march 2016
Codership's galera cluster installation and quickstart webinar march 2016Codership's galera cluster installation and quickstart webinar march 2016
Codership's galera cluster installation and quickstart webinar march 2016Sakari Keskitalo
 
Mysql 8 vs Mariadb 10.4 Highload++ 2019
Mysql 8 vs Mariadb 10.4 Highload++ 2019Mysql 8 vs Mariadb 10.4 Highload++ 2019
Mysql 8 vs Mariadb 10.4 Highload++ 2019Alkin Tezuysal
 
Scaling MySQL using Fabric
Scaling MySQL using FabricScaling MySQL using Fabric
Scaling MySQL using FabricKarthik .P.R
 
Apache CloudStack at LinuxCon Japan
Apache CloudStack at LinuxCon JapanApache CloudStack at LinuxCon Japan
Apache CloudStack at LinuxCon JapanKimihiko Kitase
 

What's hot (20)

Azure PaaS databases
Azure PaaS databasesAzure PaaS databases
Azure PaaS databases
 
MySQL features missing in MariaDB Server
MySQL features missing in MariaDB ServerMySQL features missing in MariaDB Server
MySQL features missing in MariaDB Server
 
Cnam cours azure iaas
Cnam cours azure iaasCnam cours azure iaas
Cnam cours azure iaas
 
Cnam azure 2015 storage
Cnam azure 2015  storageCnam azure 2015  storage
Cnam azure 2015 storage
 
Databases in the hosted cloud
Databases in the hosted cloud Databases in the hosted cloud
Databases in the hosted cloud
 
Architecting Windows Azure
Architecting Windows AzureArchitecting Windows Azure
Architecting Windows Azure
 
Confoo 202 - MySQL Group Replication and ReplicaSet
Confoo 202 - MySQL Group Replication and ReplicaSetConfoo 202 - MySQL Group Replication and ReplicaSet
Confoo 202 - MySQL Group Replication and ReplicaSet
 
Get ready for Jamstack with Sitecore Experience Edge
Get ready for Jamstack with Sitecore Experience EdgeGet ready for Jamstack with Sitecore Experience Edge
Get ready for Jamstack with Sitecore Experience Edge
 
How to upgrade like a boss to MySQL 8.0 - PLE19
How to upgrade like a boss to MySQL 8.0 -  PLE19How to upgrade like a boss to MySQL 8.0 -  PLE19
How to upgrade like a boss to MySQL 8.0 - PLE19
 
Nowosci w portfolio Citrix
Nowosci w portfolio CitrixNowosci w portfolio Citrix
Nowosci w portfolio Citrix
 
MySQL Cluster - Latest Developments (up to and including MySQL Cluster 7.4)
MySQL Cluster - Latest Developments (up to and including MySQL Cluster 7.4)MySQL Cluster - Latest Developments (up to and including MySQL Cluster 7.4)
MySQL Cluster - Latest Developments (up to and including MySQL Cluster 7.4)
 
程序猿都该知道的MySQL秘籍
程序猿都该知道的MySQL秘籍程序猿都该知道的MySQL秘籍
程序猿都该知道的MySQL秘籍
 
Cnam cours azure web sites
Cnam cours azure web sitesCnam cours azure web sites
Cnam cours azure web sites
 
MySQL 20 años: pasado, presente y futuro; conoce las nuevas características d...
MySQL 20 años: pasado, presente y futuro; conoce las nuevas características d...MySQL 20 años: pasado, presente y futuro; conoce las nuevas características d...
MySQL 20 años: pasado, presente y futuro; conoce las nuevas características d...
 
FOSDEM 2015 - NoSQL and SQL the best of both worlds
FOSDEM 2015 - NoSQL and SQL the best of both worldsFOSDEM 2015 - NoSQL and SQL the best of both worlds
FOSDEM 2015 - NoSQL and SQL the best of both worlds
 
Codership's galera cluster installation and quickstart webinar march 2016
Codership's galera cluster installation and quickstart webinar march 2016Codership's galera cluster installation and quickstart webinar march 2016
Codership's galera cluster installation and quickstart webinar march 2016
 
Scala & Lift (JEEConf 2012)
Scala & Lift (JEEConf 2012)Scala & Lift (JEEConf 2012)
Scala & Lift (JEEConf 2012)
 
Mysql 8 vs Mariadb 10.4 Highload++ 2019
Mysql 8 vs Mariadb 10.4 Highload++ 2019Mysql 8 vs Mariadb 10.4 Highload++ 2019
Mysql 8 vs Mariadb 10.4 Highload++ 2019
 
Scaling MySQL using Fabric
Scaling MySQL using FabricScaling MySQL using Fabric
Scaling MySQL using Fabric
 
Apache CloudStack at LinuxCon Japan
Apache CloudStack at LinuxCon JapanApache CloudStack at LinuxCon Japan
Apache CloudStack at LinuxCon Japan
 

Similar to Glassfish - FISL10 - Arun Gupta

Glassfish Overview 29 Oktober 2009
Glassfish Overview 29 Oktober 2009Glassfish Overview 29 Oktober 2009
Glassfish Overview 29 Oktober 2009Eugene Bogaart
 
GlassFish OSGi Server
GlassFish OSGi ServerGlassFish OSGi Server
GlassFish OSGi ServerArtur Alves
 
Getting Started with Platform-as-a-Service
Getting Started with Platform-as-a-ServiceGetting Started with Platform-as-a-Service
Getting Started with Platform-as-a-ServiceCloudBees
 
Getting Started with PaaS
Getting Started with PaaSGetting Started with PaaS
Getting Started with PaaSCloudBees
 
Creating Quick and Powerful Web applications with Oracle, GlassFish and NetBe...
Creating Quick and Powerful Web applications with Oracle, GlassFish and NetBe...Creating Quick and Powerful Web applications with Oracle, GlassFish and NetBe...
Creating Quick and Powerful Web applications with Oracle, GlassFish and NetBe...Arun Gupta
 
Jakarta EE und Microprofile sind bei Azure zu Hause
Jakarta EE und Microprofile sind bei Azure zu HauseJakarta EE und Microprofile sind bei Azure zu Hause
Jakarta EE und Microprofile sind bei Azure zu HauseEdward Burns
 
Glass Fish Slides Fy2009 2
Glass Fish Slides Fy2009 2Glass Fish Slides Fy2009 2
Glass Fish Slides Fy2009 2Abhishek 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
 
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
 
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
 
Develop With Pleasure Deploy With Fun Glass Fish And Net Beans For A Better...
Develop With Pleasure  Deploy With Fun  Glass Fish And Net Beans For A Better...Develop With Pleasure  Deploy With Fun  Glass Fish And Net Beans For A Better...
Develop With Pleasure Deploy With Fun Glass Fish And Net Beans For A Better...railsconf
 
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
 
OTN Developer Days - GlassFish
OTN Developer Days - GlassFishOTN Developer Days - GlassFish
OTN Developer Days - GlassFishglassfish
 
Glass Fish Slides Fy2009 2
Glass Fish Slides Fy2009 2Glass Fish Slides Fy2009 2
Glass Fish Slides Fy2009 2Abhishek Gupta
 
Modernize Java Apps on Microsoft Azure
Modernize Java Apps on Microsoft AzureModernize Java Apps on Microsoft Azure
Modernize Java Apps on Microsoft AzureDavid J Rosenthal
 
Tech ED 2014 Running Oracle Databases and Application Servers on Azurev1
Tech ED 2014   Running Oracle Databases and Application Servers on Azurev1Tech ED 2014   Running Oracle Databases and Application Servers on Azurev1
Tech ED 2014 Running Oracle Databases and Application Servers on Azurev1Brian Benz
 
Overzicht van de GlassFish technologie, Eugene Bogaart
Overzicht van de GlassFish technologie, Eugene BogaartOverzicht van de GlassFish technologie, Eugene Bogaart
Overzicht van de GlassFish technologie, Eugene BogaartJaco Haans
 
Andrei Niculae - glassfish - 24mai2011
Andrei Niculae - glassfish - 24mai2011Andrei Niculae - glassfish - 24mai2011
Andrei Niculae - glassfish - 24mai2011Agora Group
 

Similar to Glassfish - FISL10 - Arun Gupta (20)

Glassfish Overview 29 Oktober 2009
Glassfish Overview 29 Oktober 2009Glassfish Overview 29 Oktober 2009
Glassfish Overview 29 Oktober 2009
 
GlassFish OSGi Server
GlassFish OSGi ServerGlassFish OSGi Server
GlassFish OSGi Server
 
ASP.NET 5
ASP.NET 5ASP.NET 5
ASP.NET 5
 
Getting Started with Platform-as-a-Service
Getting Started with Platform-as-a-ServiceGetting Started with Platform-as-a-Service
Getting Started with Platform-as-a-Service
 
Getting Started with PaaS
Getting Started with PaaSGetting Started with PaaS
Getting Started with PaaS
 
Creating Quick and Powerful Web applications with Oracle, GlassFish and NetBe...
Creating Quick and Powerful Web applications with Oracle, GlassFish and NetBe...Creating Quick and Powerful Web applications with Oracle, GlassFish and NetBe...
Creating Quick and Powerful Web applications with Oracle, GlassFish and NetBe...
 
Jakarta EE und Microprofile sind bei Azure zu Hause
Jakarta EE und Microprofile sind bei Azure zu HauseJakarta EE und Microprofile sind bei Azure zu Hause
Jakarta EE und Microprofile sind bei Azure zu Hause
 
Glass Fish Slides Fy2009 2
Glass Fish Slides Fy2009 2Glass Fish Slides Fy2009 2
Glass Fish Slides Fy2009 2
 
GlassFish 3.1 at JCertif 2011
GlassFish 3.1 at JCertif 2011GlassFish 3.1 at JCertif 2011
GlassFish 3.1 at JCertif 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
 
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...
 
Develop With Pleasure Deploy With Fun Glass Fish And Net Beans For A Better...
Develop With Pleasure  Deploy With Fun  Glass Fish And Net Beans For A Better...Develop With Pleasure  Deploy With Fun  Glass Fish And Net Beans For A Better...
Develop With Pleasure Deploy With Fun Glass Fish And Net Beans For A Better...
 
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
 
OTN Developer Days - GlassFish
OTN Developer Days - GlassFishOTN Developer Days - GlassFish
OTN Developer Days - GlassFish
 
Glass Fish Slides Fy2009 2
Glass Fish Slides Fy2009 2Glass Fish Slides Fy2009 2
Glass Fish Slides Fy2009 2
 
Modernize Java Apps on Microsoft Azure
Modernize Java Apps on Microsoft AzureModernize Java Apps on Microsoft Azure
Modernize Java Apps on Microsoft Azure
 
Tech ED 2014 Running Oracle Databases and Application Servers on Azurev1
Tech ED 2014   Running Oracle Databases and Application Servers on Azurev1Tech ED 2014   Running Oracle Databases and Application Servers on Azurev1
Tech ED 2014 Running Oracle Databases and Application Servers on Azurev1
 
Overzicht van de GlassFish technologie, Eugene Bogaart
Overzicht van de GlassFish technologie, Eugene BogaartOverzicht van de GlassFish technologie, Eugene Bogaart
Overzicht van de GlassFish technologie, Eugene Bogaart
 
Andrei Niculae - glassfish - 24mai2011
Andrei Niculae - glassfish - 24mai2011Andrei Niculae - glassfish - 24mai2011
Andrei Niculae - glassfish - 24mai2011
 

Recently uploaded

[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
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
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 

Recently uploaded (20)

[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
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
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 

Glassfish - FISL10 - Arun Gupta

  • 1. Creating Quick and Powerful Web Applications with MySQL, GlassFish, and NetBeans/Eclipse Arun Gupta, GlassFish Guy http://blogs.sun.com/arungupta Sun Microsystems, Inc. 1
  • 2. Who is Arun ? • GlassFish Guy • With Sun for over 10 years • Specifications, Engineering, Standards, Interoperability, ... > blogs.sun.com/arungupta > twitter.com/arungupta Creating Quick and Powerful Web Applications with MySQL, GlassFish, and NetBeans/Eclipse 2
  • 3. What is GlassFish ? • Open Source Community > Users, Partners, Testers, Developers, ... > Started in 2005 on java.net • Application Server > Java EE 5 and 6 Reference Implementation > Enterprise Quality and Open Source > Full Commercial Support from Sun Creating Quick and Powerful Web Applications with MySQL, GlassFish, and NetBeans/Eclipse 3
  • 4. State of GlassFish • GlassFish v2 > Java EE 5 Reference Implementation > Clustering, Load Balancing, High Availability > Web-based/CLI Administration Console > .NET 3.x/4.x Web services Interoperability > Current Release: 2.1 • GlassFish v3 > Java EE 6 Reference Implementation > Modular (OSGi), Embeddable, Extensible > Java EE, Rails, Grails, Django, ... > Current Release: v3 Preview Creating Quick and Powerful Web Applications with MySQL, GlassFish, and NetBeans/Eclipse 4
  • 5. Sun GlassFish Enterprise Server Enterprise Manager Customer Advocate eLearning Credit Customer Focused 24x7 Support Support Team GlassFish Sun VIP Open Source Interoperability Application Server Patches & Support Upgrades Creating Quick and Powerful Web Applications with MySQL, GlassFish, and NetBeans/Eclipse 5
  • 6. Demo: JDBC Connection Pool & Resource creation using Administration Console Creating Quick and Powerful Web Applications with MySQL, GlassFish, and NetBeans/Eclipse 6
  • 7. Java Persistence API • Java specification that defines Object to Relational Mapping in Java EE 5 • Annotations to persist POJOs • JPQL to query objects from the database >MySQL-specific query statements (LIMIT) • Requires a Persistence Provider and a Database >Common Persistence Providers: TopLinkEssentials, EclipseLink JPA, ... >Common Databases: MySQL, Oracle, ... Creating Quick and Powerful Web Applications with MySQL, GlassFish, and NetBeans/Eclipse 7
  • 8. JPA Sample @Entity class Employee { @Id private int id; private String firstName; private String lastName; pubic Employee (int id, String firstName, String lastName) { ... } public String getFullName(){ return firstName + lastName; } ... } Creating Quick and Powerful Web Applications with MySQL, GlassFish, and NetBeans/Eclipse 8
  • 9. Demo: CRUD operations using NetBeans, JPA, and GlassFish http://blogs.sun.com/arungupta/entry/totd_38_creating_a_mysql Creating Quick and Powerful Web Applications with MySQL, GlassFish, and NetBeans/Eclipse 9
  • 10. RESTful Web Services • JAX-RS: Java API for RESTful Web services • Annotation-based server-side API • HTTP Centric • Jersey: Reference Implementation of JAX-RS • Also provides client-side API • jersey.dev.java.net Creating Quick and Powerful Web Applications with MySQL, GlassFish, and NetBeans/Eclipse 10
  • 11. JAX-RS Sample @Path("widgets/{id}") @Produces("application/widgets+xml") @Consumes("application/widgets+xml") public class WidgetResource { private Widget w; public WidgetResource(@PathParam("id") String id) { this.w = locateRecord(id); } @GET Widget getWidget() { return w; } @PUT Widget updateWidget(Widget update) { w = processUpdate(update); return w; } } Creating Quick and Powerful Web Applications with MySQL, GlassFish, and NetBeans/Eclipse 11
  • 12. GET /NetBeans/6.5 Creating Quick and Powerful Web Applications with MySQL, GlassFish, and NetBeans/Eclipse 12
  • 13. Demo: Publish your MySQL Table as a RESTful Web service http://blogs.sun.com/arungupta/entry/restful_representation_of_sakila_using Creating Quick and Powerful Web Applications with MySQL, GlassFish, and NetBeans/Eclipse 13
  • 14. Dynamic Languages and Web Frameworks http://glassfish-scripting.dev.java.net Creating Quick and Powerful Web Applications with MySQL, GlassFish, and NetBeans/Eclipse 14
  • 15. Rails on GlassFish • Native Deployment, no packaging required > GlassFish v3 > Capistrano recipes available > Server runtime available as Gem • WAR deployment using Warbler > GlassFish v2 and v3 • JRuby/Rails (Groovy/Grails, Django/Jython) modules at Update Center • Commercially supported by Sun Creating Quick and Powerful Web Applications with MySQL, GlassFish, and NetBeans/Eclipse 15
  • 16. Tooling • NetBeans support > Develop, deploy debug Creating Quick and Powerful Web Applications with MySQL, GlassFish, and NetBeans/Eclipse 16
  • 17. Demo: Develop, Deploy, and Debug Rails application using NetBeans and GlassFish http://blogs.sun.com/arungupta/entry/screencast_26_develop_run_debug Creating Quick and Powerful Web Applications with MySQL, GlassFish, and NetBeans/Eclipse 17
  • 18. GlassFish v3 Monitoring • Event-driven light-weight and non-intrusive monitoring • Modules provide domain specific probes (monitoring events) > EJB, Web, Connector, JPA, Jersey, Orb • Monitoring data gathered on demand • End-to-end monitoring on Solaris platforms using DTrace • Equivalent functionality for GlassFish on other platforms (including Solaris) using scripting languages > JavaScript to start with Creating Quick and Powerful Web Applications with MySQL, GlassFish, and NetBeans/Eclipse 18
  • 19. Demo: End-to-End Application Tracing using NetBeans, GlassFish, MySQL, OpenSolaris, DTrace Creating Quick and Powerful Web Applications with MySQL, GlassFish, and NetBeans/Eclipse 19
  • 20. GlassFish Tools Bundle for Eclipse Creating Quick and Powerful Web Applications with MySQL, GlassFish, and NetBeans/Eclipse 20
  • 21. GlassFish Tools Bundle – Key Features • Out-of-the-box installer with all Java EE Eclipse Standard Features, JDK and GlassFish servers • GlassFish Registration Wizard • GlassFish v2.1 and v3 automatic domain creation/configuration • JavaDB configuration, JDBC resource wizard • Start, Stop, Deploy, Undeploy, Debug JSP/Java • Deploy on Save: Default for v3 • HTTP Monitoring preconfigured Creating Quick and Powerful Web Applications with MySQL, GlassFish, and NetBeans/Eclipse 21
  • 22. More Features ... • All Sun DTDs registered for validation/code completion • All Java EE APIs registered for code completion/Javadocs • GlassFish log integrated into Eclipse IDE console • All v2 and v3 DocBooks integrated in Help • GlassFish Web Properties in Help menu (The Aquarium, Support, ...) • ... • Download: http://download.java.net/glassfish/eclipse Creating Quick and Powerful Web Applications with MySQL, GlassFish, and NetBeans/Eclipse 22
  • 23. Demo: GlassFish Tools Bundle for Eclipse http://blogs.sun.com/arungupta/entry/screencast_26_develop_run_debug Creating Quick and Powerful Web Applications with MySQL, GlassFish, and NetBeans/Eclipse 23
  • 24. Price Performance SpecjAppServer2004 (Nov 2008) • 2% cost of Dell, 5% cost of HP • 13 times better price/performance http://www.sun.com/servers/x64/x4150/benchmarks.jsp#3 Creating Quick and Powerful Web Applications with MySQL, GlassFish, and NetBeans/Eclipse 24
  • 25. Why GlassFish and MySQL ? • Same pricing strategy – per server, unlimited • Same support levels – Gold, Silver, ... • Same support organization – No buck passing • Combined reference architectures > MySQL cluster and Sailfin: http://www.sun.com/offers/details/mysql_cg_service_execution.html Creating Quick and Powerful Web Applications with MySQL, GlassFish, and NetBeans/Eclipse 25
  • 26. References • GlassFish > http://glassfish.org > http://blogs.sun.com/theaquarium_br • NetBeans > http://netbeans.org > http://planetnetbeans.org/ • Eclipse: http://download.java.net/glasfish/eclipse • MySQL: http://mysql.org • http://blogs.sun.com/arungupta Creating Quick and Powerful Web Applications with MySQL, GlassFish, and NetBeans/Eclipse 26