JEvalCharter

Posted by rob on July 24, 2010

JEval, the Java, open source, expression evaluation library that I wrote a number of years ago is still alive and kicking. Someone has taken the library and integrated it with a charting tool to create, JEvalCharter. Its cool to see that JEval is still providing value to developers out there. Its also neat to see that JEval have been getting 100+ downloads a month.

JEvalCharter

The Next Big Language: For the Enterprise or the Masses?

Posted by rob on February 27, 2010

There’s a lot of talk these days about what will be the next “big” language. A lot of my fellow Java developers believe its going to be a language that runs on the JVM. Will it be Scala, Clojure, JRuby or some other language that has yet to be written? I think when we have such discussions, we need keep in mind that while the JVM may be the most popular platform for enterprise software development, its not the most popular platform for general purpose Web development. That distinction goes to LAMP and PHP.

Wordpress, Joomla, Drupal and many other immensely popular blogging and CMS software packages are mostly written in PHP and run on Apache servers. And there are countless Web hosting companies that will host applications running on these software packages for less than $10 a month.

I was recently looking into options for creatng an online store. If I were to go the JVM/Java route, I would need to mostly write that store myself or purchase expensive software to implement it with. I would then need to pay a high monthly fee to host the application on a JVM. This would be fine and probably desirable for a large Fortune 1000 company or a Web startup with lots of funding. However, for myself, I want to start with something I can develop as cheap and quickly as possible. With the popular PHP tools I mentioned, I can find multiple free or very low cost ecommerce plugins and themes I can install and have hosted for a small monthly fee. These tools also create Web sites that look attractive, modern and professional.

Although the JVM and Java has revolutionized software with its ability to run on many operating systems, its dominance is only in large enterprise business software. If there is to be a next “big” language, I think possibly it will be one that can bridge the gap between enterprise software and the general purpose software used by the masses.

Java Web Applications - Bring on 2010

Posted by rob on December 09, 2009

No longer are conversation about what is the best Java Web framework very interesting. With the onslaught of new programming languages for the JVM, that conversation has shifted to one about which technologies make the best mix for a Java Web application. There are so many languages and framework available for the JVM today, that the Web framework itself is no longer a major concern. Its really about what language you want to be coding in which layer.

I am very excited about the upcoming year. The recession has held back many of the new technologies from taking off in a big way on the JVM in 2009. However, JVM enthusiasts have been hard at work learning and innovating with the many new languages and technologies available today. When the economy picks, I have no doubt we will see dramatic changes in the JVM technology landscape.

JVM Language Job Trends

Posted by rob on August 15, 2009

I thought it would be interesting to see what the job scene looks like for the various JVM languages out there. The languages I chose to feature on my Indeed.com trend chart were Groovy, JRuby, Jython, Rhino, Scala and Clojure. The order in which I listed them is the order I figured they would be in, with Groovy being the highest and Clojure being the lowest. Based on the results below, I was correct on the highest and lowest. However, its the results in the middle that are the most interesting. Jython is neck and neck with Groovy for the top spot. JRuby is second to last and in decline. Scala looks to be on the rise. Can we trust these results as a barometer for the future of these languages on the JVM? Let me know what you think.

You can click on the image below to go to Indeed.com and see a larger version of the chart.


groovy, jruby, jython, rhino, scala, clojure Job Trends graph

groovy, jruby, jython, rhino, scala, clojure Job Trends groovy jobs - jruby jobs - jython jobs - rhino jobs - scala jobs - clojure jobs

The Spring Deal

Posted by rob on August 15, 2009

The Java world was a buzz this week with news that SpringSource is being acquired by VMWare. What does this mean for the future of Spring? In St. louis, Spring is very dominant, as I am sure it everywhere else. Spring has definitely given extra life to an aging Java programming langage. Now that Spring is entrenched as a dominant (if not “the” dominant) J2EE technology, will it be able innovate in order to keep up with a changing technology landscape?

SpringSource to be Acquired by VMWare

Larry Ellison’s Cloud Computing Comments Revisited

Posted by rob on April 21, 2009

Back on September 26, 2008, Larry Ellison (CEO Oracle) made the following comments about cloud computing. Larry was quoted by the Wall Street Journal as saying…

“The interesting thing about cloud computing is that we’ve redefined cloud computing to include everything that we already do. I can’t think of anything that isn’t cloud computing with all of these announcements. The computer industry is the only industry that is more fashion-driven than women’s fashion. Maybe I’m an idiot, but I have no idea what anyone is talking about. What is it? It’s complete gibberish. It’s insane. When is this idiocy going to stop?

