Always reading bits...


Its the shadows and reflections cast from the future that interest me.

Who : Charles Ditzel

Email: cld9731@yahoo.com



Go get NetBeans
««Feb 2010»»
SMTWTFS
  123456
78910111213
14151617181920
21222324252627
28

Search Blog

 


Go to Swing Pointers site

Mailing List

Library Thing

Restaurant Reviews

Flickr - Latest Photos

 Use OpenOffice.org
Wikio - Top Blogs - Technology
cld
       cld.blog-city.com

Latest Entries

Oracle Takes The Red Pill - And Everyone Wins

Wednesday, 27 January 2010 9:30 P GMT-08
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]  

Excellent Resources : GroovyMag, Grails Podcast

Friday, 15 January 2010 12:10 P GMT-08
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.
 
   

Deploy A Servlet On A Smart Card. Really.

Thursday, 14 January 2010 2:27 P GMT-08
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.  

JDK and JRE 6 Update 18 is Available

Wednesday, 13 January 2010 9:48 P GMT-08
JDK 6 Update 18 is now available.  Why is this release important ?  It offers support for Windows 7, Red Hat Linux, SuSE Linux and Ubuntu 8.04 LTS. You can find the release notes here.  This release includes VisualVM 1.2, Java DB 10.5.3.0,  a higher performant version of the HotSpot VM. Also if you are interested in what's coming JDK 7, you can download snapshot releases of JDK 7 Milestone 5 Build b76 from here.  Also note that Project Lambda which is bringing closures to Java can be found here.  

New Book : RESTful Java Web Services

Monday, 11 January 2010 10:16 P GMT-08
Go to the RESTful Java Web Services Web Site
Select to read more
I've started reading a new book, RESTful Java Web Services, and in the weeks ahead you should see a review of it.  This is the first of three books I've decided to read.  I've wanted to spend some  more time on RESTful web services and so I'm making the opportunity to go and check out this new book.  Initially, looking at the book  covers a lot of territory - an overview, accessing RESTful  services, designing the services, Jersey (JAX-RS), RESTEasy,  the RESTlet framework,  Struts 2 & the REST plugin,  Restlet clients and servers,  security, performance and more. So I'm off to the races on this one.  I plan on using NetBeans 6.8 and go step by step through the book.
 

01 01 10 : Predictions of Changes in the Conversation Stream For 2010

Wednesday, 30 December 2009 12:17 A GMT-08

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 :

2009 2010
iPhone Android
Google Bing
MacOS X Windows 7
Ruby/Rails Groovy/Grails
RIA RCP
Laptop Tablet
MySQL PostgreSQL
JavaOne Devoxx


iPhone/Android - There is no question that Apple's iPhone/iTouch devices will continue to have huge popularity and success. However, I think the conversation will change to Android-based devices.  Android is constructing a huge device ecosystem from cell phones to e-Readers - MP3 and Portable Media Players to Netbooks and more.  The economics and the implied interoperability is reminiscent of Windows.

Google/Bing - In a very short time Bing has achieved some fairly impressive results.  I think this is the beginning.   I think that the surprise will be how quickly Bing achieves substantial mindshare - next year is the year of Bing in search.  Google will have to respond.

MacOS X/Windows 7.  I think the arrival of Windows 7 will see a shift to a better form of Windows in large segment of the desktops out there.  MacOS X will continue to do well in various forms but Windows 7 has significant improvements over Vista and Microsoft has clearly fixed a lot of things.   The overall Windows 7 UI is significantly better and the OS is much more solid.  I think increasingly the conversation is about Windows 7.  Recently, I  worked on a project where I used Windows 7 and Remote Desktop Protocol (RDP) tool.  RDP was a productivity win.  Working on multiple machines I was able to transparently view the server desktops and drag and drop folders and files easily between various systems.  Windows 7 was not the mess I thought it was in previous versions of Windows - it was actually reasonably productive.  I have Microsoft Office on two machines - one Mac and one Windows 7 machine (and yes I also have OpenOffice on these machines).  What I notice is the combination of Office and Windows 7 is really a pretty nice fit - they work in tandem and the tools compliment each other.  Office feels less productive to me on MacOS X.

