Java Reference
In-Depth Information
CHAPTER 7
Case Study: Building an Order
Management System
I explored the architecture and design of Java EE applications in the earlier chapters. I
also explained the Java EE design patterns with regard to the Spring Framework. Now it's
time to put all the concepts you've learned so far together to build a basic application. In
this chapter, I will apply the Spring Java EE patterns in the context of an order manage-
ment system (OMS). This is a simplified version of an OMS that I once built for a telecom
company that was used by their customers to register for value-added services such as
ringtones, video broadcasting, voicemail, and so on. Using this OMS, users can sign in
and then look up and order services. They can also search, cancel, and suspend their
orders. The primary focus will be on building a lightweight architecture and design. I will
also demonstrate the steps to develop, test, and deploy this application.
For this example OMS, I will borrow heavily from extreme programming (XP) princi-
ples. When applied properly, XP offers immense flexibility for project teams compared to
other methodologies that stress planning and invest significant effort on up-front archi-
tecture and design. An application framework such as Spring, backed by IDE support, is
best suited for agile software development. If you are new to XP, then you can visit
http://www.extremeprogramming.org fo r a quick tour of the features and workflow. In the
rest of this chapter, I will go through a customized XP iteration to develop the foundation
of the order management system. As you read on, you will see that in some parts of this
chapter I will leave some solution or development tasks as an exercise for you. I've done
this to get you to think about what you have learned in the previous chapters. It also
makes reading this chapter more interesting and interactive. If you want to validate your
solutions and development tasks, then visit http://www.opengarage.org , where I have
posted the entire solution and code for this chapter.
269
 
Search WWH ::




Custom Search