
| Oracle did something surprising (at least to me). Given the choice of doing the staid status quo or doing something that would creatively widen their view - they picked the latter. Excellent news. In a video out of Oracle, Ted Farrell, Chief Architect and Senior Vice President clearly spells out Oracle's plans for NetBeans. I have to say - I'm delighted to see them doing the right thing and making their entire developer tools strategy much stronger as a result. Todays announcements from Oracle indicate that NetBeans will be enthusiastically embraced (my words, you tell me if I'm wrong after watching the video) by Oracle. The cross- pollination that I had hoped would happen seems to have started. Oracle is talking about bringing the Matisse UI Builder into JDeveloper. The video explains what's happening with NetBeans and the news is great. Check out the video "Oracle + Sun : Java Developer Tools Strategy". On the surface, this is great news - lets look forward to more positive developments in this space. [ thanks to Toni Epple for the pointer] |
| If you are learning Groovy and Grails or simply want to be up-to-date on the what people are doing with Groovy/Grails and you may moaning about the lack of a e-magazine - you may be interested in knowing that there is an excellent resource that fits exactly that model. Rather than simply getting books on the topic (which are typically slightly dated) I have started getting GroovyMag. Yes, sometimes knowledge costs you - but then it is well written and provides a slew of information. For example the January edition includes Groovy Combinator Parsers, Groovy Meta- Object Programming andmore. The December edition covered using JNDI with Grails, building a Grails portal, interviews with the people behind the Grails podcast and more. You can get various editions (if you missed them and ) if you specifically see a topic of interest. While we are on the topic of Groovy and Grails. Check out the Grails podcast. | |
| If you are interested in embedded systems, smartcard technologies and solutions around them, then you should be interested in a new article, Deploying Servlets on Smart Cards: Portable Web Servers with Java Card 3.0. Java Card 3.0 allows developers to create and deploy servlet apps on smart card devices. This article shows the differences between Java Card 2.0 and 3.0 and it shows you how to get started with the Java Card Connected Development Kit. The article provides a small example that shows Persistence. The web site for the Java Card Development Kit provides the development kit and you can read more about Java Card Technologies here. You can read more about Java Card 3 in this article, Java Card 3: Classic Functionality Gets a Connectivity Boost. |
|
| ||
Here are eight changes in the conversation stream that I expect to see in 2010. These conversation changers will alter what we talked about in 2009. That doesn't mean the 2009 topics of conversation disappear or becomes less relevant - just that the conversation changes and popularity of the 2010 topics are or I think will be on a steep rise and some of them may even eclipse those of 2009. However, many of them are simply a shift in the momentum of competing technologies. Here are changes that I foresee happening :
JavaOne/Devoxx. Okay - everybody seems to be talking about the fact that the JavaOne traditional call-for-papers has come and gone. Amazingly, without a word from either Sun or Oracle - which I find amazing. If it is Oracle's intention to merge it in to Oracle World - good luck. I see Devoxx as the new JavaOne if they do such a move. I don't think that's a bad thing at all. It is sad for me to see the demise of JavaOne - I've gone to almost every single one of them - but I think Devoxx is a really good replacement for it. | ||||||||||||||||||
| ||
| ||||||||||||||||||||||||||||||||||
| ||
|
| NetBeans IDE 6.8 Release Candidate 1 is now available. You can download it from here. The Release Notes are here and the Installation Instruction can be found here. There is a number of recent tutorials you can use to learn more. |
| If you missed it - there is a nice new NetBeans tutorial, Generating A JavaServer Faces 2.0 CRUD Application From A Database. In this tutorial, you use the NetBeans IDE to create a web application that interacts with a back-end database. The application allows you to view and modify data contained in the database - otherwise referred to as CRUD (Create, Read, Update, Delete) functionality. It uses JavaServer Faces 2.0, Java Persistence API 2.0 and EJB 3.1. The IDE provides two wizards which generate all of the code for the application. It walks you through creating the database, examining the database structure, creating the web app project, generating the entity classes from the database, generating the JSF Pages from the entity classes, exploring the application and much more. | ![]() |
| One really nice NetBeans application is BlueMarine. It shows what you can do with the NetBeans platform, NetBeans Visual Library, Swing, SwingLabs and wealth of graphics APIs. Fabrizio Giudici gave an excellent talk which is on Parley's and which is now available. If found that the talk a lot insight into how he created what is one the most visually rich platform applications available. It covers a lot of territory about the creation of a NetBeans platform app and quite a bit more. It provides greater functionality than I've seen from any of the RIA (JavaFX, Flex and SilverLight) applications - probably because it provides a real application with a multitude of features. You can watch the video session at Geertjan's blog. (Thanks to Geertjan for the pointer) | ![]() |
| While Oracle has provided some vague plans about NetBeans - a very cool SQLBrowser IDE for Sybase Transact-SQL has emerged. The IDE is built on the NetBeans platform. There is a nice article describing the effort here. The SQLBrowser IDE's main objective is to help understanding complex stored procedures. In the IDE you can open a stored procedure and it provides a visualization of the call tree and the tables read and updated. Check it out here. You can download it here. The interview provides a nice description for others (say large database companies) to learn from this effort. |
| ||||||||
about why the best of possible worlds would involve Oracle building on top of the platform and moving JDeveloper's Oracle functionality over to NetBeans as Platform modules. It's not like we are talking a huge technology bridge - say like moving to an alien, native API - no both NetBeans and JDeveloper are built using the Swing toolkit. Get with it, Oracle. Move your developers to a great Java Platform solution and and the best IDE available. [Update : I found this out just now, yet another very recent adoptee of the NetBeans Platform, is NASA. You can read the details here .]
| ||||||||
|
|
|
| If you need an overview of what's in Java EE 6, there is a helpful webinar, Java EE 6 Overview, that you may be interested. John Clingan (GlassFish Group Product Manager ) and Harpreet Singh (GlassFish Product Marketing) give the talk. Also in the same place are talks on - An Overview of GlassFish, Migrating to GlassFish Application Server and Learning GlassFish for Tomcat Users. |
| If you missed it - there is a new whitepaper on how to deploy GlassFish in a cloud, Getting Started in the Cloud with the Sun GlassFish Portfolio. This paper describes how to take advantage of the Sun Glassfish Portfolio in the Amazon Elastic Compute Cloud (EC2) public cloud environment. The examples in this paper focus on running applications using the Sun GlassFish Enterprise Server in the EC2. |
| Shay Shmeltzer's (from Oracle's JDeveloper group) blog provides an interesting view. In my mind, it is a demonstration of how you can remove the context of real information from a chart and offer a view. The results on this have been in for some time. JDeveloper developers use it because it allows them access to Oracle's product APIs, databases and tools (period). Most developers that use NetBeans probably have never bought a Sun server or bought a Sun software product (unfortunately for Sun). The NetBeans crowd is there by choice - they have not been captured and locked in. Shay seems to have carefully avoided linking to my charts and posts. Why ? Because it would have made the following point and warned about the trick that gets played in his blog with the following graph. He shows this chart - | |||||||||||||||
Shay also attempts to explain why JDeveloper really does have a community. Shay, I know it has a community but from every indication it doesn't seem to be very big and it is very, very focused on Oracle's proprietary products and APIs. Since we mention surveys, personally, I like Developer.com's voting for Product of the Year - it doesn't pretend to be impartial - users simply vote for the products they use and like. Interestingly, NetBeans won the IDE of the Year last year. I didn't see JDeveloper on the runner's up list..anyway back to the topic at hand - the study you reference is, not surprisingly, skewed in a number of ways and well, we can all pick a favorite survey or study. First, it refers to Java IDEs - NetBeans does C, C++, RoR, Python, PHP, and bunch of other non-Java languages. Which, of course, we know JDeveloper does not. So, with very little effort, you can see that JDeveloper playing in only the Java space is going to have less developers. You can see from the next chart that there is more to software development than Java. NetBeans does all those languages on the chart- and that ends up where JDevelopers falls down very badly -
The point that is missed is that most reasonable people understand that NetBeans has a much larger community even if they use (questionable) readership survey numbers. Oracle would be hopefully focused on addressing on how to make these communities larger and more vibrant. I can think of a couple of ideas to do that. One way is to announce real choice to your JDeveloper community by doing the following plugins for NetBeans :
Would Oracle really do that ? Give developers and JDevelopers a choice by creating NetBeans plugins for their proprietary APIs and tools ? I actually think this would demonstrate a real understanding of what both of these communities should be about. |
| NetBeans IDE 6.8 Beta is available. I've been using it and it seems pretty solid. There is an information page, release notes, installation instructions and new tutorials to look at. It includes support for Java EE 6, support for Facelets (JSF 2.0), improved support for JavaFX, improved Kenai support, full PHP 5.3 support, better Maven support, added Ruby improvements, C/C++ support and much more. You can download it here. Lots of details of the release can be found at the New and Noteworthy Page. |
| In reflecting further on this topic (started in part 1), there are even larger aspects to this that don't have anything to do with the small population of JDeveloper users (that was about size mattering), there is another aspect to all this that deals with scope. And that in the end matters just as much. Let's take a look at a jobs chart. A while back I gave up on the usefulness of comparing the number job numbers of one IDE versus another relative to jobs. The vast, vast overwhelming majority of Java job postings don't bother specifying an IDE. In the chart below you can see the red line is Java jobs and the others relate to specific IDEs. In fact, the only ones that do specify an IDE is if they have something very unique that needs to be done - something like Eclipse plugin development, NetBeans plugin development or JDeveloper ADF development. Otherwise why should they ? The total number of jobs that are using Java dwarfs those jobs needing specific Eclipse, JDeveloper and NetBeans needs. If you look at the chart it is staggering - it is literally as if IDE specific jobs don't exist. Now if you remove the overall category of Java jobs and compare them to each other - they look interesting only because you have lost the real context of the comparison. The main context is Java in this chart - remove it and you lose perspective of how many developer jobs specify Java and don't specify an IDE. The majority of that big number of Java jobs either are using Eclipse or NetBeans or IntelliJ. Most JDeveloper developers are pushed into using JDeveloper by the need to do an Oracle product. For example, It is unusual to see a mobile developer freely choosing JDeveloper over Eclipse or NetBeans. It's not that it can't happen - it just is that for all practical purposes it doesn't happen with any meaningful numbers because that is not a particular strength of JDeveloper. This unfortunately for JDeveloper happens across other topic areas. JDeveloper as seen from the Google trendline in the previous blogposting is not a choice of the vast numbers of developers.
That chart was only for Java where NetBeans, Eclipse, IntelliJ and JDeveloper compete. This next chart (with the exception of the Java red line) is where JDeveloper is nowhere to be found and NetBeans has support .
This is why Oracle has missed a huge, huge opportunity.
|
I recently bought a new inexpensive laptop (a simple MSI A6000-029US, 16" screen, Intel Core 2 Duo Processor T6600, 4 GB of memory and a 320 GB drive) at a local Office Depot. I had some questions so I went back. The person at the help desk looked at my computer and said - "Oh, you use NetBeans". I asked them if they used it - they did. We talked for awhile about all things NetBeans can do and then I had to go. It's an interesting reality that I bumped into. First, four years ago, I doubt I would have had this conversation. The size of the NetBeans community has really grown outward and it has a footprint that extends beyond Java into some of the most popular languages being used today. It also has excellent Java tools that make it extremely attractive - from a sophisticated profiler to the best Swing GUI designer to a visual web construction facility. Second, NetBeans has succeeded in creating a large open-source -based ecosystem. NetBeans has grown very rapidly - no doubt at the expense of other IDE's such as JDeveloper. Most new Java developers start with Eclipse or NetBeans or IntelliJ - I don't think I have ever met anyone that started learning Java with Oracle JDeveloper. It's possible they are out there somewhere - but its such a small subset. That's because the primary purpose of JDeveloper is oriented around ... well ... Oracle. If you are not particularly interested in Oracle's products ... it a low probability event that you will chose Oracle as your IDE - even if you are not a beginner. Even so I was interested in seeing whether Oracle would understand that NetBeans has a large developer ecosystem that dwarfs JDeveloper and a platform that companies actually use for a multitude of purposes - NetBeans Rich Client Platform, Java EE, Java ME, Java SE, JavaFX, Groovy/Grails, Ruby, Scala, Wicket, C/C++, OpenOffice apps, Python, JavaScript and the list goes on and on, with the latest addition being Clojure . Oracle's recent announcement with regards to NetBeans :
In one way, this was somewhat welcome news that they recognize that NetBeans has a huge following (not quite as big as Eclipse but NetBeans has been gaining). Oracle, on the face of their words, plans to offer NetBeans. However this is a pretty typical corporate-speak announcement that does little for Oracle except barely avoiding animosity from this community. I've used Google Trends to provide a view on the trendlines between three IDEs - I've excluded Eclipse from this graph - Eclipse currently has the largest community. Using Google trends we can look at NetBeans, Oracle JDeveloper and IntelliJ IDEA:
It should be mentioned at this point - that JDeveloper is actually third behind IntelliJ IDEA (another excellent IDE). I think Oracle missed a real opportunity to actually leapfrog out of their straight-jacketed thinking on software development. JDeveloper is not a platform in any recognizable use of the word other than in a very strange mutation which describes anything created by any IDE as a platform. This, of course, is not the commonly used definition of a platform found in NetBeans and Eclipse. There are enough applications built ontop of the the core Platform APIs of the Eclipse and NetBeans platforms that this shouldn't be a source of confusion. What should have happened, Oracle should not have missed a beat and should have announced work on Oracle plugins for NetBeans and active Oracle support of NetBeans. This type of announcement would have brought a large and some-what skeptical NetBeans community much closer to Oracle. It would have been a big win for Oracle. NetBeans will continue to grow either way - but Oracle has missed a big chance to really change perceptions and at the same time move their tools to another level. What JDeveloper lacks is buzz, a wealth of community developed plugins, a wealth of support for other languages and a very, very large community. And of course it does not offer a platform in the NetBeans and Eclipse sense of the word. This is a huge missed opportunity for Oracle. |
| If you are interested in Java DB (or Derby) you might want to check out a talk by Kristian Waagan. You can start by downloading the presentation, Getting Acquanted with Apache Derby, and then watching the video. Rick Hillegas, a member of the Java DB Technical Team, gave another very nice presentation, A Java DB Overview. You can see the video here. Rick also has a nice writeup tutorial/article, Introducing Java DB 10.5.1.1, where he goes through a the features of the release. There is a nice Java DB (Derby) tutorial on how to use all the database features in NetBeans to work with Java DB, Working with the Java DB Database. It walks you through configuring the database, registering the database with NetBeans, starting the server, creating a database, connecting to the database, creating tables, adding table data, deleting tables, using an external SQL script and recreating tables from a different database. One area that often comes up is database tuning - there is an article, Tuning Derby, which you may be interested in as well. Finally David Van Couvering wrote a nice example of using Java DB, Synchronizing a Web Client Database : LocalCalendar and Google Calendar. More resources here. | |
|
|
|
| What is a MapReduce application ? Basically - MapReduce is a programming model and an associated implementation for processing and generating large data sets. Users specify a function (map) that processes a key/value pair and generates key/value pairs a function (reduce) that merges all the values associated with the same key. Details of this approach can be found here and here. The Apache Hadoop [1] project is a free open source Java MapReduce implementation. You can visit the Hadoop project and get more information. A new NetBeans-based IDE for Hadoop users has been made available. Hadoop Studio "makes it easy to create, understand, and debug map-reduce applications based on Hadoop, without requiring development-time access to a map-reduce cluster. The studio provides a real-time workflow view of a map-reduce job, which displays the individual inputs, outputs, and interactions between the phases of a map-reduce job. The workflow view of a job updates in real time with the developer's code changes. It then generates Java sources and compiles them into a binary jar file, which can be run on a normal Hadoop cluster." You can learn more about Hadoop Studio by visiting (a) Hadoop Studio's site and Hadoop's freshmeat site. [Thanks to Toni Epple for the pointer] |
|