Posted by: cyanos | December 7, 2007

Figured it all out, and just in time too

Now I realize how much I didn’t know about the labs in this class.

 

Before, there was so much I didn’t know, I didn’t even know I didn’t know many things.

 

Especially after putting all this time into these couple of labs, I wish that I actually get to implement something like this again in the future, for some greater benefit. Amazon has some great technologies, and it was fun to play around with these things. After successfully using SQS and EC2, I have come to a greater appreciation for the power behind these technologies. I’m glad that I have had experience building the components of a multi-tiered system. It’s just something that I haven’t done before. It’s cool to play around with configurations (install other people’s stuff and enslave that stuff to make it do what I want!)

 

Anyway, enough on that; moving on.

 

I’m glad I had a couple of the following tools to help me out. I suppose the lesson learned that I want to communicate is that, one should find the technologies that not only do the job, but have the supporting code and other frameworks that shorten development time (in this case, shorted down from many many many hours to just many many hours ;) )

 

Here are some examples:

 

CodeIgniter for PHP. This helped with forms, validation, application properties, and directory structure. The only place that this bit me was something very specific to this technology, and I will save telling it, so that those who don’t care about learning the specifics of this framework can keep reading.

 

HTTP PECL for PHP made anything http-related turn into easy one-liners in code. Any HTTP_POST, and HTTP_GET that I had to make in Labs 3 and 4 were simple as pie. Also, in Lab 3 I had to parse the response for the submit service, right? I just used HTTP_Parse_Response to take the output from the HTTP_POST to get the “OK” out of there. Awesome.

 

NetBeans 6.0 for Java. I decided that I would do the Lab 5 stand-alone application in Java. At first, I was attracted to C# because I already knew how to manipulate XPaths and XML in there. Also, there is the whole .NET thing to hold my hand throughout the development process. However, the age-old conflict between Microsoft empire and the Open Source world made things difficult. There needed to be some sort of certificate conversion to access AWS, I think. Rather than bother with all that (I did attempt it once, but ditched the effort when I could see it being trouble), I aligned the Open Source technology of Amazon with the Open Source-friendly language of Java. I was familiar with NetBeans 5.0, but had no clue that 6.0 would be that helpful! It had a visual GUI creation environment. In fact, there was a template desktop form with a status bar and menu all set to go. I also found out there was a wizard to add a WSDL. I pointed it to the one given by the lab spec, and it automatically integrated it with the rest of my app, and even put in some basic code to help me interface with it. After working on Lab 5 for about a half a day, I was good.

 

AWS and accompanying classes to help interface. I think because of the fact that it was Amazon, luckily for me, there were already classes written in Java and PHP that interfaced with SQS: Polar Rose in Google Code for Java, and Test Utility for Amazon SQS for PHP. I didn’t even realize at first that I would need something to interface with the SQS, but then I figured it out, installed the classes and some of the dependencies (some required stuff on Apache commons, which place I didn’t even know existed), and finished the coding. Well, now here I am with all my labs done.

 

 

So, this has been quite the journey. Just yesterday, I didn’t even think that I would be able to finish all my labs, because for a long time, I didn’t even know where to start. My head would hurt just knowing there was too much that I didn’t know, and that it would take a chunk of time to figure things out bit by bit. I think my appreciation for the programming community as a whole has grown. I couldn’t imagine trying to figuring things out and THEN write these things from scratch. Just understanding what a solution would look like was resource-consuming enough alone. Implementing the solution from scratch for one lab might have taken a semester, given the coding, testing, and debugging.

 


Leave a response

Your response:

Categories