Ruby/Rails and Groovy/Grails.  Ruby and RoR have garnered significant mindshare - but I think the combination of Groovy  have been garnering more interest (you can check out Google trends trends).  It isn't that simple.  I think Ruby currently has a substantially larger mindshare - but it is waning.  Groovy offers a Java.next approach that is attractive for developers searching for a turbo-charged, productive follow-on to the Java language.    In the quest for a better enterprise solution, Grails offers a framework built on Spring, Hibernate and Groovy.  This is a type  of  Java Web Edition that Sun should have offered years ago.  The fact that SpringSource offers professional services and support for Groovy and Grails is actually the piece of the puzzle that was missing before.

Rich Internet Application / Rich Client Platform.  Next year it will become more obvious - but have you noticed the large number of RCP applications that have popped up.  I follow NetBeans, but I suspect that something similar may be happening with Eclipse.  I think this year was the year of RIAs with the arrival of JavaFX, Flex/Flash and SilverLight.  I think it has dawned on a lot of developers that RIAs are limiting.  In my mind, they seem designed for graphic intensive web apps  - but most enterprise apps are data intensive.  Unfortunately I don't see JavaFX going anywhere until they fix it so that it can seamlessly support for  bi-directional interoperability and RCP interoperability is built into it.  I'm not saying that there won't be a lot of RIAs out there - just that they seem relegated to flashy, low-data graphics apps on web sites.

Laptop/Tablet.  I suspect Apple will probably hit a homerun with their rumored tablet, but, even if they don't there are some clearly interesting alternatives to the laptop coming in tablet form.  Despite the rough start, the JooJoo tablet looks pretty cool.  The tablets may turn into better eReaders than the existing Nook and Kindle.

MySQL/PostgreSQL.  Okay - so whatever happens out of the Oracle/Sun merger, I don't think it matters.  I think a lot of companies that chose MySQL to escape from the Oracle license fees are probably spooked and may be thinking about other options just about now.  It's not so much what Oracle will do as what they might decide not to do. It's an open source project that will be led by a company that competes with the largest revenue stream the company has.  I suspect there is probably some unease about what the longterm implications of the merger.  Other companies in the process of trying to decide what database to use  are probably taking a long hard look at PostgreSQL.  It's possible that MySQL will continue to flourish but  I think PostgreSQL will be one of the beneficiaries of the merger.  The other one may be Apache's CouchDB. 

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.

 

Groovy-ness: Groovy 1.7 and Grails 1.2 Arrive

Saturday, 26 December 2009 12:01 P GMT-08
The Groovy Project ( aka by some of us as Java.next - but in fact Groovy leverages and sits on top of Java) has released Groovy 1.7.  Groovy 1.7 is the latest major release of Groovy.  The latest version has included an implementation of Anonymous Inner Classes, Nested Classes, Annotations, support for Grape dependency system, power asserts,  new features for AST, an AST Viewer, an AST Builder and there are many more new features.  You can read about them here.  Note you can find the full range of features of Groovy at http://groovy.codehaus.org.   Along with the release of Groovy, Grails 1.2 has also been released.  Check out the new features in Grails here.  One excellent aspect of both - there are modules available that further extend this language with some pretty amazing frameworks. If you check out the Grails modules (331) they cover a spectrum of uses - cloud computing to security to barcodes to datasources to support for other languages to portlets to support of PayPal to PDF to a number of other modules that support much more.  Check out the Grails modules.   I've recently seen some back and forth of moving from Ruby to Groovy here and an interesting shoot-out here.    
 

Sixteen Talks from the Java EE 6 & GlassFish v3 Virtual Conference Now Available for Replay

Monday, 21 December 2009 10:40 P GMT-08
If you missed the Java EE 6 & GlassFish v3 Virtual Conference you can still listen and see the presentations.  There were a number of talks covering :
- Java EE: The Foundation for Your Business (Keynote)
- Java EE 6: An Overview (Keynote)
- GlassFish v3 - Java EE 6 Reference Implementation & Beyond (Keynote)
- Enterprise Java Beans (EJB) 3.1 Features
- Jersey, JAX-RS and REST with GlassFish v3
- Java Servlet 3.0
- Java Persistence API (JPA) 2.0
- Java Server Faces (JSF) 2.0
- Web Services in GlassFish
- Context Dependency and Injection (JSR 299)
- OSGi in GlassFish v3
- Dynamic Languages with GlassFish v3
- Tools for GlassFish v3: NetBeans and Eclipse
- Grizzly: NIO & Web Framework. Comet using GlassFish
- Monitoring, Management in GlassFish v3
- Java EE Connector Architecture 1.6

