GlassFish. Developing an Application Server in Open Source



Similar documents
Learning GlassFish for Tomcat Users

Introduction to Sun ONE Application Server 7

JVA-561. Developing SOAP Web Services in Java

<Insert Picture Here> GlassFish v3 - A Taste of a Next Generation Application Server

applications. JBoss Enterprise Application Platform

JBoss Enterprise Middleware

JBoss Enterprise Middleware. The foundation of your open source middleware reference architecture

Oracle WebLogic Foundation of Oracle Fusion Middleware. Lawrence Manickam Toyork Systems Inc

WEB SERVICES. Revised 9/29/2015

Glassfish, JAVA EE, Servlets, JSP, EJB

GlassFish & Friends. May 22nd Alexis Moussine-Pouchkine GlassFish Team Sun Microsystems

Java EE 6 development with Eclipse, Netbeans, IntelliJ and GlassFish. Ludovic Champenois Oracle Corporation

SOA Fundamentals For Java Developers. Alexander Ulanov, System Architect Odessa, 30 September 2008

JBoss SOAP Web Services User Guide. Version: M5

ORACLE DATA SHEET KEY FEATURES AND BENEFITS ORACLE WEBLOGIC SERVER STANDARD EDITION

ORACLE DATA SHEET KEY FEATURES AND BENEFITS ORACLE WEBLOGIC SERVER STANDARD EDITION

Ruby on Rails in GlassFish Sun Microsystems

What Is NetBeans? Free and open-source based > Open source since June, 2000 > Large community of users and developers

JBoss Enterprise MIDDLEWARE

JAVA API FOR XML WEB SERVICES INTRODUCTION TO JAX-WS, THE JAVA API FOR XML BASED WEB SERVICES (SOAP, WSDL)

The Java EE 6 Platform. Alexis Moussine-Pouchkine GlassFish Team

Project SailFin: Building and Hosting Your Own Communication Server.

Opensourcowe projekty GlassFish oraz OpenSSO. Marek Sokołowski Sun Microsystems Poland

Why IBM WebSphere Application Server V8.0?

Part One Business Modeling Business Process Model

An Oracle White Paper May Ready for Business: Oracle GlassFish Server

Introduction to WebSphere Process Server and WebSphere Enterprise Service Bus

1 What Are Web Services?

How To Create A C++ Web Service

JBoss JEE5 with EJB3.0 on NonStop. JAVA SIG, San Jose

JBoss enterprise soa platform

NetBeans IDE Field Guide

What is it? What does it do? Benefits

Oracle im Open Source Kontext Abgrenzung GlassFish vs. JBoss und wozu noch WebLogic?

JBOSS ENTERPRISE APPLICATION PLATFORM MIGRATION GUIDELINES

Choose an IBM WebSphere Application Server configuration to suit your business needs

Oracle Service Bus. Situation. Oracle Service Bus Primer. Product History and Evolution. Positioning. Usage Scenario

This presentation is for informational purposes only and may not be incorporated into a contract or agreement.

2012 LABVANTAGE Solutions, Inc. All Rights Reserved.

BONITA, The Open Source BPM Solution

Accenture Software. ALIP Technical Presentation

JBoss Enterprise MIDDLEWARE

ITS. Java WebService. ITS Data-Solutions Pvt Ltd BENEFITS OF ATTENDANCE:

Developing Java Web Services

FUSE-ESB4 An open-source OSGi based platform for EAI and SOA

RESIN APPLICATION SERVER JAVA EE 6 WEB PROFILE

WebSphere Product Family Overview

Enterprise Service Bus

White Paper: Why Upgrade from WebSphere Application Server (WAS) v7 to v8.x?

Secure the Web: OpenSSO

Open source business rules management system

Java Web Services Training

GlassFish v3. Building an ex tensible modular Java EE application server. Jerome Dochez and Ludovic Champenois Sun Microsystems, Inc.

Web Services in Oracle Fusion Middleware. Raghu Kodali Consulting Product Manager & SOA Evangelist Oracle Fusion Middleware Oracle USA

ESB Features Comparison

How To Write A Web Framework In Java

1 What Are Web Services?

Internet Engineering: Web Application Architecture. Ali Kamandi Sharif University of Technology Fall 2007

Professional Profile Studies Senior Engineer October September 1998 Computer Engineering University of Deusto - Bizkaia (Spain)

A standards-based approach to application integration

Web Services Security: OpenSSO and Access Management for SOA. Sang Shin Java Technology Evangelist Sun Microsystems, Inc. javapassion.

Rapid Application Development. and Application Generation Tools. Walter Knesel

WebSphere Training Outline

Contents. Client-server and multi-tier architectures. The Java 2 Enterprise Edition (J2EE) platform

Increasing IT flexibility with IBM WebSphere ESB software.

LEAD JAVA/J2EE DEVELOPER/ARCHITECT CONSULTANT RESUME PITTSBURGH PA

How to Easily Integrate BIRT Reports into your Web Application

