Hi, I just downloaded the assignment for part II, and starting to analyze it. As I see the client side will always be web-based for customer or also support for Swing based for the Travel agent ? Thanks in advance for any opinion Mark [ April 12, 2003: Message edited by: Alexander Mark ]
Mark, This is the typical discussion that I have seen many times in this and other forums. It seems that most people believe that a Swing front-end is necessary for intranet users. I personally believe this is non-sense, and I have asked for other opinions in this forum but I didn't get any replies. Nonetheless, the main arguments in favour of having a Swing front-end are: 1) They understand that the an 'application' implies a Swing front-end 2) They believe that a Swing front-end will give a cut of half the performance of internet users. As I have said, I don't believe any of the above points is true. If anyone knows any other point in favour of Swing front-end please share! First of all, more and more 'applications' are starting to be developed in Web front-end, in direct competition to Swing. The benefit of this approach is that you only need a front-end for both internet and intranet users, thus reducing development cost, and increasing maintenance and extensibility. In fact, Sun has recognised this and is working hard on a Web API for screen design called JavaServer Faces. I doubt that the performance of a swing front-end is much better than a pre-compiled JSP retrieved from an intranet. The only difference is that with Swing you will by-pass the Web servers containing static HTML. However I don't think that by-passing the Web servers is going to give you much performance boost, as the real bottleneck where most of the processing power is needed is in your application servers and database. The truth is that Swing front-end has never gained momentum. My impression is that they are buggy, slow and hard to maintain. The only benefit of Swing over HTML front-end is drag-and-drop, which is rarely needed. Anyway, that's my opinion and I am looking forward to hear from others. Eduard
Hi Mark, I don't find a specific non-functional requirement that says Swing technology is required. Also, I don't find a specific functional requirement that might best be met with a Swing-based design. However, I do think it is clear that we need to support both "web clients and application clients". I interpret this to mean that some remote clients will communicate with a web server, some will communicate with an application server, or perhaps even some will do both. My approach to requirements analysis has been to consider the few "clear requirements" in a way that is specifically addressed in the design. Then, to concider the many "unclear requirements" as justification to include flexibility, abstraction, extensibility, etc. A clear requirement deserves an optimized design, an unclear requirement might mean a more resilient design. Regards, Bill
Joined: May 12, 2002
Originally posted by Bill Morrison:
My approach to requirements analysis has been to consider the few "clear requirements" in a way that is specifically addressed in the design. Then, to concider the many "unclear requirements" as justification to include flexibility, abstraction, extensibility, etc. A clear requirement deserves an optimized design, an unclear requirement might mean a more resilient design.
Bill, that's an excellent point! I also agree in that there is no specific requirements for Swing. In my opinion, as long as you have done a good facade layer for the business layer you can potentially put anything you want on top of it, you name it web presentation layer or Swing presentation layer. However, from a practical point of view, would you develop a Swing front-end as well as a Web front-end just to prove to the customer that your architecture is flexible enough? My answer would be do it **just and only just** if the client asks for it explicetly and understands the extra cost on development, maintenance and extensibility, which will not be cheap.
My approach for the project (unless somebody convinces me otherwise) will be to do a web front-end and point out that a Swing front-end would easily fit in this architecture, but it isn't required (and of course all that has already been agreed with the customer!) Eduard
Joined: Apr 04, 2003
Eduard, I agree. I don't intend to design clients in any detail. I'll leave that to the developers in the next iteration. I will only provide the architecture and design that meets the requirements as discussed. Regards, Bill
Joined: Apr 06, 2002
Thanks... great replies. Yes.. the first time I read the requirement I thought that 'application' = Swing, and 'web application' = JSP + Servlet. if I implement a front controller in the design, then normally it should be a servlet that controls all the request (MVC). If we support swing in the design then what the controller will be ?