1 Introduction
In the world of software development there lots of improvement in the area of Architectural design and principles The philosophies and implementation details are changing as the people guiding the development of the application In this fantastic and yet sometimes complex world of software development there are some tried and true architecture patterns and software development guidelines employed by most architects Also your design must have an ability to turn towards innovation instead of lending itself to common practices Web services are one such area where architects must lean on their creative side and hope that their solutions are still successful In this report we will explain an exciting voyage down the road of Web services application From requirements to use cases, to database design, to component frameworks, to user interfaces, we will cover each and every aspect of system design required to build an application with collaborative Web services The reason why we selected online Bookstore web service is everybody walking down the street has some idea about bookstores The objective of this project is to develop an e- book store where books can be bought from the comfort of home through the Internet An online book store is a virtual store on the Internet where customers can browse the catalog and select books of interest The selected books may be collected in a shopping cart At checkout time, the items in the shopping cart will be presented as an order At that time, more information will be needed to complete the transaction Usually, the customer will be asked to fill or select a billing address, a shipping address, a shipping option, and payment information such as credit card number An e- mail notification is sent to the customer as soon as the order is placed
2 Literature Review
Electronic Commerce (e-commerce) applications support the interaction between different parties participating in a commerce transaction via the network, as well as the management of the data involved in the process [2] The increasing importance of e-commerce is apparent in the study conducted by researchers at the GVU (Graphics, Visualization, and Usability) Center at the Georgia Institute of Technology In their summary of the findings from the eighth survey, the researchers report that "e-commerce is taking off both in terms of the number of users shopping as well as the total amount people are spending via Internet based transactions" Over three quarters of the 10,000 respondents report having purchased items online The most cited reason for using the web for personal shopping was convenience (65%), followed by availability of vendor information (60%), no pressure from sales person (55%) and saving time (53%) Although the issue of security remains the primary reasons why more people do not purchase terms online, the GVA survey also indicates that faith in the security of ecommerce is increasing As more people gain confidence in current encryption technologies, more and more users can be expected to frequently purchase items online [11] A good e-commerce site should present the following factors to the customers for better usability [11]: • Knowing when an item was saved or not saved in the shopping cart • Returning to different parts of the site after adding an item to the shopping cart • Easy scanning and selecting items in a list • Effective categorical organization of products • Simple navigation from home page to information and order links for specific products • Obvious shopping links or buttons • Minimal and effective security notifications or messages • Consistent layout of product information Another important factor in the design of an e-commerce site is feedback [4] The interactive cycle between a user and a web site is not complete until the web site responds to a command entered by the user According to Norman [5], "feedback-sending back to the user information about what action has actually been done, what result has been accomplished--is a well known concept in the science of control and information theory Imagine trying to talk to someone when you cannot even hear your own voice, or trying to draw a picture with a pencil that leaves no mark: there would be no feedback" Web site feedback often consists of a change in the visual or verbal information presented to the user Simple examples include highlighting a selection made by the user or filling a field on a form based on a user's selection from a pull down list Another example is using the sound of a cash register to confirm that a product has been added to an electronic shopping cart Completed orders should be acknowledged quickly This may be done with an acknowledgment or fulfillment page The amount of time it takes to generate and download this page, however, is a source of irritation for many e-commerce users Users are quick to attribute meaning to events A blank page, or what a user perceives to be "a long time" to receive an acknowledgment, may be interpreted as "there must be something wrong with the order" If generating an acknowledgment may take longer than what may be reasonably expected by the user, then the design should include intermediate feedback to the user indicating the progress being made toward acknowledgment or fulfillment Finally, feedback should not distract the user Actions and reactions made by the web site should be meaningful Feedback should not draw the user's attention away from the important tasks of gathering information, selecting products, and placing orders
3 Implementation Technologies 31 Introduction
While there are numerous technologies for building web applications that serve dynamic content, the one that has really caught the attention of the development community is JavaServer Pages (JSP) And not without ample reason either JSP not only enjoys cross-platform and cross-Web-server support, but effectively melds the power of server-side Java technology with the WYSIWYG features of static HTML pages JSP pages typically comprise of: • Static HTML/XML components • Special JSP tags Optionally, snippets of code written in the Java programming language called "scriptlets" Consequently, you can create and maintain JSP pages by conventional HTML/XML tools It is important to note that the JSP specification is a standard extension defined on top of the Servlet API Thus, it leverages all of your experience with servlets There are significant differences between JSP and servlet technology Unlike servlets, which is a programmatic technology requiring significant developer expertise, JSP appeals to a much wider audience It can be used not only by developers, but also by page designers, who can now play a more direct role in the development life cycle Another advantage of JSP is the inherent separation of presentation from content facilitated by the technology, due its reliance upon reusable component technologies like the JavaBeans component architecture and Enterprise JavaBeans technology This course provides you with an in-depth introduction to this versatile technology, and uses the Tomcat JSP 11 Reference Implementation from the Apache group for running the example programs