CSE445 Assignment/Project 3 Spring 2023
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 doesn’t 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.
2023-04-05