代写 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