Review on About the site: Amazon.com, Inc. (NASDAQ: AMZN) is an American multinational electronic commerce company. It is the world's largest online retailer. Amazon has separate websites for the following countries: United States, Canada, United Kingdom, Germany, France, Italy, Spain, Japan, and China. It is also expected to launch its websites in Poland, Netherlands, Sweden, Russia, Mexico and India. It also provides international shipping to certain countries for some of its products. Jeff Bezos founded Amazon.com, Inc. in 1994, and the site went online in 1995. Amazon.com started as an online bookstore, but soon diversified. Now, Amazon product lines include music CDs, videotapes and DVDs, software, consumer electronics, kitchen items, tools, lawn and garden items, toys & games, baby products, apparel, sporting goods, gourmet food, jewellery, watches, health and personal-care items, beauty products, musical instruments, clothing, industrial & scientific supplies, and groceries. The company launched amazon.com Auctions, a web auctions service, in March 1999. However, it failed to chip away at the large market share of the industry pioneer, eBay. Later, the company launched a fixed-price marketplace business, zShops, in September 1999. Today, Amazon Marketplace's main rival is eBay's Half.com service. In August 2005, Amazon began selling products under its own private label, "Pinzon". In March 2007, the company applied to expand the trademark to cover a more diverse list of goods, and to register a new design. Amazon MP3, its own online music store, launched in the US on September 25, 2007, selling downloads exclusively in MP3 format without digital rights management. This was the first online offering of DRM-free music from all four major record companies. In August 2007, Amazon announced AmazonFresh, a grocery service offering perishable and non-perishable foods. Customers can have orders delivered to their homes at dawn or during a specified daytime window. Delivery was initially restricted to residents of Mercer Island, Washington, and was later expanded to several ZIP codes in Seattle proper. AmazonFresh also operated pick-up locations in the suburbs of Bellevue and Kirkland from summer 2007 through early 2008. In 2008 Amazon expanded into film production, producing the film The Stolen Child with 20th Century Fox. Amazon's Honor System was launched in 2001 to allow customers to make donations or buy digital content, with Amazon collecting a percentage of the payment plus a fee. The service was discontinued in 2008 and replaced by Amazon Payments. Amazon launched Amazon Web Services (AWS) in 2002, which provides programmatic access to latent features on its website. List of Amazon Web Services Amazon AWS Authentication, an implicit service, the authentication infrastructure used to authenticate access to the various services. Amazon CloudFront, a content delivery network (CDN) for distributing objects stored in S3 to so-called "edge locations" near the requester. Amazon Elastic Beanstalk provides quick deployment and management of applications in the cloud. Amazon Elastic MapReduce allows businesses, researchers, data analysts, and developers to easily and cheaply process vast amounts of data. It uses a hosted Hadoop framework running on the web-scale infrastructure of EC2 and Amazon S3. Amazon ElastiCache provides in-memory caching for web applications. Amazon Flexible Payments Service (FPS) provides an interface for micropayments. Amazon Fulfillment Web Service provides a programmatic web service for sellers to ship items to and from Amazon using Fulfillment by Amazon. Amazon Mechanical Turk (Mturk) manages small units of work distributed among many humans. Amazon Product Advertising API formerly known as Amazon Associates Web Service (A2S) and Amazon E-Commerce Service (ECS), provides access to Amazon's product data and electronic commerce functionality. Amazon Relational Database Service (RDS) provides a scalable database server with MySQL and Oracle support. Amazon Route 53 provides a highly available and scalable Domain Name System (DNS) web service. Amazon Simple Email Service (SES) provides bulk and transactional email sending. Amazon Simple Storage Service (S3) provides Web Service based storage. Amazon Simple Notification Service (SNS) provides a hosted multiprotocol "push" messaging for web applications. Amazon SimpleDB, allows developers to run queries on structured data. It operates in concert with EC2 and S3 to provide "the core functionality of a database." Amazon Virtual Private Cloud (VPC) creates a logically isolated set of Amazon EC2 instances which can be connected to an existing network using a VPN connection. AWS Simple Monthly Calculator helps you estimate your AWS monthly costs. We need to review the project from 5 different object oriented perspectives: Data Encapsulation Data Abstraction Polymorphism Inheritance Message Passing DATA ENCAPSULATION: In a programming language encapsulation is used to refer to one of two related but distinct notions, and sometimes to the combination, A language mechanism for restricting access to some of the object's components. A language construct that facilitates the bundling of data with the methods (or other functions) operating on that data. On Amazon.com, the concept of data encapsulation is extensively used. Elements have been kept private to prevent unauthorized use for illegal purpose. For example, methods which are used for user login are not public. They have to be accessed privately. Also, when a user wants to buy or sell some product on Amazon.com, he/she is asked to login to make the transaction session more secure. Guest users can view the deals however, they cannot make bids. Also, guest user cannot even sell their items without logging in. So, conclusively, guests cannot access private data elements. However, the Administrator has the authority to make any updates to private or public data. DATA ABSTRACTION: Abstraction captures only those details about an object that are relevant to the current perspective. Abstraction tries to reduce and factor out details so that the programmer can focus on a few concepts at a time. The major purpose of a database system is to provide users with an ‘abstract’ view of the system. The system hides certain details of how data is stored and created and maintained. In other words, the actual physical low level implementation details are hidden. Complexity should be hidden from end users. Even in the user category is divided into guest and member. The users need not know which category in the database they belong to or how that category is implemented in the database system or where it is stored. Guests have rights to access public methods but guest can login(after creating an account on Amazon.com) and can access more private information and update it. INHERITANCE: In object-oriented programming (OOP), inheritance is a way to reuse code of existing objects, establish a subtype from an existing object, or both, depending upon programming language support. Inheritance is a feature of Amazon.com as each product inherits its id from the product class subclass hierarchy. In fact, all elements/instances get their unique id inherited from their superclass. For example, a particular transaction (instance of transaction class) will get its id from concatenation of ids generated by the superclasses such as Product, Buyer, and Seller. Also, any product posted by a member on Amazon.com will get its id on the basis of the super classes (direct as well as indirect) it belongs to. Polymorphism: Polymorphism in the context of object-oriented programming is the ability to create a variable, a function, or an object that has more than one form. The purpose of polymorphism is to implement a style of programming called message-passing in the literature, in which objects of various types define a common interface of operations for users. The payment processing class shows a striking example of polymorphism. For example, the method for payment processing takes parameters amount and card number. The second parametercard number can be of string data type or int data type. Thus we have 2 functions with same name, viz. paymentProcess( int AMOUNT, String CARD_ID) paymentProcess( int AMOUNT, int CARD_ID) MESSAGE PASSING: Message passing is the paradigm of communication where messages are sent from a sender to one or more recipients. Forms of messages include (remote) method invocation, signals, and data packets. Amazon.com has implemented message passing. We can see the message passing paradigm when case of search method. When a search method is implemented, the result of that method is send to another search method for further refinement of the result on the basis of user selected constraints. For example, user wants to search a mobile phone in used condition within a price range of Rs. 1000-2500. In this case, the first search will return all the products from mobile phone category which will be passed to another search function which will refine the previous result on the basis of price range. Here, we see that query optimization plays an important role to avoid unnecessary passing of huge messages between multiple search methods. ADVANTAGES OF Amazon.com: Amazon.com saves lots of money since less involvement of brick and mortar. Amazon.com saves money spent in terms of employee salaries. The site provides anonymity to the customer. The products can be reviewed by the customers. The site offers extensive variety of products. Searching products on the basis of certain criteria is possible. Multiple modes of payment are possible. Global services. Amazon.com provides many more features besides the core ecommerce. DRAWBACKS OF Amazon.com: Limited numbers search queries for the users. Servers incapable of handling high traffic burst. Limited decentralization. The actual product might differ from its display image. Uniform quality of service is not ensured, globally. Amazon.com is not dial-up friendly. It cannot ensure the reliability of the review. It follows a bad practice of copying the reviews of old book editions to new book editions even though they have different content. Amazon.com does not have cash-on-delivery mode of payment. CONCLUSION: Thus, the e-commerce site Amazon.com has been reviewed on the lines of object oriented programming paradigm and a brief analysis has been presented about its pros and cons.