Resum

A l’hora de crear una aplicació orientada a objectes és important ser capaç d’establir una representació de les dades tal com es gestionaran. En aquesta unitat didàctica s’han presentat un seguit de conceptes avançats del Java que intenten anar més enllà de la simple creació de classes i la implementació dels seus mètodes: poder definir formalment com s’estructuren els objectes a memòria i els mecanismes bàsics per aconseguir la persistència de les dades de l’aplicació.

Un dels avantatges més importants de la metodologia de l’orientació a objectes, i el principal motiu que l’ha fet rellevant, és que ha permès establir un llenguatge unificat per representar dissenys: el llenguatge UML (unified modelling language, en anglès). D’aquesta manera, el desenvolupament del programari es pot equiparar a la resta de disciplines tècniques, en les quals és possible generar un esquema d’allò que es vol crear que pot ser interpretat per qui s’encarregarà de fabricar-ho, sense necessitat que el constructor hagi format part del procés de disseny.

Per poder dur a terme la representació formal del problema en l’àmbit de disseny, l’eina més senzilla és el diagrama estàtic UML. Aquest serveix de plànol de l’aplicació i, de la mateixa manera que fa un arquitecte o un enginyer mecànic en el seu camp, estableix com han de ser els diferents components abans de codificar res. El diagrama estàtic especifica fonamentalment quines són les classes, quins els seus atributs i operacions per a cada una i de quina manera es relacionen entre elles. Cada relació defineix els enllaços que hi pot haver entre objectes. Tal com passa en una màquina, només poden interactuar objectes enllaçats.

Un diagrama estàtic es compon de totes les classes identificades per poder resoldre el problema, unides entre si per les seves relacions. Aquestes relacions s’identifiquen des d’un punt de vista conceptual respecte al problema que es vol resoldre, sense entrar mai en detalls d’implementació.

D’altra banda, si bé sovint els objectes dels programes en execució es troben ubicats sempre a la memòria, sovint cal poder disposar dels mecanismes bàsics per aconseguir la persistència de les dades de l’aplicació. D’aquesta manera, és possible recuperar-les entre diferents execucions de l’aplicació, o intercanviar-les entre diferents aplicacions.

El component d’emmagatzematge de dades més bàsic és el sistema de fitxers. Tot i això, en situacions en què cal operar amb gran quantitat de dades, o en què diverses aplicacions executant-se en diferents equips han d’accedir a les mateixes dades, aquest sistema no és suficient. És molt més eficient usar una base de dades. El Java proporciona el mecanisme de JDBC per poder operar amb un subconjunt concret de les bases de dades, les anomenades relacionals.

Una base de dades relacional s’estructura internament en forma de taules de forma exclusiva. Per tant, cal transformar el Model en taules. En aquest procés cada taula representa una classe o una relació, cada columna un atribut i cada fila una instància concreta. En les cel·les s’emmagatzemen els valors dels atributs per a cada objecte.

Per operar amb una base de dades relacional, cal executar-hi sentències en el llenguatge SQL. Mitjançant la seva sintaxi es poden transmetre tota mena d’ordres, de consulta, modificació o creació dels elements emmagatzemats en les taules. El JDBC proporciona tots els mecanismes necessaris per connectar-se remotament a una base de dades relacional i executar sentències SQL mitjançant codi Java. Tot i la facilitat amb què es pot accedir a una base de dades usant el JDBC, el desenvolupador mai no ha d’oblidar els aspectes vinculats a la seguretat. Ha de garantir que mai no s’executaran sentències SQL amb una sintaxi inesperada.

Finalment, és imprescindible tenir present que, a part de les bases de dades relacionals, n’hi ha d’altres tipus molt més propers a la manera com opera un programa orientat a objectes, de manera que no cal transformar el model. L’exemple més clar són les bases de dades orientades a objectes (BDOO), que operen tal com es fa a memòria, usant directament referències a objectes.

Anar a la pàgina següent:
Mapa conceptual