This presentation provides a short overview of the new features on Javan Enterprise Edition 6. It was for the CapGemini http://Javanight.nl event
This document discusses Java EE 7 and the future of Java EE. It provides an overview of the new features in Java EE 7 including JMS 2.0, Java API for WebSocket, JSON processing, Bean Validation 1.1, JAX-RS 2.0, JPA 2.1, JSF 2.2, batch applications processing and more. It also discusses the Java EE 8 survey results and possibilities for Java EE 8 such as alignment with web standards, cloud, CDI and Java SE 8.
This document provides an overview of Java EE 7 technologies including Servlets, JSF, JMS, CDI, WebSocket, JSON, JPA, JAX-RS, and batch applications. It discusses the key features and changes in Java EE 7 for each technology compared to previous versions. These include enhancements to Servlets 3.1 like async processing, JSF 2.2 additions like file upload and HTML5 markup support, and JPA 2.1 features such as schema generation and stored procedures.
The document provides an overview of the Java Enterprise Edition (JEE) architecture and technologies. It describes JEE as a set of standards for developing scalable, secure, and transactional Java applications. The key components of JEE include web containers, enterprise beans, JavaServer Pages, servlets, and other technologies that allow separation of concerns and portability across application servers.
Java EE (Java Platform, Enterprise Edition) is a set of specifications that provide functionality for developing multi-tiered, scalable, secure, and robust server-side applications. It extends the Java SE platform by providing APIs for common enterprise features like web services, transactions, security, and more. Java EE applications are hosted on Java EE servers, which provide runtime environments called containers that implement the Java EE specifications and provide services to applications. Common Java EE servers include GlassFish, JBoss, and WebLogic.
Oracle Application Development Framework (ADF) is a framework for building web and mobile applications. The document discusses the history of ADF starting in 1970 and its architecture which includes features like ADF Model, Controller, View, Business Services, and support for technologies like JavaServer Faces, Java EE, XML, and web services. It also promotes additional resources for learning more about ADF like tutorials, samples, and documentation on Oracle's website.
WebLogic 12.1.3 was released late last year. It brings a large set of changes including support for some key new Java EE 7 APIs such as WebSocket, JAX-RS 2, JSON-P and JPA 2.1, support for Java SE 8, WebSocket fallback support, support for Server-Sent Events (SSE), improved Maven support, enhanced REST administration support, Oracle Database 12c driver support and much, much more. In this session we will take a detailed tour of these features. In addition we will also cover updated WebLogic support in the Oracle Cloud, the new Oracle public Maven repository, using WebLogic with Arquillian for testing and well as official Docker support for WebLogic.
Towards the end of the session we will discuss what's coming in WebLogic 12.2.1 this year including full support for Java EE 7, multi-tenancy and more.
This document summarizes several design patterns used in Java EE, including Singleton, Abstract Factory, Facade, Decorator, Observer, MVC, and Domain Driven Design. It provides examples of how each pattern can be implemented in Java EE using annotations like @Singleton, @Produces, @Stateless, @Inject, and more. It also briefly discusses the pros and cons of implementing these patterns in Java EE.
JavaOne 2011: Migrating Spring Applications to Java EE 6Bert Ertman
The Spring Framework has no-doubt played a major role in evolving the way we write enterprise applications on the Java platform today. However, it is still a proprietary framework owned by a single company. The age of having to rely on such proprietary frameworks in order to develop decent enterprise applications is now over and Java EE 6 has become an even easier way to develop enterprise applications based on standards which makes it the best choice for any enterprise application. In this session you will experience how to migrate a typical full stack Spring application to a standards based, completely portable, Java EE 6 application including integration tests.
The document provides an overview of J2EE (Java 2 Platform Enterprise Edition) and servlets. It discusses how J2EE improved on earlier two-tier architectures by introducing a multi-tier architecture. It describes the key components and features of J2EE, including servlets, JavaServer Pages, and Enterprise JavaBeans. It explains how servlets and JSPs handle presentation logic and interface with EJBs, which handle application logic.
This document discusses J2EE architecture and concepts. It covers the main components of the J2EE web tier including JavaServer Faces, web services, and EJBs. It also discusses technologies for persistence like JPA/Hibernate and dependency injection frameworks like Spring. JavaServer Faces is introduced as a UI framework that uses a component-based MVC pattern. The Spring framework provides inversion of control and dependency injection. Hibernate is described as an ORM that maps database tables to Java objects.
JavaOne - 10 Tips for Java EE 7 with PrimeFacesMert Çalışkan
This presentation takes you on a JSF tour with the help of Java EE 7, together with PrimeFaces and the NetBeans IDE. The tour begins with an introduction of PrimeFaces and its features, such as UI components and themes. Focusing on Java EE 7, it examines HTML5-friendly templates, resource libraries contracts, Faces Flow, EL operators, and lambda magic. Throughout, you will be shown how to apply the principles and concepts learned, via working examples in the NetBeans IDE. The presentation is brought to you “from the horse's mouth”—that is, by PrimeFaces and NetBeans IDE engineers.
J2EE (Java 2 Platform, Enterprise Edition) is a platform for developing and running large-scale, multi-tiered, scalable, reliable, and secure network applications. It uses a distributed multi-tiered application model where application logic is divided into components running on different machines depending on their function. Components include web components, enterprise beans running business logic on the server, and application clients running on the client. The J2EE platform provides containers that manage these components and offer underlying services like transaction management, security, and connectivity.
The document discusses JavaFX, a new platform from Sun Microsystems for building rich internet applications. It provides an overview of JavaFX, including its key features, architecture, tools, and APIs. Examples are given of applications that can be created with JavaFX, such as a video player and 3D effects, and how to deploy JavaFX applications through the web, Java Web Start, or a mobile emulator.
50 New Features of Java EE 7 in 50 minutesArun Gupta
The document discusses 50 new features in Java EE 7 presented over 50 minutes. It provides summaries of features including finer control over CDI scanning, interceptor bindings for constructors and methods, managed concurrency utilities like executors and thread factories, schema generation and indexes for JPA, and a simplified JMS API.
With a strong focus on annotations, minimalist configuration, simple deployment, intelligent defaults and Java centric type-safety, Java EE is one of the most productive full-stack development platforms around today. This very code centric workshop is a quick tour of the Java EE platform as it stands today. If you haven't seen Java EE for a while and want to catch up, this session is definitely for you.
We will start with the basic principals of what Java EE is and what it is not, overview the platform at a high level and then dive into each key API like JSF, CDI, EJB 3, JPA, JAX-RS, WebSocket and JMS using examples and demos. This is your chance to look at Java EE 7 in the context of a realistic application named Cargo Tracker, available with an MIT license at http://cargotracker.java.net.
We will also briefly take a look at the emerging horizons of Java EE 8.
HTTP/2 comes to Java. What Servlet 4.0 means to you. DevNexus 2015Edward Burns
It’s hard to overstate how much has changed in the world since HTTP 1.1 went final in June of 1999. There were no smartphones, Google had not yet IPO’d, Java Swing was less than a year old… you get the idea. Yet for all that change, HTTP remains at version 1.1.
Change is finally coming. HTTP 2.0 should be complete by 2015, and with that comes the need for a new version of Servlet. It will embrace HTTP 2.0 and expose its key features to Java EE 8 applications. This session gives a peek into the progress of the Servlet spec and shares some ideas about how developers can take advantage of this exciting
update to the world’s most successful application protocol on the world’s most popular programming language.
This document discusses a Java FX and Spring Batch project to create a batch job monitoring and configuration system. It outlines the architecture, which includes Java FX for the user interface, JEE 7 standards for the server components, and Spring Batch for the runtime batch infrastructure. The server agent uses Java Batch 1.0 to configure, monitor, and spawn batch jobs across different systems. The document also covers the user interface, which leverages Java FX for its productivity, capabilities, and acceptability for desktop applications.
The document discusses designing the structure of JEE applications. It covers JEE modules like web modules and EJB modules, and how to package them into an EAR file along with any third party JARs. It also discusses class loading in JEE and how to design module dependencies to avoid conflicts. The goal is to understand how to correctly structure a JEE application and its modules.
This document provides an overview of building web applications with J2EE. It introduces key J2EE concepts and technologies including the J2EE architecture with its layered approach, containers that provide services to components, and common technologies used like EJBs, JSF, XHTML. It also discusses J2EE servers, development lifecycles and tools, and provides an example blog application to demonstrate J2EE concepts in practice. The presentation concludes with a Q&A session.
The document discusses seven points for applying Java EE 7:
1. Select a Java EE 7 compliant application server like GlassFish or WildFly. Consider factors like commercial support needs.
2. Use a modern IDE like Eclipse, NetBeans or IntelliJ IDEA to build projects with Maven.
3. Apply JSF for the front-end framework and use Facelets for mark-up.
4. Apply EJBs for the back-end framework to benefit from features like automatic transactions.
5. Consider using RMI-IIOP for heavy transactions or WebSockets for lightweight and faster systems.
6. Apply JPA for database persistence.
7. Consider Java EE 8 for
This document provides an introduction to the Java Platform, Enterprise Edition (JEE). It discusses the course details, including contents, assessment, and lectures. It covers JEE technology overview, containers, architecture, and APIs. The lectures include an overview of JEE, transaction processing and ACID properties, multilayered architectures, and 1-tier, 2-tier, 3-tier and n-tier architectures.
Hirofumi Iwasaki presented on moving systems from J2EE to Java EE. He discussed the history of Java EE specifications from J2EE 1.2 to Java EE 7. He showed how components, architectures, and development environments have evolved over this time period. Iwasaki presented a case study on modernizing an existing "J2EE era" system from 2001-2006 and discussed migrating from Struts 1.x to JSF 2.2 as an example. He emphasized that systems should not remain on older Java EE versions and should upgrade to take advantage of current specifications, like Java EE 7.
All the Java ADF beginners need to know - part1Markus Eisele
This is a mini-lesson on Java concepts and syntax, aimed at PL/SQL developers and DBAs who need to know sufficient Java to start building ADF Components with Java.
It was held at KScope 11 in Long Beach!
This session compares the Spring and Java EE stacks in terms of Web frameworks. It re-examines the motivations behind the Spring framework and explores the emergence of the Java EE programming model to meet the challenges posed. The presentation provides insight into when Spring and/or Java EE is appropriate for a building Web applications and if they can coexist.
The document discusses the implementation of a project, including:
- The selection of Windows 7 and a platform-independent J2EE platform for development
- The selection of Java as the programming language due to its object-oriented capabilities, rich APIs, powerful development tools, open source libraries, and platform independence
- The use of Oracle Database for its reliability and ability to ensure data integrity through ACID properties
- Requirements including Java/J2EE, HTML, JavaScript, JSON, and Tomcat as the web server
- Guidelines for programming including naming conventions and handling exceptions
- The implementation procedure including creating a dynamic web project in Eclipse and exporting a WAR file
JavaScript Frameworks and Java EE – A Great MatchReza Rahman
JavaScript frameworks are becoming more popular for building rich clients. Java EE is well-positioned as a backend for JavaScript rich clients, providing capabilities like JAX-RS for REST, the Java API for WebSocket, and JSON processing. The document presents an architecture with the client handling UI rendering and basic logic and the server managing business logic, data, and communication via REST, WebSocket, and server-sent events. It provides a demo on GitHub showing how Java EE can integrate with JavaScript frameworks.
This document discusses WebSockets and their APIs. It introduces WebSockets as enabling bi-directional, full-duplex communications over TCP, in contrast to traditional HTTP interactions which are half-duplex. It then covers the WebSocket handshake process, APIs for WebSocket in JavaScript and Java, and how to create and use WebSocket endpoints programmatically and using annotations in Java.
JavaOne 2011: Migrating Spring Applications to Java EE 6Bert Ertman
The Spring Framework has no-doubt played a major role in evolving the way we write enterprise applications on the Java platform today. However, it is still a proprietary framework owned by a single company. The age of having to rely on such proprietary frameworks in order to develop decent enterprise applications is now over and Java EE 6 has become an even easier way to develop enterprise applications based on standards which makes it the best choice for any enterprise application. In this session you will experience how to migrate a typical full stack Spring application to a standards based, completely portable, Java EE 6 application including integration tests.
The document provides an overview of J2EE (Java 2 Platform Enterprise Edition) and servlets. It discusses how J2EE improved on earlier two-tier architectures by introducing a multi-tier architecture. It describes the key components and features of J2EE, including servlets, JavaServer Pages, and Enterprise JavaBeans. It explains how servlets and JSPs handle presentation logic and interface with EJBs, which handle application logic.
This document discusses J2EE architecture and concepts. It covers the main components of the J2EE web tier including JavaServer Faces, web services, and EJBs. It also discusses technologies for persistence like JPA/Hibernate and dependency injection frameworks like Spring. JavaServer Faces is introduced as a UI framework that uses a component-based MVC pattern. The Spring framework provides inversion of control and dependency injection. Hibernate is described as an ORM that maps database tables to Java objects.
JavaOne - 10 Tips for Java EE 7 with PrimeFacesMert Çalışkan
This presentation takes you on a JSF tour with the help of Java EE 7, together with PrimeFaces and the NetBeans IDE. The tour begins with an introduction of PrimeFaces and its features, such as UI components and themes. Focusing on Java EE 7, it examines HTML5-friendly templates, resource libraries contracts, Faces Flow, EL operators, and lambda magic. Throughout, you will be shown how to apply the principles and concepts learned, via working examples in the NetBeans IDE. The presentation is brought to you “from the horse's mouth”—that is, by PrimeFaces and NetBeans IDE engineers.
J2EE (Java 2 Platform, Enterprise Edition) is a platform for developing and running large-scale, multi-tiered, scalable, reliable, and secure network applications. It uses a distributed multi-tiered application model where application logic is divided into components running on different machines depending on their function. Components include web components, enterprise beans running business logic on the server, and application clients running on the client. The J2EE platform provides containers that manage these components and offer underlying services like transaction management, security, and connectivity.
The document discusses JavaFX, a new platform from Sun Microsystems for building rich internet applications. It provides an overview of JavaFX, including its key features, architecture, tools, and APIs. Examples are given of applications that can be created with JavaFX, such as a video player and 3D effects, and how to deploy JavaFX applications through the web, Java Web Start, or a mobile emulator.
50 New Features of Java EE 7 in 50 minutesArun Gupta
The document discusses 50 new features in Java EE 7 presented over 50 minutes. It provides summaries of features including finer control over CDI scanning, interceptor bindings for constructors and methods, managed concurrency utilities like executors and thread factories, schema generation and indexes for JPA, and a simplified JMS API.
With a strong focus on annotations, minimalist configuration, simple deployment, intelligent defaults and Java centric type-safety, Java EE is one of the most productive full-stack development platforms around today. This very code centric workshop is a quick tour of the Java EE platform as it stands today. If you haven't seen Java EE for a while and want to catch up, this session is definitely for you.
We will start with the basic principals of what Java EE is and what it is not, overview the platform at a high level and then dive into each key API like JSF, CDI, EJB 3, JPA, JAX-RS, WebSocket and JMS using examples and demos. This is your chance to look at Java EE 7 in the context of a realistic application named Cargo Tracker, available with an MIT license at http://cargotracker.java.net.
We will also briefly take a look at the emerging horizons of Java EE 8.
HTTP/2 comes to Java. What Servlet 4.0 means to you. DevNexus 2015Edward Burns
It’s hard to overstate how much has changed in the world since HTTP 1.1 went final in June of 1999. There were no smartphones, Google had not yet IPO’d, Java Swing was less than a year old… you get the idea. Yet for all that change, HTTP remains at version 1.1.
Change is finally coming. HTTP 2.0 should be complete by 2015, and with that comes the need for a new version of Servlet. It will embrace HTTP 2.0 and expose its key features to Java EE 8 applications. This session gives a peek into the progress of the Servlet spec and shares some ideas about how developers can take advantage of this exciting
update to the world’s most successful application protocol on the world’s most popular programming language.
This document discusses a Java FX and Spring Batch project to create a batch job monitoring and configuration system. It outlines the architecture, which includes Java FX for the user interface, JEE 7 standards for the server components, and Spring Batch for the runtime batch infrastructure. The server agent uses Java Batch 1.0 to configure, monitor, and spawn batch jobs across different systems. The document also covers the user interface, which leverages Java FX for its productivity, capabilities, and acceptability for desktop applications.
The document discusses designing the structure of JEE applications. It covers JEE modules like web modules and EJB modules, and how to package them into an EAR file along with any third party JARs. It also discusses class loading in JEE and how to design module dependencies to avoid conflicts. The goal is to understand how to correctly structure a JEE application and its modules.
This document provides an overview of building web applications with J2EE. It introduces key J2EE concepts and technologies including the J2EE architecture with its layered approach, containers that provide services to components, and common technologies used like EJBs, JSF, XHTML. It also discusses J2EE servers, development lifecycles and tools, and provides an example blog application to demonstrate J2EE concepts in practice. The presentation concludes with a Q&A session.
The document discusses seven points for applying Java EE 7:
1. Select a Java EE 7 compliant application server like GlassFish or WildFly. Consider factors like commercial support needs.
2. Use a modern IDE like Eclipse, NetBeans or IntelliJ IDEA to build projects with Maven.
3. Apply JSF for the front-end framework and use Facelets for mark-up.
4. Apply EJBs for the back-end framework to benefit from features like automatic transactions.
5. Consider using RMI-IIOP for heavy transactions or WebSockets for lightweight and faster systems.
6. Apply JPA for database persistence.
7. Consider Java EE 8 for
This document provides an introduction to the Java Platform, Enterprise Edition (JEE). It discusses the course details, including contents, assessment, and lectures. It covers JEE technology overview, containers, architecture, and APIs. The lectures include an overview of JEE, transaction processing and ACID properties, multilayered architectures, and 1-tier, 2-tier, 3-tier and n-tier architectures.
Hirofumi Iwasaki presented on moving systems from J2EE to Java EE. He discussed the history of Java EE specifications from J2EE 1.2 to Java EE 7. He showed how components, architectures, and development environments have evolved over this time period. Iwasaki presented a case study on modernizing an existing "J2EE era" system from 2001-2006 and discussed migrating from Struts 1.x to JSF 2.2 as an example. He emphasized that systems should not remain on older Java EE versions and should upgrade to take advantage of current specifications, like Java EE 7.
All the Java ADF beginners need to know - part1Markus Eisele
This is a mini-lesson on Java concepts and syntax, aimed at PL/SQL developers and DBAs who need to know sufficient Java to start building ADF Components with Java.
It was held at KScope 11 in Long Beach!
This session compares the Spring and Java EE stacks in terms of Web frameworks. It re-examines the motivations behind the Spring framework and explores the emergence of the Java EE programming model to meet the challenges posed. The presentation provides insight into when Spring and/or Java EE is appropriate for a building Web applications and if they can coexist.
The document discusses the implementation of a project, including:
- The selection of Windows 7 and a platform-independent J2EE platform for development
- The selection of Java as the programming language due to its object-oriented capabilities, rich APIs, powerful development tools, open source libraries, and platform independence
- The use of Oracle Database for its reliability and ability to ensure data integrity through ACID properties
- Requirements including Java/J2EE, HTML, JavaScript, JSON, and Tomcat as the web server
- Guidelines for programming including naming conventions and handling exceptions
- The implementation procedure including creating a dynamic web project in Eclipse and exporting a WAR file
JavaScript Frameworks and Java EE – A Great MatchReza Rahman
JavaScript frameworks are becoming more popular for building rich clients. Java EE is well-positioned as a backend for JavaScript rich clients, providing capabilities like JAX-RS for REST, the Java API for WebSocket, and JSON processing. The document presents an architecture with the client handling UI rendering and basic logic and the server managing business logic, data, and communication via REST, WebSocket, and server-sent events. It provides a demo on GitHub showing how Java EE can integrate with JavaScript frameworks.
This document discusses WebSockets and their APIs. It introduces WebSockets as enabling bi-directional, full-duplex communications over TCP, in contrast to traditional HTTP interactions which are half-duplex. It then covers the WebSocket handshake process, APIs for WebSocket in JavaScript and Java, and how to create and use WebSocket endpoints programmatically and using annotations in Java.
The document discusses Java persistence and JPA 2. It introduces entity beans as persistent objects mapped to database tables. An entity bean represents data from a database table as a Java object. The document covers the lifecycle of entity beans, associations between entity beans like one-to-one and many-to-many relationships, and using the entity manager to persist, find, and remove entity beans from the database. It provides examples of entity bean classes annotated with JPA annotations and a persistence configuration file.
The document provides an overview of servlets, including:
- Servlets allow generating dynamic web content and communication with other server resources like databases.
- The servlet lifecycle includes initialization, handling requests, and destruction.
- Servlets extend HttpServlet to handle HTTP requests and responses, overriding methods like doGet() and doPost().
- The web container manages servlets, providing threading and other services.
The document discusses Java web services and RESTful web services. It provides an overview of JAX-WS for implementing SOAP-based web services and JAX-RS for implementing RESTful web services. Key points include how JAX-WS uses annotations to simplify web service development, the SOAP protocol for exchanging messages, and how JAX-RS leverages HTTP methods and URIs to access resources on the web.
The document discusses servlet session management. It covers servlet filters which can intercept and modify requests and responses. It also discusses the servlet context and configuration parameters, as well as the session object and APIs. Session attributes allow data to be stored and shared across requests from the same client, while context attributes are shared across the entire application. Session tracking allows associating requests from the same client, typically using cookies or URL rewriting to pass the session identifier.
Lecture 4: JavaServer Pages (JSP) & Expression Language (EL)Fahad Golra
The document discusses JavaServer Pages (JSP) and the Expression Language (EL) in JEE. It covers key JSP concepts like scripting elements, directive elements, standard action elements, and implicit objects. It also explains the translation of JSP files to servlets, and provides examples of using scripting elements, directives like <jsp:include>, and standard actions.
Tutorial 4 - Basics of Digital PhotographyFahad Golra
This document outlines the basics of digital photography, including discussions of photography gear like cameras and lenses, as well as concepts like exposure, focus, light, and editing. It also covers composition elements like line, shape, space and color, and composition principles such as scale, hierarchy, emphasis, unity, balance, and contrast. The document provides examples and explanations of different composition rules and techniques.
Un support de cours complet sur l'architecture JEE et l'industrialisation du génie logiciel. Ce support contient les parties suivantes :
- Tendances du génie logiciel
- Architecture JEE
- Services de l'infrastructure JEE (jdbc, jndi, rmi,servlet, jsp, jstl, jsf,EJB, JaxWS, JaxRS, JMS, JMX, ....)
- Maven : Outil d'industrialisation du génie logiciel
- Junit : Test Unitaires
- Hibernate
- Spring IOC et Spring MVC
- Struts 2
Bon apprentissage à tous
Maven
Exemple d'application qui montre comment utiliser les bonnes pratiques de JEE pour développer un site web de commerce électronique en utilisant les outils :
- Eclipse comme environnement de développement
- Maven comme outil d’intégration
- JUnit comme Framework des tsts unitaire
- Spring IOC pour l'inversion de contrôle
- Spring MVC pour la couche web
- Spring Security pour la sécurité
- JPA, Hibernate
- Web Service SOAP
- Web Service REST
- Service RMI
Se support présente l'outil d'intégration Maven dans le processus d'industrialisation du génie logiciel. Tout ce qu'il faut savoir sur maven.
La deuxième partie de ce cours traite la mise en oeuvre de maven dans des projets basés sur JPA, Hibernate, Spring et Struts.
Bon apprentissage à tous
Java Platform, Enterprise Edition 6 (Java EE 6) is the new, improved release of Java EE 5 with new features and a corresponding release of GlassFish v3.
Java EE 6 & GlassFish v3 at Vancouver JUG, Jan 26, 2010Arun Gupta
Java EE 6 and GlassFish v3 are paving the path for the future by making Java EE more flexible, extensible, and easier to develop on. Key features of Java EE 6 include the new Web Profile specification, annotations for easier programming, and support for open source frameworks and dynamic languages. GlassFish v3 is the reference implementation of Java EE 6 and includes enhancements for modularity, embeddability, and extensibility.
Java EE 6 & GlassFish v3: Paving the path for the future - Spark IT 2010Arun Gupta
Java EE 6 and GlassFish v3 aim to pave the path for the future by making Java EE more flexible, extensible, and easier to develop on. Key aspects include profiles, pruning technologies, embracing open source frameworks, and continued focus on reducing configuration and improving the programming model with annotations. GlassFish v3 is the open source reference implementation of Java EE 6 and includes new features like modularity, embeddability, and light-weight monitoring.
Java EE 6 : Paving The Path For The FutureIndicThreads
“The Java EE platform is getting an extreme makeover with the upcoming version ? Java EE 6. It is developed as JSR 316 under the Java Community Process.
The Java EE 6 platform adds more power to the platform and yet make it more flexible so that it can be adopted to different flavors of an application. It breaks the ‘one size fits all’ approach with Profiles and improves on the Java EE 5 developer productivity features. It enables extensibility by embracing open source libraries and frameworks such that they are treated as first class citizens of the platform.
Several new specifications such as Java Server Faces 2.0, Servlet 3.0, Java Persistence API 2.0, and Java Context Dependency Injection 1.0 are included in the platform. All these specifications are implemented in GlassFish v3 that providesa light-weight, modular, and extensible platform for your Web applications.
This session provides an overview of Java EE 6 and GlassFish v3. Using multiple simple-to-understand samples it explains the value proposition provided by Java EE 6. “
Java EE 6 and GlassFish v3 aim to make Java EE more flexible, lightweight, and easier to develop on. Key features of Java EE 6 include profiles, extensibility through frameworks and web fragments, and annotations that reduce the need for deployment descriptors. GlassFish v3 is the open source reference implementation of Java EE 6 and includes new capabilities like monitoring, administration via REST, and deployment-on-save for increased productivity. Oracle plans to continue GlassFish as the Java EE reference implementation and add it to their WebLogic offerings.
The document discusses Java EE 6 and its evolution over time. It outlines key features of Java EE 6 including lightweight profiles, annotations, managed beans, interceptors, and Servlets 3.0. It provides examples of using managed beans, interceptors, and the new annotations-based approach in Servlets 3.0. The document aims to educate developers on the nuts and bolts of Java EE 6.
Java EE 6 & GlassFish = Less Code + More Power @ DevIgnitionArun Gupta
The document summarizes new features in Java EE 6 and GlassFish v3 that aim to provide developers with more powerful capabilities while requiring less code. Key highlights include annotations to simplify configuration and development, support for RESTful web services and dependency injection, and improvements to Java Server Faces, EJBs, and the Java Persistence API to enhance developer productivity.
The document is a presentation about Java EE 6 and GlassFish. It discusses how Java EE 6 and GlassFish aim to provide developers with less code and more power through features like annotations, simplified configurations, and support for newer Java technologies. It also summarizes some of the new Java EE 6 specifications and how they improve areas like web development, EJBs, JSF, JPA and more.
Java EE 6 & GlassFish = Less Code + More Power at CEJUGArun Gupta
The document discusses Java EE 6 and GlassFish, which provide developers with more power and flexibility while requiring less code. Key features of Java EE 6 like EJB 3.1, CDI, and JSF 2.0 incorporate more annotations and reduce the need for deployment descriptors. GlassFish is the open source reference implementation of Java EE 6 and offers benefits like modularity, embeddability, and support for cloud computing. Future versions of Java EE and GlassFish will focus on continued standards-based innovation.
Java EE 6 & GlassFish 3: Light-weight, Extensible, and Powerful @ Silicon Val...Arun Gupta
Java EE 6 and GlassFish 3 provide a light-weight, extensible, and powerful platform. Key features include a web profile, pruning of unused specifications, support for open source frameworks, and easier development models with annotations and reduced configuration files. GlassFish 3 is the open source reference implementation of the Java EE 6 platform and includes new features like clustering and centralized administration.
Java EE 6 provides enhancements to ease of development and extensibility. Key changes include introducing profiles like the Web Profile to make the platform more flexible. The platform is being right sized by pruning unused technologies. Extensibility is improved by embracing open source frameworks. Development is eased through increased use of annotations and reducing the need for deployment descriptors. The first preview release of the Java EE 6 reference implementation GlassFish is available now ahead of the final release later in 2009.
Arun Gupta: London Java Community: Java EE 6 and GlassFish 3 Skills Matter
This document discusses Java EE 6 and GlassFish 3. It outlines that Java EE 6 and GlassFish 3 aim to provide a light-weight, extensible, and powerful platform. Key goals for Java EE 6 include making it more flexible, extensible by embracing open source frameworks, and easier to use and develop on. GlassFish 3 is the open source reference implementation of Java EE 6 and includes new features like clustering and centralized administration.
Java EE 6 & GlassFish 3: Light-weight, Extensible, and Powerful @ JAX London ...Arun Gupta
This document discusses Java EE 6 and GlassFish 3. It notes that Java EE 6 and GlassFish 3 aim to provide a light-weight, extensible, and powerful platform. Key features of Java EE 6 include improved ease of development through annotations, updated specifications like JSF 2.0 and EJB 3.1, and a new web profile. GlassFish 3 is the open source reference implementation of Java EE 6 and provides modularity, embeddability, and extensibility. Oracle will continue to develop and support GlassFish going forward.
Java EE 6 and GlassFish v3: Paving the path for futureArun Gupta
Java EE 6 and GlassFish v3 aim to pave the path for the future by right-sizing the Java EE platform, making it more extensible, and easier to develop on. Key changes include introducing profiles like the Web Profile, pruning unused technologies, embracing open source frameworks, and continuing to improve the annotation-based programming model. GlassFish v3 is the reference implementation of Java EE 6 and includes new features like modular architecture, embeddability, and RESTful monitoring and management interfaces.
Boston 2011 OTN Developer Days - Java EE 6Arun Gupta
The document provides an overview of new features in Java EE 6, including lightweight profiles, annotation-driven programming, and ease of development enhancements like packaging EJBs in WAR files. It lists the Java EE 6 specifications, major changes to specifications like JSF 2.0 and EJB 3.1, and new specifications like CDI 1.0.
Java EE 6 & GlassFish v3: Paving the path for the future - Tech Days 2010 IndiaArun Gupta
This document discusses Java EE 6 and GlassFish v3. It outlines the goals of making Java EE more lightweight, extensible, and easier to develop on. Key features of Java EE 6 include a web profile, pruning of specifications, embrace of open source frameworks, and continued focus on ease of development. GlassFish v3 is the reference implementation and is modular, embeddable, extensible, and supports dynamic languages and frameworks.
Java EE 6 and GlassFish v3: Paving the path for futureArun Gupta
This session presents the GlassFish™ Tools Bundle for Eclipse, which can be used for creating Java EE 6 applications and configuring, deploying, and monitoring the GlassFish application server.
The document discusses how Servlets 3.0 in Java EE 6 provides an easier development experience through annotations-based programming, extensibility features like pluggable web fragments, and dynamic registration of servlets and filters using a ServletContainerInitializer. It also covers how frameworks like Java Server Faces leverage these new Servlets 3.0 features to simplify deployment.
The document discusses Java EE 6 and its goals of being flexible, lightweight, and easier to develop on compared to previous versions. It outlines many of the new and updated specifications in Java EE 6, including Contexts and Dependency Injection, Bean Validation, JAX-RS, and others. It also describes key Java EE 6 concepts like managed beans, interceptors, and profiles aimed at improving ease of development.
Java EE 6 Hands-on Workshop at Dallas Tech Fest 2010Arun Gupta
The document provides an overview of the Java EE 6 Hands-on Workshop being conducted by Arun Gupta. It includes an agenda for the workshop covering topics like Java EE 6 specifications, managed beans, interceptors, servlets, and ease of development features in Java EE 6. The workshop aims to demonstrate how Java EE 6 provides a flexible, extensible and easier to use platform for application development.
This document summarizes new features in Java SE 7 and Java EE 6. For Java SE 7, it outlines language changes like annotations on types and Project Coin small changes, as well as core changes like modularity support and concurrency updates. It describes VM changes like compressed pointers and garbage collection improvements. For Java EE 6, it discusses goals like rightsizing and extensibility, and new technologies like CDI and Bean Validation. It provides overviews of updated technologies and how profiles target specific capabilities.
JavaFX is a platform for creating rich internet applications across devices using Java. It includes a declarative scripting language called JavaFX Script for building user interfaces. JavaFX supports media playback, effects, animations, and integration with the NetBeans IDE. It aims to make developing graphical applications in Java simpler and more powerful.
EDA With Glassfish ESB Jfall IEP Intelligent Event ProcessingEugene Bogaart
Presentation talks about theory of Event Driven Architecture and Complex Event Processing. Afterwards Intellligent Event Processing with GlassFish ESB is explaind.
This is a presentation provides an overview of most important components of GlassFish portfolio.It focuses on Enterprise Server and the enterprise tools that come with it. Further it also explains (in short) Glassfish WebSpace server and Glassfish ESB
Eugene's presentation of Enterprise Tools and features of Glassfish V2. This presentation was given at the NLJUG Glassfish University on May 27 in Amersfoort
Alexis MP presentation for the NLJUG University in Amersfoort on May 27. Most of the presentation was about all kind of demonstrations of new V3 features (demo's not included)
GlassFish is an open source application server that is Java EE 5 compliant. It can host Java applications and provides APIs to expose business logic and processes. GlassFish is community developed with a governance board and has millions of downloads. It provides clustering, load balancing, high availability, web services, and integration capabilities out of the box.
This is 2 hour presentations on Glassfish
with 4 different demonstrations was compiled for Sogeti. It is based on the public work from Alexis MP and WebCast from John Clingan
Mobile App Development Company in Saudi ArabiaSteve Jonas
EmizenTech is a globally recognized software development company, proudly serving businesses since 2013. With over 11+ years of industry experience and a team of 200+ skilled professionals, we have successfully delivered 1200+ projects across various sectors. As a leading Mobile App Development Company In Saudi Arabia we offer end-to-end solutions for iOS, Android, and cross-platform applications. Our apps are known for their user-friendly interfaces, scalability, high performance, and strong security features. We tailor each mobile application to meet the unique needs of different industries, ensuring a seamless user experience. EmizenTech is committed to turning your vision into a powerful digital product that drives growth, innovation, and long-term success in the competitive mobile landscape of Saudi Arabia.
Buckeye Dreamin 2024: Assessing and Resolving Technical DebtLynda Kane
Slide Deck from Buckeye Dreamin' 2024 presentation Assessing and Resolving Technical Debt. Focused on identifying technical debt in Salesforce and working towards resolving it.
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...SOFTTECHHUB
I started my online journey with several hosting services before stumbling upon Ai EngineHost. At first, the idea of paying one fee and getting lifetime access seemed too good to pass up. The platform is built on reliable US-based servers, ensuring your projects run at high speeds and remain safe. Let me take you step by step through its benefits and features as I explain why this hosting solution is a perfect fit for digital entrepreneurs.
What is Model Context Protocol(MCP) - The new technology for communication bw...Vishnu Singh Chundawat
The MCP (Model Context Protocol) is a framework designed to manage context and interaction within complex systems. This SlideShare presentation will provide a detailed overview of the MCP Model, its applications, and how it plays a crucial role in improving communication and decision-making in distributed systems. We will explore the key concepts behind the protocol, including the importance of context, data management, and how this model enhances system adaptability and responsiveness. Ideal for software developers, system architects, and IT professionals, this presentation will offer valuable insights into how the MCP Model can streamline workflows, improve efficiency, and create more intuitive systems for a wide range of use cases.
Learn the Basics of Agile Development: Your Step-by-Step GuideMarcel David
New to Agile? This step-by-step guide is your perfect starting point. "Learn the Basics of Agile Development" simplifies complex concepts, providing you with a clear understanding of how Agile can improve software development and project management. Discover the benefits of iterative work, team collaboration, and flexible planning.
Rock, Paper, Scissors: An Apex Map Learning JourneyLynda Kane
Slide Deck from Presentations to WITDevs (April 2021) and Cleveland Developer Group (6/28/2023) on using Rock, Paper, Scissors to learn the Map construct in Salesforce Apex development.
Automation Dreamin' 2022: Sharing Some Gratitude with Your UsersLynda Kane
Slide Deck from Automation Dreamin'2022 presentation Sharing Some Gratitude with Your Users on creating a Flow to present a random statement of Gratitude to a User in Salesforce.
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Impelsys Inc.
Impelsys provided a robust testing solution, leveraging a risk-based and requirement-mapped approach to validate ICU Connect and CritiXpert. A well-defined test suite was developed to assess data communication, clinical data collection, transformation, and visualization across integrated devices.
Big Data Analytics Quick Research Guide by Arthur MorganArthur Morgan
This is a Quick Research Guide (QRG).
QRGs include the following:
- A brief, high-level overview of the QRG topic.
- A milestone timeline for the QRG topic.
- Links to various free online resource materials to provide a deeper dive into the QRG topic.
- Conclusion and a recommendation for at least two books available in the SJPL system on the QRG topic.
QRGs planned for the series:
- Artificial Intelligence QRG
- Quantum Computing QRG
- Big Data Analytics QRG
- Spacecraft Guidance, Navigation & Control QRG (coming 2026)
- UK Home Computing & The Birth of ARM QRG (coming 2027)
Any questions or comments?
- Please contact Arthur Morgan at [email protected].
100% human made.
Spark is a powerhouse for large datasets, but when it comes to smaller data workloads, its overhead can sometimes slow things down. What if you could achieve high performance and efficiency without the need for Spark?
At S&P Global Commodity Insights, having a complete view of global energy and commodities markets enables customers to make data-driven decisions with confidence and create long-term, sustainable value. 🌍
Explore delta-rs + CDC and how these open-source innovations power lightweight, high-performance data applications beyond Spark! 🚀
1. Developer at ease with Java EE 6
JavaNight@capgemini
December 7, 2009
Eugene Bogaart
Solution Architect
Sun Microsystems NL
1
2. Java EE: Past & Present
Rightsizing
Ease of
Development Java EE 6
Web
Services Pruning
Java EE 5 Extensibility
Robustness Profiles
Enterprise Java Ease of
Platform
J2EE 1.4 Development Ease of
Development
Annotations
J2EE 1.3 Web EJB Lite
J2EE 1.2 Services EJB 3.0
RESTful
Management
CMP Persistence Services
Servlet Deployment
JPE Connector New and Dependency
Project JSP Architecture Async. Updated Ejection
EJB Connector Web Services
JMS Web Profile
RMI/IIOP
2
4. Rightsizing the Platform: Profiles
Platform Flexibility
• Decouple specifications to
allow more combinations
• Expand potiential licensee
ecosystem
• Profiles
> Targeted technology bundles
> Web Profile
4
5. Profiles
• Profiles are targeted bundles of technologies
• (Simple) rules set by platform spec
• Profiles can be subsets, supersets or overlapping
• First profile: the Web Profile
• Decoupling of specs to allow more combinations
• Future profiles defined in the Java Community
Process
5
6. Rightsizing the Platform
Web Profile
• Fully functional mid-sized
profile
• Actively discussed
> Expert Group
> Industry
• Technologies
> Servlet 3.0, EJB Lite 3.1, JPA 2.0, JSP
2.2, EL 1.2, JSTL 1.2, JSF 2.0, JTA
1.1, JSR 45, Common Annotations
6
7. Rightsizing the Platform
Pruning (Deprecation)
• Some technologies optional
> Optional in next release
> Deleted in subsequent release
> Marked in Javadocs
• Pruning list
> JAX-RPC
> EJB 2.x Entity Beans
> JAXR
> JSR-85 (Rules based Auth & Audit)
9
8. Rightsizing the Platform
Extensibility
• Embrace open source
libraries and frameworks
• Zero-configuration, drag-n-
drop web frameworks
> Servlets, servlet filters
> Framework context listeners
are discovered & registered
• Plugin library jars using Web
Fragments
11
9. Ease of Development
Extensibility
• Continue Java EE 5 advancements
• Primary focus: Web Tier
• Multiple areas easier to use: EJB 3.1
• General Principles
> Annotation-based programming model
> Reduce or eliminate need for
deployment descriptors
> Traditional API for advanced users
12
10. Ease of Development
Adding an EJB to a Web Application
ShoppingCart
BuyBooks.war EJB Class BuyBooks.war
ShoppingCart.jar
ShoppingCart
EJB Class
BuyBooks.ear
15
11. Ease of Development - Annotations
Servlet in Java EE 5: Create two source files
/* Code in Java Class */ <!--Deployment descriptor web.xml
-->
package com.foo; <web-app>
public class MyServlet extends <servlet>
HttpServlet { <servlet-name>MyServlet
public void </servlet-name>
doGet(HttpServletRequest <servlet-class>
req,HttpServletResponse res) com.foo.MyServlet
</servlet-class>
{ </servlet>
<servlet-mapping>
... <servlet-name>MyServlet
</servlet-name>
} <url-pattern>/myApp/*
</url-pattern>
... </servlet-mapping>
...
} </web-app>
16
12. Ease of Development - Annotations
Servlet in Java EE 5: Java Class
/* Code in Java Class */
package com.foo;
public class MyServlet extends HttpServlet {
public void doGet(HttpServletRequest req,HttpServletResponse res) {
/* doGet body */
}
}
17
13. Ease of Development - Annotations
Servlet in Java EE 5: Descriptor
<!--Deployment descriptor web.xml -->
<web-app>
<servlet>
<servlet-name>MyServlet
</servlet-name>
<servlet-class>
com.foo.MyServlet
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>MyServlet
</servlet-name>
<url-pattern>/myApp/*
</url-pattern>
</servlet-mapping>
...
</web-app>
18
14. Ease of Development - Annotations
Java EE 6 Servlet: Single Source file (many cases)
package com.foo;
@WebServlet(name=”MyServlet”, urlPattern=”/myApp/*”)
public class MyServlet {
public void doGet(HttpServletRequest req,
HttpServletResponse res)
{
...
}
19
18. EJB 3.1 Sample Simple Singleton
@Singleton
public class SharedBean {
private SharedData shared;
@PostConstruct private void init() {
shared = ...;
}
public int getXYZ() {
return shared.xyz;
}
} 33
19. Singleton Client
@Stateless
public class FooBean {
// Inject reference to Singleton bean
@EJB
private SharedBean shared;
public void foo() {
int xyz = shared.getXYZ();
...
}
}
34
20. EJB 3.1 Sample – Calendar Timer
@Stateless
public class TimerBean {
@Schedule(dayOfWeek=”Sun”)
public void onSunday() {
... periodically do some work
...
}
}
35
21. EJB 3.1 No Local Business Interface
Just a bean class
@Stateless
public class HelloWorldBean {
/* no interface */
public String hello(String name) {
return “hello, “ + name;
}
}
//Still a EJB reference
@EJB HelloWorldBean hello;
hello.hello(“David”);
36
22. EJB 3.1 Lite
• Simple, modern subset of EJB for use outside of the
full platform
• Contents:
> Session beans (stateful, stateless, singletons)
> Transaction and security attributes
> Interceptors
> Annotations/ejb-jar.xml
• Embeddable container API
• Beans looked up by global name
37
24. JavaServer Faces 2.0
• Top Five Goals
> Make custom components much easier to develop
> Ajax support
> Page description language (PDL)
> Reduce the configuration burden
> Provide for better compatibility between JSF component
libraries from different vendors
39
25. Ingredients of a JavaServer Faces
Component+Ajax solution
• Resource Delivery Mechanism
• Partial Tree Traversal
• Partial Page Update ↑ In JSF 2.0 Spec
• Ajaxification Capability
↓ In Component Library
• Ajax Enabled Components
40
26. Ingredients of a JavaServer Faces
component+Ajax solution
Resource Delivery Mechanism
• Delivers static resources to the user-agent in
response to HTTP GET requests
• Includes support for localized, versioned resources
and resource libraries 41
27. Ingredients of a JavaServer Faces
component+Ajax solution
Partial Tree Traversal
42
28. Ingredients of a JavaServer Faces
Component+Ajax solution
Partial Page Update
43
29. Ingredients of a JavaServer Faces
Component+Ajax solution
Ajaxification Capability
• A way to give ajax capability to existing JavaServer
Faces components without writing any JavaScript™
language
• Common approaches include
> AjaxZone tag, enclose region to ajaxify
> AjaxSupport tag, nest inside of component to ajaxify
44
30. Ingredients of a JavaServer Faces
Component+Ajax solution
Ajax Enabled Components
• Such components always build on top of the
previous ingredients
• Current offerings are tightly coupled to their specific
implementation of the previous ingredients.
• By standardizing the foundations upon which these
components build, we can guarantee interoperability
between them.
45
32. Java Enterprise Edition 6
Status
• Public reviews complete
• Final and released
• IDE support from NB 6.8
• & GlassFish v3
> Reference Implementation
47
33. NetBeans & Java EE 6
Version 6.8 (released this Month)
New: (Java EE 6)
• Java EE6 Web Projects with profiles & EJBs in
web Apps
• EJB 3.1 project support
• RESTful web services (JAX-RS 1.1), GlassFish
Metro 2.0 web services (JAX-WS 2.2), JAXB 2.2
• Java Persistence JPA 2.0, deployment, debugging
and profiling with GlassFish v3 application server
48
34. NetBeans & Java EE 6
Version 6.8 (released this Month)
More updates on
• Java Server Faces 2.0
• JavaFX 1.2.1
• Kenai.Com: Connected Developer
• Ruby & PHP
• Maven • And much more
• C/C++
49
35. Participate!
• Learn about Java EE 6 with NetBeans 6.8
• Download GlassFish V3 (incl with NB 6.8 Full)
• Send feedback on the component technologies.
• Participate.
• Contribute.
• Enjoy!
50
37. Developer at ease with Java EE 6
JavaNight@capgemini
December 7, 2009
Eugene Bogaart
Solution Architect
Sun Microsystems NL
1
Page 1
38. Java EE: Past & Present
Rightsizing
Ease of
Development Java EE 6
Web
Services Pruning
Java EE 5 Extensibility
Robustness Profiles
Enterprise Java Ease of
Platform
J2EE 1.4 Development Ease of
Development
Annotations
J2EE 1.3 Web EJB Lite
J2EE 1.2 Services EJB 3.0
RESTful
CMP Management
Persistence Services
Servlet Deployment
JPE Connector New and Dependency
Project JSP Architecture Async. Updated Ejection
EJB Connector Web Services
JMS Web Profile
RMI/IIOP
2
Page 2
Each release of Java EE or J2EE had an overarching umbrella theme. J2EE
1.2 defined the overall platform as we know it today. 1.3 built on top of 1.2
adding robustness and introduced features like connector architecture.
J2EE 1.4 focussed on Web Services primarily through the 109 specification.
With Java EE 5, there was a recognition that perhaps the platform should be
easier to program with. Consequently a lot of effort was put into using
Annotations and allow for ease of development with Java EE 5. Apart from
annotations with EJB 3.0 – EJBs were made easier to program with and JPA
i.e. persistence specification was added.
With EE 6 – there is a recoginition that as we have added features over the
years, the platform has grown big. Consequently the theme has been “Right
Sizing” the platform. We will delve into what rightsizing is and how it is
achieved.
EE 6 also continues on the ease of development theme set by Java EE 5.
Almost all the spec have some ease of use annotations introduced.
39. Java EE 6
Overview
3
Page 3
● Make the platform:
● Easier to use
● More flexible, adaptable
● Easier to learn
● Easier to evolve going forward
●
Major New Features
● Profiles
● Pruning
● Extensibility
● Ease of development
40. Rightsizing the Platform: Profiles
Platform Flexibility
• Decouple specifications to
allow more combinations
• Expand potiential licensee
ecosystem
• Profiles
> Targeted technology bundles
> Web Profile
4
Page 4
As partof right sizing – the notion of profiles was defined. Right
sizing is really right sizing for you. The idea is to allow multiple
specifications to be coupled in a manner such that they satisify
a business need. For example – the web profile targets the
web development needs. You could have additional profiles for
eg: a telco profile that will target the telco market.
This gives companies an opportuniity to build and license a
profile that they are specialized in. What this means for you as
a developer, adopter or a company is that you will have a large
ecosystem of licensed products to choose from. This increased
set of choices can help you choose the product that meets
your specific requirements.
41. Profiles
• Profiles are targeted bundles of technologies
• (Simple) rules set by platform spec
• Profiles can be subsets, supersets or overlapping
• First profile: the Web Profile
• Decoupling of specs to allow more combinations
• Future profiles defined in the Java Community
Process
5
Page 5
42. Rightsizing the Platform
Web Profile
• Fully functional mid-sized
profile
• Actively discussed
> Expert Group
> Industry
• Technologies
> Servlet 3.0, EJB Lite 3.1, JPA 2.0, JSP
2.2, EL 1.2, JSTL 1.2, JSF 2.0, JTA
1.1, JSR 45, Common Annotations
6
Page 6
An example of profile is the web profile.
The web profile is targeted to the “modern” web applications. The way web applications are
written have changed since the first servlet specification came about. .
Most web applications have significant requirements in the areas of transaction management,
security and persistence. Such requirements can be readily addressed by technologies that have
been part of the Java EE platform for quite some time, such as the Enterprise JavaBeans (EJB) 3.x
technology and the Java Persistence API, but that are rarely supported by “plain” servlet
containers. By incorporating many of these APIs, the Web Profile aims at raising the bar for what
should be considered a basic stack for the development of web applications using the Java
platform.
Targeting “modern” web applications then implies offering a reasonably complete stack,
composed of standard APIs, and capable out-of-the-box of addressing the needs of a large class of
web applications. Furthermore, this stack should be easy to grow, so as to address any remaining
developer needs.
Against this drive towards completeness, one wishes to balance a desire to limit the footprint of
web containers, both in physical and in conceptual terms. From the point of view of developers
learning the Web Profile, it is more valuable to have a small, focused profile, with as little overlap
between technologies as possible, rather than a more powerful but overly complex one, with
redundant APIs.
43. Rightsizing the Platform
Pruning (Deprecation)
• Some technologies optional
> Optional in next release
> Deleted in subsequent release
> Marked in Javadocs
• Pruning list
> JAX-RPC
> EJB 2.x Entity Beans
> JAXR
> JSR-85 (Rules based Auth & Audit)
9
Page 9
-admitting the fact that the platform grew. Some technologies
did not have the adoption in the market place or the underlying
technology did not have the adoption.
- UDDI – JAXR
- Same with JSR-85.
- Pruning makes it optional.
As the APIs are trimmed down, the Expert Group hopes to
reduce the need for APIs that may have limited appeal by
providing more extensibility points within the specification.
These interfaces and plug-in points should make it easier to
create technologies that extend that platform whilst remaining
well integrated into it, and may help the specification itself
regain some of its focus.
44. Rightsizing the Platform
Extensibility
• Embrace open source
libraries and frameworks
• Zero-configuration, drag-n-
drop web frameworks
> Servlets, servlet filters
> Framework context listeners
are discovered & registered
• Plugin library jars using Web
Fragments
11
Page 11
-Container Initializer: Framework writer defines the kinds of
resources it handles. At runtime the Container delegates
requests to it. The framework serves the request.
- The framework writer defines a CI. The developer does not
need to do anything. The framework is bootstrapped by simply
by including in the class path
- The second technique is for an application developer to
bundle the framework with the app.In this case the framework
writer has defined a web-fragment.xml that indicates the kind
of resources it serves. At runtime, the container gives the
framework an opportunity to serve the requests.
- In GF we have actually refactored JSP, JSF containers to be
plugged in this way with GF v3. Additionally scripting
containers have also been integrated this way.
With this technology – you will be able to integrate third party
frameworks into your existing Java EE 6 installations.
45. Ease of Development
Extensibility
• Continue Java EE 5 advancements
• Primary focus: Web Tier
• Multiple areas easier to use: EJB 3.1
• General Principles
> Annotation-based programming model
> Reduce or eliminate need for
deployment descriptors
> Traditional API for advanced users
12
Page 12
46. Ease of Development
Adding an EJB to a Web Application
ShoppingCart
BuyBooks.war EJB Class BuyBooks.war
ShoppingCart.jar
ShoppingCart
EJB Class
BuyBooks.ear
15
● Ejb 3.1
Page 15
● Simplified packaging
● Singleton beans: @Singleton
● No interface view: one source file per bean
● Calendar timers: @Schedule(dayOfWeek=“Mon,Wed”)
● Global JNDI names for beans
● java:global/(app)/(module)/(bean)#(interface)
47. Ease of Development - Annotations
Servlet in Java EE 5: Create two source files
/* Code in Java Class */ <!--Deployment descriptor web.xml
-->
package com.foo; <web-app>
public class MyServlet extends <servlet>
HttpServlet { <servlet-name>MyServlet
public void </servlet-name>
doGet(HttpServletRequest <servlet-class>
req,HttpServletResponse res) com.foo.MyServlet
</servlet-class>
{ </servlet>
<servlet-mapping>
... <servlet-name>MyServlet
</servlet-name>
} <url-pattern>/myApp/*
</url-pattern>
... </servlet-mapping>
...
} </web-app>
16
Page 16
48. Ease of Development - Annotations
Servlet in Java EE 5: Java Class
/* Code in Java Class */
package com.foo;
public class MyServlet extends HttpServlet {
public void doGet(HttpServletRequest req,HttpServletResponse res) {
/* doGet body */
}
}
17
Page 17
49. Ease of Development - Annotations
Servlet in Java EE 5: Descriptor
<!--Deployment descriptor web.xml -->
<web-app>
<servlet>
<servlet-name>MyServlet
</servlet-name>
<servlet-class>
com.foo.MyServlet
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>MyServlet
</servlet-name>
<url-pattern>/myApp/*
</url-pattern>
</servlet-mapping>
...
</web-app>
18
Page 18
50. Ease of Development - Annotations
Java EE 6 Servlet: Single Source file (many cases)
package com.foo;
@WebServlet(name=”MyServlet”, urlPattern=”/myApp/*”)
public class MyServlet {
public void doGet(HttpServletRequest req,
HttpServletResponse res)
{
...
}
19
Page 19
54. EJB 3.1 Sample Simple Singleton
@Singleton
public class SharedBean {
private SharedData shared;
@PostConstruct private void init() {
shared = ...;
}
public int getXYZ() {
return shared.xyz;
}
} 33
Page 33
Everytime, the container starts, the init () will call.
55. Singleton Client
@Stateless
public class FooBean {
// Inject reference to Singleton bean
@EJB
private SharedBean shared;
public void foo() {
int xyz = shared.getXYZ();
...
}
}
34
Page 34
Client is calling this Singleton session bean.
56. EJB 3.1 Sample – Calendar Timer
@Stateless
public class TimerBean {
@Schedule(dayOfWeek=”Sun”)
public void onSunday() {
... periodically do some work
...
}
}
35
Page 35
35
57. EJB 3.1 No Local Business Interface
Just a bean class
@Stateless
public class HelloWorldBean {
/* no interface */
public String hello(String name) {
return “hello, “ + name;
}
}
//Still a EJB reference
@EJB HelloWorldBean hello;
hello.hello(“David”);
36
Page 36
● Sometimes separate local business interface
isn't needed
● Better to completely remove interface from
developer's view than to generate it
● Result : “no-interface” view
● Just a bean class
● All public bean class methods exposed to
client
● Same behavior and client programming model
as Local view
● Client still acquires an EJB reference
instead of calling new()
● Not available to Remote clients 36
58. EJB 3.1 Lite
• Simple, modern subset of EJB for use outside of the
full platform
• Contents:
> Session beans (stateful, stateless, singletons)
> Transaction and security attributes
> Interceptors
> Annotations/ejb-jar.xml
• Embeddable container API
• Beans looked up by global name
37
Page 37
60. JavaServer Faces 2.0
• Top Five Goals
> Make custom components much easier to develop
> Ajax support
> Page description language (PDL)
> Reduce the configuration burden
> Provide for better compatibility between JSF component
libraries from different vendors
39
Page 39
61. Ingredients of a JavaServer Faces
Component+Ajax solution
• Resource Delivery Mechanism
• Partial Tree Traversal
• Partial Page Update ↑ In JSF 2.0 Spec
• Ajaxification Capability
↓ In Component Library
• Ajax Enabled Components
40
Page 40
62. Ingredients of a JavaServer Faces
component+Ajax solution
Resource Delivery Mechanism
• Delivers static resources to the user-agent in
response to HTTP GET requests
• Includes support for localized, versioned resources
and resource libraries 41
Page 41
63. Ingredients of a JavaServer Faces
component+Ajax solution
Partial Tree Traversal
42
Page 42
64. Ingredients of a JavaServer Faces
Component+Ajax solution
Partial Page Update
43
Page 43
65. Ingredients of a JavaServer Faces
Component+Ajax solution
Ajaxification Capability
• A way to give ajax capability to existing JavaServer
Faces components without writing any JavaScript™
language
• Common approaches include
> AjaxZone tag, enclose region to ajaxify
> AjaxSupport tag, nest inside of component to ajaxify
44
Page 44
66. Ingredients of a JavaServer Faces
Component+Ajax solution
Ajax Enabled Components
• Such components always build on top of the
previous ingredients
• Current offerings are tightly coupled to their specific
implementation of the previous ingredients.
• By standardizing the foundations upon which these
components build, we can guarantee interoperability
between them.
45
Page 45
68. Java Enterprise Edition 6
Status
• Public reviews complete
• Final and released
• IDE support from NB 6.8
• & GlassFish v3
> Reference Implementation
47
Page 47
And Open Source can really lower TCO.
Many critics say that open source isn’t less expensive as that even though up front
costs are less – there are other factors that increase overall costs.
But Sun’s Enterprise Quality open source solves these issues by:
Lower Initial Cost
Lower Annual Costs
Pay only at the point of value (not up front)
Lower skills required (than standard open source) because we make it enterprise
quality, pre-bundle, add value adds
And we add additional value adds to open source which other proprietary vendors
add to increase performance, configuration mgmt, version control
And we add tools to increase productivity
69. NetBeans & Java EE 6
Version 6.8 (released this Month)
New: (Java EE 6)
• Java EE6 Web Projects with profiles & EJBs in
web Apps
• EJB 3.1 project support
• RESTful web services (JAX-RS 1.1), GlassFish
Metro 2.0 web services (JAX-WS 2.2), JAXB 2.2
• Java Persistence JPA 2.0, deployment, debugging
and profiling with GlassFish v3 application server
48
Page 48
Web Projects with Java EE 6 and Java EE 6 Web profiles,
EJBs in web applications
EJB 3.1 support, EJB project file wizard also supports
Singleton session type RESTful web services (JAX-RS 1.1),
GlassFish Metro 2.0 web services (JAX-WS 2.2), JAXB 2.2
Java Persistence JPA 2.0, deployment, debugging and
profiling with GlassFish v3 application server
70. NetBeans & Java EE 6
Version 6.8 (released this Month)
More updates on
• Java Server Faces 2.0
• JavaFX 1.2.1
• Kenai.Com: Connected Developer
• Ruby & PHP
• Maven • And much more
• C/C++
49
Page 49
Web Projects with JavaServer Faces 2.0 (Facelets)
• Code & namespace completion and error hints, doc popups, & tag auto-import for Facelets
• Editor support for Facelets libraries, composite components, expression language, including
generators for JSF and HTML forms
• Customizable JSF components palette generates JSF forms and JSF data tables from
entities
• New File wizard generates customizable CRUD (create/read/update/delete) JSF pages from
entities
• Broader usage of annotations instead of deployment descriptors
JavaFX
• Added support for the latest JavaFX SDK 1.2.1
• Improved code completion
• Editor Hints: Fix Imports, Surround With, Implements Abstract Methods, and more •
Improved navigation: Hyperlinks, Go to Type, Find Usages Full JIRA support
Kenai.com (Connected Developer)
(plugin from update center) Project dashboard with more member and project details, improved
search and navigation, easier project sharing Improved instant messenger integration: Online
presence, private and group chat with Kenai members, easy to add links to code / files /issues /
stack traces to messages Improved issue tracker integration
71. Participate!
• Learn about Java EE 6 with NetBeans 6.8
• Download GlassFish V3 (incl with NB 6.8 Full)
• Send feedback on the component technologies.
• Participate.
• Contribute.
• Enjoy!
50
Page 50
50