Tuesday, September 12, 2006

petportal Spring 2.0 Portal MVC application

This is how to get the petportal application that was supposed to be released with Spring 2.0.

First check this page:
http://sourceforge.net/cvs/?group_id=73357

That is the sourceforge site for Springframework. You can view the CVS sources that are checked in. There should be a little ditty about anonymous CVS access. I used this from my MacBook terminal to get the petportal application:

cvs -z3 -d:pserver:anonymous@springframework.cvs.sourceforge.net:/cvsroot/springframework co -P spring/samples/petportal

happy coding!

Back again....

I haven't been posting much lately (obviously). My fiance has moved up here to good old Medford, Oregon, and I have been pretty busy between helping her get settled and working. I have been playing around with a bunch of new stuff since my last post.

Ruby: I have been able to get my hands on 'Ruby Cookbook' from O'Reilly. My boss at work bought a copy for our department, bless his heart. If you plan on quickly jumping into some useful Ruby I highly recommend this book. I have already used it for developing a SOAP service client to test a Java XFire service I wrote. With this books aid I wrote the whole thing in five minutes. The benefit is in being able to test my web service with another language, and to verify the correct responses. I feel the 'cookbook' series is one of the best for becoming useful in a new language. They match a seasoned coders ability to look past the basics of a language's grammar and begin actually getting into the api's and such of a language (the nitty gritty ;).

XFire: this is a nifty Java tool for doing webservices, which get war'd up and deployed into a J2EE web container. I am using it to create web services at work now, deploying to a 5.x version of Apache Tomcat. XFire is very quick and easy to work with. I started out using MyEclipse's new built in XFire web project. Of course I wanted to use XFire in a Maven2 type project (for the enormous benefits that Maven2 provides). This is easy!!! The best part about using XFire was that the services I created worked with M$ Dynamix Ax out of the box, which is a huge deal to my bosses. I was using Axis before, but I had to customize WSDL files for each of my services. Ax's SOAP object did not like the WSDL files automatically created by Axis (thus the customizing). Creating and maintaining WSDL files was time consuming and complicated the whole web service creation process for me. XFire will also auto generate WSDL files, which then work with M$ Dynamix Ax. Hurrah!!!

Servicemix (Smix) and ActiveMQ (AMQ): these amazing open source projects have become a major deal at my work. We are currently using both to implement our cockeyed attempt at SOA. We are luckily starting out easy, but I get the feeling I will soon be going full bore into setting up our company with an Enterprise Service Architecture (ESA). My awsome boss bought more books. I don't have all of them here, but I will tell you that "Enterprise Integration Patterns" is the book to read to get your feet wet. It is a theoretical type textbook which ellicits heartwarming memories of college reading. In it you will not find long code samples. You will find in depth explanations of how and why things work in the enterprise integration world.

Portlets: I have once again taken up the burden of Java's Portlet api. It is pretty rad. I am using Liferay which is actually better for portlet development (in my opinion of course) than Pluto. Pluto is supposed to be a container used for portlet development. I think it's got a ways to go, considering the ease of deploying/redeploying portlet .war's in Liferay. Oh and not to mention how nice Liferay looks! I am hoping to write a nifty portlet which will interface with a tool we use for storing information on projects and requests for things. This tool is called QuickBase, and is an online app from Intuit. We have used it to develop a bunch of stuff for tracking projects. It was my dept's first crack at doing anything of the sort and falls a bit short (especially in the ease of use aspects). If I can get it up it will be a very nice proof of concept. Fingers crossed.

Portlet-MVC: Who wants to do plain old portlet development? Not me! I first messed around with the Struts portlet bridge framework, but quickly became bored of it. Struts may be the big kid, but the kid is obviously a beer short. I have been searching around for a better MVC for portlet development. I have found Spring 2.0's Portlet MVC. I am happy, especially since I'm a fan of Spring to begin with. The Spring portlet framework allows you to easily leverage Springs niceties. You can also work in Struts, WebWork, etc. if you really want to....

So thats it. I am trying to check out a portlet app from Spring's site. It is supposed to be packaged with the 2.0 releases of Spring, but I downloaded many different versions and none included the sample app. I'll post later on how I get it (if I can). C'ya.

Tuesday, August 15, 2006

Ruby/Rails update

I've been playing around with Ruby, and the web framework for Ruby called Rails. I'm finding that Rails has some nice benefits. Using rails I've set up a couple database backed web apps from tutorials found online. I also quickly created an AJAX web app which uses Flickr's API to download thumbnails and display them. I've done this and more in two days....and I didn't have more than a couple hours previous experience with Ruby or Rails.

If you are a Perl/PHP/Python programmer and haven't tried Ruby on Rails check it out.

If you are a C/C++/Java/.NET/etc. programmer and haven't tried Ruby on Rails check it out.

Go to the Rails site and get Rails.

You will find directions on getting Ruby, and Rails up and running on your machine. I am working on a MacBook, but I've also installed Ruby and Rails on a Windows machine. It works great on both.

Once you have Ruby & Rails I recommend downloading Mongrel. Find it here.

Mongrel is a lightweight server that will make developing your initial Rails apps easy. I have not had time to investigate but it seems Mongrel is also being used for hosting on the net. Why? I think it has something to do with it being fast, and working well with other technologies. I'll post back with more information when I get it.

Once you get Ruby, Rails, and Mongrel here are some links to tutorials that you should definitely work through:

Do these 'screencasts', they are very informative: link

From the same Rails site check out the 'Rolling with Ruby on Rails' series: link

Find some very interesting articles on using FLEX and Rails: link

And another FLEX/Rails tut: link

There are a lot of good articles out there so if you get hooked on Rails it should not be hard to find more information.

Oh and here is a pretty good online book I found on Ruby itself: link

Saturday, August 12, 2006

Ruby and Rails

I'm installing the Ruby platform for doing web work, called "Rails". I've already done this on an old CentOS box at home, but I never spent much time working with it... Now that I have Ruby installing on my MacBook (which I spend all my time on) I will soon be playing with it. Ruby sure has garnered a lot of praise from people. It seems to have really developed a cult following. I don't think 'cult' is proper, as it's more like a group who is busily evangelizing their love of Ruby.

The group seems to be a more arty type. By this I mean not so black and white joe programmer. They appear to have lotsa time to be teaching Ruby, which is a good thing. It definitely helps out the language that people are excited about it. There are some real good tutorials too. One in particular is totally original:

Why's (Poignant) guide to ruby

Check this out, believe me it is interesting. I'll post soon on how the Ruby is going.

Friday, August 11, 2006

Stuck on Java?

So I am knee deep in Java. That is the Java programming language. Mostly this would be due to my work with Java dating back to highschool. It was reinforced when in college Java was used in my introductory courses. I ended up being familiar with Java, and therefore using it more and more.

It helps that when I entered college IDE's for languages such as C/C++ cost money while a half-decent Java IDE would be free. This just added to the ease of use, making Java my pick to write most course related code.

(Sidenote: had I been properly trained in Make I probably would have been a C programmer)

Now I feel pressure as I become more involved in the various Java technologies...

Can any one language do everything? Maybe. But do it well? I would say no. I could be wrong, please prove me so :)

So this pressure I feel is probably due to the fact that there may be a better solution to some of my problems. I don't know if Perl, Ruby, Haskell, C/C++, Basic etc. etc. could provide a cleaner, faster and/or more optimized product.

I guess I should start looking into other languages. Being bilingual in the programming sense could likely bring great benefits. Especially in this age of interoperability between languages.

This seems to strikingly resonate through the current world, where globalization, offshoring etc. are crippeling the dominance of any one force.