Optional course for the Laurea Magistrale degree in Computer Engineering, taught in English during the 1st semester of the 2nd year.
This course completes the basic knowledge and skills that have been acquired in the previous course on Distributed Programming I and that are required for developing distributed applications. It focuses on the techniques for B2B interactions among distributed applications (web services). It provides general knowledge of web services and their portable data formats (XML, JSON) and related design and implementation skills,
with reference to REST APIs and Java programming.
Optional course for the Laurea Magistrale degree in Computer Engineering, taught in English during the 1st semester of the 2nd year.
This course completes the basic knowledge and skills that have been acquired in the previous course on Distributed Programming I and that are required for developing distributed applications. It focuses on the techniques for B2B interactions among distributed applications (web services). It provides general knowledge of web services and their portable data formats (XML, JSON) and related design and implementation skills,
with reference to REST APIs and Java programming.
- Knowledge of the main character-oriented standards for data exchange among distributed applications (JSON, XML)
- Skill to design XML and JSON data formats and to develop applications for XML/JSON data manipulation using the Java language, with particular focus on performance and validation issues.
- Knowledge of web services, related architectures (REST vs SOAP), and related general design principles.
- Skill to design RESTful web services (REST APIs) and to implement them using the Java language, with particular focus on concurrency, robustness, security, interoperability and performance issues.
- Knowledge of the main character-oriented standards for data exchange among distributed applications (JSON, XML)
- Skill to design XML and JSON data formats and to develop applications for XML/JSON data manipulation using the Java language, with particular focus on performance and validation issues.
- Knowledge of web services, related architectures (REST vs SOAP), and related general design principles.
- Skill to design RESTful web services (REST APIs) and to implement them using the Java language, with particular focus on concurrency, robustness, security, interoperability and performance issues.
Basic Java programming skills. Knowledge of the HTTP protocol. Basic knowledge about web applications.
Basic Java programming skills. Knowledge of the HTTP protocol. Basic knowledge about web applications.
Part 1: Character-oriented portable data formats (2,4 CFU)
- Character-oriented data representations (XML, JSON) and related schema languages
- XML/JSON programming in Java
Part2: Web Services (3,6 CFU)
- Service Oriented Architecture (SOA), REST Architecture, REST and SOAP Web services
- Web services general design principles, design of REST APIs
- RESTful web services programming in Java
- Concurrency, robustness, security, interoperability and performance issues in web services development
- Concurrency, robustness, security, interoperability and performance issues in web services development
Part 1: Character-oriented portable data formats (2,4 CFU)
- Character-oriented data representations (XML, JSON) and related schema languages
- XML/JSON programming in Java
Part2: Web Services (3,6 CFU)
- Service Oriented Architecture (SOA), REST Architecture, REST and SOAP Web services
- Web services general design principles, design of REST APIs
- RESTful web services programming in Java
- Concurrency, robustness, security, interoperability and performance issues in web services development
- Concurrency, robustness, security, interoperability and performance issues in web services development
In addition to lectures, the course includes a programming laboratory (21 hours) about the application of the presented techniques. During laboratory time, the students will discuss with the teachers about the solution of the assigned exercises.
In addition to lectures, the course includes a programming laboratory (21 hours) about the application of the presented techniques. During laboratory time, the students will discuss with the teachers about the solution of the assigned exercises.
The teacher will provide material (copy of slides and links to online resources) that will be available on the course web site.
Suggested textbook:
Bill Burke, RESTful Java with JAX-RS 2.0, 2nd Edition, O'Really Media, November 2013
The teacher will provide material (copy of slides and links to online resources) that will be available on the course web site.
Suggested textbook:
Bill Burke, RESTful Java with JAX-RS 2.0, 2nd Edition, O'Really Media, November 2013
Modalitą di esame: Prova orale facoltativa; Prova pratica di laboratorio; Progetto individuale;
...
The exam consists of verifying the expected knowledge and skills acquired by the student.
The exam includes a test in the Lab and an optional oral exam. The oral exam can be requested by the student or by the instructor, in case of doubts in the evaluation. Oral exam consists of discussion of the lab test and questions about the course topics.
The test in the lab aims at checking the student's knowledge of the topics presented in the course and the student's design and development skills. It is composed of a programming exercise similar to the ones proposed during the course and one or more open-answer questions. The duration of the test is 2 hours. On the days before the test, each student can upload any material (e.g. course notes, slides etc.) into his/her personal area on the lab network disks. During the test, this material will be accessible to the student, while no internet access will be possible. In addition, during the test, each student can bring and use a single piece of paper material, that is, one set of bound notes or book. No other material is admitted.
The weights of the programming exercise and of the questions for the final grade are respectively 60% and 40%. Laude requires oral exam.
Examples of exam tests will be provided to the students during the course.
The students who submit good quality and original solutions of the assignments proposed in the labs by the given deadlines have the possibility to substitute the test in the Lab with an oral discussion about their solutions. This possibility is valid for the current academic year, but only for the first time the exam is taken.
Gli studenti e le studentesse con disabilitą o con Disturbi Specifici di Apprendimento (DSA), oltre alla segnalazione tramite procedura informatizzata, sono invitati a comunicare anche direttamente al/la docente titolare dell'insegnamento, con un preavviso non inferiore ad una settimana dall'avvio della sessione d'esame, gli strumenti compensativi concordati con l'Unitą Special Needs, al fine di permettere al/la docente la declinazione pił idonea in riferimento alla specifica tipologia di esame.
The exam consists of verifying the expected knowledge and skills acquired by the student.
The exam includes a test in the Lab and an optional oral exam. The oral exam can be requested by the student or by the instructor, in case of doubts in the evaluation. Oral exam consists of discussion of the lab test and questions about the course topics.
The test in the lab aims at checking the student's knowledge of the topics presented in the course and the student's design and development skills. It is composed of a programming exercise similar to the ones proposed during the course and one or more open-answer questions. The duration of the test is 2 hours. On the days before the test, each student can upload any material (e.g. course notes, slides etc.) into his/her personal area on the lab network disks. During the test, this material will be accessible to the student, while no internet access will be possible. In addition, during the test, each student can bring and use a single piece of paper material, that is, one set of bound notes or book. No other material is admitted.
The weights of the programming exercise and of the questions for the final grade are respectively 60% and 40%. Laude requires oral exam.
Examples of exam tests will be provided to the students during the course.
The students who submit good quality and original solutions of the assignments proposed in the labs by the given deadlines have the possibility to substitute the test in the Lab with an oral discussion about their solutions. This possibility is valid for the current academic year, but only for the first time the exam is taken.
In addition to the message sent by the online system, students with disabilities or Specific Learning Disorders (SLD) are invited to directly inform the professor in charge of the course about the special arrangements for the exam that have been agreed with the Special Needs Unit. The professor has to be informed at least one week before the beginning of the examination session in order to provide students with the most suitable arrangements for each specific type of exam.