Arquitectura software EN-HORA



Documentos relacionados
Arquitectura de sistema de alta disponibilidad

Capítulo 5. Cliente-Servidor.

NORMATIVA DE HOSTING VIRTUAL DE LA UNIVERSIDAD DE SEVILLA (SIC - JUNIO 2014)

CAPITULO IV CONCLUSIONES Y RECOMENDACIONES

Ventajas de Linux para. las empresas

Modulo I. Introducción a la Programación Web. 1.1 Servidor Web.

Introducción a las redes de computadores

COPIAS DE SEGURIDAD REMOTAS Y RESTAURACIÓN EN LÍNEA

CAPÍTULO 3: Resultados

Visión General de GXportal. Última actualización: 2009

INTRANET DE UNA EMPRESA RESUMEN DEL PROYECTO. PALABRAS CLAVE: Aplicación cliente-servidor, Intranet, Área reservada, Red INTRODUCCIÓN

Estándares para el Uso de Herramientas de Desarrollo y Plataformas de Aplicaciones Web

Beneficios estratégicos para su organización. Beneficios. Características V

Plataforma de expediente

S o l u c i o n e s I n f o r m a t i c a s. Soluciones a un solo clic

Requerimiento Tecnológico para acceso a Sistemas del SIAF

Guía de servicios. Contenidos

NORMATIVA DE HOSTING VIRTUAL DE LA UNIVERSIDAD DE SEVILLA (SIC - JUNIO 2014)

GMF Gestor de incidencias

Características del software

Solución GeoSAS. Otros módulos


Capítulo VI. Conclusiones. En este capítulo abordaremos la comparación de las características principales y

Monitorización de sistemas y servicios

Nuevas tendencias: Virtualización de computadores / servidores

TPV VIRTUAL O PASARELA DE PAGOS DE CAJASTUR

DEPARTAMENTO ADMINISTRATIVO NACIONAL DE ESTADÍSTICA. Oficina de Sistemas

Ventajas del software del SIGOB para las instituciones

Servidores corporativos Linux

Guía de Instalación. Glpi

Symantec Backup Exec System Recovery 7.0 Server Edition. Recuperación de sistemas en cuestión de minutos, en lugar de en horas o días

CAPITULO IV. HERRAMIENTAS DE CÓDIGO ABIERTO

Evaluación, Reestructuración, Implementación y Optimización de la Infraestructura de Servidores, Base de Datos, Página Web y Redes

FAQ PREGUNTAS FRECUENTES

INFORME TECNICO ESTANDARIZACION DE SERVICIOS

asired middleware XML Así-Red Servicios Telemáticos, S.L.L. w w w. a s i r e d. e s

Una propuesta de valor para la gran empresa: Atlassian Data Center

Implantar Microsoft Software Updates Service (SUS)

POR QUÉ NUESTRO FRAMEWORK DE DESARROLLO DWPORTAL/APP?

Gestión de la Configuración

Normativa de Hosting Virtual de la Universidad de Sevilla

DESCRIPCIÓN TÉCNICA AZUAN PROPIEDAD DE AZUAN TECHNOLOGIES S.A.

Seminario Electrónico de Soluciones Tecnológicas sobre Content Networking

Acronis License Server. Guía del usuario

NORMATIVA DE HOSTING VIRTUAL DE LA UNIVERSIDAD DE SEVILLA (SIC NOVIEMBRE 2012)

Tecnología de control para una eficiencia a largo plazo de instalaciones fotovoltaicas

DESCRIPCION GENERAL DEL PROGRAMA GESTECNET

SERVIDOR WEB PARA ACCESO EN TIEMPO REAL A INFORMACIÓN METEOROLÓGICA DISTRIBUIDA

CARACTERISTICAS DEL SISTEMA

CONSIDERACIONES TÉCNICAS SOBRE LOS SERVICIOS GESTIONADOS DE COPIA DE SEGURIDAD DE STORAGE NETWORKING

CONCLUISIONES Y RECOMENDACIONES

Red de Recargas Centro de Clearing

Sistema de Provisión Centralizada CPS

CARACTERÍSTICAS HERRAMIENTA E-BUSINESS E-SYNERGY (EXACTSOFTWARE)

Información de Producto:

Backup online empresarial Resumen de características técnicas 2015