These talks are available for replaying and you can also download the slides from here.
 
 

Very Cool (Flash-Based) Presentation Tool : Prezi

Saturday, 19 December 2009 9:45 P GMT-08
There are two interesting tools I've run into.  One I've used for a while, Freemind, its a mind-mapping tool.   While Freemind is nice for putting down what's on your mind.  Wouldn't it be nice to use it for presentations.  Prezi is similar in some ways to Freemind (you can create a form of mindmap) - although Prezi allows you to create a presentation mindmap.  I spent some time looking for information on how Groovy builds web services and ran across this presentation.  Prezi is flash-based.  This is not a bad example of what RIA can do - very nice presentation-oriented application.  Will it replace Powerpoint or StarOffice ? No.  However, it is a nice alternative.
 
 

Four Big Releases : Java EE 6, GlassFish v3 Final, GlassFish Tools Bundle for Eclipse, NetBeans 6.8

Thursday, 10 December 2009 10:40 P GMT-08
Four big Java announcements.   The first is the release of Java EE 6.  You can learn more by reading the (new) article, Introducing the Java EE 6 Platform, Part 1.   The second is the release of GlassFish v3 Final which includes Java EE 6.   The third annoucement is the availability of the GlassFish Tools Bundle for Eclipse which means GlassFish v1.2 RC 1.1.9 with key bits from GlassFish v3 Java EE 6.  This is the most recent distribution of the GlassFish Tools Bundle for Eclipse, containing Eclipse 3.5.1 Java EE IDE, GlassFish v3 with Java EE 6 support pre-configured, and optionally, JDK 1.6.   Finally, the killer IDE - NetBeans IDE 6.8 has been released and is now available .  

NetBeans IDE 6.8 Release Candidate 1 Available

Tuesday, 1 December 2009 11:59 P GMT-08
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.  

NetBeans Tutorial : Generating a JavaServer Faces 2.0 CRUD Application From A Database

Thursday, 26 November 2009 10:01 P GMT-08
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.   >
   

Video NetBeans Platform Session : BlueMarine - How To Build A Visually Rich Platform Application

Thursday, 26 November 2009 10:07 A GMT-08
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) >
   

A New NetBeans Platform Application : SQLBrowser IDE for Sybase Transact-SQL

Wednesday, 25 November 2009 11:26 P GMT-08
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. 

NetBeans Platform vs JDeveloper's (Non-Platform) IDE : Huge Numbers of NetBeans Platform Apps

Sunday, 15 November 2009 12:37 A GMT-08
Why do companies like Northrop Grumman and Boeing build on the NetBeans Platform ?  Lots of reasons.  I have to say I missed this post  ( both September & October were incredibly busy for me) at the end of September by Geertjan.  In this post he describes why Northrup Grumman is using the NetBeans Platform.  There is also a nice short presentation worth going through. The topic of the NetBeans Platform has come up in the discussion of NetBeans versus JDeveloper. JDeveloper  lacks the notion of a complete platform - either for jumpstarting full rich client platform applications and building full IDE's (like Ruby, PHP, Clojure, etc) - the API powerfully allows you to do all of these things. At it's core the NetBeans Platform supports extreme reuse with Platform modules.  If you try to understand how important all of this is, it is huge.   I've written before Select to enlarge
on the the problem with JavaFX in What's Wrong with JavaFX and What Needs Fixing as well as Followup on Fixing JavaFX - JavaFX, Flex and other RIA solutions  provide a way to write smaller web-oriented applications but there is no substitute for what RCPs provide - whether it is NetBeans or Eclipse.  Similarly, an IDE is nice for building applications - but it severely lacks in providing
Select to enlarge. a wealth of application tooling and infrastructure for jumpstarting an application.  The difference can be quite important by providing you with pre-built facilities to manage updates, windows management, menu management, storage, file access and a lot more.  In addition you are given dynamic modularity which can mean updating or upgrading the application dynamically - as well as providing a way of reusability to the max.  Writing applications becomes trivial because you can leverage not only the foundation NetBeans platform modules - but also previously developed modules.  All of this let's you leverage these things in your own application - whether its its the QuickSearch, Toolbars or Window sytem tooling.  In addition you can leverage non-visual parts of the platform like NetBeans Preferences APIs (for storing user settings),  Lexar APIs (for creating or
parsing tokens from input) and quite bit more.  You can learn much more about the NetBeans Platform from the NetBeans Platform Learning Trail  and also here.The reality is that there are alot and many more companies adopting the NetBeans Platform -
Select to englarge. Northrup Grumman is one.  Another is Boeing. You know the huge airplane company that builds excellent airplanes like the 747, 757, 767 777 and the new Dreamliner.  Boeing has built the Mass Properties Toolkit (MassTk), Boeing Shared Platform (BSP), the Boeing Composite Material Analyzer and the Boeing Cross-Sectional Structural Analyzer.   You can read more about it here.  There is a huge number of companies on the NetBeans Platform.  Check out over 100+ examples of the NetBeans Platform here.   There are a lot more, obviously, that are not on the list - for example - IAV of Berlin Germany is doing there Automotive Engineering on a NetBeans Platform application with EasyDOE ToolSuite.  There is a nice write-up here on the work.  The list goes on and on.  Experian has a code base of over NetBeans 100 modules.  In Brazil, the Brazilian State's Financial Management System is built on top of NetBeans Platform (you can read an
interview about it here).  Exie has written a "People-Driven Performance Management" solution for  serving dynamic markets. GEE has developed  URSUS is a NetBeans Platform application for bioclimatic design and energy consumption optimization in town planning. Bright Software has buillt BrightBuilder Mobile Application Designer is a rapid application development tool for building and deploying mobile enterprise applications. It provides a single point to design, implement, test and deploy applications using a modular user interface. The US Department of Agriculture is on the NetBeans platform - the Object Modeling System (OMS) is a pure Java, object-oriented modeling system framework. OMS enables interactive model construction and applications based on components.

