|
El canvi constant que vivim en l'àmbit de la tecnologia
i la necessitat de la UOC
de mantenir-se al dia van determinar que durant l'any 2000
l'equip d'estratègia tecnològica considerés
la necessitat de reflexionar sobre el model
tecnològic de la UOC.
Per això es va fer una anàlisi global, juntament
amb el GARTNER GRUP, que entre altres conclusions va indicar
que calia un replantejament del model tecnològic dels
desenvolupaments.
En primer lloc, es van fer propostes en l'àmbit de
quina havia de ser la metodologia
utilitzada per als desenvolupaments, el llenguatge
i l'arquitectura de les
aplicacions. Després s'identificaren i es va fer una
proposta de quins d'aquests components formen el nucli bàsic
compartit entre les aplicacions de la UOC
i una breu descripció de cadascun.
Actualment, la nova intranet educativa (i-Campus), ha comportat
escriure de nou el 80% del codi. Després de la implementació,
l'evolució del model tecnològic anirà
en funció dels canvis necessaris en les peces que formen
el nou grup de serveis (cluster).
Metodologia de desenvolupament
Atesa la complexitat de moltes de les aplicacions que es desenvolupen
a la UOC, l'etapa de
disseny va ser clau per als desenvolupaments; i per això
va ser necessari fer un esforç especial en aquesta
etapa. A la UOC hi ha
diferents equips de tècnics que desenvolupen programari,
els quals han adjuntat les seves solucions per a donar un
servei integral a l'usuari; i el fet de compartir la metodologia
i les eines de disseny va facilitar aquesta integració.
És clar que actualment la reutilització,
la qualitat i la productivitat
són objectius a tenir en compte en qualsevol projecte
de construcció de programari. El desenvolupament orientat
a objectes facilita la consecució d'aquests objectius;
per això es va proposar l'adopció d'una metodologia
que faciliti la tecnologia orientada a objectes.
L'UML*
és un llenguatge per a especificar, construir i documentar
els artefactes que componen un sistema de programari. A més
a més, permet el modelatge de negoci i també
permet el modelatge d'altres sistemes.
Per a facilitar la incorporació de l'UML al treball
de la UOC es van fer
dues accions: d'una banda, incloure en la formació
bàsica dels tècnics dels equips de desenvolupament
de la UOC els coneixements
d'UML i, de l'altra, triar les eines concretes que s'han fet
servir:
| |
 |
Rational Rose
per al disseny UML |
| |
 |
Designer d'Oracle
per als esquemes entitat-relació |
Llenguatge de desenvolupament
En analitzar les possibilitats de llenguatges de desenvolupament,
el mercat i les tendències actuals marquen sens dubte
la direcció de Java*.
Aquest llenguatge té els avantatges de permetre una
programació
orientada a objectes* alhora que aporta dos valors més:
d'una banda, el concepte de màquina virtual que ens
independitza dels sistemes servidors, i, de l'altra, la plataforma
de desenvolupament que té, que ja ens aporta algunes
parts que es poden reaprofitar (entrada/sortida, xarxa, gràfics,
seguretat, etc.).
Arquitectura de les aplicacions
És clara la necessitat d'una arquitectura robusta i
distribuïda per a donar serveis a Internet d'una manera
flexible. Actualment per a suportar aquest tipus d'arquitectures
el mercat ens ofereix els servidors
d'aplicacions*, la major part dels quals van convergint
cap al model de Java 2 Enterprise Edition (J2EE), que suporta
servlets*
i Enterprise
Java-Beans* (EJB). El model de components d'EJB, proposat
per Sun i amb el suport de la majoria de venedors de programari,
ja és el model estàndard de components per a
Java, i probablement aconseguirà simplificar en gran
manera la construcció d'aplicacions
transaccionals* empresarials.
Respecte a quin dels servidors d'aplicacions existents al
mercat actualment és el més aconsellable, es
va endarrerir la decisió fins al moment de començar
els desenvolupaments per a veure l'evolució dels productes
en:
| |
 |
Disseny i maduresa del nucli
del servidor d'aplicacions. |
| |
 |
Escalabilitat. |
| |
 |
Tolerància d'errades. |
| |
 |
Administració i monitorització. |
| |
 |
Seguimient d'estàndards. |
| |
 |
Eines de desenvolupament. |
| |
 |
Integració amb eines
de tercers. |
| |
 |
Connectivitat amb d'altres
sistemes. |
| |
 |
Temps d'accés al mercat. |
| |
 |
Suport. |
| |
 |
Solidesa. |
| |
 |
Cost. |
| |
 |
Contacte amb el proveïdor. |
Lògica de components de negoci
En aquest punt es van analitzar els diferents components tecnològics
dels serveis de la UOC que es van haver de compartir entre
tots els serveis. Aquest conjunt de components de primer nivell
de reutilització es van ordenar segons la tipologia
en el gràfic següent:
| |
Passa el ratolí
per sobre de cada component per a veure la seva descripció.
|
|
|
|