DekGenius.com
Previous Section  < Day Day Up >  Next Section

10.7 Summary

Over the last two chapters, we have taken an initial customer's requirements for a generic, flexible web site search engine and refined them to meet our core principles. We then designed a simple, straightforward application that met those requirements—and then some—and made use of existing tools (however unorthodoxly) to accomplish a complex set of tasks. The result was a solution to the initial requirements that came in well below the $18,000 that Google charges for its search appliance, even if we had billed the customer not only for design and development, but also for all the time spent researching the included open source tools and writing these two chapters! And, frankly, we aren't cheap. Simplicity really does have its rewards.

We learned how easy it is to integrate two applications designed with our core principles in mind. Since the jPetStore sample is built on a lightweight framework (Spring) and makes good use of the world's most common design pattern (MVC), it was child's play to introduce a replacement service for the limited one provided. Since the Spider is well factored and provides flexibility through its configuration service, it is easy to adapt it for use in a new context, in a container-based environment, and with an entirely new user interface, using only three changed lines of code to the original application (and those lines only added a new scoping keyword). And since Hibernate is also built on these same principles, it was incredibly easy to swap it into the project in place of the existing persistence mechanism.

These examples demonstrate that Java doesn't have to be hard. In fact, if you focus on the principles outlined in this book, Java can be downright fun.

    Previous Section  < Day Day Up >  Next Section