Okay, enough you get the idea.  There is plenty more RCP apps and I could go on for some time. NetBeans Platform has been widely adopted and is at the core of many mission government, financial, consumer, industrial, engineering systems - and much more beyond that.  These are in many cases critical systems.  We are talking engineering design on aircraft as an example.  Financial systems.  Sales systems.  Mining. And a lot more.

So now the big question.  Where is the JDeveloper Platform ?  

Now let me answer that.  There is no JDeveloper "platform" in the Eclipse/NetBeans sense of  the word "platform".  It also doesn't exist from the standpoint of huge numbers of platform applications. Or if you are interested in creating your own enterprise desktop apps for ... finance, retailers,  etc. 

That's why most reasonable people are talking (and here)

Select to enlarge

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 .]

 

 

New NetBeans Platform Tutorials : Wizards and 3D NASA Application

Saturday, 14 November 2009 3:59 A GMT-08
There are two new NetBeans Platform tutorials.  The first one, NetBeans Wizard Module tutorial,  in this tutorial you learn how to you create a general wizard that appears when you click a button in the toolbar. [ In NetBeans Platform applications, many different kinds of wizards can be created. If you want to create a wizard that appears in the New Project dialog, see the Project Sample Module Tutorial. If you want to create a wizard that appears in the New File dialog, see the File Template Module Tutorial. ]  This wizard tutorial walks you through creating Module project, creating the Wizard infrastructure,  registering the Wizard Action Class, designing the Wizard Content, validating user data, persisting data across restarts, branding the wizard and much more.   Check it out here.    The second platform tutorial, How to Create a Cross-Platform Application with NASA WorldWind & NetBeans Platform, offers up mini tutorial on how to create an Select to check out this mini-tutorial
a application based on NetBeans Platform that uses the WorldWind Java virtual globe. The tutorial discusses the components (NetBeans Platform, WorldWind from NASA and JOGL (a 3D library) then it walks you through creating the application. Very cool.

Interview : Java Development Kit 7

Friday, 13 November 2009 9:00 A GMT-08
I ran across an interesting talk/deep dive given by Danny Coward, Chief Architect for Client Software at Sun on the topic of the next major version of Java, 7 and the Java Development Kit (JDK).  You may be interested in this.  This is an SDN video.  The JDK 7 Project has a number of JDK 7 binary and source snapshots. In addition you can read more in the JDK 7 docs.  He talks about a Java module system (I hope that he is paying attention to Tulach's good work - what I would dread is for a rarified modular system over a practical get-it-done modular system). Anyway - you may be interested in this video.
7
 

NetBeans Capable Of Running Eclipse Modules (Video)

Friday, 13 November 2009 8:01 A GMT-08

What if NetBeans could run Eclipse modules in addition to NetBeans modules ?  There is a new and interesting screencast from Jaroslav Tulach and Geertjan Wielenga of the NetBeans team talking and demonstrating this and talking about modularity for Java, Mylyn on the NetBeans Platform (?).  It isn't just educational, it is stunning in its implications. The  talk is educational, fun to watch because of the humor and at the same time remarkable.  Not only >
 do they discuss module systems  for Java in some depth but they also discuss how they got Mylyn working on NetBeans.  Tulach showed a remarkable demo which showed an enhanced NetBeans IDE  supporting development and deployment of OSGI bundles.  He showed properties of the Mylyn suite project with many Eclipse libraries running in NetBeans. He showed NetBeans using modules that depend on Bugzilla, within the manifest you see the NetBeans modules depending on OSGI modules within the Eclipse cluster. He showed bi-directional interaction between NetBeans and Eclipse OSGI-based modules. He also suggested a way for how Eclipse could use NetBean modules.  He showed NetBeans running the Mylyn OSGI modules.  This great work seems to be creating a common ground between the Eclipse and NetBeans module systems.   You can read more at    http://wiki.apidesign.org/wiki/netbinoxTutorial.  Sources are available at this site.

 
If you enjoyed this talk - you might also want to catch Tulach and Geertjan's previous talk.  In that talk Tulach discusses MVC in the NetBeans IDE and other NetBeans Platform Applications. In this talk, he walks through the details of MVC in the NetBeans Platform.  It covers a lot of RCP territory in a lot of detail.  He also covers DCI (Data Context Interactions) which is an extension to MVC.  This is a pretty interesting talk and is part of the Certified Engineer Course.

Webinar : Java EE 6 Overview (New), Overview/Migrating to GlassFish

Thursday, 12 November 2009 4:25 A GMT-08
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.  

New Whitepaper : Getting Started in the Cloud with GlassFish

Thursday, 12 November 2009 3:53 A GMT-08
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.  

JDeveloper or NetBeans - The Results Are Already In

Thursday, 12 November 2009 3:23 A GMT-08
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 -
>


If you look at this chart it does seem impressive. Really ? Does JDeveloper really have a larger community - uh no...anyone that has followed JDeveloper understands it's niche so now let's really spend time with this chart.  First, and as I said previously - a while back I gave up on the usefulness of  comparing the number of job postings of one IDE versus another relative to jobs. Why ?  Because the vast, vast  overwhelming majority of Java job postings don't bother specifying an IDE - so such a chart loses meaning.  I warned about this in the blogposting.  Now let's take the chart above and add total Java postings. 

>


Okay, now you understand.  Yes - that orange line that merges with the number zero is what Shay is saying is important, perhaps removing your attention from that solid green line that is not zero and shows the Java job postings.  The point is that specifying an IDE with Java makes sense only in a few contexts.   In fact, the only ones that do specify an IDE are companies have something very unique that needs to be done - something like Eclipse plugin development, NetBeans plugin development or JDeveloper ADF development. In other words, and according to the chart ... almost zero when comparing them to the total number of Java jobs.   The total number of jobs that are using Java dwarfs those jobs needing specific JDeveloper and NetBeans needs.   Shay's chart means nothing other than  companies needing proprietary APIs to be built such as ADF and Oracle APIs  need to specify that. With the exception of NetBeans RCP (which is open source) there is nothing to specify with regards to NetBeans (it's Java, Java EE, Java ME, Grails, Ruby, PHP, Python, etc that end up being specified that are pertinent to any NetBeans developer).  So I would completely expect there to be more Oracle developers dealing with a lot of proprietary Oracle APIs than developers building RCP apps - but at the end of the day it approaches zero when compared to the number of Java jobs.  As the evidence of the job posting chart show, the overwhelming majority of postings don't need to specify NetBeans, JDeveloper, Eclipse, etc.    So, this is why Shay's chart lacks meaning - it is stripped of the real information you need. [ update : Incidentally this isn't the only person/group that has posted this type of chart.  MyEclipse recently did the same thing and the results are the same as you can see from this graph.  Again, the vast Java job numbers result in the same thing, MyEclipse job numbers graphically merge with zero when compared to overall Java jobs. In the end, this type of marketing backfires when people find out what is happening. ]

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 -

>


Second,  while it is great that the survey of readership you refer to actually shows NetBeans has large usage (in this case 1/4 of the market - my guess is somewhere between 1/4 to 1/3)- my impressions are that the survey is probably wrong on a number of counts. The same company,  had actually done another study on  Eclipse usage which you can find on their site (relevant question is 24). So a couple of studies during the same time period with very different results and surveying the same readership, hmm.... I'm not sure I buy any of it.  By the way,  the other one shows NetBeans/Sun Studio (Sun Studio is the C/C++/Fortran version of NetBeans) at 21% and JDeveloper at 14%.  So that's a full -6% difference in the same year for JDeveloper. I tend to lend less credence to these surveys - especially if they have been paid for by somebody.  Call me cynical.

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 :

-Add Support for ADF Framework
 - ADF Debugger
- ADF Libraries
- ADF Logging Configuration Editor
- ADF Faces
- ADF Business Components
- ADF Databinding
- Add ADF Mobile
-Improve your Oracle DB support
  
-Oracle's Visual Database Object Modeling
-Business Intelligence Beans for Oracle Databases

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 Available

Monday, 9 November 2009 7:22 P GMT-08
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.  

European Commission Objects to the Oracle/Sun Deal

Monday, 9 November 2009 6:52 P GMT-08
Just saw this, the European Commission has formally objected to the Sun/Oracle deal.  You can read more here and here.

Oracle's Missed Opportunity - Part 2

Monday, 9 November 2009 1:00 P GMT-08
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. 

Select to see results

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 .

select to see data


So it  really does get more interesting - NetBeans and Eclipse also have a presence in other languages - let's pick C, C++ and Fortran.  How many people use JDeveloper for C and C++ ?  Eclipse  and NetBeans C/C++ developers do that everyday of the week. Besides the NetBeans C/C++ plugin, even more interesting is Sun's Studio, a sophisticated development environment for C, C++ and Fortran, it is written using the NetBeans core platform APIs.  By the way - this is an example of the notion of platform that JDeveloper misses - Sun Studio is not simply written with the NetBeans IDE - it is written to use the core Platform APIs that allow it to use a huge number of the core platform infrastructure that is found within NetBeans itself.

Now let's look at Ruby - does anyone spend anytime at all (is it even possible) to do Ruby development on JDeveloper  ?   They do on NetBeans.

Or PHP ? Check out NetBeans IDE for PHP.   Want to catch a movie about it ? Check the blog.

Even if you go and look at the Grails website of IDE's to use (as of this writing) - where is JDeveloper ?   Yes in one of the few areas JDeveloper allows you to write in nobody thinks to even put JDeveloper down because there are better choices in the form IntelliJ, NetBeans and Eclipse. You can find a NetBeans Groovy/Grails example on the Grails site

An then there are a large number of other languages where JDeveloper doesn't even have any IDE support.  Where is JDeveloper's support for Scala ?

In effect, developers that are forced into using JDeveloper are stuck on the ship of Oracle products and APIs - there is no getting off because they need support of those products and APIs.  It's not that JDeveloper is an awful product, it is a highly competent product for what it does - it is very good for a number of things - it is simply that there are better IDEs out there that have much larger, vibrant communities, that do more and support a larger set of developers and languages and offer core platform APIs.  It is that simple.  Oracle has an opportunity to create a set of Oracle plugins and features into NetBeans that support the Oracle product set and gain the support of a large community of developers.

This is why Oracle has missed a huge, huge  opportunity.

 

Oracle's Missed Opportunity

Sunday, 8 November 2009 11:30 A GMT-08
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 :

Oracle has a strong track record of demonstrating commitment to choice for Java developers. As such, NetBeans is expected to provide an additional open source option and complement to the two free tools Oracle already offers for enterprise Java development: Oracle JDeveloper and Oracle Enterprise Pack for Eclipse. While Oracle JDeveloper remains Oracle’s strategic development tool for the broad portfolio of Oracle Fusion Middleware products and for Oracle’s next generation of enterprise applications, developers will be able to use whichever free tool they are most comfortable with for pure Java and Java EE development: JDeveloper, Enterprise Pack for Eclipse, or 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:

Select to see results

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.

Java DB (Derby) :: New Talks and Resources

Sunday, 8 November 2009 2:15 A GMT-08
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.  
   

New Tutorial : Debugging Multi-Threaded Applications

Sunday, 25 October 2009 12:12 P GMT-08
There is a nice tutorial, Debugging Multithreaded Applications, describes how to use the Debugging window in NetBeans IDE to debug multithreaded applications and also demonstrates how to detect deadlocks in an application.  Note that there is a corresponding video which provides the aspects of the tutorial.  NetBeans Debugging window simplifies debugging  providing a single window of information about debugging sessions, application threads and thread call stacks. The Debugging window also allows you to easily see the status of application threads and suspend and resume any of the threads in the session.

Bits : Windows 7, NetBeans 6.8 Beta, Tomcat

Saturday, 24 October 2009 11:09 A GMT-08
>I've been spending time with Windows 7 for the past two months.  It all started when I was given a Windows 7 Early Access CD at JavaOne.  I was busy and didn't thing about it - but after a couple of months I installed it.  Microsoft has hit a home run with Windows 7.  My past experience with Windows (95, 2000, XP) has been sporadic and problematic.  This release is very different.  There are a number of things I like about this release.  The combination of the Windows 7 GUI and Office 2008 is a very compelling proposition.  I've also been using RDP  tool (the tool is a killer) and it makes it very easy to deal with remote desktops transparently dragging  and dropping files
across remote desktops.   I've lived in a Unix/StarOffice world (whether Solaris or MacOS) for a long, long time so the smoothness of Windows 7 and Office took me by surprise. Windows 7 is now part of my computer ecosystem
- very good release.  One thing I do miss is a virtual window manager. I suspect there is one out there. >  On Windows I'm spending some time  looking at Tomcat.  Just bought Tomcat - The Definitive Guide by Jason Brittain - which is a very  good book on the topic.   It seems there is  a lot of Tomcat out there - my guess is that it massively dwarfs the  other app servers ( I don't make the distinction of full Java EE versus a JSP/JSF/Servlet engine - it seems like an artificial distinction that some like to make).  I've seen a lot of Tomcat on  Windows - so there is the intersection of the two interests.  >The other new release of interest and good news is the release of NetBeans 6.8 Beta.  NetBeans is offering Java EE 6 support, Jira bug tracking support, JSF 2.0 (Facelets),  more improvements in a scripting (PHP, Groovy/ Grails, Ruby), improvements in database support, better JavaFX support, improvements in Profiling to allow thread microstate details and quite a bit more. Check out the New and Notworthy page for 6.8.  The NetBeans IDE 6.8 Beta Release Notes can be found here.  More info here <>

Java Persistence API and Paying Attention To The Database

Thursday, 10 September 2009 1:08 P GMT-08
Carol McDonald has written an excellent article, JPA Performance, Don't Ignore the Database,  on the virtues of paying attention to the database side when writing Java Persistance API solutions.  Carol discusses doing good database design and discusses data types, normalization,  normalization and mapping inheritance hierarchies,  lazy loading, vertical and horizontal partitioning, Hibernate shards, caching, understanding your SQL queries and how they will be executed.  You can also check out Carol's Java Persistence API : Best Practice presentation for more information.  Also check out the following talk from JavaOne 2009, Keeping a Relational Perspective for Optimizing the Java Persistence API.  

NetBeans-Based IDE For Hadoop : Hadoop Studio

Saturday, 22 August 2009 11:37 A GMT-08
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]  

