Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit

CSE445 Assignment/Project 3 (100 Points)

Spring 2023

Introduction

The aim of this assignment is to make sure that you understand and are familiar with the concepts covered in the lectures, including service development, service registration, service deployment, service hosting, service proxy, service binding, service invocation, and application building using your own services and public services. By the end of the assignment, you should have applied these concepts in programming your services, deploying your services, and have used your own services and public services to compose your SOC applications.

This project is an individual project. Web Services developed will be deployed in the WebStrar server in phase 3

Section I Practice Exercises (No submission required)

No submission is required for this part of exercises. However, doing these exercises can help you better understand the concepts and thus help you in quizzes, exams, as well as the assignment questions.

1.      Reading: Textbook Chapter 3 and Appendix C.

2.      Answer the multiple choice questions 1.1 through 1.16 of the text section 3.10. Study the material covered in these questions can help you prepare for the class exercises, quizzes, and the exams. Answer keys to the questions can be found in the course web page. To better learn these concepts, you should do the exercises based on your understanding, and then check the answer keys.

3.      Study for the questions 2 through  16 in text section 3.10. Make sure that you understand these questions and can briefly answer these questions. Study the material covered in these questions can help you prepare for tests and understand the homework assignment.

4.      Questions 17 through 19 are largely covered by the assignment questions in Part II.

Section II    Assignment/Project Questions (Submission required)

The purpose of this project is to exercise service development, service deployment, service discovery, remote binding, and application composition using your own services and external public services. Some of the services to be developed can be synthetic, e.g., banking service, while others can be realistic, e.g., en/decoding, en/decryption, and product catalog. However, you should make your services and overall application as realistic as possible. The project will be completed in the following parts.

Part 1 Requirement Document : Proposing a Service Oriented Application                           [15 point]

Due by 11:59pm of March 30th , 2023, in Canvas. This is individual submission.

1       The requirement document will be submitted in PDF format and contain the following contents.

1.1    Description of the service-oriented computing system that you plan to develop. Simply taking an idea

that you found from the Internet or from others is not acceptable.                                                    [5]

1.2    A diagram showing the overall system design, its layers, components, and the connections among the

services. A sample diagram is given in Figure 1 (Note: This only an example, you need to provide a similar diagram for your application). You must come up with your own system. You will not implement  the  application  logic  layer  of system  outlined  here  in  this  assignment.  It  will  be implemented in assignment  5. The focus of this assignment is to develop and deploy the web services outlined in this requirement document. Thus, you must pay more attention to the services in

this assignment.                                                                                                                                  [5]

End Users           Presentation Layer          Application Logic Layer                       Wen Services                       Data

Management Layer

Encryption services

Bank services

Add to Cart

. .

Delivery services

Figure 1. A sample of a four-tier service-oriented computing system

1.3  The application proposed in the previous question will use many web services. Provide a List of web services (develop your own) you may need to implement your application. Minimum 5 web services need to be identified. List of web services that you can use are given with this homework. Select two web services from the list of web services given. You can propose other three web services your own [5]

Web Service

Description of the functionality requirement of web services

 

 

 

 

 

 

 

 

 

 

 

 

There are two types of services to be developed in this assignment: required services and elective services. The required services will be developed in Part 2 and the elective services will be developed in Part 3.

Part 2:Required Services and (TryIt) Test Pages                    [25 points]

Due by 11:59pm of April 3rd , 2023, in Canvas. Individual submissions:

In this phase, you will be developing a selected required services and a try it page for the services and submit your project as a zip file that contain all the files needed to download and run. The zip file must contain the required service you have selected to implement and the associated TryIt page for the web services (Try it page must be a Web Site Application).

2.1    Required Services                                                                                          [15]

A set ofrequired services and their requirements are listed in a separate document named List of Required Services” . You will develop one web service from a list of required service. This service can be either SOAP or RESTful. For the elective services in the next section, you will be asked to develop at RESTful service.

2.2    TryIt (Test) Pages of the Required Services                                  [10]

What is a TryIt page? It is a simple Web Site application that allows you to test your services. The    TryIt page mainly provides a GUI for the input and output of a Web service or multiple Web services.

For each service and operation that you developed, you must develop a TryIt page to allow the human user to test the service. The TryIt test page must contain the following contents:

(A) A sentence to describe the functions of each service (operation)

(B) The URL of the service

1.   For Part 2 submission: use the localhost URL of the service.

