Grails 1.2 is now released and its got all sorts of goodies! I’ll definitely be playing around with it in the next couple days to see what’s new! I kind of feel like a bum in the fact that I didn’t even download the release candidates and instead just keep using 1.1 until now though, ha! I was using the release candidates of Spring 3 though.
There was a new article on http://java.sun.com today about the soon to be released Java EE 6. For those not familiar with the Java world, this simply mean the Enterprise Edition of Java. The Enterprise Edition consists of a bunch of libraries built on top of Java SE, which is the Standard Edition. The Standard Edition is simply another name for the JDK, which means Java Development Kit. Have I lost you already? I hope not, because I’m just getting started with the acronyms.
Although I rarely use Java EE, I do like to keep up on the features it provides and compare it to what I do use. For instance, Java EE 6 includes a framework called JavaServer Faces, or JSF for short. I personally am not a huge fan of JSF, but have used it on some projects in the past. JSF 2.0 does have some new features that are noteworthy compared to the previous 1.2 release. First off, it followed the trend in the Java world by incorporating tons of annotations for things like managed beans, renderers, converters and validation. I actually have mixed feelings about annotations though. One the one hand, you have less XML configuration to write, but on the other hand your Java code starts to look pretty ugly with all those annotations added in there. JSF 2.0 also has new resource-handling and an alternative view to JSPs. Also worth noting in Java EE 6 is the new JPA 2.0 release. This new version of JPA looks to be much better than the JPA 1.0 included in Java EE 5. First off, you can now map simple data type collections, like String or Integer. Pessimistic locking and a caching API are also new. Interestingly enough, the reference implementation for JPA is now a project called EclipseLink which came out of the Oracle TopLink product. Why didn’t they make Hibernate the RI?
There certainly is a lot of functionality and new features in Java EE 6, but to be honest I’ll probably never use it. The reason being is the open-source world has simply become light-years ahead of Java EE in recent years. I would rather use Groovy/Grails for a new application then try and use JSF/JPA. Even if I was going to build a straight Java application, I would still rather use Spring/Hibernate over Java EE 6. I understand there needs to be “industry standards” and providing common specifications is important to big companies and application server vendors, but it doesn’t matter much to me.
Well I went kind of crazy buying some new nerd books today, ha! Manning is having awesome sales all month and today all the MEAP (Manning Early Access Program) e-books were 50% off. The MEAP simply provides early access to the books before they are published and you can read the chapters as they are written. My purchases today included Groovy in Action Second Edition, jQuery in Action Second Edition and ExtJS in Action. Yesterday I bought Lucene in Action Second Edition and I must say that so far it is pretty good. It is kind of ridiculous how many computer books I own. I bet you wouldn’t even believe me if I told you. Well I will anyway… I now own 109 nerd books. I definitely have the most related to Java topics (Spring, Hibernate, JUnit, etc), but I also have a fair number about .NET (ASP.NET, C#, WCF, etc). So, if you are ever looking for a book to read on a plane or while you are sitting on the beach, let me know. I can recommend a nerd book that will keep you on the edge of your seat, ha! :p
Gafto (Get Away From The Office) is a new, well kinda new, entrepreneurial idea that I am pursuing. The site will be a new social network of sorts for business professionals. Some of the key functions of the site are organizing lunches and happy hours amongst co-workers. I originally built a “beta” version of the site with Ruby on Rails back in 2008, but I am currently in the process of rebuilding the site with Groovy and Grails. Why would I do such a thing? Well, read on…
First and foremost, I actually like programming in Groovy more than Ruby. I know this may be hard to believe, but I like curly braces! Next is the fact that Groovy is more tightly integrated with the JVM than Ruby (JRuby). I also like the true model-driven-development approach with GORM (Hibernate) in Grails. I never was a huge fan of the database migrations in Rails, but that’s just a personal preference. Lastly, I simply want to learn more about Grails. The only way to learn a technology is to use it and I look forward to using Groovy and Grails!
Second, I am going to be re-hosting the site from the server in my basement to an actual hosting center. I am still in the process of evaluating all the options, but the front-runners right now are Slicehost and Amazon EC2. Based on my calculations, Slicehost would be cheaper to start, but Amazon EC2 might be more economical if the site really takes off. The thing I really like about Amazon EC2 is that they have actual load-balancers as apposed to using software based load-balancing at Slicehost. Once again though, not a big issue to start, but could be down the road. Slicehost has awesome support though! I have sent them three emails and received a response to all of them within 15 minutes of sending. That’s pretty impressive, especially since I’m not even a customer yet.
Third, I am going to buy an actual SSL cert as apposed to my self-signed one, ha! I suppose people won’t like getting nasty messages from IE and Firefox telling them that my site isn’t valid. Probably not good for business, ha! Based on my research, looks like DigiCert has the best deal, so I’ll be buying one of them.
That’s all the updates for now, but there will be many more posts about Gafto as I progress with the project.