“We’ll make cloud computing announcements. I’m not going to fight this thing. But I don’t understand what we would do differently in the light of cloud computing other than change the wording of some of our ads. That’s my view.”

With the announcement yesterday that Oracle is buying Sun, it will be interesting to see what this means for Sun’s cloud computing technology.

The rant against cloud computing was well covered at the time, but I couldn’t help but to think about it again in light of yesterday’s big news. Actually, my favorite part of the quote is that part about software being like woman’s fashion. So true sometimes.

End of An Era

Posted by rob on April 20, 2009

Sun agrees to be acquired by Oracle. This is huge news in so many ways. Oracle will own MySQL, the most widely used open source, relational database. They will now own OpenOffice/StarOffice, a competitor to Microsoft Office. Oracle acquired BEA last year, so acquiring Sun makes that acquisition all the more interesting. And Sun owns some up the best cloud computing technology out there. Hmmm, I can only begin to think about what this does to the software landscape.

Oracle to Buy Sun

Java Support Added To Google App engine

Posted by rob on April 08, 2009

In what is great news for the Java community, Google has added support for Java to the Google App Engine.

Google adding Java support to App Engine

JEval 0.9.4

Posted by rob on December 30, 2008

I couldn’t finish the year without writing one last post about JEval. A new maintenance release is available. For whatever reason JEval’s download rate had more than doubled over the last couple of months. The number of downloads has now exceeded 1500.

The Easy Way to Select a Java Web Framework

Posted by rob on December 11, 2008

Sorry for the delayed post. Things have been very busy lately. Besides, I just don’t get around to writing as many blog articles now that I use social networking applications like Twitter and Facebook.

The most difficult part of writing this article was getting started. I didn’t want this article to be another taxonomy of Java web frameworks like my original article. Instead, I wanted this article to present a pragmatic way to select a framework that is easy and matches the things that you and your team find valuable to software development.  Let’s get started.

Instead of looking at the numerous features of web frameworks, I’m instead going to focus on three high level categories. They are “safe choice”, “cutting edge” and “rich user interface”.

Safe Choice
If you work for an enterprise where going with the tried and true is looked upon more favorably than taking a risk on something new, then you fall in to the “safe choice” category. Another motivation for going “safe” is that you want a standard set of Java and web technologies to work with. Since JSF is a Java specification, many of the major JSF implementations will work here. If you go down the JSF path you will most likely end up looking at JBoss Seam to work as a middleware solution for your JSF front end. There are a lot of folks out there that do not like JSF. If that is the case then your best choices are Spring MVC and Struts2. With Spring MVC you will most likely also be looking at using the Spring Framework and Spring Web Flow for your middleware. The Spring suite of software libraries is immensely popular these days and their penetration into the enterprise has been immense. Struts2 is for those who feel like it is the best migration path for existing Struts applications. Remember that Struts2 isn’t really a Struts upgrade. It is actually the wonderful WebWork framework that has been refactored, renamed and adopted by The Apache Software Foundation to be to the formal replacement for Struts.

Cutting Edge
If you work in an environment where management is more tolerant of trying new technologies, you are on a team that has a ton of Java web experience or you are simply excited by trying new things, then selecting a “cutting edge” framework may be for you. Without going too much into these frameworks, I will simply list out some of the popular frameworks that fall into this category. They are: Tapestry, Stripes, Wicket, Ruby on Rails on JRuby and Grails. These framework are either not adopted to the extent that the “safe choice” frameworks are, or they employ the use of dynamic languages. An interesting choice in this category is Grails, because it is written on top of Spring MVC, which is a “safe choice” framework.

Rich User Interface
Do you need a rich user interface instead of a more standard HTML one? Do you want a full AJAX interface instead of one with small amounts of AJAX mixed in? Only you will be able to answer these kinds of questions based on your business and technical requirements. If you answer “yes” to either question, then you are in what I consider the be the “rich user interface” category. And by definition if you want a rich user interface, then you have already left “safe choice” category. I don’t have as much experience in this category, so I will tread lightly. Choices in this category include Google Web Toolkit, Echo, ICEFaces (also a JSF implementation) and the new JavaFX.

Conclusion
There are countless choice, but selecting a Java web framework doesn’t have to be hard. You just need to know your environment and values that are important to you. Not making a choice at all will make selecting a framework hard, so don’t let this decision take too long. Regardless of what Java web framework you end up selecting, the days of using only one framework is a thing of the past. If your selection isn’t working out or if you think some other framework is a better choice for another application, then by all means select a different framework. Good luck.