Wednesday May 25, 2016

Putting Hypermedia Back in REST with JAX-RS

Implementing a fully-fledged hypermedia-driven REST API in your Java enterprise application enables more flexibility and resilience. Sebastian Daschner asserts in his new article that many developers claim they are using REST when, in fact, most web APIs are something between "RPC style" and "basic resources with HTTP semantics," except they are built without hypermedia.

Using real-world examples, he proves his point and shows how to accomplish a main goal of REST: having the server alone be in control of URLs and actively guide the client to the needed resources. Another REST benefit he discusses is having business logic reside only on the server to avoid duplicating the logic on the client. To accomplish that, he explores hypermedia-aware content types, such as Siren, that not only allow you to define links but also so-called actions--to describe how resources are accessed in ways other than by using simple GET calls.

Building on his examples, Daschner shows how to use the UriInfo component of JAX-RS to programmatically create URIs with information derived directly from JAX-RS classes and to construct the protocol, host, and ports depending on a given HTTP request. Finally, he shows how to use JSONP to programmatically create JSON structures, which enables you to be in full control of how a response can look and what content type is used.

To see these examples, learn about some important upfront choices, and access more examples he provides on GitHub, read the article.

Sunday May 22, 2016

Java Community Event in Japan

JJUG CCC is the largest Java community event in Japan, held twice a year in spring and autumn. The one day event is organized by the Japan Java User Group and attracted over 1,300 attendees last Saturday. Top speakers presented sessions about all Java technologies in 7 tracks. The event closed with entertaining Ignite sessions including a blind sake tasting competition between NightHacking organizers, Sebastian and Stephen, and the community members. 

Some of the session topics were: 
  • Raspberry Pi with Java
  • Type Annotation for Static Program Analysis
  • Eclipse Collections
  • Jenkins 2.0
  • Introduction to JShell: The Java REPL Tool 
  • Java EE Web Profile
  • Python + GDB = Java
  • OpenJDK 
  • Gradle 
  • Play Framework 
  • Java Puzzlers 
  • Java EE 

Pictures of the event 

Wednesday May 18, 2016

Java Euro Tour

Bruno Souza, Edson Yanaga, and Otávio Santana are touring European JUGs talking about DevOps, big data, currency API, CDI 2 and cloud scalability. The team is also interviewing Java Champions, renowned Java speakers and community leaders in their homes and at work. Watch the replay of those interviews 

Some of the topics they present at JUGs: 
  • Containers and DevOps: full delivery cycle for Java applications  
  • Big Data and NoSQL with CDI and Cassandra 
  • First steps with the Money and Currency API, JSR 354 
  • Using CDI 2.0 in Java SE world - Contexts and Dependency Injection 2.0 (JSR-365) 
  • A Developer's Journey From Monoliths to Microservices 
  • Multi-cloud scalability: NoSQL with Cassandra, JavaEE, CDI and Containers. 
Java champions and community leaders interviewed include Andres Almiray, Ixchel Ruiz, Michael Hoffer, Wener Keil, Hendrik Ebbers, and Simon Ritter - to name a few. Watch the replay of all the interviews and follow the tour @brjavaman  

New Java Champion Mark Heckler

Welcome New Java Champion Mark Heckler!  

Mark has worked with Java SE and Java EE since the early days of each, and has over 25 years of experience with software development in general. He has filled roles from junior programmer to architect and has been an evangelist/advocate for the past several years. 

As a longtime evangelist of Java and an accomplished developer, Mark co-authored two books on JavaFX: JavaFX 8: Introduction By Example (2014) and Mark Heckler By Example coming out soon. He has been a technical reviewer and contributor on several other books about JavaFX, Raspberry Pi development and security topics. 

He is a frequent speaker at IoT and Java conferences including JavaOne, Devoxx, Focus, JavaLand and more. He has organized many workshops, hackathons and hands-on labs. Follow him on Twitter @MkHeck 

Some of his projects on GitHub are: 
  • DialogFX & MonologFX  dialog support for JavaFX before base release availability 
  • Autonomous4j Java library for providing general autonomic capabilities for airborne drones 
  • A4jMultimode Java library that provides abstractions for autonomous operations of land/air/water drones 
  • Implement A4jMultimode PoC by building land-based drone (robot) running Java SE Embedded on onboard Raspberry Pi
  • Renewable energy monitor/control applications for IoT gateways (Java SE Embedded) and Cloud portal (Spring Boot + Cloud Foundry) 
The Java Champions are an exclusive group of passionate Java technology and community leaders who are community-nominated and selected under a project sponsored by Oracle. Learn more about Java Champions

Tuesday May 17, 2016

NightHacking Tour in Japan

Java Community Lead Stephen Chin and Freelancer Sebastian Daschner are touring Java User Groups in Japan.  You can watch them live at NightHacking


Stephen walks 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 he covers along the journey include: hacking Java on the Raspberry Pi
, rigging input devices with Pi4J, insane performance tuning on the JVM
, why your boss needs to buy you a 3D printer!
 And, of course, your retro gaming mettle will be put to the test, so dust off your old 8 and 16 bit consoles! This presentation is about the most fun you can have while still legitimately calling this conference “work.” 

