|
April 2007
April 24, 2007
Pre-JavaOne News
Sure, there’ll be lots of Java-related news and top-secret announcements made at JavaOne, but why wait?
Of course JavaOne will be filled with many highly anticipated, top-secret, announcements, like all the JavaOnes that have come before. Unfortunately, I don't know of any JavaOne rumor sites in existence like the ones for Apple and the Mac. However, if I had to guess, there will probably be more big open-source announcements. I'm anxious to see what that will be. There will also probably be some announcements about profiles for Java EE 6, similar to the concept of profiles for Java ME (CLDC, CDC, and so on). This was alluded to last week on TheServerSide.
Project WSIT
However, there is a way to a glimpse of what’s really coming at JavaOne before JavaOne. For instance, an "Ask The Experts" session on Microsoft’s and Sun’s Web Services Interoperability Technology (WSIT) will be held from April 30, through May 4. Ask the Experts gives you the opportunity to ask questions about a Java technology or Java tool from Sun, and get answers from experts on that topic. The Ask the Experts program requires no login, and allows you to submit questions at a time convenient to you.
WSIT was highlighted at JavaOne last year as Project Tango. I expect more information to be announced about WSIT this year. The "Ask the Experts" session will help you get a head start on this information; imagine how you could impress your friends at JavaOne with your crystal-ball insight!
NetBeans Sample Catalogue
If you haven’t visited netbeans.org recently, you may not have noticed the latest sample application catalogue available. Sun’s efforts to make NetBeans a premier IDE has resulted in a comprehensive list of sample applications for NetBeans. These samples include complex applications that demonstrate the latest development concepts for Ajax, JRuby, Rails, Java ME and Phone API, application profiling, and reverse engineering. Here is a complete list of sample applications that you can access through the NetBeans Update Center.
Eclipse Live
Eclipse recently launched the Eclipse Live Portal, which is a meant to be the source of multi-media material about Eclipse and Eclipse-based projects. You can find live Webinars, blogs, forums, and podcasts, about many Eclipse and Java-related issues, such as this one about developing Java applications on Linux with Eclipse.
And don’t forget the Eclipse party at JavaOne!
Eclipse and Ajax
Speaking of Eclipse, I read an interesting blog by Edward Ort on java.net recently about some informal polls given to developers at the 5th annual TheServerSide Java Symposium. Java developers voted Eclipse as their preferred development environment, hands down. Additionally, when asked about which development tools, languages, and trends were being followed most closely, Ajax and JavaScript beat the others, such as Java EE 5, Java SE 6, and DTrace. Interesting poll results, even if they were informal.
JavaOne Sessions to Check Out
Each year, prior to JavaOne, Sun provides lists of the top-ten sessions and/or Birds of a Feather (BOF) to check out; one for Java on the desktop, and another for Java in the enterprise. You can find this year’s picks at:
-Top 10 Desktop Destinations
-Top 10 Enterprise Destinations
However, the number one session on my list is Java SE Cool Stuff Session TS-1205, The Sun Java Real-Time System Meets Wall Street. This session, presented by two close friends of mine, Jim Clarke and Jim Connors, is about Sun's implementation of the Real-Time Specification for Java (JSR 001), the Sun Java Real-Time System (RTS). Java RTS enables real-time processing through techniques that protect important threads from garbage collection and other system interrupts. This means that trading systems can confidently monitor the market and take action consistently within a calculated window of opportunity.
To demonstrate the impact of these techniques, Sun's OEM Software Systems Engineering technical team has written a demonstration of a trading system that uses real trade data. The demonstration compares a regular Java virtual machine against the Sun Java Real-Time System. For each run, a graph shows the difference in the actual trade price and the price when the trade should have executed. Running this trading system with the Sun Java Real-Time System shows that no money is lost due to garbage collection latencies. The results will be contrasted with the same application run with the standard (non-real-time) Java virtual machine.
I’ve seen the demo (well, I’ve actually worked on it), and it’s impressive. If you’re going to be at JavaOne this year, be sure to check it out.
Happy coding!
-EJB
Posted by Eric Bruno at 11:00 PM Permalink
|
April 16, 2007
Sun’s answer to Apache, part 1
Sun's initial response indicates focus on GPL Java and the Linux community (not Apache).
Sun posted a response to Apache’s open letter, which indicated that a more detailed response was forthcoming. Basically, Sun said that there are many parties involved in the open-source arena, and not everyone is going to be happy with the final outcome of license agreements.
Sun made it clear that its main (and maybe even only) priority is the GPL version of the OpenJDK, and the GNU/Linux community. There will be more to come, I’m sure.
-EJB
Posted by Eric Bruno at 08:11 AM Permalink
|
April 10, 2007
Apache vs. Sun
Is Sun playing hardball with Apache, and intentionally impeding the Harmony project?
Geir Magnusson Jr, an officer for the Apache Software Foundation (ASF), has sent an open letter to Sun regarding their field-of-use restrictions on the Java SE Technology Compatibility Kit (Java TCK, sometimes called the JCK).
The JCK is an important component to ensure that an independent implementation of the Java SE specification is truly 100% Java compatible. This compatibility guarantee is important to Java developers because it assures them that their Java code will run on Apache’s JVM the same as it would on Sun’s, or any other VM that has passed the JCK.
However, Sun is imposing certain field-of-use restrictions on the JCK that, according to Geir, are unacceptable to ASF. In general, a field-of-use clause in a contract restricts the circumstances to which a technology can be applied. Exactly what the restrictions are in this case is unclear to me. What is clear is that Apache has been trying to work this out with Sun since August of 2006, with little or no success.
For more information, ASF has posted a FAQ on their site to help make the matter clear to readers.
On the surface, one might assume that Sun is intentionally impeding the progress of Apache’s Harmony project out of concern it might lose revenue. However, Apache has made it clear that for customers to use Harmony in a commercial product, there are still Java branding issues that remain that require the customer to license the technology from Sun, regardless of the VM implementation.
Sun has yet to comment on the open letter, either through a press release, a statement on their site, or an entry in a blog. I will be watching closely as this matter progresses, and report back here any new information.
-EJB
Posted by Eric Bruno at 10:49 AM Permalink
|
April 03, 2007
Java and Solaris
Write once run anywhere. But what do you write with?
I used to write Java mainly on Windows because it was convenient. I would deploy on Solaris or Linux (mainly Solaris) because I needed a certain level of reliability, scalability, and security that the organizations I worked for didn’t believe Windows could deliver. I’m not bashing Windows, just stating a general trend in the Web deployment world: Unix is king.
As a Java developer, what do I care? I can write on any platform I wish, and then deploy on any platform that meets organizational requirements. (Of course I do care, I’m just making a point.)
Two things have changed recently that have made a difference in my development habits. First, I bought a MacBook, and now do a lot of my Java development on it. Second, I began working with Sun’s Java Real-Time System (RTS), which requires Solaris (x86 or SPARC) to run on. Since Java RTS can only be installed on Solaris, you must also develop on Solaris.
Java RTS comes with a NetBeans plug-in that allows you to create and debug real-time applications in Java. It’s a neat tool that provides source-level debugging for time-critical code. Of course, all of your real-time deadlines go out the window when you hit a breakpoint, but that’s not important when you’re trying to ensure that your application works correctly. After the logic is debugged, the Java RTS VM ensures your time-critical code’s deadlines are met.
Here’s the point I’m trying to make: developing Java applications on Solaris is pretty cool. First, I find a nice symmetry between the reliability of both Mac OS X and Solaris. Next, they’re both versions of Unix. Next, Solaris installs with the Java desktop, which is pretty easy to use. It networks well with Windows, Linux, and Mac OS X machines (I have all them at home). Next, Solaris is the OS that is used to develop the Java language itself. Each version of the Java VM is born on Solaris; hence it’s made to work well on it.
Solaris may not be ideal for laptops, but it makes a solid desktop development OS in addition to a bulletproof server OS. Am I just extolling the virtues of Sun technology because I like Sun? No. I like DTrace. And I like Eclipse.
The point I make with DTrace is that it’s a tool that comes with Solaris that I’ve used to gain a true understanding of my application’s behavior, from Java code down through the kernel. It’s probably the single most powerful tool any Java developer has at his disposal. The point I make with Eclipse is that I do like more than just Sun’s products.
The overall point to this discussion is that there’s something to be learned from Java’s platform independence; don’t be OS-centric. It’s good to explore alternative platforms and exploit the strengths that each one delivers.
Windows has excellent support for a wide range of applications, from media (e.g. iTunes) to development tools (e.g. NetBeans and Eclipse). Linux is a good general-purpose OS that has a low barrier of entry, and low total cost of ownership. Solaris is a solid data-center performer, which has recently become an open-source player itself, with free distributions for desktops that rival even the best Linux distributions. Mac OS X has a friendly GUI with lots of good digital authoring tools, and a Unix kernel at its heart.
The power of Java continues to empower everyday people to make choices when it comes to their OS platform for both the “write” and the “run.” That’s cool.
Happy coding.
-EJB
Posted by Eric Bruno at 01:45 AM Permalink
|
|