Ceci est une ancienne révision du document !
Service oriented computing and web services 2019
General Informations
Continuous Student Assessment and Labs Environment
MCQ (Multiple choice questionnaire)
- During some sessions, MCQ will be submitted to student.
Rules for the final evaluation
- Any grade mustn't be more than 50 % the final grade
- The final evaluation must consist in 2 grades at least
Student Project Evaluation
- During this course, students groups have to developp step by step a complete project using a web service architecture.
- The groups production will be deposited in the groups GitHubs
- Projects Documentation will be detailed in the GitHub Wiki
- A group is no more than two students.
- Students of a same group will be assessed separatly.
Project Github
- Each group must create a github repository and send an invitation to tigli@unice.fr.
- Each group send an email to tigli@unice.fr, with [GITHUB SoCWS 2019 Labs][<Group Members Names>] with your GitHub address
Deadline : 20 of March 2019
Environment for the Introduction labs
- Because this course follows the SI3 socket programming course, you can still use Python programming language.
Virtualized environment for the second part Labs
- For client Only some services clients can run on your PC in native mode. Nevertheless most of the time, Web clients are more adapted for portability thanks to web browsers. Indeed Web browsers can run on a mobile phone, PC, interactive terminal and so on…
- Servers must run on systems that are always available. Generaly they are installed in virtualized computer to be deployed easily (continuous delivery) from a computer to another, in a datacenter (in the Fog) or in a IAAS (in the cloud).
Project Evaluation Instructions
PART I : Introduction to the Web
Historically (until 2017), Introduction to the Web was licence / SI3 course.
Because of the required background on the Web to study Web Service Technologies (at least to also understand the Web popularity), in 2019, this introduction is coming back in this course.
PART II : Web Services
Session 1 : Design, Deploy and Orchestrate Services - Software Environment Tools for this Module
Introduction to the Web Services
- Where Web Services are coming from ? Introduction to Web Services in SI3 : WS-REST and WS-SOAP/WSDL
Lecture 1 :
Optional Lecture 2 :
Optional Lecture 3
Session 2 : REST and SOAP Web Services
lecture 1
- First definition of Representational State Transfer (REST)Architectural Styles and the Design of Network-based Software Architectures - Ph.D. DISSERTATION of Roy Thomas Fielding, 2000
Comment CRUD and REST REST vs CRUD: What’s The Difference?
lecture 2a
lecture 2b : WS-REST and WS-SOAP Lab and Evaluation
Session 3 : Windows Communication Fundation (WCF) and ABC model
Lecture 1 : Introduction to ABC Model
Lab 1 : "A" means Address
Lab 2 : "C" means contract
Lab 3 : "B" means binding
Session 5 : Contracts for Web Services
Lecture 1 : WSDL for WS-SOAP
Lecture 2 : ABC Model and MEX Contract
Windows Communication Foundation (WCF) provides a rich infrastructure for exporting, publishing, retrieving, and importing service metadata. WCF services use metadata to describe how to interact with the service's endpoints so that tools, such as Svcutil.exe, can automatically generate client code for accessing the service.
Advanced Session 1 : Event Based Communication and Architecture with web services
Lecture & Lab 1
The event-driven messaging is a design pattern, applied within the service-orientation design paradigm to enable the service consumers, which are interested in events that occur within the periphery of a service provider, to get notifications about these events as and when they occur without resorting to the traditional inefficient polling based mechanism .
Events allow the client or clients to be notified about something that has occurred on the service side.
W3C consortium propose a Web Services Eventing (WS-Eventing) - W3C Recommendation
Tutorial
Event based Communication and Event driven Architecture with web services
Lab 2
Advanced Session 2 : Web Services in IoT
gSOAP Introduction and Tutorial
gSOAP for web of Things : Example Raspberry Pi and Raspbian
Raspberry Pi is a series of small single-board computers developed in the United Kingdom by the Raspberry Pi Foundation to promote the teaching of basic computer science in schools and in developing countries. The original model became far more popular than anticipated,selling outside its target market for uses such as robotics.
Raspbian is a free operating system based on Debian optimized for the Raspberry Pi hardware. An operating system is the set of basic programs and utilities that make your Raspberry Pi run. However, Raspbian provides more than a pure OS: it comes with over 35,000 packages, pre-compiled software bundled in a nice format for easy installation on your Raspberry Pi.
Test of gSOAP on Raspbian
Install a Raspbian OS in docker container and test the previous calc WS-SOAP.
Advanced Questions : hindsight issues about Web Services
Please look at different comments in this page hindsight issues about Web Services, and provide your best analysis with your own explanations and/or illustrations.
Optional question : Docker on RaspberryPi
Docker can also be a way to easily deploy some solutions on RaspberryPi. Of course, first thing to do is to install Docker on Raspberry Pi … but that works (Example).
Evaluation during the two last courses
Comme vous êtes 58, il ne disposera que de 5 min. que nous répartirons ainsi :
- 2 min. de démo projet v1
- 1 min. de démo projet v2 (dans le prolongement de la démo v1)
- 2 min. de questions (précises et techniques pour sonder votre degrés d'investissement dans le projet)
Vos démos seront accompagnées d'un schéma en pdf de l'architecture de votre projetv1&2 avec votre NOM, à déposer sur votre repo Github et tiré au format papier pour notre entretien.
L'évaluateur conservera ce document comme attestation de votre passage.
Bien sûr votre/vos démo/s devra/ont être prête/s avant votre passage.
A priori l'ordre de passage sera l'ordre alphabétique inverse (Cf. liste EDT), mais l'évaluateur pourra changer cet ordre (en particulier et en autre s'il y a des absences justifiées).