170 likes | 275 Views
GATD 1.0. Una aplicació simplificada per a la Gestió d’Actuacions Tècniques a Domicili Treball de Fi de Carrera en J2EE. ETIG UOC 2010 Alumne: Jordi Tejero Garcés Consultor: Joan Vicent Orenga Serisuelo. Objectius.
E N D
GATD 1.0 • Una aplicació simplificada per a la Gestió d’Actuacions Tècniques a Domicili • Treball de Fi de Carrera en J2EE. ETIG UOC 2010 • Alumne: Jordi Tejero Garcés • Consultor: Joan Vicent Orenga Serisuelo
Objectius • El projecte ha estat concebut com un procés d’aprenentatge de la tecnologia J2EE. • El producte creat té les funcionalitats més bàsiques per a gestionar una empresa d’atenció tècnica domiciliaria, com ara una lampisteria.
Operativa de les actuacions Controlador Domicili 2. Assignació Seu http GATD 1.Petició Client Tècnic http 3. Finalització
Tècnic Treballa amb un telèfon mòbil senzill Por estar actiu o inactiu Rep les peticions per e-mail Les accepta i, acabada la feina, les tanca Pot consultar l’historial dels clients Roles dels usuaris Client • Qualsevol se’n pot donar d’alta • Fa les peticions via web amb un navegador estàndard • Pot consultar-les, modificar-les, anul·lar-les i fer-hi queixes Controlador • Fa servir un navegador estàndard • Activa i desactiva els tècnics • Té llistats de situació de peticions, clients i tècnics • Pot donar d’alta, baixa i modificar clients i tècnics • Pot modificar peticions i en té una visió més completa que els clients
La petició GATD • Representa una demanda d’actuació d’un client • Té una adreça d’actuació • Té les dades d’una persona de contacte • Té una descripció • Té un tècnic responsable • Pot tenir una queixa (!), anul·lada o no • Pot tenir una alerta ( ) en funció del temps que porti sense ser acceptada o sense finalitzar • Quan és finalitzada, té un temps emprat
La petició l’atén un tècnic Finalitzada Rebuda Assignada Acceptada Anul·lada La petició està tancada La petició està pendent Cicle de vida d’una petició • La petició surt d’estat Rebuda automàticament en assignar-hi un tècnic. En qualsevol altre estat, té un únic tècnic responsable
Arquitectura. GlassFish 3 • GAT segueix el patró MVC, implementat amb Java Server Faces 2 i Enterprise Java Beans 3. • El servidor d’aplicacions GlassFish 3 proporciona tots els components necessaris out of the box, inclòs un SGBD Derby Navegador estàndard Controlador FacesServlet HTTP Micro-navegador Crea i gestiona Model Managed Beans EJB 3 Manega i redirecciona Accés Vista Pàgina xhtml
Les Managed Bean Controlador..., reben de la FacesServlet els paràmetres i el mètode invocat per les pàgines xhtml Delegen la lògica de negoci en un o més Entreprise Java Bean Gestor... La persistència de les entitats la proporciona l’estàndard Java Persistence API (JPA) . El Model Controlador[X] Managed Bean Gestor[X] EJB Gestor[Y] EJB A Entity B Entity JPA Derby
Seguretat i validació dels usuaris • Es basa en l’estàndard Java Authentication and Authorization Service (JAAS), implementat per GlassFish a partir d’una taula d’usuaris • Auto-registre. Qualsevol persona pot donar-se d’alta com a client, simplement omplint un formulari • L’accés a les pàgines privatives de cada tipus d’usuari, obliga a validar-se a un formulari d’accés • El formulari d’accés s’adapta al navegador de l’usuari, sigui estàndard o micro-navegador • A un segon nivell de seguretat, l’accés a cada objecte Managed Bean, està restringit a usuaris validats de certs roles
Programari Client Emulador de mòbil pres com a referència • Clients i controladors fan servir navegador estàndard • Els tècnics treballen amb el micro-navegador del seu telèfon mòbil • Els mòbils poden ser senzills. Sols s’hi demana que interpretin HTML i que incorporin un client e-mail • No cal que interpretin javascript ni que mostrin imatges. • Per a les proves de navegació dels tècnics, s’ha pres com a referència el Nokia Mobile Browser Simulator 4
Internacionalització • GATD pot suportar diversos idiomes. Actualment sols ho fa amb el català i l’espanyol, però fora fàcil afegir-ne d’altres • L’auto-registre dels nous usuaris i la seva validació, es fa segons el idioma del navegador de l’usuari • Un cop l’usuari ha iniciat sessió, la interfície seguirà el idioma que indiqui la seva fitxa • Els clients poden canviar el seu idioma en qualsevol moment. L’efecte és immediat, sense haver de iniciar una nova sessió
Canviant d’idioma Canvis a la fitxa del client, en modificar el idioma. Fragment
En un sistema multi-usuari, hi ha la possibilitat de que les modificacions fetes per un, siguin inadvertidament sobreescrites per un altre GATD impedeix aquest “conflicte d’edicions” fent servir l’optimistic locking de JPA L’optimistic locking es basa en un atribut versió de les entitats, que s’incrementa cada cop que es desen al SGBD El conflicte d’edicions Versió = 2 OK Versió = 2 Versió = 1 Versió = 2 Conflicte! Error! Versió = 2 Temps
Els detalls importen: el botó [Tornar] • A diferència del back del navegador, el botó [Tornar] porta sempre a la pàgina prèviament visitada, encara que l’actual s’hagi carregat molts cops x N [Tornar]
GATD 2.0. Possibilitats futures • Un formulari de configuració del sistema, on posar les dades del servidor SMTP, els llindars d’alerta de les peticions, etc. • Administrar seus i controladors • Validar les adreces contra Google Maps, mostrant el mapa a l’usuari • Determinar el tècnic més proper a un domicili, fent servir Google Maps • Gestionar les competències dels tècnics (electricista, pintor...), assignant-los sols les peticions que hi encaixin • Gestionar els materials consumits en cada actuació i les comandes per a mantenir el material necessari al magatzem