Gadget of the Week : Java Development on Nokia's XpressMusic, Orange's Watchphone

Friday, 21 August 2009 1:05 A GMT-08
This week's Gadget-of-the-Week is a watch and it's a phone ... well a video phone as well.  It's going on sale the UK.  The LG-GD910 is pretty interesting.  It allows voice commands, a touchscreen, a VGA camera, bluetooth, a speakerphone and thankfully it is water resistant. One downside - you won't be able to run your favorite Java MIDlet on this.   [Check out the Orange Newsroom for a video]  On the other hand you can run a pretty full Java ME stack on Nokia's 5630, touch-screen 5800s and other XpressMusic phones - and some of the APIs are interesting ... JSR 184 Mobile 3D Graphics API, JSR 134 Mobile Media API, JSR 226 Scalable 2D Vector Graphics,  JSR 82 Bluetooth JSR 234 Audio3D and Music a lot of the usual suspects run on it.  >
Want to go a little deeper - check out a couple of tutorials.  I already mentioned earlier,  Creating a Touch-Enabled UI For Java ME Devices . Now how do you debug these devices - try the tutorial, On-Device Debugging on Eclipse and NetBeans. It gets better, another tutorial - How To Get Information on Sensors in Java ME , shows you how to information on sensors like accelerator sensors.  A video on the subject can be found here .  More on building applications for Nokia Java-based phones here and here.