Having just emerged from a public beta process that began in the spring of 2005, and especially now that Java is an open-source project, developers will find little to be surprised about in Sun's newest Java SE 6, released yesterday. But one sign that even Java is adapting with the times - besides its smaller size, which early adopters are applauding - is its new support for external scripting engines, which adopters might not be aware of.
Alternately, the script engine can be set to point to an existing .JS file by declaring a variable of class FileInputStream, with the filename as the sole argument. Some Java developers may have just read the only documentation they'll ever need on the subject - it's literally that simple.
For those who will be crafting native Java front ends, SE 6 (still known by its loving creators as "Mustang") supports a strengthened windowing foundation class system called Swing. Among other long-desired features, Swing now enables developers to deploy drag-and-drop functionality that's compatible with documents, files, and other objects from outside the realm of Java. Now users will be able to drag items from Windows Explorer into a Java-managed window, and have that window respond using a standard API.
Also in the "At Long Last" category is direct support for Web services, as embodied by the JAX-WS API. While Web services development tools such as Forte and Web Services Developer Pack (WSDP) has been part of Java distributions for several years, what's been missing is a standard means by which Java applications could consume Web services by way of SOAP protocol. For what's called an "endpoint deployment model," clients in a distributed environment are typically thin, relying on server-driven functionality, having clients place multiple requests using an internal HTTP driver.
Until recently, such a driver had not been formalized for Java; and due to security and architectural implications, not all developers had been certain they even wanted one.
With the inclusion of JAX-WS, that argument has been put to rest. The client HTTP driver is there, and developers will have to learn to live with it for the sake of interoperability.
As Java creator James Gosling wrote in an open letter to the Java development community yesterday, "Java technology has been a cornerstone of software development for more than a decade now - the community is ready for the next chapter, and the timing is right...We intend to take steps to help make sure Java technology remains compatible, interoperable, and reliable. And we know the Java community feels the same way."