Introducció
 

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ó.
 
És el component que genera la sortida dels continguts en el format indicat. Entren XML i XSL i ell lliura el resultat. Aquest component té la funció de lliurar alertes/avisos en diferents canals segons la configuració del client i els requisits de l'aplicació. Proporciona tots els mètodes que necessitaran els diferents subsistemes per a poder identificar un usuari basant-se en el seu número de sessió. Permet el canvi de la sessió de no validada a validada utilitzant diferents mètodes d'autenticació (p. e. usuari/contrasenya). Assegura el control d'accés a serveis (aplicacions, components, espais virtuals, documents). Marca el servei a què es pot accedir, com s'hi pot accedir i on és. Proporciona tots els mètodes que necessitaran els diferents subsistemes per a procedir a l'autenticació de la informació enviada entre persones o entre serveis i persones. Proporciona les interfícies necessàries per a abstreure el dipòsit de dades d'usuari. És el dipòsit únic de dades personals tant de persones físiques com jurídiques, a més d'usuaris lògics, i s'ha de poder configurar com un servei LDAP. Permet enviar i lliurar fitxers entre les aplicacions i l'usuari final. És el component de lliurament d'informació del dipòsit de missatgeria. El concepte de missatge queda ampliat i passa a ser qualsevol comunicació, de manera que podem trobar els missatges no solament a la bústia sinó també a qualsevol punt de qualsevol aplicació o plana web. És el component de càrrega d'informació en el dipòsit de missatgeria o cap a Internet. Pot carregar la informació també per SMTP autenticat. Sistema per a emmagatzemar i recuperar informació no estructurada (àudio, vídeo, imatge). Aquest component té un dipòsit de literals en diferents idiomes i permet recuperar-los en un moment determinat. Entenem per institució l'organització que necessita configurar tot l'entorn d'una manera pròpia, és a dir que aquest component ha de permetre treballar amb diferents institucions.