SERVICIO NACIONAL DE APRENDIZAJE
ARQUITECTURA TECNOLÓGICA PARA EL PROYECTO DE FORMACIÓN
FASE DE DISEÑO
Presentado por: Carlos Julio Mesa G Tutora: Candelaria Victoria Suárez B.
TECNOLOGÍA DE ANÁLISIS Y DESARROLLO DE SISTEMAS DE INFORMACIÓN – ADSI
SENA 2016
INTRODUCIÓN
La tecnología y el universo digital están más presentes que nunca en la sociedad actual. Por primera vez, el mercado de consumo es más grande que el mercado corporativo en la industria de las Tecnologías de la Información y la Comunicación (TIC). Este proceso, conocido como la consumerización de las TIC, ya es imparable. Está transformando por completo tanto a empresas como a sectores empresariales. Esto, a su vez, supone una serie de retos importantes para las compañías, pero a la vez grandes oportunidades de creación de valor. Por primera vez en la historia de las TIC, los consumidores disfrutan en sus hogares de tecnología más avanzada y asequible que la que puedan encontrar en la empresa. Este cambio tecnológico, donde las personas tienen un mayor conocimiento en el uso y los beneficios de las herramientas y servicios de las TIC, está originando un cambio social, el cual tiene un impacto directo en cómo se organizan las empresas y en cómo éstas se relacionan con sus clientes. Aspectos como las redes sociales, internet en el móvil (los teléfonos inteligentes), los big data y la nube hacen posible esta era digital. La capacidad de procesamiento de la información aumenta de forma imparable. Sin un conocimiento de las posibilidades que ofrecen las nuevas tecnologías, el directivo no puede configurar una estrategia adecuada para su empresa. En la actualidad el consumidor tiene más capacidad de decisión en tiempo real, los empleados buscan más participación y control en los procesos empresariales, todos queremos ser consumidores y los clientes usan las redes sociales para hacer suya la marca. Ante este panorama, el principal reto al que se enfrenta el directivo es cómo gestionar los cambios culturales para adoptarlos de forma correcta a su empresa.
Objetivo principal
Discriminar al detalle y mediante diagramas la estructura de equipos, periféricos y elementos de interconexión que se necesitan para cumplir con los requerimientos del sistema del proyecto de formación.
Objetivo específico Determinar en el marco de la AppCSuite la estructuración del inventario físico tecnológico necesario para su implementación, el orden y forma de interconexión entre ellos.
Alcance La AppCSuite es una aplicación basada en la Web, pero con opción de ser implementada también como una aplicación de escritorio, razón por la cual es pertinente nombrar las características de cada una de ellas, así como las ventajas y desventajas según su función: Web o escritorio. Hablemos entonces de aplicaciones de escritorio y de aplicaciones web, teniendo en cuenta el siguiente escenario: supongamos una aplicación que utilizan varios usuarios desde varias ubicaciones, como por ejemplo un software de control de producción de una empresa con varias sedes. Los usuarios de esa aplicación serán los trabajadores de la empresa y accederán concurrentemente a la aplicación. Vamos a separar dos capas: base de datos y aplicación. Base de datos Obligatoriamente tendrá que estar online para que se pueda acceder desde las diferentes sedes. Aplicación Veamos ahora los dos tipos de aplicaciones y sus virtudes de una frente a la otra:
Aplicación de escritorio Será un programa el encargado de realizar la funcionalidad del software implementado que instalaremos en cada puesto de trabajo y se conectará a través de Internet con la base de datos. La principal ventaja de este sistema será la rapidez de uso ya que podremos incorporar todos los controles de escritorio y todos los eventos asociados a ellos. Como principal desventaja tendremos la gestión de actualizaciones que nos obligará a actualizar todos los programas instalados en cada puesto de la empresa cuando implementemos evoluciones o corrijamos fallos. Esto nos obligará a diseñar un sistema automático de gestión de actualizaciones ya que un usuario con un software obsoleto puede dañar la base de datos.
Otra desventaja importante es la escasa portabilidad ya que si lo implementamos para un entorno Windows, solo en equipos de ese tipo funcionará y no podremos usarla en una tablet o un teléfono.
Aplicación web Será un servidor el encargado de realizar la funcionalidad del sistema que hemos implementado a través de un programa que manejará el usuario con el navegador web (Internet Explorer, Firefox, Chrome, etc.) de su ordenador. La principal ventaja será la disponibilidad de la aplicación a través de dispositivos que tengan un navegador web: ordenadores, teléfonos móviles, tablets, etc. De esta forma un escenario posible podría ser un comercial de una empresa que cierra un pedido en el domicilio de su cliente y a través de una tablet deja realizado el mismo y confirmado con el cliente un plazo de entrega. En ese caso el equipo que tramite los pedidos ubicado en la empresa tendrá constancia del pedido en el momento y podrá tramitarlo rápidamente. Otra ventaja muy importante será la gestión de actualizaciones que con actualizar la aplicación del servidor, todos los usuarios la tendrán en el momento. Sólo será necesario poner la aplicación en modo mantenimiento para que no haya ningún usuario conectado en ese momento (y no pierda datos) y realizar la mejora. Este tipo de actualizaciones puede hacerse en un horario fuera del horario de oficina de la empresa. La interfaz de una aplicación web no es una desventaja frente a la interfaz de una aplicación de escritorio ya que actualmente los controles web cuentan con una funcionalidad y cercanía al usuario muy amplias.
En definitiva actualmente resulta más práctico y aconsejable el uso de aplicaciones web siempre que necesitemos un trabajo en diferentes ubicaciones.
DIAGRAMA DE DESPLIEGUE DE LA AppCSuite en UML
Descripción del Diagrama de despliegue Dispositivos: Desde los cuales se ejecuta el navegador Web necesario para interactuar con la aplicación Web AppCSuite. Servidor TomCat: Tal como se describe gráficamente en el diagrama, la arquitectura involucra un Servidor TomCat, desde el que la aplicación desarrollada en Java atenderá las peticiones. DMZ: El servidor TomCat sería colocado en una DMZ para mantener limitado el tráfico de entrada y salida, permitiendo el acceso a la aplicación desde Internet, pero restringiendo el mismo al segmento donde se coloca la base de datos que emplean los módulos de la aplicación. NOTA: En seguridad informática DMZ, sigla en inglés de demilitarized zone o red perimetral es una zona segura que se ubica entre la red interna de una organización y una red externa, generalmente en Internet. El objetivo de una DMZ es que las conexiones desde la red interna y la externa a la DMZ estén permitidas, mientras que en general las conexiones desde la DMZ solo
se permitan a la red externa -- los equipos (hosts) en la DMZ no pueden conectar con la red interna. Esto permite que los equipos (hosts) de la DMZ puedan dar servicios a la red externa a la vez que protegen la red interna en el caso de que intrusos comprometan la seguridad de los equipos (host) situados en la zona desmilitarizada. Para cualquiera de la red externa que quiera conectarse ilegalmente a la red interna, la zona desmilitarizada se convierte en un callejón sin salida. La DMZ se usa habitualmente para ubicar servidores que es necesario que sean accedidos desde fuera, como servidores de correo electrónico, Web y DNS. Y es precisamente estos servicios alojados en estos servidores los únicos que pueden establecer tráfico de datos entre el DMZ y la red interna, por ejemplo, una conexión de datos entre el servidor web y una base de datos protegida situada en la red interna.
Firewall: Dispositivos de protección perimetral que permiten la configuración de red DMZ. Servidor BD MySQL: Tal como se describe en el diagrama la arquitectura involucra un Servidor de Base de Datos MySQL. NOTA: Archivo fuente
Diagrama tecnologico del poyecto.dia
--------------------------------
DIAGRAMA GENERAL DE VISTA DE COMPONENTES El siguiente diagrama muestra una visión general de los componentes del sistema. de la AppCSuite. Se sigue una arquitectura Modelo-Vista-Controlador, que pretende realizar una separación por capas de las distintas funcionalidades que tendrá el sistema AppCSuite. Se diferencian claramente dos interfaces de acceso diferentes, que dan acceso a las distintas funcionalidades, según se muestra el siguiente diagrama de componentes.
Funcionalidad Cliente La parte accesible por el Cliente estará compuesta por un interfaz web creado mediante páginas JSP. Dichos JSPs se comunicarán con un servlet con distintas operaciones correspondientes a las funcionalidades disponibles para los Clientes. La lógica de dichas operaciones se encontrará en un controlador independiente que se encargará de las solicitudes de datos a la base de datos y utilizará las entidades de negocio (Java Beans) para realizar las operaciones necesarias. Funcionalidad Administrador Las funciones de administración se separan del interface del Cliente por seguridad. Dependiendo del módulo los administradores acceden a distintas responsabilidades, pero todas ellas a través de su interface que da acceso al servlet de administración.
NOTA: Archivo fuente
Diagrama Vista de componentes del Proyecto.dia