SIMAD CLOUD. La Gestión Documental ahora en la nube, más eficiente SISTEMA INTEGRADO DE ADMINISTRACIÓN DOCUMENTAL

Desarrollo de Smarphones sobre plataformas libres para PC y PDA. David Cortés, José Luis González, Servando Saavedra y Juan Ramón Saavedra

PLATAFORMA i-datum Desarrollo e Implementación

APOLO GESTION INTEGRAL.

SMP Sistema Móvil de Preventa. Manual del usuario

SLIDEFINDER: Una herramienta universal y gratuita para clasificar, buscar y compartir imágenes e información en la Web

Capítulo 3 Diseño del Sistema de Administración de Información de Bajo Costo para un Negocio Franquiciable

Qué es Clé Manager? Clé-Manager, permite que todas las personas que intervienen en proceso de requerimientos, tengan conocimiento de, cual es:

Grandes sistemas con abc building aplicaciones acéntia Building Control 3.0

Gestor de Contenidos CMS. Prof: Ing. Henrry Servitá

Soporte Técnico de Software HP

e-commerce, es hacer comercio utilizando la red. Es el acto de comprar y vender en y por medio de la red.

MATERIAL DE TRABAJO 1. Evaluación del software

Capítulo 4.- Recomendaciones para un Servidor web y de bases de datos seguro.

SISTEMAS DE INFORMACIÓN II TEORÍA

Soluciones innovadoras para optimizar su infraestructura TI. Virtualización con el sistema operativo i, PowerVM y Power Systems de IBM

SIGAN 1.0 SISTEMA DE INFORMACIÓN DE GESTIÓN ADMINISTRATIVA DE NÓMINA

App para realizar consultas al Sistema de Información Estadística de Castilla y León

SISTEMAS IDEALES SISTIDE, S.A. SISTEMA GESTION DE USUARIOS

TOPICOS IV: ING. YIM APESTEGUI FLORENTINO

INSTALACIÓ N A3ERP. Informática para empresas INTRODUCCIÓN CONSIDERACIONES GENERALES DE LA INSTALACIÓN PAQUETES DE INSTALACIÓN PREDEFINIDOS

INFORME TECNICO PREVIO DE EVALUACIÓN DE SOFTWARE N /UIE-PATPAL - FBB

SISTEMA DE PAPELES DE TRABAJO PARA AUDITORÍA SPT AUDIT

Brindamos asesorías que involucran tecnología y personal calificado, estos hacen de DOCTUM su mejor aliado.

E-learning: E-learning:

Servicios TIC. Propuesta educación Universidad

Clustering en Windows 2003

CAPITULO V CONCLUSIONES Y RECOMENDACIONES. Para poder desarrollar una propuesta confiable de seguridades, enmarcada en las

SBConta.NET Manual de instalación. SBSS Consulting, S.A Barcelona Telf , fax web

Printer Activity Monitor. Libro blanco técnico

TITULO: SERVICIO DE INFORMACIÓN A TRAVÉS DE UNA RED DE PUNTOS DE INFORMACIÓN ELECTRÓNICA EN ESPACIOS PÚBLICOS DE LA CIUDAD DE MADRID

INSTALACIÓN A3ERP INTRODUCCIÓN CONSIDERACIONES GENERALES DE LA INSTALACIÓN PAQUETES DE INSTALACIÓN PREDEFINIDOS

SMSPymeX: SISTEMA AUTOMATIZADO DE RECEPCIÓN DE PEDIDOS MEDIANTE MENSAJES DE TEXTO SMS

CAPITULO 8. Planeamiento, Arquitectura e Implementación

INFORME Nº GTI INFORME TÉCNICO PREVIO DE EVALUACIÓN DE SOFTWARE

Elementos requeridos para crearlos (ejemplo: el compilador)

LOOKWISE DEVICE MANAGER NOVEDADES RELEASE 2.2

La Digitalización del Ayuntamiento. Gestión Integral

Cómo hacer backups en ambientes virtualizados?

ing Solution La forma más efectiva de llegar a sus clientes.

SIEWEB. La intranet corporativa de SIE

Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA

Gestión Dispositivos Móviles Dexon Software

LLEVE SU NEGOCIO al SIGUIENTE NIVEL. digitalice todos sus documentos y procesos.

Transcripción:

