Creating Quick and Powerful Web applications with Oracle, GlassFish and NetBeans/Eclipse
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

Creating Quick and Powerful Web applications with Oracle, GlassFish and NetBeans/Eclipse

  • 8,727 views
Uploaded on

This talk will demonstrate how Oracle, GlassFish, and NetBeans/Eclipse can be used together to create quick and powerful web applications.

This talk will demonstrate how Oracle, GlassFish, and NetBeans/Eclipse can be used together to create quick and powerful web applications.

More in: Technology , Education
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
8,727
On Slideshare
8,315
From Embeds
412
Number of Embeds
7

Actions

Shares
Downloads
187
Comments
0
Likes
1

Embeds 412

http://blog.arungupta.me 334
http://www.slideshare.net 29
http://blogs.sun.com 20
https://blogs.oracle.com 20
http://blogs.oracle.com 7
http://feeds.feedburner.com 1
http://translate.googleusercontent.com 1

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Java EE: Past & Present Right Sizing Ease of Creating Quick & Powerful Development Java EE 6 EJB Lite Web Applications withWeb Services Java EE 5 Ease of Restful WS Oracle, GlassFish, Development Web Beans Extensibility J2EE 1.4 NetBeans / Eclipse Web Services, Robustness Annotations EJB 3.0 Enterprise Management, Persistence API Java Platform J2EE 1.3 Deployment, New and CMP, Async. Updated Connector ` Connector Java EE 6 Arun Gupta, GlassFish Guy J2EE 1.2 Architecture Web Services Sun Microsystems, Inc. Servlet, JSP, Web Profile blog.arungupta.me JPE Project EJB, JMS RMI/IIOP Creating Quick and Powerful Web Applications using Oracle, GlassFish and NetBeans/Eclipse 1 Slide 1
  • 2. What is GlassFish ? • A Community > Users, Partners, Testers, Developers, ... > Started in 2005 on java.net • Application Server > Enterprise Quality and Open Source (CDDL & GPL v2) > Java EE 5 / 6 Reference Implementation > Full Commercial Support from Sun http://glassfish.org Creating Quick and Powerful Web Applications using Oracle, GlassFish and NetBeans/Eclipse Slide 2
  • 3. State of GlassFish • GlassFish v2 > Java EE 5 Reference Implementation > Clustering, Load-balancing, High Availability > Web-based / CLI Administration Console > .NET Web services interoperability > Current release: GlassFish v2.x • GlassFish v3 > Java EE 6 Reference Implementation > Modular (OSGi), Embeddable, Extensible > Java EE, Rails, Grails, Django, ... > Going final this year Creating Quick and Powerful Web Applications using Oracle, GlassFish and NetBeans/Eclipse Slide 3
  • 4. Sun GlassFish Enterprise Server Enterprise Manager Customer Advocate eLearning Credit Customer Focused 24x7 Support Support Team GlassFish Open Source Sun VIP Application Server Patches & Interoperability Upgrades Support Creating Quick and Powerful Web Applications using Oracle, GlassFish and NetBeans/Eclipse Slide 4
  • 5. Java EE 6: Ease of Development (EJB.Lite) Java EE 5 Java EE 6 foo.ear foo.war foo_web.war WEB-INF/classes com.sun.FooServlet com.sun.TickTock WEB-INF/web.xml com.sun.FooBean WEB-INF/classes com.sun.FooHelper com.sun.FooServlet com.sun.TickTock foo_ejb.jar com.sun.FooBean com.sun.FooHelper web.xml ? Creating Quick and Powerful Web Applications using Oracle, GlassFish and NetBeans/Eclipse Slide 5
  • 6. EoD Example - Servlets Servlet in Java EE 5: Create two source files <!--Deployment descriptor /* Code in Java Class */ web.xml --> <web-app> package com.foo; <servlet> public class MyServlet <servlet-name>MyServlet extends HttpServlet { </servlet-name> public void <servlet-class> doGet(HttpServletRequest com.foo.MyServlet </servlet-class> req,HttpServletResponse res) </servlet> { <servlet-mapping> <servlet-name>MyServlet ... </servlet-name> <url-pattern>/myApp/* } </url-pattern> </servlet-mapping> ... ... </web-app> } Creating Quick and Powerful Web Applications using Oracle, GlassFish and NetBeans/Eclipse Slide 6
  • 7. EoD Example - Servlets Servlet in Java EE 6: In many cases a single source file package com.foo; @WebServlet(name=”MyServlet”, urlPattern=”/myApp/*”) public class MyServlet extends HttpServlet { public void doGet(HttpServletRequest req, HttpServletResponse res) { ... } Creating Quick and Powerful Web Applications using Oracle, GlassFish and NetBeans/Eclipse Slide 7
  • 8. Java EE 6 Wizards http://blog.arungupta.me/2008/11/screencast-27-simple-web-application-using-netbeans-6-5-ide-and-glassfish-v3-prelude/ http://blog.arungupta.me/2009/10/totd-108-java-ee-6-web-application-jsf-2-0-jpa-2-0-ejb-3-1-using-oracle-netbeans-and-glassfish/ http://blog.arungupta.me/2009/08/totd-94-a-simple-java-server-faces-2-0-jpa-2-0-application-getting-started-with-java-ee-6-using-netbeans-6-8-m1-glassfish-v3/ http://blog.arungupta.me/2009/08/totd-95-ejb-3-1-java-server-faces-2-0-jpa-2-0-web-application-getting-started-with-java-ee-6-using-netbeans-6-8-m1-glassfish-v3/ http://blog.arungupta.me/2008/11/screencast-28-simple-web-application-using-eclipse-and-glassfish-v3-prelude/ http://blog.arungupta.me/2009/09/totd-102-java-ee-6-servlet-3-0-and-ejb-3-1-wizards-in-eclipse/ Creating Quick and Powerful Web Applications using Oracle, GlassFish and NetBeans/Eclipse Slide 8
  • 9. Java Persistence API • Java EE specification that defines Object to Relational Mapping • Annotations to persist POJOs • JPQL to query database objects • Requires a Persistence Provider and a Database > Common Persistence Providers: TopLinkEssentials, EclipseLink, ... > Common Databases: Oracle, MySQL, ... Creating Quick and Powerful Web Applications using Oracle, GlassFish and NetBeans/Eclipse Slide 9
  • 10. 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 using Oracle, GlassFish and NetBeans/Eclipse Slide 10
  • 11. JPA Wizards http://blog.arungupta.me/2009/09/totd-107-connect-to-oracle-database-using-netbeans/ http://blog.arungupta.me/2009/10/totd-108-java-ee-6-web-application-jsf-2-0-jpa-2-0-ejb-3-1-using-oracle-netbeans-and-glassfish/ http://blog.arungupta.me/2009/08/totd-99-creating-a-java-ee-6-application-using-mysql-jpa-2-0-and-servlet-3-0-with-glassfish-tools-bundle-for-eclipse/ Creating Quick and Powerful Web Applications using Oracle, GlassFish and NetBeans/Eclipse Slide 11
  • 12. RESTful Web Services • JAX-RS: Java API for RESTful Web Services • Annotation-based server-side API • HTTP-centric • Jersey: Implementation of JAX-RS > Also provides client-side API Creating Quick and Powerful Web Applications using Oracle, GlassFish and NetBeans/Eclipse Slide 12
  • 13. 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 using Oracle, GlassFish and NetBeans/Eclipse Slide 13
  • 14. RESTful Wizards http://blog.arungupta.me/2009/10/totd-112-exposing-oracle-database-tables-as-restful-entities-using-jax-rs-glassfish-and-netbeans/ Creating Quick and Powerful Web Applications using Oracle, GlassFish and NetBeans/Eclipse Slide 14
  • 15. Dynamic Languages & Frameworks http://glassfish-scripting.dev.java.net Creating Quick and Powerful Web Applications using Oracle, GlassFish and NetBeans/Eclipse Slide 15
  • 16. Rails Deployment Choices Credits: http://birdwatchersdigest.com Creating Quick and Powerful Web Applications using Oracle, GlassFish and NetBeans/Eclipse Slide 16
  • 17. http://blog.arungupta.me/2008/11/screencast-26-developrundebug-rails-application-using-netbeans-ide-and-glassfish-v3-prelude/ http://blog.arungupta.me/2009/10/totd-110-jruby-on-rails-application-using-oracle-on-glassfish/ http://blog.arungupta.me/2009/10/totd-111-rails-scaffold-for-a-pre-existing-table-using-oracle-and-glassfish/ Creating Quick and Powerful Web Applications using Oracle, GlassFish and NetBeans/Eclipse Slide 17
  • 18. Extending GlassFish ... 1, 2, 3. @Service(name="mycommand") @Scoped(PerLookup.class) public class CLIPluggabilityCommand implements AdminCommand { ... } ... // this value can be either runtime or os for our demo @Param(primary=true) String inParam; ... public void execute(AdminCommandContext context) { ... } http://java.net/blog/2008/11/07/extending-glassfish-v3-prelude-easy-1-2-3 Creating Quick and Powerful Web Applications using Oracle, GlassFish and NetBeans/Eclipse Slide 18
  • 19. Light-weight & On-demand Monitoring • Event-driven light-weight and non-intrusive monitoring • Modules provide domain specific probes (monitoring events) > EJB, Web, Connector, JPA, Jersey, Orb, Ruby • End-to-end monitoring on Solaris using DTrace • 3rd party scripting clients > JavaScript to begin with http://blog.arungupta.me/2009/09/totd-104-glassfish-v3-monitoring-how-to-monitor-a-rails-app-using-asadmin-javascript-jconsole-rest/ Creating Quick and Powerful Web Applications using Oracle, GlassFish and NetBeans/Eclipse Slide 19
  • 20. REST Interface • REST interface to management and monitoring data > Configuration data, Commands invocation (start/stop instance, deploy, undeploy, ...), CRUD resources (JMS, JDBC, ...) > localhost:4848/management/domain > localhost:4848/monitoring/domain • GET, POST, DELETE methods • XML, JSON, HTML reps http://blog.arungupta.me/2009/08/totd-96-glassfish-v3-rest-interface-to-monitoring-and-management-json-xml-and-html-representations/ Creating Quick and Powerful Web Applications using Oracle, GlassFish and NetBeans/Eclipse Slide 20
  • 21. References • glassfish.org • blogs.sun.com/theaquarium • twitter.com/glassfish • glassfish@sun.com Creating Quick and Powerful Web Applications using Oracle, GlassFish and NetBeans/Eclipse Slide 21
  • 22. Java EE: Past & Present Right Sizing Ease of Creating Quick & Powerful Development Java EE 6 EJB Lite Web Applications withWeb Services Java EE 5 Ease of Restful WS Oracle, GlassFish, Development Web Beans Extensibility J2EE 1.4 NetBeans / Eclipse Web Services, Robustness Annotations EJB 3.0 Enterprise Management, Persistence API Java Platform J2EE 1.3 Deployment, New and CMP, Async. Updated Connector ` Connector Java EE 6 Arun Gupta, GlassFish Guy J2EE 1.2 Architecture Web Services Sun Microsystems, Inc. Servlet, JSP, Web Profile JPE EJB, JMS blog.arungupta.me Project RMI/IIOP Creating Quick and Powerful Web Applications using Oracle, GlassFish and NetBeans/Eclipse 22 Slide 22