The document discusses Java EE 8 and proposes enhancements and new features for several Java EE specifications. It provides an overview of the original plan for Java EE 8, including continued web standard alignment, cloud enhancements, and smaller features. It also discusses updating the specifications for Servlet 4.0, JMS 2.1, JAX-RS 2.1, JSF 2.3, CDI 2.0, JSON-P 1.1, the Java EE Management API 2.0, and a new MVC specification.
Testing Java EE Applications Using ArquillianReza Rahman
This session outlines how to effectively test Java EE APIs like JSF, Servlet, CDI, EJB 3, JPA, WebSocket and JAX-RS. Java EE includes a number of new features that enhance testability like generic dependency injection, CDI @Alternative, portable extensions, embedded containers and JSF project stages.
Using these features and best of breed tools like JUnit and Arquillian it is possible to perform unit, integration, system and functional testing for Java EE APIs at all layers of the application. In addition to discussing tools and features, the session will also demonstrate testing techniques like designing for testability, mock objects, isolation and test configuration.
Java EE 8 will include updates to several existing specifications as well as new specifications. Key updates include JMS 2.1, JAX-RS 2.1, JSF 2.3, CDI 2.0, and JSON-P 1.1. New specifications include JCache 1.0, JSON-B 1.0, MVC 1.0, and Java EE Security API 1.0. Java EE 8 is currently in development, with early drafts of specifications and milestones available to provide feedback on. A final release is planned for Q3 2016.
In this session we’ll highlight Microsoft’s open source offerings for Azure, and talk about how Java developers could benefit from using Azure services in their applications. The focus will be on real-world examples using Microsoft’s open source SDKs on GitHub and tools available for non-Microsoft developers, with a drill-down into our Java offerings and how they can enhance Java applications. We also want to gather feedback from attendees on some exciting new offerings designed to make it easier to deliver Java in the cloud.
===========================================================================
Brian Benz is a Senior Program Manager, focusing on Java at Microsoft. These days Brian spends his time helping Java developers and customers recognize the value and benefits of working on the Cloud with Microsoft Azure. Brian is a former Philly area resident and used to attend Philly JUG many years ago.
Modern web application development with java ee 7Shekhar Gulati
This document discusses building a modern Java web application called Miles2Run using Java EE 7. It describes the initial requirements of allowing users to store running activities and authenticate using Twitter. The technology stack used includes Java EE 7, AngularJS, MySQL, and deployment on WildFly running on OpenShift. Challenges in meeting all requirements and technologies used to overcome them like Redis, MongoDB and C3.js for graphs are also summarized.
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 compares and contrasts Java EE and Spring frameworks. It provides examples of implementing common functionality like dependency injection, transactions, scheduling and messaging using annotations and configuration files in both platforms. The document aims to demonstrate that Spring and Java EE can be used side-by-side and have similar patterns for common tasks but different implementations. It also discusses how each integrates with the other for certain features.
Java API for JSON Binding - Introduction and updateMartin Grebac
This document provides an introduction and update on the Java API for JSON Binding (JSON-B) specification (JSR 367). It discusses the goals of standardizing JSON binding in Java, the status of JSR 367, and an overview of the proposed JSON-B API including initialization, marshalling, unmarshalling, and mapping capabilities. The JSON-B API is intended to provide functionality similar to JAXB for binding Java objects to and from JSON.
The days of EJB’s being the center of the Java EE universe are coming to an end. CDI is increasingly becoming the de facto component framework, due to its flexibility and lack of legacy. Starting in Java EE 7 and continuing in 8, the Java EE platform is migrating to enable all of EJB’s best features to be usable in the CDI world. In this session, you’ll learn implementation-level details on how they relate to each other, where we are in the EJB/CDI alignment story, what trade-offs you might need to make, and what you have to gain from making the transition. You will walk out with runnable examples and vendor-level insights. This is the perfect session for heavy EJB users looking to keep up with Java EE’s transition to CDI.
Testing Java EE Applications Using ArquillianReza Rahman
This session outlines how to effectively test Java EE APIs like JSF, Servlet, CDI, EJB 3, JPA, WebSocket and JAX-RS. Java EE includes a number of new features that enhance testability like generic dependency injection, CDI @Alternative, portable extensions, embedded containers and JSF project stages.
Using these features and best of breed tools like JUnit and Arquillian it is possible to perform unit, integration, system and functional testing for Java EE APIs at all layers of the application. In addition to discussing tools and features, the session will also demonstrate testing techniques like designing for testability, mock objects, isolation and test configuration.
Java EE 8 will include updates to several existing specifications as well as new specifications. Key updates include JMS 2.1, JAX-RS 2.1, JSF 2.3, CDI 2.0, and JSON-P 1.1. New specifications include JCache 1.0, JSON-B 1.0, MVC 1.0, and Java EE Security API 1.0. Java EE 8 is currently in development, with early drafts of specifications and milestones available to provide feedback on. A final release is planned for Q3 2016.
In this session we’ll highlight Microsoft’s open source offerings for Azure, and talk about how Java developers could benefit from using Azure services in their applications. The focus will be on real-world examples using Microsoft’s open source SDKs on GitHub and tools available for non-Microsoft developers, with a drill-down into our Java offerings and how they can enhance Java applications. We also want to gather feedback from attendees on some exciting new offerings designed to make it easier to deliver Java in the cloud.
===========================================================================
Brian Benz is a Senior Program Manager, focusing on Java at Microsoft. These days Brian spends his time helping Java developers and customers recognize the value and benefits of working on the Cloud with Microsoft Azure. Brian is a former Philly area resident and used to attend Philly JUG many years ago.
Modern web application development with java ee 7Shekhar Gulati
This document discusses building a modern Java web application called Miles2Run using Java EE 7. It describes the initial requirements of allowing users to store running activities and authenticate using Twitter. The technology stack used includes Java EE 7, AngularJS, MySQL, and deployment on WildFly running on OpenShift. Challenges in meeting all requirements and technologies used to overcome them like Redis, MongoDB and C3.js for graphs are also summarized.
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 compares and contrasts Java EE and Spring frameworks. It provides examples of implementing common functionality like dependency injection, transactions, scheduling and messaging using annotations and configuration files in both platforms. The document aims to demonstrate that Spring and Java EE can be used side-by-side and have similar patterns for common tasks but different implementations. It also discusses how each integrates with the other for certain features.
Java API for JSON Binding - Introduction and updateMartin Grebac
This document provides an introduction and update on the Java API for JSON Binding (JSON-B) specification (JSR 367). It discusses the goals of standardizing JSON binding in Java, the status of JSR 367, and an overview of the proposed JSON-B API including initialization, marshalling, unmarshalling, and mapping capabilities. The JSON-B API is intended to provide functionality similar to JAXB for binding Java objects to and from JSON.
The days of EJB’s being the center of the Java EE universe are coming to an end. CDI is increasingly becoming the de facto component framework, due to its flexibility and lack of legacy. Starting in Java EE 7 and continuing in 8, the Java EE platform is migrating to enable all of EJB’s best features to be usable in the CDI world. In this session, you’ll learn implementation-level details on how they relate to each other, where we are in the EJB/CDI alignment story, what trade-offs you might need to make, and what you have to gain from making the transition. You will walk out with runnable examples and vendor-level insights. This is the perfect session for heavy EJB users looking to keep up with Java EE’s transition to CDI.
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
The document provides an overview of the Java EE 8 specification update including proposed enhancements and changes. Key points include:
- Servlet 4.0 will add support for HTTP/2 to improve performance. Other specifications like JAX-RS 2.1 and JSF 2.3 will be enhanced.
- Some originally planned specifications like JMS 2.1 and Java EE Management 2.0 may be dropped from Java EE 8.
- A "reboot" was conducted and the scope of some specs like Security 1.0 was expanded. New specifications around areas like health checking and configuration may be added.
- Specification groups are actively working on drafts and milestones for specs like CDI
This document provides an overview of MicroProfile for MicroServices. It discusses what MicroServices are, the history of Java EE and the MicroProfile effort. It also describes Payara MicroProfile and provides examples of using Payara MicroProfile with code walkthroughs. Key specifications discussed include Configuration 1.0, HealthCheck, and Security (JWT token exchange).
This presentation introduces the new Java EE 8 Security API JSR 375. Originally presented at Devoxx France 2015, the slides present the motivation behind the new JSR, some history, the expert group, and a summary of ideas.
The slides were created after the expert group had been meeting for about a month, so the ideas are raw and undeveloped. However, the ideas in the slides do indicate the general direction the JSR is headed, with respect to modernizing, simplifying, and standardizing the Java EE Security API.
EJB and CDI Alignment and Strategy
Linda DeMichiel, Java EE Specification Lead at Oracle, gave a presentation on EJB and CDI alignment and strategy at Java Day Tokyo 2015. The presentation covered: (1) the history and evolution of EJB and CDI, (2) the advantages and disadvantages of when to use EJB vs CDI, (3) how Java EE has aligned managed beans, and (4) Oracle's strategy for the future alignment of EJB and CDI.
jDays2015 - JavaEE vs. Spring SmackdownMert Çalışkan
From the heavy weight authors of Wiley, on Java EE side Murat Yener with Professional Java EE Design Patterns (http://www.amazon.com/Professional-JavaEE-Design-Patterns-Murat/dp/111884341X) and on Spring side Mert Caliskan with Professional Spring (http://www.amazon.com/Beginning-Spring-Mert-Caliskan/dp/1118892925). The talk will expose good, bad and the ugly sides of both Java EE and Spring by hands on illustration of creating a crud app from scratch. Both speakers will introduce best parts of their platform on demos meanwhile point out weaknesses of the opponent. Both platforms will demonstrate their strengths on best practices, tool support, 3rd party libraries, community support and design patterns. Get ready for a family size huge fun while watching two most commonly used platform on Java.
This document provides an overview of Model-View-Controller (MVC), including different styles of MVC and the context for a new Java EE MVC specification. It summarizes the key components of MVC - the model, view, and controller. The controller executes business logic, updates the model, and directs the view to render itself. Component-based MVC frameworks like JavaServer Faces provide standard controllers while action-based frameworks like Spring MVC require application-defined controllers. The document indicates a new Java EE action-based MVC specification is being developed for inclusion in Java EE 8.
What is tackled in the Java EE Security API (Java EE 8)Rudy De Busscher
The Java EE Security API (JSR-375) wants to simplify the implementation of security-related features in your Java EE application. Application server specific configuration changes will be no longer needed and things will be much more app developer friendly. Aligning security with the ease of development we saw in the recent version of Java EE. We will show you the basic goals and concepts behind Java EE Security API. And of course, demos with the current version of the RI, named Soteria, how you can do Authentication and Authorization.
Microservices - java ee vs spring boot and spring cloudBen Wilcock
Spring Boot and Spring Cloud provide an easier and more productive framework for building cloud-native microservices compared to Java EE. Spring Boot simplifies the development, deployment, and management of microservices. Spring Cloud adds helpful capabilities for service discovery, external configuration, load balancing, and monitoring that are missing from Java EE. While Java EE adoption is declining, the use of Spring Boot and Spring Cloud is growing rapidly among developers.
The document discusses plans for Java EE 8 based on feedback from the Java EE community survey. Key areas of focus for Java EE 8 include improved support for HTML5/web technologies like JSON binding and processing, easier development through CDI alignment, and enhanced capabilities for cloud deployment. The Java EE 8 release will be driven by priorities set in the community survey, addressing needs like JSON processing updates, JSON binding through JSR 367, and support for new standards.
The document discusses Java EE 8 and the adoption of JSR 374 (JSON Processing) and JSR 371 (Model-View-Controller). Key points include:
- Java EE 8 will focus on HTML5/web enhancements, ease of development, and cloud infrastructure.
- JSR 374 (JSON Processing 1.1) will be adopted, keeping the JSON processing spec up-to-date and adding editing operations.
- JSR 371 (MVC 1.0) will be adopted, incorporating action-based MVC into the Java EE platform.
- The tentative release schedule has early drafts in 2015, public reviews in late 2015, and a final release in early 2017
This document provides an overview of a coding dojo focused on domain-driven design and test-driven development. It outlines 5 maturity levels and describes considerations for implementing user stories to build a Pomodoro task tracking application. These include domain modeling, services, libraries, and plugins. The goal is to iteratively refactor the application, extracting common code and improving architecture at each level.
This document provides an overview comparison of JavaFX and HTML5 for building mobile applications. It includes a demo of a sailboat racing application built with both JavaFX and HTML5. The technical comparison section analyzes the architectures, controls, data binding, tables, multimedia support and other features of JavaFX and HTML5. It finds that while HTML5 has broader deployment options, JavaFX provides more robust and integrated core features out of the box. The document also discusses the perspectives and limitations of both JavaFX and HTML5.
Grails is used at LinkedIn for some projects due to its productivity advantages over Java frameworks. While Grails was productive for new development, integrating it into LinkedIn's large existing Java ecosystem required effort. Challenges included integrating Grails with LinkedIn's custom Spring configuration, sessions, authentication and building/testing practices. Solutions like a Grails plugin helped address these challenges. Overall, Grails was found to be more productive than mainstream Java frameworks for some uses at LinkedIn.
Find out the most popular and best Java framework can make your programming easy also cover this benefits time saving, scale-ability, robustness, and security. A framework provides a lot’s of features and integration that the users easily growing his productivity with future development management.
Get to know the new AMA application, the most important basic features of it, the differences between the Community and Enterprise version, and how you could extend it using our new plugin system. What the differences are between AMA and the APS, and what challenges we had during its development.
The document discusses upcoming features in Java EE 8 based on feedback from the developer community. Key areas of focus for Java EE 8 include enhancing the web tier with support for JSON binding, processing, and server-sent events. It also aims to improve development productivity and provide infrastructure for cloud deployment. Specific features mentioned are JSON binding API, updated JSON processing API, and support for HTTP/2.
Continuous integration and delivery for java based web applicationsSunil Dalal
This document discusses continuous integration and delivery for Java web applications using Jenkins, Gradle, and Artifactory. It defines continuous integration and delivery and explains why they are important. It outlines the workflow and steps involved, including using source control, building and testing with Jenkins and Gradle, storing artifacts in Artifactory, running code analysis with tools like SonarQube, and deploying to test and production. Finally, it addresses some common questions around plugins, versioning, rollbacks, and build frequency.
This document discusses the introduction of HTTP/2 support in Java and Java EE. It provides background on the limitations of HTTP/1.1 and why HTTP/2 was created, outlining key HTTP/2 features like binary framing and multiplexing. The document then explains how HTTP/2 will be supported in Java EE 8 and Java SE, allowing Java applications to take advantage of performance improvements from HTTP/2.
Java EE 8 Overview (Sept 2015). A lot of work is already done by the Expert Groups so lets have a brief look for what we can expect in the some areas.
- Servlet 4 will embrace the new HTTP/2 protocol.
- JSON-B will bring the same high level features of JAXB to the JSON data format.
- Server-Sent Events(SSE) is the WebSocket variant where you only send data from the server to the client.
- MVC will be the Action based MVC complement of the Component based MVC of JSF.
- Some major restructuring of CDI so that we can use it standardised in Java SE to mention one thing.
The Java EE security API will be covered in more detail. Security related things became old and dusty and needs to move away from proprietary configuration to be able to make the transition to the cloud. An introduction to JSR 375 is given, which promotes self-contained application portability across Java EE servers, and promotes the use of modern programming concepts such as Expression Language, and CDI. It will holistically attempt to simplify, standardize, and modernize the Security API across the platform in areas identified by the community.
This document provides an overview and summary of the Java API for JSON Binding (JSON-B) specification. It discusses the goals of JSON-B, which include supporting all JSON documents and maintaining consistency with other Java APIs. The document outlines the JSR status and progress, including passing the public review ballot. It provides an overview of the JSON-B API, describing the default mapping for basic types, classes, collections, and customized mapping options using annotations and configuration.
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
The document provides an overview of the Java EE 8 specification update including proposed enhancements and changes. Key points include:
- Servlet 4.0 will add support for HTTP/2 to improve performance. Other specifications like JAX-RS 2.1 and JSF 2.3 will be enhanced.
- Some originally planned specifications like JMS 2.1 and Java EE Management 2.0 may be dropped from Java EE 8.
- A "reboot" was conducted and the scope of some specs like Security 1.0 was expanded. New specifications around areas like health checking and configuration may be added.
- Specification groups are actively working on drafts and milestones for specs like CDI
This document provides an overview of MicroProfile for MicroServices. It discusses what MicroServices are, the history of Java EE and the MicroProfile effort. It also describes Payara MicroProfile and provides examples of using Payara MicroProfile with code walkthroughs. Key specifications discussed include Configuration 1.0, HealthCheck, and Security (JWT token exchange).
This presentation introduces the new Java EE 8 Security API JSR 375. Originally presented at Devoxx France 2015, the slides present the motivation behind the new JSR, some history, the expert group, and a summary of ideas.
The slides were created after the expert group had been meeting for about a month, so the ideas are raw and undeveloped. However, the ideas in the slides do indicate the general direction the JSR is headed, with respect to modernizing, simplifying, and standardizing the Java EE Security API.
EJB and CDI Alignment and Strategy
Linda DeMichiel, Java EE Specification Lead at Oracle, gave a presentation on EJB and CDI alignment and strategy at Java Day Tokyo 2015. The presentation covered: (1) the history and evolution of EJB and CDI, (2) the advantages and disadvantages of when to use EJB vs CDI, (3) how Java EE has aligned managed beans, and (4) Oracle's strategy for the future alignment of EJB and CDI.
jDays2015 - JavaEE vs. Spring SmackdownMert Çalışkan
From the heavy weight authors of Wiley, on Java EE side Murat Yener with Professional Java EE Design Patterns (http://www.amazon.com/Professional-JavaEE-Design-Patterns-Murat/dp/111884341X) and on Spring side Mert Caliskan with Professional Spring (http://www.amazon.com/Beginning-Spring-Mert-Caliskan/dp/1118892925). The talk will expose good, bad and the ugly sides of both Java EE and Spring by hands on illustration of creating a crud app from scratch. Both speakers will introduce best parts of their platform on demos meanwhile point out weaknesses of the opponent. Both platforms will demonstrate their strengths on best practices, tool support, 3rd party libraries, community support and design patterns. Get ready for a family size huge fun while watching two most commonly used platform on Java.
This document provides an overview of Model-View-Controller (MVC), including different styles of MVC and the context for a new Java EE MVC specification. It summarizes the key components of MVC - the model, view, and controller. The controller executes business logic, updates the model, and directs the view to render itself. Component-based MVC frameworks like JavaServer Faces provide standard controllers while action-based frameworks like Spring MVC require application-defined controllers. The document indicates a new Java EE action-based MVC specification is being developed for inclusion in Java EE 8.
What is tackled in the Java EE Security API (Java EE 8)Rudy De Busscher
The Java EE Security API (JSR-375) wants to simplify the implementation of security-related features in your Java EE application. Application server specific configuration changes will be no longer needed and things will be much more app developer friendly. Aligning security with the ease of development we saw in the recent version of Java EE. We will show you the basic goals and concepts behind Java EE Security API. And of course, demos with the current version of the RI, named Soteria, how you can do Authentication and Authorization.
Microservices - java ee vs spring boot and spring cloudBen Wilcock
Spring Boot and Spring Cloud provide an easier and more productive framework for building cloud-native microservices compared to Java EE. Spring Boot simplifies the development, deployment, and management of microservices. Spring Cloud adds helpful capabilities for service discovery, external configuration, load balancing, and monitoring that are missing from Java EE. While Java EE adoption is declining, the use of Spring Boot and Spring Cloud is growing rapidly among developers.
The document discusses plans for Java EE 8 based on feedback from the Java EE community survey. Key areas of focus for Java EE 8 include improved support for HTML5/web technologies like JSON binding and processing, easier development through CDI alignment, and enhanced capabilities for cloud deployment. The Java EE 8 release will be driven by priorities set in the community survey, addressing needs like JSON processing updates, JSON binding through JSR 367, and support for new standards.
The document discusses Java EE 8 and the adoption of JSR 374 (JSON Processing) and JSR 371 (Model-View-Controller). Key points include:
- Java EE 8 will focus on HTML5/web enhancements, ease of development, and cloud infrastructure.
- JSR 374 (JSON Processing 1.1) will be adopted, keeping the JSON processing spec up-to-date and adding editing operations.
- JSR 371 (MVC 1.0) will be adopted, incorporating action-based MVC into the Java EE platform.
- The tentative release schedule has early drafts in 2015, public reviews in late 2015, and a final release in early 2017
This document provides an overview of a coding dojo focused on domain-driven design and test-driven development. It outlines 5 maturity levels and describes considerations for implementing user stories to build a Pomodoro task tracking application. These include domain modeling, services, libraries, and plugins. The goal is to iteratively refactor the application, extracting common code and improving architecture at each level.
This document provides an overview comparison of JavaFX and HTML5 for building mobile applications. It includes a demo of a sailboat racing application built with both JavaFX and HTML5. The technical comparison section analyzes the architectures, controls, data binding, tables, multimedia support and other features of JavaFX and HTML5. It finds that while HTML5 has broader deployment options, JavaFX provides more robust and integrated core features out of the box. The document also discusses the perspectives and limitations of both JavaFX and HTML5.
Grails is used at LinkedIn for some projects due to its productivity advantages over Java frameworks. While Grails was productive for new development, integrating it into LinkedIn's large existing Java ecosystem required effort. Challenges included integrating Grails with LinkedIn's custom Spring configuration, sessions, authentication and building/testing practices. Solutions like a Grails plugin helped address these challenges. Overall, Grails was found to be more productive than mainstream Java frameworks for some uses at LinkedIn.
Find out the most popular and best Java framework can make your programming easy also cover this benefits time saving, scale-ability, robustness, and security. A framework provides a lot’s of features and integration that the users easily growing his productivity with future development management.
Get to know the new AMA application, the most important basic features of it, the differences between the Community and Enterprise version, and how you could extend it using our new plugin system. What the differences are between AMA and the APS, and what challenges we had during its development.
The document discusses upcoming features in Java EE 8 based on feedback from the developer community. Key areas of focus for Java EE 8 include enhancing the web tier with support for JSON binding, processing, and server-sent events. It also aims to improve development productivity and provide infrastructure for cloud deployment. Specific features mentioned are JSON binding API, updated JSON processing API, and support for HTTP/2.
Continuous integration and delivery for java based web applicationsSunil Dalal
This document discusses continuous integration and delivery for Java web applications using Jenkins, Gradle, and Artifactory. It defines continuous integration and delivery and explains why they are important. It outlines the workflow and steps involved, including using source control, building and testing with Jenkins and Gradle, storing artifacts in Artifactory, running code analysis with tools like SonarQube, and deploying to test and production. Finally, it addresses some common questions around plugins, versioning, rollbacks, and build frequency.
This document discusses the introduction of HTTP/2 support in Java and Java EE. It provides background on the limitations of HTTP/1.1 and why HTTP/2 was created, outlining key HTTP/2 features like binary framing and multiplexing. The document then explains how HTTP/2 will be supported in Java EE 8 and Java SE, allowing Java applications to take advantage of performance improvements from HTTP/2.
Java EE 8 Overview (Sept 2015). A lot of work is already done by the Expert Groups so lets have a brief look for what we can expect in the some areas.
- Servlet 4 will embrace the new HTTP/2 protocol.
- JSON-B will bring the same high level features of JAXB to the JSON data format.
- Server-Sent Events(SSE) is the WebSocket variant where you only send data from the server to the client.
- MVC will be the Action based MVC complement of the Component based MVC of JSF.
- Some major restructuring of CDI so that we can use it standardised in Java SE to mention one thing.
The Java EE security API will be covered in more detail. Security related things became old and dusty and needs to move away from proprietary configuration to be able to make the transition to the cloud. An introduction to JSR 375 is given, which promotes self-contained application portability across Java EE servers, and promotes the use of modern programming concepts such as Expression Language, and CDI. It will holistically attempt to simplify, standardize, and modernize the Security API across the platform in areas identified by the community.
This document provides an overview and summary of the Java API for JSON Binding (JSON-B) specification. It discusses the goals of JSON-B, which include supporting all JSON documents and maintaining consistency with other Java APIs. The document outlines the JSR status and progress, including passing the public review ballot. It provides an overview of the JSON-B API, describing the default mapping for basic types, classes, collections, and customized mapping options using annotations and configuration.
A modern web browser supports a surprising number of protocols designed for fast, efficient, and secure communication. Even though some goals of these protocols might overlap, their features are different enough to make them all worth our attention. This session focuses on HTTP/2, SSE, and WebSocket. It is based on experience gained during development of popular Jersey and Tyrus libraries. It explains all mentioned protocols and compares them, in both theory and practice, using java-based examples.
Youtube: https://www.youtube.com/watch?v=G4V3b_z5TVk
Configuration for Java EE: Config JSR and TamayaDmitry Kornilov
Slides from our joint talk with Werner Keil about configuration proposal for Java EE and Tamaya we've done on 16 Mov 2016 in Sofia on Java2Days conference.
Este documento proporciona instrucciones para instalar e implementar iReport en NetBeans. Explica los 5 pasos para instalar el plugin iReport, que incluyen abrir NetBeans, seleccionar Plugins, agregar el plugin, instalarlo y confirmar la instalación. Luego, describe cómo crear una base de datos de ejemplo con una tabla llamada 'datos' y agregar registros de prueba. Finalmente, explica cómo crear un nuevo proyecto en NetBeans y conectarse a la base de datos MySQL recién creada.
Sigma Infosolutions developed an outbound reservation management system for a client using J2EE technologies. The system allows users to monitor, analyze, manage, and report on business performance and reservations across multiple properties. It expedites the handling of customer inquiries and eliminated redundant reporting tasks. The system improved follow-up procedures, reduced effort to track inquiries, and provided management with detailed sales data analysis tools.
The document discusses proposed changes to Java EE 8 and beyond. It proposes adding support for reactive programming, a unified event model, eventual consistency, NoSQL persistence and querying, and security enhancements like OAuth2 and secret management. It also discusses packaging improvements and making Java EE more suitable for cloud and microservices development. Feedback is sought from the Java EE community on the proposals.
O documento apresenta um curso sobre JSF 2. Ele discute conceitos gerais de desenvolvimento web como protocolo HTTP, HTML, CSS e Java para web. Também aborda frameworks web e as diferenças entre frameworks baseados em ações e baseados em componentes. O curso é dividido em 5 dias, cobrindo tópicos como ciclo de vida JSF, árvore de componentes, escopos, conversão, validação e navegação.
Injecting evil code in your SAP J2EE systems. Security of SAP Software Deploy...ERPScan
SAP is the most popular business application with more than two hundred forty thousand installations all over the world. But people spend enormous amounts of money to install it and then forget about security. However, in ERP systems, all business processes are performed, all critical information is stored like finances, HR, clients. Not to care about the security of this data is not very sensible.
SAP NetWeaver Development Infrastructure is a complex item. It combines the characteristics and advantages of local development environments with a server-based development landscape. All this stuff centrally provides opportunities to support the software, implement new features, manage lifecycle of a product, etc. So, the main aim is to control deployment of components in the system landscape in a standardized manner.
The key component in DI scheme is Software Deployment Manager (SDM). It is directly related to the production systems, that is why it is so critical.
The presentation describes special features of SDM and provides several SDM attack scenarios along with the ways to prevent them.
This document provides an overview and update on the JSON Processing (JSR-374) and JSON Binding (JSR-367) Java specifications. It discusses upcoming releases and milestones, how to get involved through testing, reporting issues, or contributing code. Contact information is provided for spec leads and links to project resources.
This document discusses inventory management. It defines inventory as goods or materials used for production and sale. Inventory management is the process of overseeing the flow of units into and out of existing inventory through purchasing planning and tracking. Key considerations for inventory management include warehousing space, costs, delivery times, and turnaround. The main types of inventory are raw materials, work-in-process, and finished goods. Effective inventory management helps maintain adequate supply while minimizing costs and avoids stock-out issues.
Fully Extensible eCommerce in J2EE, Spring MVC,Hibernate
jVoiD is being developed by Schogini Inc., a global leader in eCommerce with 12+ years of experience and catering to 5,000+ ecommerce customers world-wide. Being one of the largest extension developers for Magento Commerce Schogini has faced numerous enquiries for an equally exaensible platform, but with multi-dimensional scalability. At Schogini we love Magento and realize the big gap for an enterprise class eCommerce solution using Java that matches the extensibility of Magento - hence, jVoid a 100% extensible solution using Java
The document discusses REST and JAX-RS 2.0. It defines REST as an architectural style for building lightweight web services using HTTP. The key REST principles include giving everything a unique ID, linking resources together, using standard HTTP methods, supporting multiple representations, communicating statelessly, and enabling caching. JAX-RS 2.0 is a Java specification that makes it easy to build RESTful web services by using annotations to define resources and HTTP methods. It supports the REST principles and features like content negotiation, hypermedia links, and caching controls.
Introduction to J2EE framework . Gives the primary knowledge about the framework involves in J2EE based web development . This is like Struts , Hibernate , spring ,JSF etc.
Reactive Java EE - Let Me Count the Ways!Reza Rahman
As our industry matures there are pockets of increased demand for high-throughput, low-latency systems heavily utilizing event-driven programming and asynchronous processing. This trend is gradually converging on the somewhat well established but so-far not well understood term "Reactive".
This session explores how vanilla Java SE and Java EE aligns with this movement via features and APIs like JMS, MDB, EJB @Asynchronous, JAX-RS/Servlet/WebSocket async, CDI events, Java EE concurrency utilities and so on. We will also see how these robust facilities can be made digestible even in the most complex cases for mere mortal developers through Java SE 8 Lambdas and Completable Futures.
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.
Java & J2EE Struts with Hibernate FrameworkMohit Belwal
This document provides an overview of Java 2 Enterprise Edition (J2EE) and its core components. J2EE is a multi-tiered architecture for developing enterprise applications and web applications using Java technology. It uses a component-based model where components like servlets, JavaServer Pages (JSPs), and Enterprise JavaBeans (EJBs) interact with services provided by containers like web containers and EJB containers. The document discusses J2EE concepts, features, benefits, components, containers, and how applications are packaged and deployed. It also provides examples of servlets and JSPs as core web components in J2EE.
JAX-RS 2.1 update for Adopt a JSR hangout.
If you have any comments, please ping me on github/twitter or at users@jax-rs-spec.java.net.
https://jax-rs-spec.java.net/
https://github.com/pavelbucek
https://twitter.com/pavel_bucek
Today the Java EE is a de-facto standard architecture for any kind of enterprise systems in the world, and realized as ease of development on its specification. But especially for the huge enterprise systems, not small or mediocre, there are still many issue for designing, developing, and operating. You can learn the overview and some details of the huge enterprise system design, with referring latest Java EE specifications on this session.
https://tech.rakuten.co.jp/
Java EE 8 Presentation given at NYC Java SIG on May 4, 2017. This presentation provides the latest information on the forthcoming release of Java EE 8 in June.
Overview of Java EE 6 by Roberto Chinnici at SFJUGMarakana Inc.
The document provides an overview of the new features in the Java EE 6 platform, including new APIs, the Web Profile specification, improved extensibility, and highlights of APIs like JAX-RS and EJB 3.1. It summarizes the key components and extension points included in the Web Profile and describes how the platform focuses on pluggability, modular web applications, and common design patterns across APIs.
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.
What’s new in Java SE, EE, ME, Embedded world & new StrategyMohamed Taman
The document provides an introduction and biography of Mohamed Taman. It states that he is a Systems Architect and Design Supervisor at "e-finance" and is involved with the JCP Executive Committee. It lists his other roles including being a board member of the "Oracle Egypt Architect Club" and being a frequent speaker at various conferences. It provides contact details and links to his blog and social media profiles.
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.
Deep Dive Hands-on in Java EE 6 - Oredev 2010Arun Gupta
Arun Gupta presents an overview of the key features and specifications of Java EE 6, including:
1) Lightweight profiles like the Web Profile 1.0 make Java EE easier to use for web applications. Core specifications like EJB 3.1, JSF 2.0, and JPA 2.0 saw major updates.
2) New specifications include Contexts and Dependency Injection and Bean Validation which make developing Java EE applications simpler.
3) Servlets 3.0 brings annotations-based configuration and extensibility through web fragments, making it easier for frameworks to integrate with Java EE containers.
Utilizing JSF Front Ends with MicroservicesJosh Juneau
The document discusses utilizing Jakarta Server Faces and Jakarta RESTful Web Services to build front ends for microservices. It provides an overview of the technologies and frameworks, including new features of JSF 2.3 and Jakarta RESTful Web Services. It then demonstrates how to create a simple RESTful service using JAX-RS and JPA, and build a JSF front end to communicate with the service and display database data. The presentation recommends approaches for writing and modifying data via REST, securing services, and using various Java EE and third-party libraries.
Contextual Dependency Injection for Apachecon 2010Rohit Kelapure
The document discusses the history and evolution of Java EE and its specifications such as EJB and JSF. It introduces key concepts in Java EE 6 including Contexts and Dependency Injection (CDI), which provides a standard way to inject dependencies into Java objects without hardcoding them. CDI allows for loose coupling through contextual lifecycles and scopes, interceptors, and producers that control bean instantiation.
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 & 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 & 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 = 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.
WildFly AppServer - State of the Union
as presented at SoftShake Geneva, Oct 2015
http://soft-shake.ch/2015/en/
Covering the whole WildFly v8/9/10 series and the key aspects of the base AS7 architecture.
Java EE 6 introduces several new specifications and updates to existing ones to improve ease of development. Key additions include Contexts and Dependency Injection (JSR 299), Bean Validation (JSR 303), and a RESTful Web Services API (JSR 311). Many specifications were updated, including major overhauls to Java Server Faces 2.0 (JSR 314) and Java Persistence 2.0 (JSR 317). The reference implementation is GlassFish v3, which supports all Java EE 6 features and provides both open source and commercial distributions.
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. “
This document discusses Java EE 6 and GlassFish. It provides an overview of the new features in Java EE 6 including new APIs, the web profile, pluggability, dependency injection, and improvements to existing APIs. It also summarizes the key components of GlassFish including its support for OSGi, dynamic deployment, web session retention, and integration with tools like Eclipse and Maven.
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.
Sudheer Mechineni, Head of Application Frameworks, Standard Chartered Bank
Discover how Standard Chartered Bank harnessed the power of Neo4j to transform complex data access challenges into a dynamic, scalable graph database solution. This keynote will cover their journey from initial adoption to deploying a fully automated, enterprise-grade causal cluster, highlighting key strategies for modelling organisational changes and ensuring robust disaster recovery. Learn how these innovations have not only enhanced Standard Chartered Bank’s data infrastructure but also positioned them as pioneers in the banking sector’s adoption of graph technology.
Full-RAG: A modern architecture for hyper-personalizationZilliz
Mike Del Balso, CEO & Co-Founder at Tecton, presents "Full RAG," a novel approach to AI recommendation systems, aiming to push beyond the limitations of traditional models through a deep integration of contextual insights and real-time data, leveraging the Retrieval-Augmented Generation architecture. This talk will outline Full RAG's potential to significantly enhance personalization, address engineering challenges such as data management and model training, and introduce data enrichment with reranking as a key solution. Attendees will gain crucial insights into the importance of hyperpersonalization in AI, the capabilities of Full RAG for advanced personalization, and strategies for managing complex data integrations for deploying cutting-edge AI solutions.
How to Get CNIC Information System with Paksim Ga.pptxdanishmna97
Pakdata Cf is a groundbreaking system designed to streamline and facilitate access to CNIC information. This innovative platform leverages advanced technology to provide users with efficient and secure access to their CNIC details.
In his public lecture, Christian Timmerer provides insights into the fascinating history of video streaming, starting from its humble beginnings before YouTube to the groundbreaking technologies that now dominate platforms like Netflix and ORF ON. Timmerer also presents provocative contributions of his own that have significantly influenced the industry. He concludes by looking at future challenges and invites the audience to join in a discussion.
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionAggregage
Join Maher Hanafi, VP of Engineering at Betterworks, in this new session where he'll share a practical framework to transform Gen AI prototypes into impactful products! He'll delve into the complexities of data collection and management, model selection and optimization, and ensuring security, scalability, and responsible use.
A tale of scale & speed: How the US Navy is enabling software delivery from l...sonjaschweigert1
Rapid and secure feature delivery is a goal across every application team and every branch of the DoD. The Navy’s DevSecOps platform, Party Barge, has achieved:
- Reduction in onboarding time from 5 weeks to 1 day
- Improved developer experience and productivity through actionable findings and reduction of false positives
- Maintenance of superior security standards and inherent policy enforcement with Authorization to Operate (ATO)
Development teams can ship efficiently and ensure applications are cyber ready for Navy Authorizing Officials (AOs). In this webinar, Sigma Defense and Anchore will give attendees a look behind the scenes and demo secure pipeline automation and security artifacts that speed up application ATO and time to production.
We will cover:
- How to remove silos in DevSecOps
- How to build efficient development pipeline roles and component templates
- How to deliver security artifacts that matter for ATO’s (SBOMs, vulnerability reports, and policy evidence)
- How to streamline operations with automated policy checks on container images
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIVladimir Iglovikov, Ph.D.
Presented by Vladimir Iglovikov:
- https://www.linkedin.com/in/iglovikov/
- https://x.com/viglovikov
- https://www.instagram.com/ternaus/
This presentation delves into the journey of Albumentations.ai, a highly successful open-source library for data augmentation.
Created out of a necessity for superior performance in Kaggle competitions, Albumentations has grown to become a widely used tool among data scientists and machine learning practitioners.
This case study covers various aspects, including:
People: The contributors and community that have supported Albumentations.
Metrics: The success indicators such as downloads, daily active users, GitHub stars, and financial contributions.
Challenges: The hurdles in monetizing open-source projects and measuring user engagement.
Development Practices: Best practices for creating, maintaining, and scaling open-source libraries, including code hygiene, CI/CD, and fast iteration.
Community Building: Strategies for making adoption easy, iterating quickly, and fostering a vibrant, engaged community.
Marketing: Both online and offline marketing tactics, focusing on real, impactful interactions and collaborations.
Mental Health: Maintaining balance and not feeling pressured by user demands.
Key insights include the importance of automation, making the adoption process seamless, and leveraging offline interactions for marketing. The presentation also emphasizes the need for continuous small improvements and building a friendly, inclusive community that contributes to the project's growth.
Vladimir Iglovikov brings his extensive experience as a Kaggle Grandmaster, ex-Staff ML Engineer at Lyft, sharing valuable lessons and practical advice for anyone looking to enhance the adoption of their open-source projects.
Explore more about Albumentations and join the community at:
GitHub: https://github.com/albumentations-team/albumentations
Website: https://albumentations.ai/
LinkedIn: https://www.linkedin.com/company/100504475
Twitter: https://x.com/albumentations
Unlocking Productivity: Leveraging the Potential of Copilot in Microsoft 365, a presentation by Christoforos Vlachos, Senior Solutions Manager – Modern Workplace, Uni Systems
Building RAG with self-deployed Milvus vector database and Snowpark Container...Zilliz
This talk will give hands-on advice on building RAG applications with an open-source Milvus database deployed as a docker container. We will also introduce the integration of Milvus with Snowpark Container Services.
Pushing the limits of ePRTC: 100ns holdover for 100 daysAdtran
At WSTS 2024, Alon Stern explored the topic of parametric holdover and explained how recent research findings can be implemented in real-world PNT networks to achieve 100 nanoseconds of accuracy for up to 100 days.
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...Zilliz
Join us to introduce Milvus Lite, a vector database that can run on notebooks and laptops, share the same API with Milvus, and integrate with every popular GenAI framework. This webinar is perfect for developers seeking easy-to-use, well-integrated vector databases for their GenAI apps.
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slackshyamraj55
Discover the seamless integration of RPA (Robotic Process Automation), COMPOSER, and APM with AWS IDP enhanced with Slack notifications. Explore how these technologies converge to streamline workflows, optimize performance, and ensure secure access, all while leveraging the power of AWS IDP and real-time communication via Slack notifications.
Communications Mining Series - Zero to Hero - Session 1DianaGray10
This session provides introduction to UiPath Communication Mining, importance and platform overview. You will acquire a good understand of the phases in Communication Mining as we go over the platform with you. Topics covered:
• Communication Mining Overview
• Why is it important?
• How can it help today’s business and the benefits
• Phases in Communication Mining
• Demo on Platform overview
• Q/A
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Speck&Tech
ABSTRACT: A prima vista, un mattoncino Lego e la backdoor XZ potrebbero avere in comune il fatto di essere entrambi blocchi di costruzione, o dipendenze di progetti creativi e software. La realtà è che un mattoncino Lego e il caso della backdoor XZ hanno molto di più di tutto ciò in comune.
Partecipate alla presentazione per immergervi in una storia di interoperabilità, standard e formati aperti, per poi discutere del ruolo importante che i contributori hanno in una comunità open source sostenibile.
BIO: Sostenitrice del software libero e dei formati standard e aperti. È stata un membro attivo dei progetti Fedora e openSUSE e ha co-fondato l'Associazione LibreItalia dove è stata coinvolta in diversi eventi, migrazioni e formazione relativi a LibreOffice. In precedenza ha lavorato a migrazioni e corsi di formazione su LibreOffice per diverse amministrazioni pubbliche e privati. Da gennaio 2020 lavora in SUSE come Software Release Engineer per Uyuni e SUSE Manager e quando non segue la sua passione per i computer e per Geeko coltiva la sua curiosità per l'astronomia (da cui deriva il suo nickname deneb_alpha).
1. Java EE 8
Why We Need to Take Action to
Move Forward
Kito D. Mann
Virtua, Inc.
2. Kito D. Mann
@kito99
• Principal Consultant at Virtua (http://virtua.tech)
• Training, consulting, architecture, mentoring
• PrimeFaces, JSF, Java EE, Polymer, Web
Components, Liferay, etc.
• Official US PrimeFaces partner
• Author, JavaServer Faces in Action
• Founder, JSF Central (http://www.jsfcentral.com)
3. Kito D. Mann
@kito99
• Co-host, Enterprise Java Newscast
• http://enterprisejavanews.com
• Internationally recognized speaker
• JavaOne, JavaZone, Devoxx, Devnexus,
NFJS, etc.
• JCP Member
• JSF, MVC, JSF Portlet Bridge, Portlets
4. Agenda
• Overview of the specifications that are part of
Java EE 8, provide current status
• Examples of Proposed Enhancements and New
Features
• What the current status of Java EE 8 progress is
and what you can do to help
5. The Importance of Java
EE to the Ecosystem
https://javaee-guardians.io/java-ee-adoption-surveys
8. Java EE
Past, Present, Future
J2EE 1.2
Servlet,
JSP, EJB,
JMS, RMI
J2EE 1.3
CMP,
JCA
J2EE 1.4
Web
Services,
Mgmt,
Deplymnt
Java EE 5
Ease of
Use,
EJB 3,
JPA, JSF,
JAXB,
JAX-WS
Java EE 6
Pruning,
Ease of Use,
JAX-RS,
CDI,
Bean-
Validation
Servlet 3,
EJB 3.1 Lite
Java EE 7
JMS 2, Batch,
TX,
Concurrency,
Web-Sockets,
JSON
Java EE 8
SERVLET 4,
JSON-B,
JSON-P 1.1,
JSF 2.3, CDI
2.0, JAX-RS
2.1,
SECURITY,
MVC,
MANAGEMENT
9. Java EE Past, Present, &
Future
J2EE 1.3
CMP,
JCA
J2EE 1.4
Web
Services,
Mgmt,
Deplymnt
Java EE 5
Ease of
Use,
EJB 3,
JPA, JSF,
JAXB,
JAX-WS
Java EE 6
Pruning,
Ease of
Use,
JAX-RS,
CDI,
Bean-
Validation
Servlet 3,
EJB 3.1
Lite
Java EE 7
JMS 2,
Batch, TX,
Concurr,
Web-
Sockets,
JSON
JAX-RS 2
JAX-RPC, CMP/
BMP, JSR 88
J2EE 1.2
Servlet,
JSP, EJB,
JMS, RMI
10. Java EE Past, Present, &
Future
Java EE 5
Ease of
Use,
EJB 3,
JPA, JSF,
JAXB,
JAX-WS
Java EE 6
Pruning,
Ease of
Use,
JAX-RS,
CDI,
Bean-
Validation
Web Profile
Servlet 3,
EJB 3.1
Lite
Java EE 7
JMS 2,
Batch, TX,
Concurr,
Web-
Sockets,
JSON
Web Profile
JAX-RS 2
JAX-RPC, CMP/
BMP, JSR 88
J2EE 1.3
CMP,
JCA
J2EE 1.4
Web
Services,
Mgmt,
Deplymnt
J2EE 1.2
Servlet,
JSP, EJB,
JMS, RMI
11. Java EE Past, Present, &
Future
J2EE 1.3
CMP,
JCA
J2EE 1.4
Web
Services,
Mgmt,
Deplymnt
Java EE 5
Ease of
Use,
EJB 3,
JPA, JSF,
JAXB,
JAX-WS
Java EE 6
Pruning,
Ease of
Use,
JAX-RS,
CDI,
Bean-
Validation
Web Profile
Servlet 3,
EJB 3.1
Lite
Java EE 7
JMS 2,
Batch, TX,
Concurr,
Web-
Sockets,
JSON
JAX-RS 2
JAX-RPC, CMP/
BMP, JSR 88
J2EE 1.2
Servlet,
JSP, EJB,
JMS, RMI
12. Java EE Past, Present, &
Future
J2EE 1.3
CMP,
JCA
J2EE 1.4
Web
Services,
Mgmt,
Deplymnt
Java EE 5
Ease of
Use,
EJB 3,
JPA, JSF,
JAXB,
JAX-WS
Java EE 6
Pruning,
Ease of
Use,
JAX-RS,
CDI,
Bean-
Validation
Web Profile
Servlet 3,
EJB 3.1
Lite
Java EE 7
JMS 2,
Batch, TX,
Concurr,
Web-
Sockets,
JSON
Web Profile
JAX-RS 2
JAX-RPC, CMP/
BMP, JSR 88
J2EE 1.2
Servlet,
JSP, EJB,
JMS, RMI
13. Java EE 8 Community Survey
https://java.net/downloads/javaee-spec/JavaEE8_Community_Survey_Results.pdf
https://blogs.oracle.com/ldemichiel/entry/results_from_the_java_ee
14. Java EE 8: Original
Plan
• Continued Enhancements for Web Standards
Alignment
• HTTP2, JSON Binding, JSON-P, MVC
• Cloud enhancements
• Security, RESTful Management API
• CDI Programming Model
• Ease of use, EJB via CDI
• Smaller, but Important Features
• Caching, Better Messaging
• Alignment with Java SE 8
17. Java EE 9: New Proposal
Expected release: Q4 2018
• Increased focus on microservices and cloud
• Proposed new features:
• Multi-tenancy
• Circuit-breaker
• Reactive programming support
19. Servlet 4.0
• Principal goal to support HTTP 2
• Modernization of internet protocol
• Boost web performance
• Early Draft has been published
• Join mailing list or follow expert group (JSR 369)
• Keep tabs on Ed Burns’ presentations, although
not anything new since JavaOne 2015
20. Servlet 4.0
• HTTP 2 Support -> Major Update
• Why do we need HTTP 2?
• Problems with HTTP 1.1
• Head-of-Line Blocking
• HTTP Pipelining, File Concatenation, &
Image Sprites
22. Servlet 4.0
Exposing HTTP 2
• Stream Prioritization
• New class Priority
• Enhance HttpServletRequest and
HttpServletResponse to accommodate
• Server Push
• Not replacing WebSockets
23. Servlet 4.0
Newer HttpClient API (Java SE
9)
• Plans to provide easy to use API
• Support both HTTP/1.1 and 2
• Builds on existing Java API Classes
24. JMS 2.1
(Proposed for Removal)
• JSR 368 - In early stages
• No builds available for testing, as yet.
• Planning: https://java.net/projects/jms-
spec/pages/JMS21Planning
25. JMS 2.1
• JMS 2.0 was a major overhaul
• Continuation of API Modernization
• Declarative Message Listeners
• Alternative to MDB
• More Powerful Features
• Available to all Beans
26. JMS 2.1
• JMS Provider Portability Improvements
• Dead Message Queues
• Redelivery Behavior on JMS MDB Rollback
(delays, max # consecutive)
29. JAX-RS 2.1
• JSR 370 - In Early Stages
• No builds available for testing
• Follow JSR-370 EG and Mailing Lists
30. JAX-RS 2.1
• Hypermedia API
• Reactive API
• Security API
• Support for SSE (Server Sent Events)
• Improved CDI Integration
• Support for Non-Blocking IO in Providers
31. JAX-RS 2.1
• Conditional JAXB on Runtimes
• Integration with JSON-B
• Support for CDI in Java SE
32. JSF 2.3
• JSR 372 - in active progress
• Milestones available for testing
• Read, Test, Supply Feedback
35. JSF 2.3
Enhanced CDI Integration
• Wider Support of Injection into JSF Artifacts
• javax.faces.convert.Converter
• javax.faces.validator.Validator
• javax.faces.component.behavior.Behavior
• Upgraded to CDI qualifiers
36. CDI 2.0
• JSR 365 - in active progress
• Test Releases of Reference Implementation
(Weld 3.0.0 Alphas)
• http://weld.cdi-spec.org/news/
• Follow the Expert Group
37. CDI 2.0
• Java SE Bootstrap
• XML Configuration
• Asynchronous Events@S@tar
• @Startup for CDI Beans
• Portable Extension SPI Simplification
• Small features and enhancements
39. CDI 2.0
@Schedule Outside EJB
@ApplicationScoped
public class MyScheduledBean {
...
@Schedule(...)
public void myScheduledTask() { ... }
}
@ApplicationScoped
@Stereotype
@Retention(RUNTIME)
@Target(TYPE)
@Schedule(...)
public @interface MonthlyTask {}
40. JSON-P 1.1
• JSR 374 - In Early Draft Review
• More Information:
• https://json-processing-spec.java.net/
• Sources: https://java.net/projects/jsonp
41. JSON-P 1.1
• Updates to new API in Java EE 7
• New JSON Standards
• JSON-Pointer and JSON-Patch
• Editing Operations on JSON objects and arrays
• Helper Classes and Enhanced Java SE 8
support
42. JSON-P 1.1
Java SE 8 Support
• Stream Support
JsonArray persons;
persons.getValuesAs(JsonObject.class).stream()
.filter(x->x.getString(“age”) >= 65)
.forEach(System.out.println(x.getString(“name”)));
44. JSON-P 1.1
JSON-Patch
public void shouldBuildJsonPatchExpressionUsingJsonPatchBuilder() {
JsonPatchBuilder patchBuilder = new JsonPatchBuilder();
JsonObject result = patchBuilder.add("/email”,
"john@example.com").replace("/age", 30)
.remove("/phoneNumber”)
.test("/firstName", "John”)
.copy("/address/lastName", "/lastName”)
.apply(buildPerson());
}
45. Java EE Management API
2.0
(Proposed for Removal)
• Currently working on Early Draft
• Join mailing list of JSR 373
46. Java EE Management API
2.0
• REST Based Interface to Supersede EJB
Management APIs of JSR 77
• Monitoring and deployment as well
• SSE for Event Support (WebSockets also under
consideration)
48. MVC
(Proposed for Removal)
• Model - View - Controller
• JSR 371
• Active Progress…download milestones
• Ozark: https://ozark.java.net/
49. MVC
• Action-Based Web Framework for Java EE
• Follows suit of Spring MVC or Apache Struts
• Does Not Replace JSF
• Model: CDI, Bean Validation, JPA
• View: Facelets, JSP (Extensible)
• Controller: Layered on top of JAX-RS
52. JSON-B
• Java API for JSON Binding
• JSR 367 - Public Review
• Read the spec, start testing:
https://java.net/projects/jsonb-spec/pages/Home
53. JSON-B
• Standardize means of converting JSON to Java
objects and vice versa
• Default mapping algorithm for converting Java
classes
• Draw from best of breed ideas in existing JSON
binding solutions
• Provide JAX-RS a standard way to support
“application/json” for POJOs
• JAX-RS currently supports JSON-P
54. JSON-B
Mapping
@Entity public class Person {
@Id String name;
String gender;
@ElementCollection
Map<String, String> phones;
...
}
Person duke = new Person();
duke.setName("Duke");
duke.setGender("Male");
phones = new HashMap<>();
phones.put("home", "650-123-4567");
phones.put("mobile",
"650-234-5678");
duke.setPhones(phones);
{
"name":"Duke",
"gender":"Male",
"phones":{
"home":"650-123-4567",
"mobile":"650-234-5678"
}
}
55. JSON-B
Proposed API - Custom Mapping
• Utilization of annotations to map fields to JSON
Document Elements
{
poolType : “Inground”,
}
@JsonProperty(“poolType”)
public String poolType;
{
poolType : “Inground”,
shape : “Rectangle”
}
@JsonPropertyOrder(“poolType”,
”shape”)
public class Pool(){
public String poolType;
public String shape;
…
}
56. Java EE Security
• JSR 365
• Early Draft Development
• Improve Java EE platform by ensuring that the
security API is useful in the modern cloud/PaaS
paradigm
• Simplify, standardize, modernize
• Promotes modern concepts (EL and CDI)
57. Java EE Security
• Simple security providers
• Easy pluggability and mapping
• Enabling Existing Security Annotations for all
beans
58. Java EE Security
Proposed Security Provider
@SecurityProvider
public class MySecurityProvider {
@Inject UserService userService;
@OnAuthentication
// The parameters could suit the credentials mechanism being
used.
public Principal getPrincipal(String username, String password) {
// Construct the principal using the user service.
}
@OnAuthorization
public String[] getRoles (Principal principal) {
// Construct an array of roles using the principal and user
service.
}
}
59. Java EE Security
• Proposed Idea Examples:
• https://github.com/javaee-security-spec/javaee-
security-proposals
60. JCache
• Java Temporary Caching API
• JSR 107 - Started in 2001
• Finished in 2014
• Provides a common way for Java applications to
create, access, update, and remove entries from
caches
61. JCache
• Provide applications with caching
functionality…particularly the ability to cache Java
objects
• Define common set of caching concepts & facilities
• Minimize learning curve
• Maximize portability
• Support in-process and distributed cache
implementations
62. JCache
• Unknown status...not mentioned in the Oracle
update
• Make use of JCache with some application servers
now with CDI
63. Health Checking
• Newly proposed specification, geared towards
monitoring the health of microservices
• Client-side standard
• Automatic, periodic, and self-monitoring
• Possibly statistics
64. Configuration
• Standard for externalizing configuration
• Aimed at cloud based environments
• Provide the ability to change one or more
configurations that are independent/decoupled of
apps...multiple configuration files
• Unified API for accessing configuration in many
different environments
• Layering and Overrides
66. Java EE 8 Timeline
Q4 2014
Expert Groups
Q4 2015
Early
Draft
Q1 2016
Public
Review
Q3 2016
Proposed Final
Draft
H2
2017?
Final
Release
Java
EE.Next
67. Java EE 8:
Take Action
• Start working with Java EE 8 today
• Tools:
• GlassFish v4.1, Payara 5 Branch
• Milestones
• Examples and Specification Docs
68. Adopt-A-JSR
• Started in 2007, easy way for JUGs to get
involved
• What you can do depends upon what you want
to do & what spec leads are looking for