Arquitectura de en:hora Arquitectura software EN-HORA en:hora es un software de control de acceso y presencia con una arquitectura modular. El software se implementa mediante un conjunto de componentes lógicos que permiten la adaptación a las necesidades del cliente, ofrecen una gran robustez y proporcionan un nivel alto de seguridad. Un simple diagrama de los componentes principales sigue: Escalabilidad en:hora se ha diseñado con una amplia gama de clientes en mente. Durante los años de experiencia adquirida por en:hora se han realizado instalaciones en PYME, empresas distribuidas geográficamente o grandes multinacionales. Con esta idea en mente se han escogido los componentes que nos permitan adaptarnos mejor a los requisitos de los posibles clientes. Se ha desarrollado la aplicación usando una plataforma Web llamada WAMP (o LAMP, en caso de usar Linux como sistema operativo) permitiendo un acceso fácil a los datos, un desarrollo del producto ágil y rápido y la posibilidad de satisfacer a organizaciones de diverso tamaño debido a su escalabilidad. La arquitectura WAMP (Windows o Linux Apache MySQL PHP) se usa en los sistemas web de diversas empresas con éxito destacable. Ajustando el hardware y los parámetros de configuración de los componentes de en:hora y del sistema

operativo se puede obtener un sistema capaz de atender miles de peticiones por segundo o bien adaptarse a sistemas con escaso uso. Su escalabilidad en:hora la debe a los dos componentes principales de la arquitectura que son Apache HTTPD Server y MySQL. Apache HTTPD Server es el servidor web que se usa en la versión estándar de en:hora y MySQL es la base de datos. Ambos programas son software abierto y cuentan con el apoyo de diversas empresas del sector como puede ser IBM, SUN, ORACLE, Microsoft, Google, Yahoo!, etc. 1 La principal estrategia de en:hora en cuanto a escalabilidad se refiere consiste en hacer un scale-out de sus componentes haciendo que la carga se divida entre más nodos permitiendo las cargas necesarias para sistemas de control de acceso y presencia con un altísimo nivel de transacciones por segundo. Seguridad Como se ha dicho en:hora tiene una arquitectura de componentes que proporciona un total aislamiento entre los componentes evitando que un fallo en uno de ellos se propague al resto permitiendo ganar acceso a componentes no relacionados con el afectado por el posible fallo de seguridad. en:hora tiene dos componentes públicos susceptibles a ataques remotos. Estos componentes son el servidor web Apache y el software desarrollado por en:hora que ofrece la interfaz del programa. En lo referente a Apache su seguridad es contrastada y ofrece plenas garantías gracias al soporte de la comunidad y a las empresas que le dan soporte. Las actualizaciones aparecen en la web del proyecto 1. Al ser en:hora un sistema componentizado es posible actualizar sólo el servidor apache sin que afecte a el resto de componentes. El otro componente susceptible de ataques es la propia aplicación desarrollada por el equipo de en:hora. Para maximizar la seguridad y agilizar el desarrollo al máximo se ha usado el framework de PHP Symfony 1. Este framework proporciona un conjunto de librerías y mecanismos que permiten al desarrollador abstraerse de las cuestiones relacionadas con la seguridad. El framework filtra todo el contenido que procede del exterior de la aplicación evitando XSS y otros posibles ataques remotos bastados en el protocolo HTTP, JSON, SOAP y los demás protocolos que se usan en la aplicación. A nivel de aplicación la seguridad se tiene en cuenta evitando el acceso no autorizado a datos o la manipulación de los mismos por personal no autorizado. En caso de ataques relacionados con la seguridad de la red dónde se encuentra instalado en:hora es posible encriptar toda la comunicación mediante SSL (Secure Sockets Layer) que es el mismo mecanismo que se usa en las transacciones electrónicas seguras usadas por los bancos o comercios seguros. Esta opción está disponible bajo petición del cliente. 1 http://www.apache.org/foundation/thanks.html, http://mysql.com/customers/ 2 http://httpd.apache.org/download.cgi 3 http://www.symfony-project.org/

