代写 COS80001 - Software Development for Cloud Computing
100%原创包过,高质代写&免费提供Turnitin报告--24小时客服QQ&微信:120591129
代写 COS80001 - Software Development for Cloud Computing
Faculty of Science, Engineering and Technology Swinburne University of Technology
COS80001 1
COS80001 - Software Development for Cloud Computing
Assignment 2: Web album with Amazon EC2 and S3
- Graded as Pass (1) / Fail (0) (Individual Work)
Due: Week 5 (at your allocated lab on Tuesday Apr 05 or Thursday Apr 07, 2016)
- Hardcopy at the start of lab session, identical softcopy to Blackboard
Objectives
1. Learn to use AWS S3 with AWS console and S3 APIs
2. Learn to program in JAVA and JSP to communicate with AWS S3
3. Create your own photo album Website with AWS EC2 and S3
Content
The photo album will be deployed in the EC2 instance created in Assignment 1. For
data storage, the photos, originally on your local computer, will be stored on Amazon
S3 afterwards. Detailed activities are listed as follows:
1. Create your bucket in S3 (one off)
2. Create your Access Keys (one off)
3. Learn to program using Java in JSP pages
4. Learn to upload and display your photos with S3 API in AWS SDK.
5. Create your own Web photo album on AWS
Activity 1: Create your bucket in S3 (one off)
Amazon Simple Storage Service (Amazon S3 for short) is a Cloud storage service
provided by AWS. You can use S3 to store and retrieve any amount of data at any
time, from anywhere on the Web. S3 stores data in the form of objects within buckets.
An object can be redeemed as a file plus the metadata that describes that file.
In order to create a bucket in S3, sign in with your Amazon account and open the
S3 management console. S3 management console is similar to Figure 1.
Faculty of Science, Engineering and Technology Swinburne University of Technology
COS80001 2
Figure 1
Now you can create your bucket. The bucket name is global which means you
need to set an identical bucket name. You must select “Sydney” as your region, as
shown in Figure 2. After creation, you can select your bucket to create a new folder or
upload any files to this bucket directly.
Figure 2
By default, the bucket as well as the files uploaded are only accessable by
yourself. In order to allow users to access object in your bucket via the Internet,
please add bucket policy accordingly (see Figure 3 where the policy is specified in the
2 nd link below). For details of the bucket policy and editing object permissions, please
refer to the following links:
http://docs.aws.amazon.com/AmazonS3/latest/UG/EditingPermissionsonanObject.html
http://havecamerawilltravel.com/photographer/how-allow-public-access-amazon-bucket
Faculty of Science, Engineering and Technology Swinburne University of Technology
COS80001 3
代写 COS80001 - Software Development for Cloud Computing
Figure 3
Note
1. For this assignment, please upload files with the size as small as possible. On one
hand, it takes time to upload a very large file. On the other hand, the storage of the
file will be charged by AWS. Therefore, in general you should not upload the file
that is more than 100KB.
2. You can access the file via Web browser by using its link. Simply select the file
and click “properties” on the upper right corner, and you can find the link shown.
Activity 2: Create your Access Keys on AWS (one off)
In order to programmatically request AWS services, e.g. upload/download files in
S3 bucket, Access Keys are required. Access Keys are security protections that will
prevent other users to access your own resources on AWS. Please follow the steps to
create your own Access Keys:
1. Sign in with your Amazon account. On top right of the AWS home page,
you can see your name. Click your name-> Security Credentials. You
will be redirected to the Security Credentials management page which is
similar to Figure 4. Click “Continue to Security Credentials” to disable
the popup dialog.
Faculty of Science, Engineering and Technology Swinburne University of Technology
COS80001 4
Figure 4
2. Click “Access Keys (Access Key ID and Secret Access Key)” ->
“Create New Access Key”. Then your keys including Access Key ID and
Secret Access Key will be created automatically. You MUST download
and save your key file to a safe place in order to use them later while
creating your own web photo albums on AWS. You can also view your
key file on the page similar to Figure 5.
Figure 5
Activity 3: Learn to program using Java in JSP pages
In Assignment 1, the “Hello World!” example implemented in Java and JSP page was
provided. In that assignment, we mentioned that you can get the source code of the
application. After you have read the source code, you can have a basic understanding
for Java programming in a JSP page. However, in order to complete this assignment,
you need to get familiar with how to call Java method and output HTTP code in JSP
pages. Here, we provide materials related to Java programming within JSP pages. By
learning these materials, you will be able to use JSP page to upload photos on your
local computer to the Tomcat Web server in your EC2 instance.
Faculty of Science, Engineering and Technology Swinburne University of Technology
COS80001 5
First, you need to get familiar with the JSP page structure and learn how to insert
Java codes into a JSP page. Please refer to the following link or similar tutorials:
http://www.ntu.edu.sg/home/ehchua/programming/java/JSPByExample.html
Second, you need to learn to write Java code and edit JSP pages in Eclipse. Please
refer to the following link or similar tutorials:
http://www.javatpoint.com/creating-jsp-in-eclipse-ide
Third, in order to transfer data to the Tomcat Web server in your EC2 instance,
you need to know how to use forms in html. Please refer to the following link or
similar tutorials:
http://www.w3schools.com/html/html_forms.asp
Fourth, in order to upload a local file to the Tomcat Web server in your EC2
instance using JSP pages, you need to learn how to use html forms in
“multipart/form-data” format and use Java to parse the file as well as other useful
information. Please refer to the following link or similar tutorials where Java code
template is available at:
http://corejavaexample.blogspot.com.au/2013/04/how-to-upload-file-in-jsp.html
Activity 4: Learn to upload and display the photo album with S3 API
in AWS SDK
By learning the related skills addressed in the previous activity, now you are able to
upload your photos from your local computer to the Tomcat Web server in your EC2
instance. Once a photo is uploaded to the Web server, you need to learn how to store
it in S3 by using AWS S3 APIs. Please refer to the following link or similar tutorials
where Java code template is available at:
http://www.stefanolocati.it/blog/?p=786
Also, you need to learn how to get all the addresses of the photos in your
bucket/folder, so that you can list them and show them in the JSP page. Please refer to
the following link or similar tutorials where Java code template for listing an S3
bucket’s content is available at:
https://ceph.com/docs/master/radosgw/s3/java/
Note
A photo can be processed as a byte array and uploaded to S3 like that. In order to
retrieve the byte array as a photo again, simply output the byte array to a file and set
the corresponding file name extension.
Activity 5: Create your own Web photo album on AWS
After completion of the above activities, now you should have sufficient knowledge
to create your own Web photo album on AWS using EC2 and S3. Similar to the
“Hello World!” application in Assignment 1, the photo album should be a Web site
Faculty of Science, Engineering and Technology Swinburne University of Technology
COS80001 6
that interacts with users via JSP pages. On one hand, it receives the upload request
from the user side and parses the photo from the posted content. On the other hand, it
stores the photo in S3 and returns the photo address back to the user so that the
photo(s) in S3 can be viewed.
Based on Activity 2, you are able to upload your photo files with HTML forms
into the Tomcat Web server in your EC2 instance. Based on Activity 3, you are able
to make the uploaded photo files stored in S3. In addition, based on Activity 3, you
are also able to retrieve the address of the photo files in S3.
For completing all the functions of the photo album, you may need to create
several JSPs. For example, one can be for uploading photos and one can be for
displaying all photos. Here we demonstrate a simple photo album example to give you
a direct look-and-feel of what the photo album should look like as shown in Figures 6
and 7. Figure 6 shows the JSP page for uploading a photo and Figure 7 shows the JSP
page for displaying the photos.
Figure 6
Figure 7
Note
1. On all the desktops in the Faculty Computer Labs, we have set up the software
development environment for you. For accessing all the applications, their paths
in the lab computers are given as follows:
JDK: C:\Program Files\Java\jdk1.8.0_72
Eclipse for J2EE developers: C:\Program Files\Eclipse IDE for Java EE
Developers Mars.1\eclipse.exe
Tomcat: C:\Program Files (x86)\apache-tomcat-8.0.30
2. For setting up the environment on your own computers for improving your
productivity, we provide a guideline which is available on blackboard along with
assignment specification.
3. For making the photo album, you should create a Dynamic Web Project in Eclipse
Faculty of Science, Engineering and Technology Swinburne University of Technology
COS80001 7
for J2EE developers for development before you deploy on AWS. In order to use
the AWS APIs, you need to import AWS SDK into your development
environment as described next. Please note that you cannot just add them into the
libarary of the “Java resources”, as they may not be packaged into the WAR file.
Our solution is to import all the JAR files required for AWS into the “lib” folder
(project -> WebContent -> WEB-INF -> lib) and add these files into the build
path. After this step, you are ready to develop your Web photo album. We have
uploaded the required JAR files to S3. You need to download the following 20
files (See Figure 8) via the following address:
https://s3-ap-southeast-2.amazonaws.com/cloudcomputingunit/AWS_JARs.zip
Figure 8
4. After developing your photo album Website locally, you need to export your
Dynamic Web Project as war file (*.war) to your local drive. Then you can
upload the war file, which is rather big due to packages listed in Figure 8, into the
“webapps” directory of Tomcat Web server in your Windows EC2 instance on
AWS.
5. In order to show a photo in a JSP page, you can add an HTML image tag, i.e.
“<img src='address of the photo'/>”. When the JSP page is running,
the photo will be displayed.
6. You need to (re)start your EC2 instance created and stopped before. After you log
Faculty of Science, Engineering and Technology Swinburne University of Technology
COS80001 8
on to AWS, go to “Instances”, you can find your own EC2 instance. Similar to
“stop” that you did before, you can “start” it. Again, do not forget to stop your
EC2 instance at the end of your activities to avoid the unnecessary cost charged by
AWS.
Submission
You are required to submit a report focusing on the tasks listed in Activity 5 –
softcopy to Blackboard and an identical hardcopy at the start of your lab session for
marking:
1. The document must contain your name, student id, and unit code as well as a title
(e.g. Submission for Assignment 2).
2. Screenshots similar to Figures 6 and 7 to show your pages for uploading a photo
from your local computer and displaying stored photo(s) on S3 via Web browser.
3. A list of JSP / Java programs with source code in the report. All source code
MUST be submitted in plain text format in the report so turnitin can check for
plagiarism. Your programs should have some basic comments for understanding
you code.
The report is assessed and returned to you in the lab session with feedback if any. You
are expected to incorporate the feedback (esp. if changes are required) and submit the
changed report as part of the final portfolio.
Note
This is a formative assignment. That is, an assignment designed to provide feedback.
If you fail this assignment, you have 1 week to make corrections and resubmit to pass.
Demonstration
You will be asked to demonstrate your assignment in the lab. For demonstration, you
need to have one photo already in S3 and then you demonstrate that you can upload a
new photo first and display both photos afterwards, i.e. existing one and newly
uploaded one.
FAQ
What happens if assignment submission is graded as a ‘fail’?
You will have to repeat the task and submit in the following week’s lab session.
Students can repeat the task and submit for feedback again. If your submission is
graded as ‘fail’ twice then you may fail this unit.
Faculty of Science, Engineering and Technology Swinburne University of Technology
COS80001 9
What happens if a student is unable to submit the assignment?
If you are unable to submit due to medical reasons, then a doctor certificate will have
to be shown. In normal conditions, all students are expected to make a submission by
the due date, otherwise the assignment is graded as a fail.
代写 COS80001 - Software Development for Cloud Computing