Στα πλαίσια αυτής της άσκησης υλοποιήθηκε μία Web εφαρμογή προβολής / παροχής δεδομένων για προσωπικό εταιρίας και μία εφαρμογή κατανάλωσης αυτών των δεδομένων μέσω services.
Οδηγίες εγκατάστασης και χρήσης
Για την εγκατάσταση και χρήση των υποσυστημάτων της εφαρμογής θα χρειαστείτε:
- Εγκατάσταση του MySQL Workbench 8.0 συμπεριλαμβανομένου και του MySQL server το οποίο θα βρείτε εδώ.
- Δημιουργίστε ένα
Standard TCP/IP
Connection με Hostname:localhost
και Port:3306
- Εκτελέστε τα queries που θα βρείτε στο αρχείο:
\src\main\resources\DBqueries.sql
- Εγκατάσταση ενώς IDE (π.χ. Netbeans ή IntelliJ) καθώς επίσης και του Apache Tomcat v9.0.35.
- Στη συνέχεια συνδέστε τον Apache Tomcat με το IDE. (π.χ. για το Netbeans θα βρείτε οδηγίες εδώ.
- Κάντε import το project στο IDE, στη συνέχεια build και run (ενδέχεται να χρειαστεί επανεκκίνηση του IDE μετά το build).
- Ανοίξτε τον browser με url "
http://localhost:8080/
"
Υποσυστήματα Άσκησης
1) Υποσύστημα Βάσης δεδομένων
Υλοποιήθηκε σε MySQL και περιέχει τα ακόλουθα tables:
- EMPLOYEES
Empid Lastname Firstname JOB MNGID HIREDATE SALARY COMM DEPTID Κωδ. εργαζόμενου Επώνυμο Όνομα Εργασία Κωδ. Manager Ημ/ία Πρόσληψης Ετήσιος Μισθός Ετήσιες Προμήθειες Κωδ. Τμήματος
- DEPARTMENTS
DeptId Dname LocId Κωδικός τμήματος Όνομα Τμήματος Κωδικός Τοποθεσίας
- DEPT_LOCATIONS
| LocId | Locname | | :---- | :---- | :--- | | Κωδικός Τοποθεσίας | Ονομασία Τοποθεσίας |
Η επικοινωνία των εφαρμογών / υποσυστημάτων με τη Βάση δεδομένων γίνεται με Spring Data JPA.
2) Υποσύστημα Προβολής καταλόγου προϊόντων (Web site)
Υλοποιήθηκε Web εφαρμογή με χρήση JSP, Bootstrap, jQuery & JavaScript και παρέχει τα ακόλουθα:
- Λίστα Τοποθεσιών
- Λίστα Τμημάτων ανά Τοποθεσία
- Λίστα υπαλλήλων ανά Τμήμα
- Λεπτομέρειες υπαλλήλου
3) Υποσύστημα Web Services
Υλοποιήθηκε με SpringMVC, SpringBoot, Maven. Υλοποιήθηκαν REST Web Services που παρέχουν τις πληροφορίες της εφαρμογής, δηλαδή:
- Λίστα Τοποθεσιών
- Λίστα τμημάτων συνολικά
- Λίστα τμημάτων συνολικά
- Λίστα υπαλλήλων ανά τμήμα
- Λίστα υπαλλήλων προερχομένων από απλή αναζήτηση στο Ονοματεπώνυμο
- Λεπτομέρειες υπαλλήλου
Ο προεπιλεγμένος επιστρεφόμενος τύπος δεδομένων για κάθε περίπτωση είναι XML, ενώ υπάρχει και δυνατότητα επιστροφής σε JSON.