5. Αυξανόμενη Τάση για WEB / RESTful APIs
5 | 27
That’s a lot of WEB
APIs
And a lot of RESTful
APIs
>17,000 WEB APIs
84%
1. Ορισμός του προβλήματος
Ανάγκη για:
▰Ποιοτικότερο λογισμικό στο web
▰Ελαχιστοποίηση χρόνου - κόστους
“To API είναι η
ψηφιακή κόλλα που
κρατά τον κόσμο μας
ενωμένο”
10. REST Principles
10 | 27
3. Υπόβαθρο
Addressability
Κάθε αντικείμενο –resource - θα
πρέπει να είναι προσβάσιμο από
ένα μοναδικό αναγνωριστικό URI
Statelessness
Δεν υπάρχει πληροφορία από
προηγούμενη επικοινωνία μεταξύ
πελάτη και εξυπηρετητή.
Connectedness
Κάθε αναπαράσταση ενός πόρου
πρέπει να περιέχει συνδέσμους που
έχουν τα URIs προς τους επόμενους
πιθανούς πόρους.
Uniform Interface
Xρήση του πρωτόκολλου
επικοινωνίας HTTP. 4 μεθόδους
για τις 4 πιο κοινές λειτουργίες
GET-POST-PUT-DELETE
Resource
Representation
Μορφή αναπαράστασης των
πληροφοριών του πόρου. Πχ
JSON
11. RESTful WEB API
RESTful WEB API
Διαδικτυακή υπηρεσία που
υπακούει στο σύνολο κανόνων
της REST αρχιτεκτονικής
11 | 27
GET
/someresource
200 OK
Hello World
!
Request
Response
3. Υπόβαθρο
12. MDE & MDA
12 | 27
Model Driven Engineering
▰Συστηματική χρήση των
μοντέλων
▰Χρήση μετασχηματισμών και
γεννητριών παραγωγής κώδικα
Πλεονεκτήματα:
+ Αυτοματοποιημένη παραγωγή κώδικα
+ Φθηνό & ποιοτικό λογισμικό
+ Φορητότητα
+ Συντήρηση
3. Υπόβαθρο
15. Υλοποίηση
▰Χρήση της MDE Τεχνολογίας
▰Εφαρμογή ενός Model to Text
μετασχηματισμού
▰Χρήση των διαδικτυακών υπηρεσιών που
παράγονται από το S-CASE
15 | 27
4. Υλοποίηση
16. Η CREATE σε σχέση με το S-CASE project
16 | 27
4. Υλοποίηση
17. Model to Text Μετασχηματισμός Acceleo
17 | 27
M2T
ΜετασχηματισμόςΕίσοδος: Μοντέλο Έξοδος: Κώδικας
Είσοδος: PSM μοντέλα του S-CASE
▰AnnotationStack PSM
▰RestfulService PSM
▰Authentication PSM
▰Database Searching PSM
▰External Service Composition PSM
4. Υλοποίηση
18. Όνομα Είσοδος Έξοδος
Πολλαπλότητα
Εξόδου
Acceleo Queries
Generate AnnotationStack Όχι 0 8
Index AnnotationStack HTML 2..3 36
Controllers AnnotationStack JS 1..* 103
Views AnnotationStack HTML 1..* 120
Services AnnotationStack JS 1..2 11
App AnnotationStack JS 1 20
Auth AnnotationStack JS HTML 2 24
Search AnnotationStack JS HTML 2..* 47
ExternalService AnnotationStack JS HTML 2..* 21
Επισκόπηση των Acceleo Templates
18 | 27
4. Υλοποίηση
20. Place your screenshot here
20 | 27
Ταυτοποίηση Χρήστη
Είσοδος χρήστη στο
σύστημα
Παραλείπεται αν δεν
υποστηρίζεται
authentication
4. Υλοποίηση
21. Place your screenshot here
21 | 27
UI/UX Στοιχεία
Ανάκτηση και προβολή
λεπτομερειών πόρου
Εμφάνιση εικόνων
Εμφάνιση επιλογών
στον χρήστη
Αναδυόμενα μηνύματα
ειδοποίησης
4. Υλοποίηση
22. Place your screenshot here
22 | 27
Αναζήτηση στην
βάση δεδομένων
Πολλαπλή επιλογή
ιδιοτήτων για αναζήτηση
Πολλαπλή εμφάνιση
αποτελεσμάτων
4. Υλοποίηση
23. Place your screenshot here
23 | 27
Επικοινωνία με
εξωτερικά services
Αποστολή query
παραμέτρων
Εμφάνιση των
ιδιοτήτων της απόκρισης
που μας ενδιαφέρουν
4. Υλοποίηση