4. Estudio de la viabilidad del sistema
4.5. Valoración de las alternativas
Una vez hecho el estudio de las alternativas que utilizaremos para el desarrollo de la aplicación, pasamos a la valoración de las propuestas anteriores, teniendo en cuenta varios factores que ayudaran a hacer la comparación para terminar eligiendo la más apropiada y la que más se ajusta a nuestro proyecto.
4.5.1. Navegador Web
Tecnológicamente hablando los diferentes navegadores web escogidos son muy parecidos y comparten bastantes cosas. Son actualizados frecuentemente por lo que tienen un nivel similar, se encuentran disponibles en la mayoría de sistemas operativos, ofrecen buenas medidas de seguridad y son gratuitos.
Google Chrome es un navegador web desarrollado por Google. Actualmente es navegador más
utilizado con una cuota de mercado que se sitúa en el 44%. Utiliza un motor de renderizado llamado WebKit.
Internet Explorer es un navegador web desarrollado por Microsoft. Es el segundo navegador
más utilizado con una cuota del 23% y que ha llegado a alcanzar una cuota de utilización del 95% entre el 2002 y el 2003, pero se encuentra en caída libre.
Mozilla Firefox es una navegador web de código abierto desarrollado por la Fundación Mozilla.
Es el tercer navegador más utilizado de internet con 19% de cuota. Para visualizar páginas web emplea el motor de renderizado Gecko, que se basa en estándares web.
pág. 60
Opera es un navegador web creado por la empresa noruega Opera Software. Sus características
de seguridad incluyen protección integrada contra phishing y malware, cifrado de alta seguridad al navegar por sitios web seguros, y permite eliminar datos fácilmente.
4.5.2. Servidores
Se van a valorar tanto la viabilidad económica como los factores de riesgo asociados a cada una de las alternativas.
Los riesgos asociados a la selección del servidor son principalmente:
- Caída del servidor o ralentización al usarlo: Esto suele ocurrir por un exceso de usuarios interactuando con el servidor a la vez en un intervalo de tiempo. Se puede solucionar ampliando la capacidad de memoria RAM o aumentado la velocidad en el procesamiento de datos.
- Numero de procesadores: dependiendo de la cantidad de tareas que tenga que realizar el servidor en un periodo de tiempo necesitara un determinado número de procesadores para que el producto funcione correctamente y que las diferentes partes se sincronicen en tiempo real.
4.5.2.1. Servidor Flex
La opción primera escogida anteriormente no cuenta con la capacidad necesaria de memoria RAM para almacenar y procesas los datos de la aplicación, consideramos que es insuficiente para el correcto comportamiento de la aplicación.
En la segunda opción aumenta considerablemente las prestaciones y podemos considerar que es adecuado para nuestro sistema a día de hoy, sin embargo, hay que tener en cuenta el largo plazo y consideramos que con un aumento en el número de clientes podría no ser suficiente para su correcto funcionamiento.
La tercera opción, con una capacidad de 200GB de almacenamiento y 8Gb de RAM consideramos que la capacidad que presenta es más que suficiente para soportar el sistema sin preocuparse por los riesgos comentados anteriormente.
pág. 61
4.5.2.2. Servidor Cloud
La primera opción cuenta con las prestaciones necesarias en cuanto a capacidad de almacenamiento, sin embargo, el número de procesadores consideramos que es insuficiente. La segunda opción cuenta con unas prestaciones más que suficientes para soportar el sistema, suficientes como para no tener que preocuparnos de los riesgos asociados a los servidores. También hay que tener en cuenta que el precio de este servidor es asequible para cualquiera.
4.5.2.3. Servidor Virtual
Tiene un precio atractivo para las prestaciones que presenta, sin embargo, consideramos que no son suficientes a largo plazo.
4.5.3. Sistema Operativo
Las dos opciones estudiadas, Windows 10 y Linux ofrecen las prestaciones necesarias para desarrollar la aplicación.
4.5.4. Base de Datos
Tenemos dos opciones para la elección de la base de datos: MySQL y ORACLE.
MySQL es un sistema de gestión de bases de datos relacional, multihilo y multiusuario. Se ofrece
bajo licencia GNU GPL para uso compatible con esta licencia, pero si se quiere utilizar con productos privativos se debe comprar una licencia específica. Podemos destacar su rendimiento, utilidades de administración y su control de acceso de usuarios.
Oracle es un sistema de gestión de base de datos objeto-relacional. De este sistema podemos
destacar su soporte de transacciones, la estabilidad, la escalabilidad y su soporte multiplataforma. Cabe mencionar que Oracle no es gratuito.
pág. 62
4.6. Selección de la solución
Una vez realizado el estudio y la valoración de las diferentes opciones para desarrollar el sistema, teniendo en cuenta los factores tecnológicos, organizativos, económicos y operativos se va a proceder a la selección de la mejor opción para la aplicación.
- Navegador: La aplicación de desarrollará para que se adapte perfectamente a dos navegadores; Chrome por su facilidad de uso y su alta cuota de uso entre los usuarios. Firefox debido a que es un navegador de código abierto y cuenta también con un alto porcentaje de uso.
- Servidor: EL servidor que se va a escoger será el Servidor Cloud Flex por su alto rendimiento con 8Gb de RAM y 8 núcleos en el procesador.
- Sistema Operativo: Teniendo en cuenta el factor operativo y económico la opción escogida es Linux, ya que es un SO gratuito, de código abierto y cuenta con hay mucha documentación y apoyo a la comunidad de desarrolladores.
- Base de Datos: La opción escogida para el almacenamiento de los datos es MySQL por las ventajas que ofrece en cuanto al manejo y rendimiento, además que ser la herramienta conocida por el desarrollador.
- Tecnologías Web: Se utilizará java, en concreto la tecnología J2EE y sus complementarios (JPA, JDBC, JMS), como lenguaje de servidor. Y JSP, HTML5, CSS3, Bootstrap, javascript y jquery para la parte de la interfaz.
pág. 63