En caso de ataques locales en:hora se apoya en la seguridad ofrecida por el sistema operativo. En caso de que el atacante tenga acceso local a la máquina el sistema operativo le debe impedir acceder a los ficheros de configuración o a los ficheros que contienen los datos del programa. La instalación estándar de en:hora usa un usuario administrador y restringe al máximo los privilegios de acceso a sus componentes. En:HORA incorpora mecanismos de recuperación en caso de pérdidas de datos para posibilitar el restablecimiento del sistema mediante las copias de seguridad periódicas que se realizan de todos los datos. En:HORA también ofrece un servicio de actualizaciones dónde se incluyen las últimas versiones de los software disponible corrigiendo errores de seguridad y de funcionalidad. Éste servicio notifica automáticamente al administrador permitiendo su pronta actualización. Robustez Todos los componentes usados por en:hora son de contrastada robustez. La reutilización de software durante el desarrollo de en:hora ha sido una de las premisas fundamentales. Siempre que se ha podido reutilizar se ha hecho. Hemos preferido usar componentes de fabricantes que se dedican a implementar ese componente antes que usar librerías o componentes proporcionados por fabricantes generalistas. Los componentes más sensibles a la poca robustez son el servidor web (Apache) y la base de datos (MySQL). Estos dos componentes gozan de una gran reputación en el sector como componentes muy robustos y estables. Lo demuestran el gran número de instalaciones de Apache HTTP Server 1 y la experiencia de los desarrolladores de en:hora trabajando con estos productos. Todos los componentes críticos del sistema se instalan en el mismo como servicios supervisados por el sistema. Tanto en Linux como en Windows éstos servicios están monitorizados y son reiniciados en caso de fallada o malfuncionamiento. En el apartado de acceso a la aplicación la arquitectura de en:hora permite disponer de redundancia de servicios para realizar un fail-over en caso de fallada de uno de sus componentes. En instalaciones donde la disponibilidad es uno de los requisitos ésta se consigue replicando nodos y cambiando a un nodo de reserva cuando el principal falla. Soporte en:hora se ofrece como un paquete de software integrado. Todos sus componentes están soportados por en:hora. Por tanto no se deja al cliente lidiar con el soporte individual de cada uno de sus componentes ofreciendo un soporte integral y coherente. 4 http://news.netcraft.com/archives/2009/06/17/june_2009_web_server_survey.html http://mysql.com/customers/

Cuando un cliente solicita una instalación de en:hora se hace un estudio sobre las dimensiones del proyecto y los requisitos del mismo. Mediante este estudio se estiman las necesidades del cliente y se recomienda un hardware mínimo y unos ajustes del sistema oportunos. Descripción de los componentes principales MySQL MySQL es la base de datos estándar de las aplicaciones de internet. Es uno de los proyectos de software libre más conocidos de la actualidad. Normalmente es usada en aplicaciones web o aplicaciones que requieren un acceso rápido a las bases de datos. Al disponer de librerías cliente nativas para PHP que funcionan en Linux y Windows goza de gran popularidad entre los desarrolladores que usan éste lenguaje para sus proyectos. MySQL actualmente es propiedad de ORACLE debido su reciente adquisición de SUN. Su modelo de negocio se basa en ofrecer servicios de soporte de MySQL a los clientes que lo requieren y compran las versiones Enterprise de MySQL. en:hora ofrece la versión estándar de MySQL ya que ésta dispone de todos los componentes necesarios para el funcionamiento de en:hora. Al iniciar el proyecto en:hora se realizó un estudio de las alternativas que ofrecía el mercado a nivel de base de datos descartando a las debido a que no ofrecían ninguna mejora respecto a lo que ofrece MySQL y en general encarecían el producto o bien a base de licencias o bien debido a costes de soporte o mantenimiento innecesarios. 1 Apache HTTPd Server Apache es el servidor web utilizado por en:hora. Este producto software es desarrollado por la fundación Apache que desarrolla diversos proyectos (como tomcat, Ant, Jakarta,Xerces,.. ) y entre ellos se encuentra el servidor HTTPd que es uno de los más usados en internet. 1 Esta fundación cuenta con el soporte de la mayoría de fabricantes de software importantes a nivel mundial. 1 Al ser un software multiplataforma ofrece soporte HTTP tanto en Linux como en MS Windows permitiendo a en:hora ofrecer la misma interfaz (desde el punto de vista de administración y configuración) al administrador de en:hora. Si bien la aplicación en:hora puede funcionar con IIS no es una opción recomendada. En lo referente a la seguridad de apache goza de una ventaja respecto IIS. IIS con frecuencia se ve afectado por fallos de seguridad relativos al sistema operativo en el que se ejecuta (Ms Windows). El hecho de que apache tenga muy limitada la relación con el sistema operativo en 5 http://swik.net/mysql/mysql+vs+ms+sql+server 6 http://news.netcraft.com/archives/2009/06/17/june_2009_web_server_survey.html 7 http://apache.org/foundation/thanks.html

