Student Team Presentation using AWS with MySql

advertisement

NJIT

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

2

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

4/10/2020

3

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

4/10/2020

4

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/10/2020

Project Design/Requirements

5

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

4/10/2020

Project’s Architectural Diagram

6

4/10/2020

Project’s Sequence Diagram

7

4/10/2020

Project’s Use Case Diagram

8

4/10/2020

Project DFD Diagram

9

4/10/2020

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

4/10/2020

11

Major technologies used

 JDBC

 JUnit

 Java

 SQL

 JSP/Servlets

 Apache Tomcat Server

 SOAP

 Web Services

 Test Driven Development

4/10/2020

12

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

4/10/2020

13

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)

4/10/2020

Amazon Elastic Cloud (EC2)

14

 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

4/10/2020

EC2 continued

15

 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

4/10/2020

16

EC2 continued

 Currently supported operating systems are

Solaris, Linux and NetBSD (Unix derivative OS)

 For our project we used a Linux operating system

4/10/2020

Amazon Associates Web

Services (A2S)

17

 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

4/10/2020

18

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

4/10/2020

Amazon Widgets

19

 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

4/10/2020

20

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

4/10/2020

Screenshots from the working project

21

4/10/2020

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

22 site in the music category

4/10/2020

Screenshots from the working project cont.

23

4/10/2020

24

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

4/10/2020

Screenshots from the working project

25

4/10/2020

26

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

4/10/2020

Screenshots from the working project cont.

27

4/10/2020

28

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

4/10/2020

Screenshots from the working project

29

4/10/2020

30

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

4/10/2020

Screenshots from the working project (contact page)

31

4/10/2020

Screenshots from the working project (help page)

32

4/10/2020

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

4/10/2020

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

4/10/2020

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

4/10/2020

36

References

 https://widgets.amazon.com/

 https://affiliate-program.amazon.com

 http://aws.amazon.com/

 http://aws.amazon.com/ec2/

4/10/2020

Download