Sebastian gives 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 spent demonstrating different implementations (plain JavaEE 7, existing libraries, etc.) with live coding. The session is held in English. 

Follow them @nighthacking while they are visiting JUGs: 

5/16/2016 Hiroshima JUG
5/17/2016 Osaka JUG
5/19/2016 Sendai JUG
5/20/2016 Sompo Japan Tachikawa
5/21/2016 JJUG Event
5/24/2016 Java Day Tokyo
5/26/2016 Java Kueche (Okinawa)
5/28/2016 JavaDo (Sapporo)

Microservices Hackathon

Create microservices with Java or Node/Javascript in the Cloud. In this free Hackathon event on May 18 in New York City, you'll learn about managed microservices, devops automation, new Java 8 capabilities and get a hands-on introduction to a new Javascript toolkit called JET.

Learn lightweight microservices development using Java 8, Javascript and cloud devops tools with the latest Java 8 features, JAX-RS via Jersey/Grizzly, Node.js and JET. Get first hand experience with Developer Cloud Service and Application Container Cloud Service (Java SE and Node.js) from Oracle. 

Organizations with highly skilled development teams are looking for agility in delivering custom lightweight applications to their organizations and this Hackathon provides a clear path to using Cloud Native methodologies to create, deploy, manage and maintain microservices written in Java or Node.js.   

Join us Wed, May 18 for a fun, hands-on, informative Hackathon day.  A foundation reference implementation and source code will be provided for a back end Java SE microservice that authenticates to Twitter via OAuth using only Jersey/Grizzly, exposing a real time tweet stream to a front end Node.js instance running the JET Javascript toolkit.

Thursday May 12, 2016

Java ME Embedded 8.3 Release

Oracle has announced today the latest releases to its Oracle Java Embedded product portfolio, Oracle Java ME Embedded 8.3 and Oracle Java ME Software Development Kit (SDK) 8.3, a complete client Java runtime and toolkit optimized for microcontrollers and other resource-constrained devices.

Release key features:

  • Oracle is extending its relationship with ST Microelectronics and adds improved support for the STM32F429I-EVAL evaluation platform within Java ME Embedded 8.3. A user now has the flexibility to configure peripherals and use custom hardware configurations without the need to rebuild or retest firmware.
  • Oracle and ST Microelectronics are also adding support for Java in the STM32F7 series of microcontrollers based on modern Cortex-M7 cores, which enables embedded developers to take advantage of popular Java programming features, and a developer preview for the 32F746GDISCOVERY development platform.
  • The new release reinforces the Java ME Embedded 8 Security system through the implementation of Secured File System supporting a number of HW Secured Elements to protect customer data from compromise. Java ME customers can encrypt application data (MIDlets, LIBlets), application meta-data and runtime configuration. Extended the application specific filesystem structure. 
  • SHA256 for application signature
  • Extending security API by adding HMAC support  
  • The platform updatability mechanism is now an essential part of Java runtime and allows in-field platform updates, leaving untouched all user applications in order to conserve demands on wireless connectivity.
  • As a follow-up to the Oracle and Intel joint announcement at JavaOne 2015, Java ME Embedded 8.3 has the capability to run on Intel Galileo gen 2 developers' board

Feel free to download and evaluate Java ME Embedded 8.3 and Java ME SDK 8.3.

Java ME Embedded 8.3

Java ME SDK 8.3

Give us your feedback at OTN community

Tuesday May 10, 2016

Step-by-Step High Availability with Docker and Java EE

Are you planning to use containers and microservices together? Bruno Souza and Elder Moraes introduce those topics in their article "Step-by-Step High Availability with Docker and Java EE". Using a simple example, they show how you can use Java EE with Docker as a powerful way to develop and deploy portable, scalable, highly available services.

Souza and Moraes use the following steps to illustrate how easily and quickly you can use Docker containers with a Java EE application:

1. Choose a Java EE application to run on an Apache TomEE server.
2. Create a software appliance.
3. Add a highly available configuration. 
4. Run the application on immutable servers.
5. Add a load balancer. 

Then they describe additional benefits you can get by using Docker containers to run Java EE applications, such as automating a build pipeline, automating tests, and performing cloud migration. To learn more, read the article.

Thursday May 05, 2016

Avoiding Big Data Antipatterns

Which tool is the best fit for your big data use cases? JavaOne speaker Alex Holmes discusses antipatterns in tools such as Hadoop, Spark, Cassandra, and Kafka, how to choose the right tools, and how misconfiguration can counter your attempts to scale.

Tuesday May 03, 2016

Java SE 8 Certification

Prepare for the Java SE 8 exam or upgrade your certification from any previous Java SE to Java SE 8.  There are resources available, whether you are getting a certification for the first time or want to upgrade your certification.

Upgrade Java SE 7 to Java SE 8 OCP Programmer | 1Z0-810
Recommended Training: Java SE 8 New Features

Upgrade to Java SE 8 OCP (Java SE 6 and all prior versions) | 1Z0-813
Exam Topics: Upgrade to Java SE 8 OCP (Java SE 6 and all prior versions)

More about Certification:


Insider News from the Java Team at Oracle!



« June 2016