el que se ejecuta (debido a su gran portabilidad) lo aísla de bastantes fallos relativos al mismo. En el resto de fallos hay un equipo de seguridad dedicado a elaborar parches que corrigen el error que proporciona el agujero a los atacantes y con la instalación de una nueva release del servidor HTTPd se soluciona. PHP / Symfony PHP es el lenguaje por excelencia de las aplicaciones web modernas. Su facilidad de uso permite a los desarrolladores implementar aplicaciones web con cierta facilidad. Si a este hecho le añadimos el uso del framework Symfony (elaborado por sensio Labs 1 ) tenemos una combinación que permite desarrollar aplicaciones web complejas en un tiempo razonable y consiguiendo niveles de seguridad y funcionalidad no asequibles usando sistemas de desarrollo convencionales. Con Symfony el proyecto software goza de una buena estructura, una orientación a objetos muy estricta y una componentización que favorece el mantenimiento y la seguridad del mismo. Como ejemplo en el framework se incluye una capa ORM (Doctrine 1 ) para la gestión de los datos. Mediante esta capa se evitan los ataques SQL injection y se establece un mecanismo estándar para el acceso a los datos. Al aislar el software de la base de datos y establecer una comunicación a través de un componente hace posible soportar más de un motor de base de datos permitiendo usar otro gestor de base de datos en caso de que fuera necesario con mínimo esfuerzo de programación y una batería de pruebas oportuna..net 3.5 El acceso a los drivers de los terminales biometricos que soporta en:hora se hace mediante un servicio de drivers desarrollado mediante Microsoft.net y WCF (Windows Communications Foundation). Éste mecanismo proporciona acceso único a las librerías de los fabricantes que normalmente ofrecen una interfaz dll. Al centralizar todo el acceso a los drivers en un único componente que ofrece una interfaz SOAP hacia el programa en:hora disponemos de una amplia capacidad para añadir nuevos dispositivos al software y facilita la escalabilidad mediante scale-out de este componente. 8 http://www.sensiolabs.com/en 9 http://www.doctrine-project.org/

Arquitectura de en:hora para centros de trabajo distribuidos Para centros de trabajo distribuidos pero gestionados desde una central la opción recomendada para el uso de en:hora es la siguiente. Se realiza una instalación del software en la central de la organización. Desde este punto se puede acceder a todos los datos de las diferentes delegaciones. En función del nivel de acceso del usuario se le permite el acceso a los datos oportunos. Por ejemplo un jefe de departamento de una delegación sólo vería los datos relativos a su delegación y su departamento. Los terminales se instalan en cada delegación según las necesidades y se les proporciona acceso a la LAN de la delegación. Para unir los terminales con la central se recomienda el establecimiento de conexiones VPN entre cada delegación y la central para garantizar la seguridad de los datos en tránsito. Si desde las delegaciones se quiere tener acceso a los datos que se encuentran en la central se debe hacer accesible el puerto HTTP (80) o HTTPS (443)del servidor de en:hora a las delegaciones. Este modo permite el acceso en tiempo real a los datos de la aplicación y requiere que el usuario disponga de una conexión hacia el servidor. Al ser una comunicación HTTP o HTTPS se permite una infraestructura de firewalls y proxies que protejan y aíslen a los servidores proporcionando un nivel de seguridad óptimo. Con el nivel de implantación de las tecnologías de comunicaciones ADSL, WiMAX, etc.. el acceso a internet por banda ancha se encuentra con una cobertura casi total. en:hora requiere un ancho de banda mínimo para funcionar. Con un uso normal en delegaciones de tamaño medio (10-15 empleados) con un ancho de banda de 1Mb/s de acceso es más que suficiente. Como desventaja de este sistema de acceso a los datos el acceso offline a los datos no es posible ya que siempre se necesita acceso al servidor de la central para poder disponer de los datos. En el roadmap de evolución de en:hora se encuentra la replicación en tiempo real y en desconexión de los datos de aplicación. Esta funcionalidad se desarrollará durante el 2010 debido a la complejidad técnica de implementación y a los requisitos de calidad y testing que conlleva.