31284 Web Services Development Asignment – Autumn Semester 2018 DUE DATE: Week 11, 11:00PM Thursday 31 May 2018 Weighting: 40% of your final grade Group work: This is a group asignment, normaly to be done in teams of three (3). Other team sizes wil only be permited where the number of students in a clas is not divisible by three, and only with the permision of the subject coordinator. Team sizes other than three may have the requirements described in this document adjusted to reflect the number of team members. It is not permited to leave a group to work alone or join another group after the groups are finalized in wek 6 (Asignment release wek). A penalty of 50% towards the asignment mark wil apply to the leaving student. This asignment must be the original work of your team. Plagiarism, including copying or sharing code betwen teams or taken from other sources, may result in an alegation of academic misconduct being made against you. Please read the section on Academic Standards. Late submisions/ Special consideration: Asignments submited after the deadline wil be deducted 8 marks out of 40 per calendar day (including wekends, holidays, working days). If the asignment is submited more than five calendar days late, the asignment wil receive zero. Special consideration, for late submision, must be arranged with the Subject Coordinator before the asignment deadline. When requesting special consideration, documented evidence of ilnes or misadventure must be provided. Objectives This asignment addreses the following subject objectives: 1. Describe and evaluate typical application architectures and requirements for web-based applications 2. Discuss some of the isues of designing web-based applications in an e-busines context 3. Describe the roles and uses of web-based applications in organizational contexts 4. Apply concepts of information representation and parsing, in the context of XML and other relevant standards for information interchange 5. Describe and evaluate different technology options available for the development of web-based applications 6. Develop a smal, distributed web-based application based on existing software libraries. Asignment Overview This asignment consists of 2 parts: development of a medium-sized web application incorporating web services and production of a report that contains analysis, architecture, reflection, chalenges and research based on references in neatly formated bibliography. Part 1 – Web Aplication and Web Service For Part 1 of the asignment, you are to develop a web application and web service using technologies and techniques taught in this subject as per the guidelines below. Your task is to develop a site and web service for alowing students to post advertisements for selling second hand text books. The web interface should alow users to: • Main page: Shows a list of titles of available textbooks for sale. For each book title, the minimum information to be shown is the book title, book author, category (e.g. Computer Science, Biology, Physics etc.) and the number of textbooks with the title. Textbooks with the same title wil be only listed as one item in the main page. Users can click on a book title on the main page to be taken to the book detail page. • Book detail page: Shows a list of textbooks with the selected title. For each book, in addition to the information listed in the main page, this page should also show short text (abstract) of the book and the username of the student who listed this book, publication data (e.g. ISBN, edition, year of publication, publisher name), and the condition of each book (i.e. As new, Good, Fair and Poor). • Reserve book page: A user can reserve a particular book by inputting his/her name and email addres. For this exercise, the user’s name and email should be simply stored in an XML file. Note: behind the scenes, the list of textbooks and user reservations should be stored in XML. Each team can design their own XML format, but it should at least store a unique id for each textbook, and there should be a way to uniquely identify the user who created the listing (e.g. username). Your application should also maintain information about the users placing listings (“textbook listers”), and should alow these people to: • Login and logout. • List a new textbook. • Delete an existing textbook. • View a list of their own listings • When clicking on a listed textbook, show the reservation information. Note: users are the general public who dont need to login. Textbook listers are users who must first log in. Al listed textbooks should be visible to al users. Reserved books should be shown as “reserved”. You do not ned to alow new textbook listers to register. It is sufficient to create a predefined set of textbook listers in XML. For this asignment, 3 or 4 listers would suffice. On the web service side, you wil need to do the following: • Create a REST web service alowing a client to fetch a list of textbooks in XML format, acording to given URL parameters. Possible parameters are the lister (a username of a textbook lister), the status (reserved or not reserved), or the condition of the books. Any or al (or none) of these parameters may be specified simultaneously, and your web service must filter the returned list acording to al parameters that were given. If no parameters are given, al listings should be returned. • Create a SOAP web service alowing a client to: o List a textbook, o fetch a list of al textbooks, and o delete a listed textbook. User authentication information (for textbook listers) must be provided for listing and deleting a textbook, as only listers have permision to perform. these operations. Retrieving a list of textbooks can be done without authentication. If the username and pasword provided are incorrect, the operation should not be performed. If succesful, the method for listing a textbook should return the ID number of the textbook just listed. For the method to delete a textbook, if the specified textbook to be deleted does not belong to the authenticated person (i.e. it was a listing created by another person), then the operation should not be performed. Note: for this asignment, it is adequate to pas the username and pasword in an unencrypted form. as a SOAP mesage parameter. • Create a SOAP web service CLIENT as a standalone Java application (i.e. with a main method) that invokes each of the SOAP web service operations. Some additional requirements are as follows: • Al XML files should have a corresponding XML Schema, and you should write custom simple types to describe the format of your data precisely. You should use regular expresion for al fields. Al XML should be valid. • A reasonable amount of HTML output should be generated using XSL Transforms. It is OK if not every page is generated using XSL, but the main data-driven information should be presented using XSL. • Your web application and web services should perform. validation of inputs to prevent system crashes. In the case of your web application, you should display an appropriate error mesage if the user has inputted incorrect data, alowing them to re-enter the data. • The data validation should be server-side not client side (Do not use Java Script. or CSS for data input validation). Use in-line validation server side. • Your user interface should be wel thought out, providing a consistent look and feel on al pages, and providing useful navigation links. The user should be able to get to where he or she wants to go without ever having to click the browsers back button. • Your code should be wel designed. Do not place al code into your JSPs. Create reusable Java packages, and reusable beans. These beans can then be reused by both your web application and your web services. • Your code should be commented and neatly formated. • Al XML should be properly validated against their corresponding schemas. Al XML can be properly transformed into HTML output in Netbeans. No errors should occur during validation and transformation due to connection of XML, XSL, and Schema. • XML Schemas must use regular expresion paterns for al fields. • The esential functionality of the asignment must be implemented using technologies and techniques taught in this subject (Java, JSP, XML, XML Schema, XSLT, SOAP, REST, etc.). You can use other technologies (e.g. JavaScript, CSS), but they should only be used for non-esential functionality that enhances the overal user experience (Do not use Java Script. or CS for data input validation). However, it is neither required nor expected for you to use technologies that were not taught in this subject. In teams of three, each person in the team must take responsibility for roughly one third of the work. It is up to your team how you decide to split your work, and it is ultimately every team members responsibility to ensure that your team is working effectively. One possible breakdown of the work is as follows: • One student takes charge of the “data aces logic”, including designing XML file formats, reading and writing XML files, writing XML Schemas, and providing Java clases for these operations that can be used by other members of the team. • One student takes charge of the “busines logic”, including authenticating users, and writing code to perform. searches and filtering the data. The busines logic should also be provided as Java clases that can be used by other members of the team. • One student takes charge of the “presentation logic”, including al of the XSL transforms to display the web pages, basic error checking on data the user has input, and ensuring web pages are secure (restricted operations are not acesible to users who are not logged in, and there are no paswords in the URL!). • Al three students should share the work of building the web services (REST and SOAP) equaly. Note: Students wil be individualy asked to explain their own code (the code they say they contributed towards in the asignment) on Demo day. Failure to explain your own code wil negatively affect the mark of the whole group. As well as taking primary responsibility for one part of the asignment, students are also expected to work together and support each other as a team. Bonus (4 marks): When completing any two bonus tasks, you wil have the opportunity to earn extra 4 marks (the maximum marks for the subject is 100 and maximum 4 marks wil be given for completing bonus tasks). • Bonus task 1: Alow new listers to register. (2 marks) • Bonus task 2: On the main page, alow users to filter the listings shown based on the status of the listed textbooks (for example, only show un-reserved books). (2 marks) • Bonus task 3: Alow a user to cancel his/her reservation on a textbook. • Bonus task 4: The SOAP Web Service Client alows a user to reserve a textbook. (2 marks) Note: for a group of 4 students, Bonus tasks 1 and 4 are mandatory. Part 2 - Report Your team wil need to write a report (2,500-3,500 words) describing the design and architecture of your web application and web services. The report should be a word document named Group.doc. The report is composed of six sections: • Cover Page that contains the Group ID, also al students (Names, IDs) • Design and architecture • Individual reflections • Issues and chalenges • Research into solving the isues and chalenges &bu调试Web 编程作业、代做留学生Web Services Development 作业、 Autumn Semesterll; Bibliography Describing the application design and architecture Each team member should contribute to the report a description of the application architecture of the parts they developed. There should also be a section that describes the overal architecture of the web application. The architecture is a group task. There should be a unified architecture in the report. Diagrams (such as clas diagram) should be used to ilustrate the asignment architecture and demonstrate the web application components interactions in al layers. Reflection on experiences Each team member should write their own reflection of their experiences in developing the application. The reflection may contain (but is not limited to) which topics were most valuable, which topics were most chalenging, which topics were necesary to understand to make others fit into place. The individual reflections should also include the student experience working in a group. Discus isues and challenges This part of the report should be a group effort, summarizing what you feel are some of the key isues in the development of web applications and web services, and what tools, design paterns and other support is available to simplify these isues or chalenges. In this step the group should detailed create a detailed list of chalenges and isues encountered by the group during the application development Research The group should research external references (Web references, books, journals, conference papers) and atempt to find solutions for the chalenges and isues encountered during the application development. Bibliography The group should create a properly formated list of references used in the research section. References may include Websites, Books, Journals and conference papers. Overall The report should make it clear as to which team member wrote which section. This can either be done in a separate section of the report stating each person’s contribution, or identified throughout the report (for example, by putting team ember’s names next to report headings). In writing the report, take care to correctly reference al sources of information that you use, as described in the section on “Academic Standards” below. In particular, note that you should not cut-and-paste significant blocks of text from any other source (including web pages). Short quotes are aceptable, as long as they are clearly identified as quotes, and include an appropriate citation. Paraphrasing text with a citation included is also aceptable. Failure to properly acknowledge your sources may be regarded as plagiarism. You do not need to explicitly reference lecture or lab notes used in this subject. The overal report body should be around 2500-3500 words in length, excluding the cover page, table of contents, abstract, bibliography, statement of contributions, etc., if these are used. The report body is an average of 1000 words per person. Asignment Submision and Demonstration The two parts of the asignment are to be submited separately. The web application and web service are to be submitted as a single WAR file (or ZIP project), and submited to PLATE (se PLATE asignment submision for file submision) before the deadline. The WAR file (or ZIP project) must include source code for your system. The web application and web service file should be named: Group.WAR. In case your group is submiting a ZIP project to PLATE. Make sure you remove any extra JAR files to reduce file size before you export your asignment project to ZIP using Netbeans. The web application must also be demonstrated in person to your tutor in your lab class during Week 11 starting Monday 28 May 2018 or Week 12 starting Monday 04 June 2018. Al members of the team ust be present for the demonstration. Any team ember not present during the demonstration (without being granted prior permision) may have up to 50% of the marks for task deducted. During the demonstration, the tutor wil ask a variety of questions about the design and development of the application. If you are unable to answer questions about code that you have writen, it may impact your marks. The report is to be submited to UTSOnline via Turnitin. Turnitin wil be used to check the report for material taken from other sources. Failure to properly acknowledge your sources may be regarded as plagiarism. The report should be a word document named: Group.doc. Both files (Group.WAR and Group.doc) should be submited by the due date, otherwise late submision penalties wil apply. If either file is submited late then, the late penalty mentioned above wil apply to the group. Self and Per Asesment Group projects are a part of this subject because effective groups pool complementary skils and knowledge to achieve beter results. This is a highly desired atribute in al profesions. To give you feedback on your ability to work in a group and to modify your group mark for your individual effort, we wil ask you to rate your own contributions relative to the contributions of your peers. SPARK is a web-supported program for collecting these ratings. SPARK calculates various factors which are used to adjust your group mark and help you understand your ability and/or effort to work in a group. There is a link to aces SPARK from within this subject on UTSOnline. Initialy this asesment task wil be given a group mark. However your individual mark for the task wil be adjusted acording to the ratings from SPARK. From (Week 1, 31 May 2018 at 11:00 PM) until (Week 12, 7 June 2018 at 11:00 PM), you wil be asked to rate yourself and your team members against the following 4 criteria: • Performing tasks properly and on time as agreed by the group • Overal contribution to meting the application’s functional requirements • Overal contribution to meting the application’s quality requirements • Contribution of content for inclusion in the writen report The SPARK ratings collected after the task wil be used to adjust your individual mark. Completing SPARK ratings is a requirement of this asesment task and marks wil be deducted for non-completion. Marking Criteria The broad marking criteria for this asignment are as follows: Criterion Weighting (%) Functional requirements 60% Code style. and quality 20% Report 20% The requirements specified in this document are the minimum requirements for your solution. In other words, a solution that just mets the requirements documented here wil receive 50% of the available marks. To achieve higher marks, your deliverables need to demonstrate more than the minimum requirements. Note that this does not necesarily mean a larger quantity of features– preference wil be given to solutions that demonstrate a higher quality over those that provide more features but do so poorly. The marking criteria described here relate to the “group mark” for your project. As mentioned above, your individual mark wil be calculated by taking your group mark as a starting point and using information from SPARK to adjust it up or down. Note: Providing ratings in SPARK is a requirement of this asesment task. If you do not provide final ratings in SPARK within the required time frame, 5% wil be deducted from your own scaled individual mark (but no deduction for your team members). Meting the functional requirements is primarily about being able to demonstrate that your web application and web services are able to perform. the tasks required. Marks wil also be awarded here for choosing appropriate technologies or approaches for implementation. This wil be primarily asesed during the demonstration, and through your tutor asking questions of each team member about their part of the implementation. Coding style. and quality is judged based on the following criteria: • code modularity and reusability (code duplication kept to absolute minimum) • appropriate structuring of code into clases, methods, etc, or into templates for XSLT • code readability (formating) • code documentation (comments) • layout and design (of web pages) simple but profesional • error or warning mesages should be human-friendly or machine-friendly as required For the report, marks wil be awarded acording to the following criteria: • the acuracy of the architecture description; • the quality and depth of reflection; and • appropriate identification of isues and chalenges; • research to identify what is available to simplify isues and chalenges; • Bibliography (quality of reference sources, correct referencing technique). Academic Standards Students are reminded of the University’s rules regarding academic misconduct which can be found at; Asignments in this Subject should be your own original work. The inclusion in asesable work of any material such as code, graphics or esay text obtained from other persons or sources without citation of the source is plagiarism and is a breach of University Rule 16.2. Asking or paying anyone else to write any part of your assignments is considered cheating. This especially includes using outsourcing websites, and acceses to the subject data are monitored. If you are unsure if your activities (or other students activities) wil be considered cheating, ask your tutor or lecturer for advice. Al text writen in asignments must be your own words (or that of your team members), except for short, quoted, and clearly referenced sections. Text copied from web pages, articles or other sources, and not referenced, wil be viewed as plagiarism and reported as an alegation of academic misconduct. Referencing styles may be found at the UTS Library web site. Any collaboration with another person should be limited to discussing the general nature of the asignment, but not sharing specific solutions or code. Similarly, group work for this asignment should be the result of collaboration only within the group. Any infringement by a student wil be considered a breach of discipline and wil be dealt with in acordance with the Rules and By-Laws of the University. Students are not to give to or receive from any other persons outside their own group copies of their asesable work in any form. (hard copy or an electronic file). To do so is academic misconduct and is a breach of University Rule 16.2. That is, asisting other students to cheat or to act dishonestly in a submited asignment. Acidental submision of another group’s work as your own is considered to be a breach of University Rule 16.2 in that you are acting dishonestly since you should not have a copy of another group’s work. Specific conditions for this assignment: If any parts of your solution are based on existing code that is found on the web, in a book or generated by any software application apart from NetBeans (or code taken from any other source), you MUST acknowledge the source as a comment in your code. The only exception to this rule is for code supplied in the subject’s lab exercises. Acknowledgement is required even if you start with existing code and make modifications. Failure to acknowledge sources wil be regarded as unaceptable behaviour in the context of the misconduct definition referenced above. Using code that belongs to other students currently or formerly enrolled in this subject (i.e. copying or sharing code) is totaly unaceptable behaviour and is considered cheating. & 转自:http://ass.3daixie.com/2018052758777526.html