| With the rapid development of information technology, the software applications are getting more and more complex and the technology is advancing very fast. Improving the application's quality and productivity is becoming the main problem that the software industry should solve. We can pay our attention to not only solving the customer's business logic but also improving the software's reusability and expansive by using some mainstream frameworks and some Object Oriented design patterns.This article introduces a software system about a domain name management. This system is based on network communication and uses JSF, EJB, JMS and Hibernate technology. We use unified process and extensible provisioning protocol to develop this system. This system includes the following modules: domain name registration, domain name information query, domain name transfer, domain name deletion, domain name state synchronization, web service and management etc. This article puts emphasis on how to design the system and the blueprint of some most important problems.This system uses B/S (browser/server) pattern based on multi-tie architecture. Using this method, Developers can code concurrently and improve the system's expansibility based on the decoupled code among different layers. The representation layer uses JSF (java server faces) which is a very new technology based on MVC (modeler/view/controller) pattern. This article mainly introduces the advantages of JSF compared with other popular MVC frameworks and how to validate the customer's inputs in JSF. Achieving the customer controls in JSF is very common in the system. These reusable components can improve the efficiency of our development. It is the multi-tie software's goal to provide a well-defined business service layer. This layer also can provide service to the clients relatively independently. Let JSF's back bean decouple the connection with business layer by using EJB, JMS and some design patterns. The representation layer and business layer can be developed independently. |