Introduction
 

The constant changes we are undergoing in the technological sphere, and the need of the UOC to keep abreast of them, forced the technological strategy team to consider during the year 2000 the need to reflect on the UOC's technological model.

Hence, an overall analysis has been performed, together with the GARTNER GROUP. Among other conclusions, the report suggested that a rethinking of the technological model of development was needed.

First of all, some proposals were made in order to find out the methodology to use for the developments, the language and the architecture of applications. Next, these were identified and a proposal was put forward regarding which of the components made up the basic core which is shared among UOC applications, and a brief description of each was given.

At present, the new educational Intranet (i-Campus) has led to the re-writing of 80% of the code. After the implementation of the Intranet, the evolution of the technological model will depend on the changes that may be necessary of the parts that make up the new cluster of services.


Methodology of Development

Given the complexity of many of the applications being developed by the UOC, the design stage was crucial to development. Hence a special effort has been necessary at this stage. There are various technical teams working on and developing software at the UOC. They have had to compile their solutions in order to provide an integral service to the user. The fact that they share methodology and design tools has facilitated this integration.

Among the objectives to be taken into consideration in any software-construction project, re-use, quality and productivity are obvious ones. Object-oriented development facilitates the attainment of those objectives; hence we propose the adoption of a methodology which has facilitated object-oriented technology.

UML* is a language for specifying, constructing and documenting the items making up a software system. In addition, it allows for the modelling of business, as well as of other systems.

In order to facilitate the incorporation of UML into the work of the UOC, we launched two activities: on the one hand, we included knowledge about UML in the basic training programme for the UOC development teams; on the other, we chose the specific tools which will be made use of:

  Rational Rose for UML design
  Oracle's Designer for the entity-relationship schemes

Language of Development

When analysing the possibilities in development languages, current trends and the market point firmly in the direction of Java*. This language has the advantage of allowing for an object-oriented programming* while contributing with two further features: on the one hand, the concept of virtual machine, making us independent from server systems, and, on the other, its development platform, which contributes with some parts which can be re-used (entry/exit, network, graphics, safety, etc.).

Application Architecture

A robust and well-distributed architecture was needed in order to provide Internet services in a flexible way. To support this type of architectures, the market is currently offering application servers*, most of which are now converging into the Java 2 Enterprise Edition (J2EE), which supports servlets* and Enterprise Java-Beans * (EJB). EJB's component model, as proposed by Sun and with the support of most software vendors, is now the standard component model for Java, and will probably end up simplifying in a big way the construction of business transactional applications*.

As to which is the most advisable of the application servers at present on the market, a decision was delayed until the moment came to start to develop, so as to see the evolution of products.

The basic aspects which were taken into account in the selection of one of the current products were the following

  Design and maturity of the core of the applications server.
  Scalability.
  Error tolerance.
  Administration and monitoring.
  Adaptation to standards.
  Development tools.
  Integration into the tools of third parties.
  Ability to connect with other systems.
  Time to market.
  Support.
  Solidity.
  Cost.
  Contact with the supplier.

Logic of Business Components

In this section we reviewed the various technological components of the UOC services which needed to be shared among all services.

This collection of components of the first level of re-use were sorted according to typology in the following diagram:

 

 
Put the mouse on every item to see the description.
 
It is the component which generates the exit of content in the form indicated. XML and XSL enter, and the component delivers the result. The function of this component is to present alert notices/warnings on different channels according to the configuration of the customer, and the requirements of the application. It provides all the methods which the various subsystems may require in order to identify a user based on his or her session number. It allows for a change from a non-validated session to a validated one by using various authentication methods (e.g., user / password). It ensures control of access to services (applications, components, virtual spaces, documents). It points to the service that can be accessed, how it can be accessed and where it is. It provides all the methods that the different subsystems will need in order to proceed to the authentication of the information sent between people, or between services and people. It provides the necessary interfaces to abstract the user's data storing space. It is the only storing space for personal data both for physical and juridical persons, as well as logical users, and it has to be possible to configure it as an LDAP service. It allows for the sending and delivery of files between applications and the eventual user. This is the component releasing information from the messaging storing space. The concept of message widens to cover any communication, so that we may find messages not only in the mailbox, but also on any point of the application or web page. This component delivers information contained in the messaging storage space, or towards Internet. It may also upload the information through the authenticated SMTP. A system for storing and retrieving non-structured information (audio, video, image). This component has a storing space for literals in different languages, and it allows for retrieval at a specific moment. We consider an institution to be an organisation needing to configure the whole environment in its own way. In other words, that this component has to allow for work to be carried out with various institutions.