Creating Quick and Powerful Web Applications with MySQL, GlassFish

18
Creating Quick and Powerful Web Applications with MySQL, GlassFish, and NetBeans Arun Gupta, GlassFish Guy Sun Microsystems, Inc. http://blogs.sun.com/arungupta

Transcript of Creating Quick and Powerful Web Applications with MySQL, GlassFish

Page 1: Creating Quick and Powerful Web Applications with MySQL, GlassFish

Creating Quick and Powerful Web Applications with MySQL, GlassFish, and NetBeans

Arun Gupta, GlassFish GuySun Microsystems, Inc.http://blogs.sun.com/arungupta

Page 2: Creating Quick and Powerful Web Applications with MySQL, GlassFish

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

Page 3: Creating Quick and Powerful Web Applications with MySQL, GlassFish

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 Intereropability● Current Release: 2.1

GlassFish v3● Java EE 6 Reference Implementation● Modular (OSGi), Embeddable, Extensible● Java EE, Rails, Grails, Django, ...● Current Release: v3 Prelude

Page 4: Creating Quick and Powerful Web Applications with MySQL, GlassFish

Sun GlassFish Enterprise Server

Customer FocusedCustomer FocusedSupport TeamSupport Team

Patches &Patches &UpgradesUpgrades

24x7 Support24x7 Support

CustomerCustomerAdvocateAdvocate

Sun VIPSun VIPInteroperabilityInteroperabilitySupportSupport

GlassFishGlassFishOpen SourceOpen SourceApplication ServerApplication Server

Enterprise ManagerEnterprise Manager

eLearningeLearningCreditCredit

Page 5: Creating Quick and Powerful Web Applications with MySQL, GlassFish

Demo: JDBC Connection Pool & Resource creation using Administration Console

Page 6: Creating Quick and Powerful Web Applications with MySQL, GlassFish

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, ...

Page 7: Creating Quick and Powerful Web Applications with MySQL, GlassFish

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;

}

...

}

Page 8: Creating Quick and Powerful Web Applications with MySQL, GlassFish

Demo: CRUD operations using NetBeans, JPA, and GlassFish

Page 9: Creating Quick and Powerful Web Applications with MySQL, GlassFish

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

Page 10: Creating Quick and Powerful Web Applications with MySQL, GlassFish

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; }

}

Page 11: Creating Quick and Powerful Web Applications with MySQL, GlassFish

Demo: Publish your MySQL Table as a RESTful Web service

Page 12: Creating Quick and Powerful Web Applications with MySQL, GlassFish

Dynamic Languages andWeb Frameworks

http://glassfish-scripting.dev.java.net

Page 13: Creating Quick and Powerful Web Applications with MySQL, GlassFish

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) modules at Update Center

Commercially supported by Sun

Page 14: Creating Quick and Powerful Web Applications with MySQL, GlassFish

Demo: Develop, Deploy, and Debug Rails application using NetBeans and GlassFish

Page 15: Creating Quick and Powerful Web Applications with MySQL, GlassFish

GlassFish Web StackComplete Web Tier

Sun Web Server Apache HTTPd GlassFish Lighttpd Memcached Mod_jk,perl, ruby PHP, Ruby, Python Squid, TomcatMediaWiki, Drupal, Wordpress,

Joomla — deploy in minutes!

http://www.sun.com/software/products/glassfish_portfolio/ BoF: TBD

Page 16: Creating Quick and Powerful Web Applications with MySQL, GlassFish

Price PerformanceSpecjAppServer2004 (Nov 2008)

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

http://www.sun.com/servers/x64/x4150/benchmarks.jsp#3

Page 17: Creating Quick and Powerful Web Applications with MySQL, GlassFish

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

Page 18: Creating Quick and Powerful Web Applications with MySQL, GlassFish

References

GlassFish●http://glassfish.org●http://blogs.sun.com/theaquarium

NetBeans●http://netbeans.org●http://planetnetbeans.org/

http://blogs.sun.com/arungupta