Saturday Jun 29, 2013

Open Source Software Development Center at University of Belgrade

A new Open Source Software Development Center is open at University of Belgrade, Serbia. It centers around using Java & NetBeans as open source projects to learn from and contribute to. Assistant Professor Zoran Sevarac says that not only does the center allow him to teach software development using open source projects, but also "we are improving our University courses based on the experience we get from working on open source code." 

Belgrade centerSome of the projects underway are a NetBeans UML plugin; Neuroph (a Java neural network framework, with a NetBeans Platform-based UI); a NetBeans DOAP Plugin; WorkieTalkie (NetBeans chat plugin); and 2D and 3D visualization plugins for NetBeans.

University of Belgrade also has an official university course about open source development, where students learn to use development tools, work in teams, participate in open source projects and learn from real world software development projects.

Students, teachers, and researchers at the University of Belgrade, and any member of the open source community are welcome to come to learn software development from successful open source projects. For more information, you can contact Zoran Sevarac (@neuroph on Twitter).

Thursday Jun 27, 2013

An Overview of Batch Processing in Java EE 7

Up on otn/java is a new article by Oracle senior software engineer Mahesh Kannan, titled “An Overview of Batch Processing in Java EE 7.0,” which explains the new batch processing capabilities provided by JSR 352 in Java EE 7. Kannan explains that “Batch processing is used in many industries for tasks ranging from payroll processing; statement generation; end-of-day jobs such as interest calculation and ETL (extract, load, and transform) in a data warehouse; and many more. Typically, batch processing is bulk-oriented, non-interactive, and long running—and might be data- or computation-intensive. Batch jobs can be run on schedule or initiated on demand. Also, since batch jobs are typically long-running jobs, check-pointing and restarting are common features found in batch jobs.”

JSR 352 defines the programming model for batch applications plus a runtime to run and manage batch jobs. The article covers feature highlights, selected APIs, the structure of Job Scheduling Language, and explains some of the key functions of JSR 352 using a simple payroll processing application. The article also describes how developers can run batch applications using GlassFish Server Open Source Edition 4.0.

Kannan summarizes the article as follows:

“In this article, we saw how to write, package, and run simple batch applications that use chunk-style steps. We also saw how the checkpoint feature of the batch runtime allows for the easy restart of failed batch jobs. Yet, we have barely scratched the surface of JSR 352. With the full set of Java EE components and features at your disposal, including servlets, EJB beans, CDI beans, EJB automatic timers, and so on, feature-rich batch applications can be written fairly easily.”

Check out the article here.

Java Virtual Developer Day Session Videos Available

How are Lambdas handled on a bytecode level?

How does replacing assembly code with Java code improve performance?

Can we send flat files/comma separated/XML files to process in Batch?

In a Java EE app, can I inject an EJB bean inside a REST POJO using @EJB annotation?

Where I can find JavaFX UI controls?

At OTN's Virtual Developer Day, Java experts answered these questions and more. Session are now available for you to view on demand (registration required). This is limited time offer: the sessions will be up to view for free for the next two weeks. 

You can view sessions from these tracks:

Java SE 8 Track
Learn about the features scheduled for Java SE 8, including Lambda expressions, extension methods for interfaces and a new Date and Time API. Learn how to create basic apps with JavaFX. 

Java EE Track
Take a close look at the new functionality in Java EE 7.
Get presentations and demos on JSON, WebSockets, Batch, Concurrency, JAX-RS 2, JMS 2, 

Java Embedded Track
Provides an introductions to the Raspberry Pi, the Keil board, ARM architecture, and how to make it all work with Java Embedded.

You know Java, now really know Java. Check out the OTN Virtual Developer Day sessions!

Wednesday Jun 26, 2013

Diving into Scala with Cay Horstmann

A new interview with Java Champion Cay Horstmann, now up on otn/java, titled  "Diving into Scala: A Conversation with Java Champion Cay Horstmann," explores Horstmann's ideas about Scala as reflected in his much lauded new book,  Scala for the Impatient.  None other than Martin Odersky, the inventor of Scala, called it "a joy to read" and the "best introduction to Scala". Odersky was so enthused by the book that he asked Horstmann if the first section could be made available as a free download on the Typesafe Website, something Horstmann graciously assented to.

Horstmann acknowledges that some aspects of Scala are very complex, but he encourages developers to simply stay away from those parts of the language. He points to several ways Java developers can benefit from Scala:

"For example," he says, " you can write classes with less boilerplate, file and XML handling is more concise, and you can replace tedious loops over collections with more elegant constructs. Typically, programmers at this level report that they write about half the number of lines of code in Scala that they would in Java, and that's nothing to sneeze at. Another entry point can be if you want to use a Scala-based framework such as Akka or Play; you can use these with Java, but the Scala API is more enjoyable. "

Horstmann observes that developers can do fine with Scala without grasping the theory behind it. He argues that most of us learn best through examples and not through trying to comprehend abstract theories. He also believes that Scala is the most attractive choice for developers who want to move beyond Java and C++.  When asked about other choices, he comments:

"Clojure is pretty nice, but I found its Lisp syntax a bit off-putting, and it seems very focused on software transactional memory, which isn't all that useful to me. And it's not statically typed. I wanted to like Groovy, but it really bothers me that the semantics seems under-defined and in flux. And it's not statically typed. Yes, there is Groovy++, but that's in even sketchier shape.