Reusing Existing * Java EE Applications from Oracle SOA Suite

ENGINEER - DEVELOPER ADVANCED JAVA. 28 years old - 7 years of experience

White Paper: 1) Architecture Objectives: The primary objective of this architecture is to meet the. 2) Architecture Explanation

JAVA WEB SERVICES PERFORMANCE ANALYSIS AND BENEFITS OF FAST INFOSET

HPC Portal Development Platform with E-Business and HPC Portlets

Open Source SOA with Service Component Architecture and Apache Tuscany. Jean-Sebastien Delfino Mario Antollini Raymond Feng

Distribution and Integration Technologies

JBoss EntErprisE ApplicAtion platform migration guidelines

Siena Web Services. A Solution To Personal Computing With Established Desktop Programs Exploiting Web Technologies

Talend ESB. Getting Started Guide 5.5.1

Architectural Overview

Chapter 22: Integrating Flex applications with portal servers

JBI and OpenESB. Introduction to Technology. Michael Czapski Advanced Solutions Architect, SOA/BI/Java CAPS Sun Microsystems, ANZ

Web. Services. Web Technologies. Today. Web. Technologies. Internet WWW. Protocols TCP/IP HTTP. Apache. Next Time. Lecture # Apache.

RED HAT JBOSS FUSE. An open source enterprise service bus

Oracle Identity Analytics Architecture. An Oracle White Paper July 2010

JAVA/J2EE DEVELOPER RESUME

Open ESB. Sang Shin Java Technology Evangelist Sun Microsystems, Inc. Raffaele Spazzoli Imola Informatica 1

Portal In Anger. Ray Ploski Team Lead - Solutions Architecture, JBoss by Red Hat June 22, 2010

IBM Rational Web Developer for WebSphere Software Version 6.0

Framework Adoption for Java Enterprise Application Development

Transcription:

GlassFish Developing an Application Server in Open Source Santiago Pericas-Geertsen Sun Microsystems, Inc. http://weblogs.java.net/blog/spericas/ Santiago.PericasGeertsen@sun.com 1 1

Who am I? BA from ITBA MA and PhD from Boston University With Sun for over 6 years Part of Glassfish team > Worked on numerous projects: XSLTC (XSLT Compiler in JDK), JAXP, Fast Web Services, Fast Infoset, JAX-WS, XML Performance, Japex, MEP,... > Currently tech lead of JAXP and MEP product 2

Part I - Glassfish Application Server and Community 3

What is GlassFish? A Community > Users, Partners, Testers, Developers,... > Started in 2005 on java.net Application Server (version 2) > Enterprise Quality and Open Source (CDDL & GPL v2) > Java EE 5 Reference Implementation > Full Commercial Support from Sun Growing organically into other Middleware Areas Leverages Sun's experience in other Java, Middleware, SDK Key part of Sun's Open Source Business Model 4

Glassfish Ecosystem Java EE RI & SDK Sun GlassFishJava EE RI & SDK Enterprise Server 2.x Derby MQ Project GlassFish Open Data Sync Sailfin Portal Server Open ESB Users and Other Groups 5

Frameworks and Applications Quercus PHP OSWorkFlow OSCache Integration ORB Apache Httpd DOJO Facelets Shale Project Tango CJUG-Classifieds BIRT MyFaces ADF SiteMesh JSPwiki SEAM MC4J jbpm WebDAV Tapestry AJAX StringBeans Portal BlogTrader Wicket Equinox Java WSDP WebSphere MQ Dalma EHCache6

GlassFish v2 Features Java EE 5 compliant Metro:.NET 3.0 web services interoperability Clustering Architecture Support for scripting languages Modular and ultra fast web tier Seamless IDE and tools integration > NetBeans, Eclipse, IntelliJ, Ant, Maven Support for the latest technologies (e.g., JAX-RS) Available as subscription or paid product 7

Java EE 5 = (J2EE 1.4).next Java EE 5 Theme: Ease of Development POJO-based programming > More freedom, fewer requirements Extensive use of annotations > Reduced need for deployment descriptors > Annotations are the default Resource Injection New APIs and frameworks 8

.NET Interoperability using Metro High level web services stack Fully interoperable with.net 3.0 Security, Reliability and Transactions Fully integrated into Netbeans 9

Metro Overview (.NET Interop) Security Reliability Transactions SOAP... HTTP WSDL Web Services Core JAXB JAXP SAAJ... XML Processing Metro GlassFish Web Services Stack metro.dev.java.net 10

Clustering Architecture Enhances scalability and availability > Transparent failures > Ability to add more nodes to cluster Runtime view of cluster > Router/Failover/Load Balancing module > Management module > Application state repository (ring configuration) 11

Clustering Architecture HTTP(S) JMS RMI/IIOP AS AS Node A AS AS Node B... AS AS AS Node C Clustered Instances Management Message Routing / Failover / Load Balancing HA Application State Repository 12