2.   For the final submission in Part 3, the service URL of each service must be used in the TryIt page. No localhost addresses can be used. For the required services, you can       develop SOAP or REST service. For the elective services in Part 3, you must develop RESTful services.

(C) Method names, with parameter type list and the return type for each endpoint.

(D) Text boxes for entering inputs

(E) Invoke buttons to call the services

(F) A place (e.g., label) to display the service response (output)

The service and its TryIt page will be tested on localhost in the part 2 submission. To make sure the TA can test your services and TryIt page on their computers, you must download your submission and test your submission on a different computer before submission.

Here are some examples of a try it  pages

https://venus.sod.asu.edu/wsrepository/Services/FileServiceTryIt/

https://venus.sod.asu.edu/WSRepository/services/HashSha512TryIt/TryIt.aspx

Part 3  ElectiveServices Development

[50 points]

In this part, you will develop the elective services and their TryIt page(s).

Due by 11:59pm of April 6th , 2023, in Canvas and in the Server. (1) You must submit one zip file into Canva containing your elective services. The zip file must contain two elective services and their TryIt page(s) developed in this part of the assignment.

Note: For this part, start from the project your developed for part 2 above and add the two elective services and tryIt pages

3.1    Elective Services:

You are required to develop two elective services proposed in part 1. The elective services should be related to the scope defined in question 1. One can choose the required services as elective services as long as you did not implement it for part 2. Elective services must be developed as RESTful services that returns Complex JSON results for API invocation. Here complex mean that the API should return user defined data type such weathermap and google new app examples discussed in the class.

[20 points for 3.1]

To obtain the full points in question 3.1 you are expected to develop two REST web services that can be considered as  challenging” .

Challenging services that require at least 50 lines of code and use states or files, such as creating a simulated (synthetic) banking service that allows users to sign up, create an account, deposit funds, spend funds, etc.; or services that make use of multiple available services (operations) or APIs provided by other providers, such as Amazon’s services, Microsoft services (e.g., Bing map service),

Google code’s APIs, or the ASU services. Your services must provide RESTful interfaces. The data received from other services should be processed and combined before returning it to the clients. The given required services are examples of challenging services. If you choose to implement these services, they count as challenging services. Database is not allowed in this assignment. [15 each]

3.2    Development of TryIt Pages for Elective Services                                               [20 points for 3.2]

You must develop a TryIt test page for elective services. The requirement is the same as defined in question 2.2.

3.3    Deployment of Required Services, Elective Services in the server [10 points]

All the services (required and elective) must be deployed into the WebStrar server. You must deploy the required web services you have developed in part 2 and two elective web services developed in part 3 to the server. Use the three folders assigned to you to deploy your web services. Provide links for your web services deployed on the server.

Part 4  Main Page andServer Deployment                                                                               [10 Points]

Due by 11:59pm of April 8th , 2023, in Canva and into the Server.

Develop a Web Site application that combines all the Try it pages of your web services. Before deploying the TryIt pages, you must change all the service references from localhost addresses to the server addresses, so that the services can be tested from the server. This Web Site application doesnt need to be deployed in the server, only Web Services. Your website application should

have the following user interface.

(Here is an example:https://venus.sod.asu.edu/WSRepository/repository.html)

Service Directory

This project is developed by: Put your name here.

Service name, with input and output types

TryIt

link

Service description

APIs/Web Service Methods

Require Service

Try It

 

 

Elective Service 1

Try It

 

 

Elective Service 2

Try It

 

 

Grading

We will grade each program or service following these steps:

(1) We will read the code and give points based on the points allocated to each component, the readability of your code (organization of the code and comments), logic, inclusion of the required functions, and correctness of the implementations of each function.

(2) Compile the code. If it does not compile, 40% of the points given in (1) will be deducted. For example, if you are given 20 points in step (1), your points will become 12 if the program fails to compile.

(3) If the code passes the compilation, we will execute and test the code. This can be on local machine or on the Web, depends on the assignment specification. If, for any reason, the program gives an incorrect output or crashes for any input, 20% of the points given in (1) will be deducted.

Please notice that we will not debug your program to figure out how big or how small the error is. You may lose 40% or 20% of your points for a small error such missing a comma or a space!

Late submission deduction policy:

•   10% will be deducted if the submissions that are received within 24 hours of the given due date;

•   Late submissions after 24 hours will NOT be accepted!

Where to Submission?

All submissions must be electronically submitted to the assignment folder where you downloaded the assignment paper. All files must be zipped into a single file. Make sure you submission has all the required files before submitting.