Archive for January, 2005

ONJava.com: An Introduction to Service-Oriented Architecture from a Java Developer Perspective

ONJava.com has a new article introducing Java programmers to SOA.

An Introduction to Service-Oriented Architecture from a Java Developer Perspective by Debu Panda — Service-oriented architectures offer a new way to think about building software applications, with coarse-grained pieces of functionality split out into “services” that communicate with standardized, widely understood interfaces like XML and SOAP. In this article, Debu Panda shows you how to design and connect SOAs.

Getting it Wrong

Joe Rinehart has written a little blog entry entitled OO Design: Enjoy getting it wrong. In it he states that the mistakes we make, and we will make mistakes, in the designs we pick for OO projects are the best part of OO design. The reason he states for this is that it is the errors that force us to learn and to grow. And by confronting those errors we gain valuable insights that we can reuse on other projects.

This is definitely true in my coding and design experience. So I find that I agree with him for the most part. However, how does this work for beginners who may or may not have the experience to recognize where they made mistakes? If I code something that seems to work and looks correct to me, but is fundementaly wrong, how am I, a beginner, suppose to realize that it is wrong? This is where I am beginning to realize that things like code reviews and pair programming are indispensible for every IT department. The more people that are able to look at code, the more chance people have of realizing that something was done wrong and the more chance there is of finding someone who has the experience and knowledge to do it right.

In the fields of engineering and architecture, before a project can move from the design phase to production the design has to be certified. This usually involves other, more qualified, people inspecting the design according to a set of rules and principles.

Personally, I think this should exist in the world of programming. Every project should have to be inspected by as many people as possible before it is shipped out the door. Which is cheaper, to spend the money before it ships on code reviews that will catch a ton of bugs, or to spend the money on fixing bugs after the product ships? I don’t have an answer to that question, but I would like to know what it is. My guess is that the code reviews would end up being cheaper.

If the only way that I truely learn is through making mistakes, then I hope I make lots of them. However, I also hope that I have the wisdom and insight to realize that I have made them and to learn from each and every mistake. I don’t mind making them, I just mind making them twice.

Servlets.com: Java IDE Popularity

I have no idea how accurate this poll is or how it was conducted, the results are still interesting. According to the results, Eclipse is the most popular Java IDE used by a very large margin. Next comes Netbeans, JBuilder, and IntelliJ IDEA all coming in within 3% of each other. This is followed by everything else.

Personally I use Eclipse for just about everything that I do in Java. However, if you had asked me 8 months ago what IDE I used, I would have answered Netbeans. Why did I switch? I had to. I went to work for a shop were if you wanted help with your IDE setup, you had better be using Eclipse cause that was what everyone else was using. This forced me to take the time to learn how to work with it. Now developing a Java program in Eclipse is second nature. Although, I am trying out Netbeans 4.0 for its web apps support. I really like its JSP editor and the fact that it supports Tomcat out of the box. I am also interested in seeing how Netbeans 4.1 shapes up with its support for J2EE and EJBs.

Anyway, check out the poll results at Servlets.com. Just remember to not take them too seriously.

ONJava.com: Internals of Java Class Loading

ONJava.com has published an article on the Internals of Java Class Loading. The article details what happens when classes get loaded into the JVM and how and why to create your own custom class loader. The three page article is quite detailed and goes into a fair bit of depth concerning the way that the various Java class loaders work. The article is definitely written for intermediate to advanced Java developers, but anyone with any level of Java expertise will get something useful out of it.

OpenSolaris.org “open” for business

OpenSolaris.org website has been launched for all those interested in downloading the new OpenSolaris operating system.

The opensolaris.org web site will be the center for OpenSolaris activity. Program content will be released in stages. The source code for one of the Solaris operating system’s most advanced features — Dynamic Tracing (DTrace) — is available here. We invite you to take a look. Expect to see buildable Solaris code here in Q2 2005.

ONLamp.com: Rolling with Ruby on Rails

I have been seeing small postings about something called Rails for the last month or so, but never really had a clue as to what it is. Until now. ONLamp has posted a 5 page introduction to Rails on their website. I now know that Rails is a web application framework written in Ruby that makes database driven web apps very simple to create. I have been looking to do something with Ruby for quite a while now and this looks like an excellent project to play around with.

JavaWorld: Hibernate and Struts

JavaWorld has posted an article about using Hibernate and Struts together. Peolpe’s opinions aside, struts is heavily used in web application development and Hibernate is an excellent framework for Object-Relational mapping. As such, I am posting a quick note about the article.

In this excerpt from Struts Recipes, (Manning Publications, December 2004) authors George Franciscus and Danilo Gurovich illustrate how to use Hibernate in a Struts application. They also show how to create a Struts plug-in to improve performance.

Next Page »