Ajax and Scripting Activities Dynamic Languages > glassfish-scripting.dev.java.net jmaki - http://ajax.dev.java.net > Very easily encapsulates Ajax widgets DynaFaces - http://jsf-extensions.dev.java.net > Ajax and JavaServer Faces 13

Web Tier JSP Container > 10x perf. improvement in JSP compilation (JSR-199) Grizzly > Easy-to-use, highly scalable and customizable HTTP Framework > Based on java.nio > Integrates with current Apache Tomcat HTTP Connector 14

World Record Performance SpecjAppServer 2004 SPECjAppServer 2004 Results 900 800 > July 2007: #1 score on T2000 > 883.66 JOPS@Standard for GlassFish v2 > Improved in areas not covered by benchmark > 10% faster than BEA WebLogic > 30% faster than IBM WebSphere 6.1 700 600? 500 400 300 200 100 0 Sun BEA IBM JBoss Disclaimers: SPEC and the benchmark name SPECjAppServer 2004 are registered trademarks of the Standard Performance Evaluation Corporation. Competitive benchmark results stated above reflect results published on www.spec.org as of 11/21/07. The comparison presented is based on GlassFish v2 UR1 run on 6 Sun SPARC Enterprise T5120 (1 chip, 8 cores/chip, 8 threads/core) 1.4GHz 8,439.36 SPECjAppServer2004 JOPS@Standard. For the latest SPECjAppServer 2004 benchmark results, visit http://www.spec.org/. 15

GlassFish Adoption Millions of downloads Dozens of external committers Over 8,000 members Excellent analyst reviews > Gartner, Forrester, etc... 16

Some Adoption Indicators 2.5m+ hits in 13 months 310k+ different IPs 150k registrations in 7 months 4.5m+ downloads in 12 months 17

After this Presentation... 18

Who else is using GlassFish... 19

GlassFish Deployment blogs.sun.com/stories 20

How to Save 3 Million Dollars? 21

So Why GlassFish? Java EE 5 (vs. Tomcat, JBoss, Websphere) Performance! (vs. JBoss) Administration (vs. JBoss, Tomcat) Enterprise-ready (vs. JBoss, Tomcat) Enterprise support (vs. Tomcat) Ecosystem: OpenSSO, OpenESB, etc... Community (vs. Weblogic, Websphere) Enterprise Features at Open Source price! 22

Reference http://glassfish.org http://blogs.sun.com/theaquarium http://blogs.sun.com/stories http://blogs.sun.com/glassfishforbusiness http://wiki.glassfish.java.net Fast, Easy & Reliable Modular, Embedable, Extensible 23

Part II Technology Highlight JAX-RS and Jersey 24

Introduction to REST Give everything an ID Link things together Use standard methods (HTTP) Allow for multiple representations Stateless communications 25

Give Everything an ID ID is a URI > http://mycompany.com/customers/corporationx > http://mycompany.com/products/125 > http://mycompany.com/orders/5455 26

Link Things Together Customer order #5455 <order self="http://mycompany.com/orders/5455"> <customer ref="http://mycompany.com/customers/corporationx"/> <product ref="http://mycompany.com/products/125"/> <amount value="3"/> </order> New identifiers are created http://mycompany.com/orders/5455/customer http://mycompany.com/orders/5455/product 27

Use Standard Methods Method Purpose GET Read, possibly cached POST Create without a known ID PUT Update or create with a known ID DELETE Remove 28

Multiple Representations Offer data in a variety of formats > XML > JSON > (X)HTML Maximize reach Support content negotiation > Accept header GET /foo Accept: application/json > URI-based GET /foo.json 29

Stateless Communications Long lived identifiers Avoid sessions Self-contained requests 30

REST using JAX-RS Operations such as, GET http://mycompany.com/orders/5455 PUT http://mycompany.com/customers/corporationx are mapped to resource class methods Mapping is controlled using Java annotations Resource classes are deployed as web applications in Glassfish 31

Example Using JAX-RS @Path("orders/{order_id}") public class OrderResource { @GET @ProduceMime( application/xml ) String getorder( @PathParam("order_id") String id) { return <order>... </order> ; }... 32

Example Using JAX-RS (contd.) @GET @ProduceMime( application/html ) String getorderhtml( @PathParam("order_id") String id) { return <html><h1>order id: + id + </h1>...</html> ; } 33

Example Using JAX-RS (contd.) @Path( customer ) CustomerResource getcustomer( @PathParam("order_id") String id) { return new CustomerResource( getorder(id).getcustomer()); }... } 34

Conclusions Glassfish community is growing rapidly > And you should be part of it! World class performance and J2EE 5.0 compliance Glassfish v3 already under way All the latest technologies including RESTful web services are available in Glassfish and Netbeans Download and try it now! 35

Thank You Santiago Pericas-Geertsen Sun Microsystems, Inc. http://weblogs.java.net/blog/spericas/ Santiago.PericasGeertsen@sun.com 36