There are a couple of contenders such as Kotlin and Ceylon, but so far they aren't real.

So, if you want to do work with a statically typed language on the JVM that exists today, Scala is simply the pragmatic choice. It's a good thing that it's such a nice choice."

Learn more about Scala by going to the interview here.

Tuesday Jun 25, 2013

New Survey Findings: Application Intelligence and Connected Devices - How do you Harness the Value

Oracle and Beecham have recently conducted a market survey on use of Connected Devices for M2M & Internet of Things (IoT) applications and new trends. This first session in our webinar series addresses intelligence in connected devices.

Join Peter Utzschneider of Oracle and Robin Duke-Woolley of Beecham Research as they discuss:

  • What are the key business drivers of your connected devices program?
  • To what extent do you expect the intelligence required for M2M & IoT applications to change?
  • Would these changes occur at the network edge, at the data center, or both?
  • What are the impacts of these changes on ISV’s and device manufacturers?
  • What are the opportunities for other M2M & IoT players?

Monday Jun 24, 2013

Virtual Developer Day - EMEA-friendly time

OTN's Virtual Developer Day lets you learn about the latest technical improvements in Java without leaving your desk/couch/park bench. Watch informative tutorials on your laptop and improve your Java programming expertise and engage in live chat sessions with Java experts, all for FREE

OTN Virtual Developer Day: Java VDD lobby

Europe/Africa/Middle East - June 25
09:00 to 13:00 BST / 10:00 to 14:00 CEST / 13:30 to 17:30 IST / 12:00 to 16:00 MSK /
08:00 to 12:00 Corresponding UTC (GMT)

After a short keynote, you can dive into one of these three tracks: 

Java SE 8 Track
Learn about the features scheduled for Java SE 8, including Lambda expressions, extension methods for interfaces and a new Date and Time API. Learn how to create basic apps with JavaFX. 

Java EE Track
Take a close look at the new functionality in Java EE 7.
Get presentations and demos on JSON, WebSockets, Batch, Concurrency, JAX-RS 2, JMS 2, 

Java Embedded Track
Provides an introductions to the Raspberry Pi, the Keil board, ARM architecture, and how to make it all work with Java Embedded.

You know Java, now really know Java. Register now!

Friday Jun 21, 2013

JCP Survey!

The London Java Community (LJC), which is an Executive Committee member of the Java Community Process (JCP), is asking Java developers to participate in a JCP survey titled "What should the JCP be doing?

The JCP is the mechanism that decides on future standards related to Java technology. Those standards give users like you a choice of technologies to develop with and more independence from vendor solutions.  

The JCP cares about community feedback and has successfully encouraged community participation using transparent tracking processes. Take the survey, your feedback matters. 

Thursday Jun 20, 2013

Submit your Nominations for 2013 Duke's Choice Awards

The 2013 Duke's Choice Award program is now accepting nominations through July 22nd. The Duke's Choice Awards celebrate innovation in the world of Java technology, and are granted to individuals, organizations and businesses for their compelling use of Java technology. Anyone can now submit a nomination online.

Innovators in Java have received the Duke's Choice Awards for over 10 years. Last year's Duke's Choice Awards winners are featured on

Winners will be announced at JavaOne 2013 in San Francisco. In addition to the Duke Choice Award statue, each winner will receive a full JavaOne SF conference pass and recognition in Java Magazine, The Java Source Blog, and Oracle's Java Developer Newsletter.

Even if you are not submitting this year, help us spread the word by hosting the banner on your website or blog.

Wednesday Jun 19, 2013

Q's about Java SE 7 Update 25? Docs!

We recently announced the Java Development Kit 7 Update 25 (JDK 7u25) release with JavaFX 2.2.25. You can download it from the Java SE Downloads page. If you have questions, the Oracle tech pubs teams have been busy documenting the changes. The JDK 7u25 Release Notes have information about the new features. Also, these pieces of documentation have been updated:duke printing press

You can read a detailed list of changes in the blog JDK 7u25 and JavaFX 2.2.25 Documentation Updates. Thanks, Oracle tech writers!

Tuesday Jun 18, 2013

Java SE 7 Update 25 Released

Oracle has released Java SE 7 Update 25. This release includes important security fixes. Oracle strongly recommends that all Java SE 7 users upgrade to this release. For more information, see the Oracle Java SE Critical Patch Update Advisory.

download Java


Release Notes

Here some important changes to note: 

Java API Documentation Updater Tool 

To address CVE-2013-1571, users hosting publicly facing Java API Documentation generated with javadoc 5u45, 6u45, 7u21, or earlier are strongly encouraged to re-create the Java API documentation using javadoc from 7u25 or above. Alternatively, for convenience of users and for those who have further modified the generated documentation, Oracle provides the Java API Documentation Updater, a repair-in-place tool. Source code is available if you have a non-standard environment. The Java API Documentation Updater Tool is a separate download and not included in any JDK/JRE bundles.

New JAR Manifest File Attributes

JDK 7u25 release introduces the permissions and codebase attributes in the JAR Manifest File. These attributes are used to verify that the application is requesting the correct permissions level and is accessed from the correct location. See Preventing the Repurposing of an Application document.

Developers are advised to utilize at least the new permissions attribute, and if possible the codebase attribute as well. In future releases, applications that do not include these protections may be blocked or subjected to additional warning dialogs.


Insider News from the Java Team at Oracle!



« June 2013 »