210 likes | 314 Views
Treball de Fi de Carrera. Desenvolupament amb Java i l’especificació J2EE d’una Aplicació Web distribuïda Client-Servidor. BookSector Tenda on-line de Llibres (Una solució amb Struts2, Hibernate i JSP). Alumne Pere Prohens Galmés Enginyeria Tècnica en Informàtica de Gestió
E N D
Treball de Fi de Carrera Desenvolupament amb Java i l’especificació J2EE d’una Aplicació Web distribuïda Client-Servidor BookSector Tenda on-line de Llibres (Una solució amb Struts2, Hibernate i JSP) Alumne Pere ProhensGalmés Enginyeria Tècnica en Informàtica de Gestió Universitat Oberta de Catalunya Consultor Albert Grau Perisé Presentació Virtual – TFC J2EE 19/06/2011 Pere Prohens Galmés (ETIG)
Introducció: Motivació i Objectius L’objectiu o objectius a complir amb aquest TFC són varis: Presentació Virtual – TFC J2EE Pere Prohens Galmés (ETIG)
Un problema real La tenda tradicional de llibres anomenada BookSector requereix un sistema on-line de ventes de llibres, una web amb les següents característiques: Presentació Virtual – TFC J2EE Pere Prohens Galmés (ETIG)
La Tecnologia Utilitzada Uns dels objectius és utilitzar l’especificació J2EE de Java. Aquesta especificació és un recull de tecnologies i estructures que defineixen una forma d’enfocar i d’afrontar problemes de diverses característiques. La J2EE és idònia per la programació d’aplicacions web distribuïdes client servidor, i seguint la seva especificació s’aconsegueixen aplicacions reutilitzables, escalables que segueixen una distribució en capes. Així doncs, anem a concretar quines tecnologies, frameworks i especificacions utilitzarem. Presentació Virtual – TFC J2EE Pere Prohens Galmés (ETIG)
J2EE i les seves Tecnologies La J2EE ens ofereix un gran ventall de tecnologies dins la seva especificació. Per l’elaboració del nostre projecte utilitzarem aquest grup d’elements generals que combinarem entre ells per a obtenir el funcionament desitjat. Presentació Virtual – TFC J2EE Pere Prohens Galmés (ETIG)
Struts 2 Struts2 és un framework de desenvolupament que es basa en el model MVC(Model – Vista – Controlador) de tipus 2 i basa el seu funcionament en aquestes tres elements. Presentació Virtual – TFC J2EE Pere ProhensGalmés (ETIG)
Struts 2 El funcionament dels tres elements mostrats en l’apartat anterior es mostra en la següent figura: Presentació Virtual – TFC J2EE Pere ProhensGalmés (ETIG)
Struts 2 O en aquesta més esquemàtica: Presentació Virtual – TFC J2EE Pere ProhensGalmés (ETIG)
HIBERNATE Hibernate és una eina de software lliure per a Java, que facilita el mapeig de classes i objectes entre el model de l’objecte o la classe identitat i una base de dades relacional. D’aquesta forma, podem treballar directament sobre els objectes i no sobre la base de dades amb sentències SQL que es poden complicar molt. D’aquesta forma, per exemple, guardar un instància d’un objecte a la base de dades és tan simple com «session.save(objecte java)» si s’han fet els mapejos correctament, ja que hibernate s’encarrega de fer les sentències SQL corresponents de forma transparent. Aquests mapejos es poden fer mitjançant fitxers XML o amb anotacions directament sobre els beans de les entitats. Presentació Virtual – TFC J2EE Pere ProhensGalmés (ETIG)
HIBERNATE • Anomenarem una sèrie de característiques que fan d’hibernate una eina tan potent: • Té el seu propi llenguatge de sentències HQL que es relaciona amb l’objecte mapejat i no amb la taula que li correspon. • Pot adaptar-se a bases de dades ja creades o pot crear-les a partir dels mapejos realitzats. • L’execució, la utilització de les funcions d’Hibernate i els mapejos són independents del SGBD utilitzat, ja que tota la configuració que se li ofereix a Hibernate es fa en un fitxer XML on s’especifica tota la informació sobre la base de dades a utilitzar. • Hibernate s’adapta a la gran majoria de tipus de bases de dades actuals, i pels motius anteriors és de gran facilitat canviar de SGBD sense tocar cap línia de codi. Presentació Virtual – TFC J2EE Pere ProhensGalmés (ETIG)
ESTRUCTURA GENERAL • Aquesta és l’estructura general per capes que té el projecte: Capapresentació (WEB) Capa d’integració Capade lògica de negoci Capa EIS Client - Browser POJO + JDBC POJO + Action MySQL JSP + JavaScript + CSS STRUTS FilterDispatcher + Interceptors HIBERNATE + XML Presentació Virtual – TFC J2EE Pere ProhensGalmés (ETIG)
FUNCIONAMENT DE L’APLICACIÓ Començarem explicant els tipus d’usuaris que té l’aplicació i els seus privilegis. Presentació Virtual – TFC J2EE Pere ProhensGalmés (ETIG)
SUBSISTEMES Trobem 4 subsistemes principals en l’aplicació: Presentació Virtual – TFC J2EE Pere ProhensGalmés (ETIG)
Login i Registre Permet a qualsevol usuari anònim registrar-se, i als que estan registrats, validar-se amb les seues credencials. A la part inferior dreta podem veure el formulari de validació. I a la part superior dreta el botó que mostra el formulari pel registre. Presentació Virtual – TFC J2EE Pere ProhensGalmés (ETIG)
Catàleg Permet trobar llibres filtrant el llistat general per diferents criteris de cerca. Aquí trobem un exemple de cerca de llibres de la categoria «ciències». Presentació Virtual – TFC J2EE Pere ProhensGalmés (ETIG)
Catàleg I aquí trobem un exemple de fitxa de llibre. A la part inferior, s’indiquen quants llibres es volen introduir en el carretó. Presentació Virtual – TFC J2EE Pere ProhensGalmés (ETIG)
Compra Permet realitzar la compra dels llibres que hi ha al carretó. Podem triar si gastar punts per a la comanda o el tipus d’entrega. Presentació Virtual – TFC J2EE Pere ProhensGalmés (ETIG)
Administració Com hem dit, per met la gestió d’usuaris, comandes realitzades i llibres que surten al catàleg. Aquí podem veure el submenú per accedir a les tres parts de l’administració. Les quals funcionen a base de llistes i formularis per afegir, editar, o eliminar elements. Presentació Virtual – TFC J2EE Pere ProhensGalmés (ETIG)
Administració Aquí veiem l’exemple del formulari i llista de la gestió del catàleg. Els altres són quasi idèntics. Presentació Virtual – TFC J2EE Pere ProhensGalmés (ETIG)
Dades sobre la implementació Presentació Virtual – TFC J2EE Pere ProhensGalmés (ETIG)
Conclusions Realitzar aquest projecte, ha estat per mi, tot un repte personal a superar. Trobar-me davant un problema complex i poder aplicar els meus coneixements adquirits durant tota la carrera, m’ha permès veure tot el que he après i he vist la complexitat que pot arribar a tenir un projecte real, que passa per totes les etapes d’anàlisi, disseny i implementació. Opino que el fet d’haver d’aprendre l’especificació J2EE amb totes les seves tecnologies, i amb tot el que comporta cada una d’elles, m’ha posat a prova tant acadèmicament com personalment. Aprendre aquesta especificació des de zero i a contra rellotge ha estat dur. I després de veure el funcionament i el potencial d’aquesta especificació Java sobre aplicacions web distribuídes, no tinc més que bones opinions sobre ella. Finalment he d’agrair a l’assignatura TFC, al nostre consultor i a la UOC, tot el que m’ha permès a prendre sobre la J2EE, la qual ha superat les meves expectatives que tenia sobre aquesta tecnologia. Presentació Virtual – TFC J2EE Pere ProhensGalmés (ETIG)