There has been a recent shift in thought, where people believe that we are in a phase in which the consumer space is pushing innovation into the Enterprise space. The general thought process is that the Web has made things very easy and inexpensive to play, and has taken the lead in productivity which we now see pushing the behind the firewall types.
We can look back a little and see how J2EE was pushing the Java stack forward not too long ago, even if the EJB of then may not have been the right road to go down. Ignoring EJB, there were a ton of other great technologies that did actually simplify the life of the Enterprise. Some of these folks were trying to deal with CORBA. Others were used to integrating through messaging and may not have had quite the same pain. EJB was “simple” compared to the myriad of CORBA specs and half implementations though.
Jump forward a few years and we see EJB 3 having the main message as “simplicity”, and many other Java specs were doing the same. The worm had turned a little.
Of course, if you look back at history you see a ton of other stories. If we think back to how IBM was progressing the computer world from the Enterprise inwards, compared to something like the Sinclair Spectrum.
There is always innovation on both ends, and hopefully the “good stuff” that happens to transcends the needs of the consumer or the enterprise pops out to the other side.
A hot topic right now is “Enterprise Mashups”. A lot of large shops have seen how simple it is for the Web 2.0 folk to mash together Web systems to create a new system that meets their unique needs. As they watch this, they look at the massive integration projects they have going on, and how painful and expensive they are. Here we see the constant battle between the IT group and the business groups that want to just get stuff done. Access was so popular as people in the business units could hack on it just enough to get something done, without having to go to the IT department to get an app developed that would take forever. Internal mashups have the promise to do the same.
Of course, it isn’t that easy. A little Google Map + Data mashup is one thing. But, behind the firewall you have to deal with auditing, authorization, authentication, and all of that Enterprise stuff. There can be a reason why there is complexity.
Why am I blabbing on about this? I had some people talking to me about my recent Sun posting (you know, where they bleed a little) and a common thread was “should Sun stick to the Enterprise?” The thinking here is that Sun makes its money (at list I think so) from large Enterprise customers. The big consumer ra-ra around JavaFX as a Flash/Silverlight competitor makes Sun look like a company that it is not.
If you believe that the route to winning is “do consumer well, and then let it bleed to Enterprise” then you could see why Sun is so desperate to get this working. If you believe that there is room in focusing on the Enterprise customers, and giving them what they need, then you may see JavaFX as a waste.
I don’t quite see it as a waste myself. Chris Oliver just posted Why JavaFX? where he states:
Our goal with JavaFX is to deliver a “media” stack for the Java platform. What does that mean? Well, in simple terms, 5 things: Audio, Video, 2D Graphics, 3D Graphics, Animation
There is value there. If you partake in some of Ben’s vision, then Enterprise software doesn’t have to be grey and boring. In fact, it could even resemble a video game in some situations. So, having this stack is very useful indeed. The problem has been in the details. It has been sold at JavaOne as The Saviour. The big thing that Sun is working on. The thing you should be excited about with Java. In fact, it is some nice features that will enable us to do better things in all software.
As I outlined in my last post, I would just prefer to see a more balanced outlook, and one that showed a focus on other things, especially productivity. Blend this all together to show how the league of Java developers can productively produce compelling, usable software for their end users. There are legions of developers in the Enterprise trenches, at companies with large wallets, that would love to be more productive.