By Yolande Poirier-Oracle on Mar 30, 2016
The Java Track includes three code-heavy sessions:
The Java Track includes three code-heavy sessions:
How to build a Hypermedia-Driven RESTful Web Service. Sebastian Daschner describes different approaches to realize RESTful services with JavaEE 7 and JAX-RS. Watch his presentation as he shows best practices and different frameworks that accelerate your development.
Java Community Lead Stephen Chin and Freelancer Sebastian Daschner are touring Java User Groups in Germany. And, you can watch them live at NightHacking during JavaLand.
In his presentation, Stephen will walk you through how to build your own retro handheld console that is powered by Java, runs on a Raspberry Pi, and is printed on a 3D printer. Some of the topics that he will cover along the journey include: hacking Java on the Raspberry Pi , rigging input devices with Pi4J, Insane performance tuning on the JVM , why your boss [or SO] needs to buy you a 3D printer! And of course your retro gaming mettle will be put to the test, so make sure to dust off your old 8 and 16 bit consoles to prepare. This presentation is about the most fun you can have while still legitimately calling this conference “work.”
Sebastian will give an introduction of RESTful web services with Hypermedia as the engine of application state, what the benefits and costs of using this approach are and show different approaches how to realize such REST services with JavaEE 7 and JAX-RS. Most of the time will be spend demonstrating different implementations (plain JavaEE 7, existing libraries, etc.) with live coding. The session is held in English.
By Java Magazine Editor Andrew Binstock
Welcome to the January/February issue of Java Magazine whose focus is on developing Web applications. Not so long ago, this topic would require us to cover and compare innumerable Java frameworks. But as Web apps have turned increasingly to microservices in their architecture and REST for their APIs, the need for heavyweight frameworks has decreased significantly. By and large, Spring remains the principal widely used framework. And so, we cover its latest incarnation, Spring Boot, in a lengthy tutorial, which highlights how easy it makes creating Web apps.
A companion examination of the JAX-RS library, with emphasis on lesser used capabilities that you might not realize it offers, is also included. And for readers who use some form of xFaces for the Web part of the app, we dig into OmniFaces, a well-designed utility library that integrates easily with JSF, MyFaces, PrimeFaces, RichFaces, etc.[Read More]
As Re Lai explains in this article, web applications have traditionally processed requests synchronously on the server side. Asynchronous programming is generally used on the client side. However, due to the advent of social networking, mobile devices, and the Internet of Things, non-blocking request processing on the server side has taken off as an important technique for meeting ever-more-daunting performance demands.
Lai's article explores the asynchronous support provided in several popular web frameworks--Servlet, JAX-RS, Spring MVC, Vert.x, and the Play Framework--for implementing non-blocking server-side request processing. He also discusses a sample application, todosapp, to show how to implement non-blocking web applications in these frameworks. Read Lai's article
By Guest Blogger John Clingan
GlassFish Server 4.1 Open Source Edition is available for download! This release of the world's first Java EE 7 application server includes multiple new and valuable features and updates. Here is a quick look at what's new:
In summary, GlassFish 4.1 offers updated platform support, improved developer experience, new features and is bundled in the refreshed Java EE 7 SDK. GlassFish 4.1 can be downloaded from glassfish.org, and the Java EE 7 SDK can be downloaded from the Oracle Technology Network (OTN).
by Timothy Beneke
On Tuesday afternoon, noted Java EE authors Arun Gupta and Antonio
Goncalves offered a whirlwind tour of new features in “Java EE 7: Fifty
New Features of Java EE 7 in 50 Minutes”. Gupta is legendary at Oracle
for his hard work and astute grasp of the Java EE platform. His blog offers a wealth of insight into Java EE and other Java matters. He is the author, most recently, of Java EE 7 Essentials published by O’Reilly. Goncalves is one of the most highly regarded writers on EE anywhere and the author of Beginning Java EE 7, published by Apress.
Java EE 7’s new features enhance HTML5 support, increase developer productivity, and further improve how enterprise demands can be met. Developers will write significantly less boilerplate code, have better support for the latest Web applications, and gain access to enhanced scalability and richer, simpler functionality. The session did a stellar job of spelling out the details to a packed house.
With four new components (WebSocket, JSON-P, batch, and concurrency), and three old ones significantly updated (JAX-RS, JMS, and EL), along with other significant changes to the platform, a lot of new functionality has been added.
They divided the new Java EE 7 features into 19 categories and explained an average of two to three features in each category. Here were the categories:
CDI 1.1 (JSR 346)
Bean Validation 1.1 (JSR 349)
Interceptors 1.2 (JSR 318)
Concurrency utilities 1.0 (JSR 236)
JPA 2.1 (JSR 338)
JTA 1.2 (JSR 907)
EJB 3.2 (JSR 345)
JMS 2.0 (JSR 343)
Servlet 3.1 (JSR 340)
Web Socket 1.0 (JSR 356)
Expression Language 3.0 (JSR 341)
JSF 2.2 (JSR 344)
JAX-RS 2.0 (JSR 339)
JSON-P 1.0 (JSR 353)
Batch 1.0 (JSR 352)
JavaMail 1.5 (JSR 919)
JCA 1.7 (JSR 322)
Java Connector Architecture
Here are just a few of the high points:
CDI 1.1 (JSR 346) enables finer scanning control and the ability to veto the processing of a class or package. Bean Validation 1.1 (JSR 349) allows for method validation and the ability to pre/post conditions on method and constructors. Interceptors 1.2 (JSR 318) focused on the ability to associate an Interceptor associated with a constructor and the ability to prioritize interceptor bindings.
For Concurrency utilities 1.0 (JSR 236), the emphasis was on ManagedExecutor with a focus on:
* User threads in Java EE applications
* The ability to support simple and advance concurrency design patterns
* And to extend Concurrency Utilities API from Java SE (JSR 166y)
Further emphasis in concurrency was on ManagedThreadFactory and DynamicProxy.
* Creates dynamic proxy objects, and adds contextual information available for applications running in Java EE environment
* It supports Classloading, JNDI, Security, …
Also covered as part of concurrency: ManagedExecutor
* User threads in Java EE applications
* Support simple and advance concurrency design patterns
* Extend Concurrency Utilities API from Java SE (JSR 166y)
– java.util.concurrent package
In addition: ManagedScheduledExecutor
* Managed version of ScheduledExecutorService
* Submit delayed or periodic tasks
For JPA 2.1 (JSR 338), standardized database schema generation and the ability to define additional indexes in schema generation were emphasized. JTA 1.2 (JSR 907) was praised for its capacity for transaction management on Managed Beans as a CDI interceptor binding; in addition, it offers CDI scope whose lifecycle is scoped to the currently active JTA transaction.
They discussed WebSocket and annotated server endpoint which enables full-duplex bi-directional communication over a single TCP connection.
JSON Builder creates an object model (or an array) in memory by adding elements. JsonParser is an event-based parser that can read JSON data from a stream.
All in all, it was an impressive display of Java SE 7 expertise.
Java EE 7 Essentials by Arun Gupta
Beginning Java EE 7 by Antonio Goncalves
Be sure to check out Parleys.com in early October to listen to the entire session. It's well worth it.
JSO, a lightweight, text-based, language-independent data exchange format that is easy to read and write by both humans and machines, can represent two structured types: objects and arrays. Kotamraju, the JSON Processing specification lead, explains that “an object is an unordered collection of zero or more name/value pairs. An array is an ordered sequence of zero or more values. The values can be strings, numbers, booleans, null and these two structured types.”
JSON is frequently used in Ajax applications, configurations, databases, and RESTful web services. JSON is offered as the data exchange format with their RESTful web services by all popular websites.
Kotamraju gets under the hood with both the object model and streaming APIs. He concludes that the API for JSON Processing offers the following capabilities:
* “Parsing input streams into immutable objects or event streams
* Writing event streams or immutable objects to output streams
* Programmatically navigating immutable objects
* Programmatically building immutable objects with builders”
The API forms a base for building data binding, transformation, querying, or other manipulation APIs. JAX-RS 2.0 provides native integration for the Java API for JSON Processing.
Check out the article here.
Insider News from the Java Team at Oracle!