Creating a Online Music Store
using Amazon Web Services
Final Project CS633:851
Joe DosAnjos ~ Puneet Kaur
Deepti Madiraju ~ Slavica Pepovska
Prem Saggar ~ Nashid Salahuddin
Arun Sharma ~ Glenn Pozo
NJIT
Project Description
Creating a web site that will connect to
Amazon Web Services and successfully
draw all the music products available on the
Amazon Server
Users are able to search our web site for
music products which connects to Amazon
using web services, and purchase products
through Amazon‟s shopping process
2 11/10/2011
Project Description (2)
Users are able to view our “Top Ten”
searches (what people are looking for),
which we are tracking in our MySQL
database
Users are able to sample mp3 music on our
web site, using the MP3 widget
3 11/10/2011
Project Design/Requirements
For this project, the team decided to use agile
software development with rapid prototyping
Considering the fact that our requirements
frequently changed and evolved throughout the
project life-cycle, agile methods were the most
well suited for the task at hand
Project was frequently adapted to the business
needs and allowing timeframe, where teamwork
was constantly promoted to create balance
between requirements and deliverables
4 11/10/2011
Project Design/Requirements
Team meetings conducted every 2-3 days
Recorded sessions from the meeting were
posted on Moodle the following day
Requirements:
Install and setup applications needed for the
project
Design 3-tier client/server project (Presentation
Layer, Application Layer and Database Layer)
Use Amazon Web Services
Use a professional database
Create a presentation
5 11/10/2011
Project‟s Architectural Diagram
6 11/10/2011
Project‟s Sequence Diagram
7 11/10/2011
Project‟s Use Case Diagram
8 11/10/2011
Project DFD Diagram
9 11/10/2011
The Purpose of the Project
To show Development of a 3-tier client
server project
To demonstrate Amazon Web Services
concepts
To illustrate connectivity to a professional
MySQL database
To implement a distributed system using
J2EE technologies
10 11/10/2011
Major technologies used
JDBC Apache Tomcat Server
JUnit SOAP
Java Web Services
SQL Test Driven Development
JSP/Servlets
11 11/10/2011
WAR File
The code was distributed between the
developers in a war file (web application
archive)
War file contained our JUnit tests, Java server
pages, HTML pages, Servlets and Java classes,
xml files
12 11/10/2011
Amazon Web Services
One of the requirements for this project was to
use Amazon Web Services (AWS)
AWS is a collection of services offered from
Amazon via the Internet
For our project we used:
Amazon Elastic Compute Cloud (EC2)
Amazon Widgets
Amazon Associates Web Service (A2S,
formerly Amazon E-Commerce Service or ECS)
13 11/10/2011
Amazon Elastic Cloud (EC2)
Amazon Web Service that allows users to
rent computers and install their own
applications on them
For our project AWS was donated to NJIT,
so we as students can gain experience in
cloud computing
Amazon virtual server is monitored with
Xen system
14 11/10/2011
EC2 continued
XEN system is virtual monitor that allows
for several operating systems to be
installed on the same computer hardware
XEN is structured with hypervisor, which
lies in the most privileged layer
Hypervisor monitors the operating
systems installed in the upper layers
across the physical CPUs
15 11/10/2011
EC2 continued
Currently supported operating systems are
Solaris, Linux and NetBSD (Unix
derivative OS)
For our project we used a Linux operating
system
16 11/10/2011
Amazon Associates Web
Services (A2S)
Part of the Amazon Web Services
It is a application programming interface
(API) that can be accessed with SOAP or
REST protocols
For our project we used SOAP protocol to
access the web service. We chose SOAP
because Amazon SOAP is more mature
and well documented vs REST
17 11/10/2011
Amazon Associates Web
Services (A2S)
A2S allows developers to retrieve
information from Amazon‟s product
catalog, including images, product
descriptions, reviews; and interfaces with
shopping carts
For our project we decided to retrieve
information on music products available in
Amazon‟s catalog
18 11/10/2011
Amazon Widgets
Part of Amazon Web Services
Customizable elements (via web interface)
that users can deploy to their web site to
feature products from Amazon‟s Catalog
For our project we used Carousel Widget,
and Mp3 Widget
For the widget to work we need JavaScript
and Flash enabled
19 11/10/2011
Location of the project
http://174.129.241.187:8080/AmazonWebPr
oject/WebContent/index.jsp
Click on the link above to go to the working
Implementation of the Music Store Project
20 11/10/2011
Screenshots from the
working project
21 11/10/2011
Screenshots from the
working project cont.
Previous slide provides a view of the searched
results from the Amazon‟s product catalog in
the left column when the user on the web site
typed justin timberlake in the search box
Note that on the right column justin timberlake
is displaying a count of 6 searches in the
music category. This shows that justin
timberlake was searched 6 times on our web
site in the music category
22 11/10/2011
Screenshots from the
working project cont.
23 11/10/2011
Screenshots from the
working project cont.
The previous screenshot provides a view
from our MySQL database, showing the
count of searches for a Search_String „justin
timberlake‟. Please note that the 2 instances
for category All, were from the early stages
of our development stage, after which we
decided to delete this category
24 11/10/2011
Screenshots from the
working project
25 11/10/2011
Screenshots from the
working project cont.
The previous screenshot provides a view
from our web site, showing results from the
search „madonna‟
Please note that now on the right column,
the count for Madonna has increased to
value 7, vs the previous screenshot which
showed value of 6
26 11/10/2011
Screenshots from the
working project cont.
27 11/10/2011
Screenshots from the
working project cont.
The previous screenshot provides a view
from our MySQL database, showing the
count of searches for a Search_String
„madonna‟ as 7
28 11/10/2011
Screenshots from the
working project
29 11/10/2011
Screenshots from the
working project cont.
The previous screenshot provides a view
from our mp3 clips page, showing the
Amazon widget where users can sample
mp3 music available in the Amazon‟s
product catalog
30 11/10/2011
Screenshots from the working
project (contact page)
31 11/10/2011
Screenshots from the
working project (help page)
32 11/10/2011
Conclusion
Controlling an unpredictable project is a huge
responsibility. Quality team work is especially
important when using a agile software
development approach for the project,
because everyone‟s work is dependent upon
fellow team members. As an example,
frequent communication between agile team
members plays a vital role in the success of
the project's longevity
33 11/10/2011
Conclusion cont.
In our project, we played the role of both, the
customer and the developer, and our
adaptation to requirement changes were
easier than typical real world projects, where
the customer will probably want to stick to the
original idea and the developers will have to
make sure that those requirements are met
(depending on budget and resources
available for the particular project)
34 11/10/2011
Conclusion cont.
As any other project, time restrictions played
an important role in our project and were the
main reason for our requirement changes.
Example: We originally decided to implement
our own shopping cart, but because of time
restrictions of the project, we changed the
requirement and decided to use Amazon‟s
shopping cart instead
35 11/10/2011
References
https://widgets.amazon.com/
https://affiliate-program.amazon.com
http://aws.amazon.com/
http://aws.amazon.com/ec2/
36 11/10/2011