• No se han encontrado resultados

5.1 Planificación de Sistemas de Información

5.1.5 Definición de la arquitectura tecnológica

5.1.5.1 Identificación de las necesidades de Infraestructura

99

Una vez analizado el catalogo de requisitos, especialmente los de carácter técnico, se identificaron un conjunto de necesidades a nivel de la infraestructura tecnológica, estas son:

1. Accesibilidad

Resulta evidente, si queremos cumplir con los objetivos fijados, que el sistema debe ser accesible al máximo numero usuarios posibles. Esto implica fundamentalmente lo siguiente:

a) El sistema debe ser accesible a través de Internet para asegurar que cualquier usuario pueda acceder a este desde cualquier localidad, para lograr esto será necesario contratar un dominio para la aplicación.

b) El formato y tecnologías implicadas en el desarrollo de este deben asegurar la compatibilidad con el máximo número de posibles configuraciones (navegadores y sistemas operativos) de los potenciales usuarios, considerando que puedan acceder a este desde cualquier computador que no sea de la empresa.

c) Debe disponer de un entorno visual claro y sencillo e intuitivo.

d) Los tiempos de carga y respuesta de la aplicación deberían ser tan reducidos como sea posible, para facilitar la labor de los empleados y para reducir el riesgo de que a ellos les suponga una molestia contribuir en la carga y actualización de los datos.

2. Escalabilidad

Dado a la posibilidad de futuras ampliaciones en cuanto a funcionalidades, es preciso tener muy en cuenta la escalabilidad a la hora de diseñar la solución. Un concepto de escalabilidad que debe ser extendido a todo el sistema:

a) En cuanto a los sistemas de software que dan soporte a la aplicación. De su escalabilidad depende directamente la de la aplicación. Por ejemplo, de la

100

escalabilidad tanto del servidor web como del sistema gestor de bases de datos elegidos dependerá que la aplicación crezca en cuanto a nivel de servicio. Se necesita contar con un sistema de almacenamiento suficientemente grande para poder albergar datos de todos los proyectos, empleados y clientes, esto de cara a un posible crecimiento de la empresa.

b) En cuanto al código fuente del núcleo de la aplicación, que el sistema pueda ser ampliado de forma natural depende no solo del lenguaje elegido, sino de la organización del mismo. Debe ser lo más modular posible y preferiblemente siguiendo orientación a objetos para poder facilitar su modificación.

3. Seguridad

El sistema almacena datos confidenciales, tales como: los datos de los empleados y clientes, y los introducidos por los usuarios en cada uno de los proyectos registrados en el sistema. Estos últimos deben ser accesibles solo a los usuarios designados específicamente para operar con ellos (equipos de trabajo). Para ello se deben establecer niveles de seguridad y roles de usuarios, así como establecer controles de acceso.

Tomando en cuenta estas necesidades, se establecieron las alternativas viables desde el punto de vista tecnológico, definiendo los componentes. En primer lugar se determinó que el sistema debe funcionar bajo la plataforma de red, tal como se observa en la siguiente figura.

Figura 20. Plataforma de red

Servidor de Base de Datos Servidor Web TCP/IP TCP/IP TCP/IP CLIENTE INTERNET FIREWALL

101

Fuente: http://www.minedu.gob.pe/ofin/xtras/EstndUsoHerramientDesarrolloAplicacionesWebV3.pdf

Debido a que en los requisitos de los usuarios plantean que los empleados deben acceder al sistema a través de internet, se considera que la arquitectura web en tres capas es la que se adapta a esta exigencia, en tal sentido se estudian una serie de alternativas en cuanto a servidores web, servidores de base de datos, lenguajes de programación: (Ver figura 21)

Figura 21. Arquitectura web

Fuente: http://www.minedu.gob.pe/ofin/xtras/EstndUsoHerramientDesarrolloAplicacionesWebV3.pdf 1. Componentes en el cliente

Las estaciones de trabajo del cliente deberán contar con los siguientes productos instalados:

a) Navegadores Web

Debido a que las aplicaciones web serán accedidas desde computadores o dispositivos con diferentes sistemas operativos, estos deberán estar preparados para

Servidor de Base de Datos Servidor Web TCP/IP TCP/IP Cliente Navegadores Web: - Internet Explorer - Mozilla FireFox Codigo Cliente: - HTML - Css - JavaScript - VBScript Contenedores web: - Apache - IIS Lenguajes de Programación: - PHP - ASP - JSP MySQL PostgreSQL Programas:

- Adobe Acrobat Reader - Procesador de texto - Visor de imágenes - Descompresor de archivos

102

operar con diferentes navegadores web. Los navegadores que se recomiendan son: Internet Explorer 6.0 o superiores, Mozilla FireFox 2.0 o superiores.

b) Programas

Los programas básicos que se recomienda tener instalados en las estaciones cliente son: Adobe Acrobat Reader 5.0 o superiores, procesador de textos, aplicación para descomprimir archivos, aplicación de diseño asistido por ordenados (para ver planos) y un visor de imágenes.

2. Plataforma Tecnológica

a) Motor de Base de datos (Relacional)

MySQL: Es de Software libre. Debe usarse siempre que se necesiten aplicaciones sencillas de respuestas rápidas, el volumen de manejo de información sea menor de 1 GB, se cuentan con pocos recursos en el servidor de aplicaciones y/o servidor de base de datos, o que el informe previo de evaluación del software sea favorable.

PostgreSQL: Es de Software Libre. Se debe usar siempre que la aplicación sea compleja y procese o acceda a un gran volumen de información, se quiera usar o aplicar store-procedures y triggers, o que el informe previo de evaluación del software sea favorable.

b) Servidor Web

Apache: Es de software libre y se puede usar siempre que la aplicación esté desarrollada en PHP o JSP.

IIS (Internet Information Server): Es de Software propietario, para su uso se debe contar con un sistema operativo windows con su respectiva licencia. Se debe usar siempre que el informe de evaluación del software sea favorable.

103

c) Lenguajes de programación de Aplicaciones Web

Existen lenguajes de software libre muy usados para el desarrollo de aplicaciones web en general tales como JSP 3.0 o superior, PHP 4.0 o superior. De igual forma existen lenguajes de software propietario como lo es ASP 3.0 o superior o .NET, para esto se debe contar con la licencia adecuada para su uso.

d) Entorno Integrado de Desarrollo (IDE)

Existen programas de software libre como Eclipse, usado para el desarrollo de aplicaciones web en general con Java. De software propietario existen Dreamweaver 8 de Macromedia.

e) Lenguajes de Script

Se cuenta actualmente con lenguajes como VBScript usado para el desarrollo de aplicaciones web con ASP o .NET, JavaScript muy usado para aplicaciones con PHP y JSP.