Arquitetura Web

TALLER N° 4 ARQUITECTURA DE APLICACIONES WEB- MIDDLEWARESEGURIDAD EN SISTEMAS DE INFORMACIÓN. GELMER MARQUEZ GOMEZ SEN

Views 82 Downloads 3 File size 306KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

TALLER N° 4 ARQUITECTURA DE APLICACIONES WEB- MIDDLEWARESEGURIDAD EN SISTEMAS DE INFORMACIÓN.

GELMER MARQUEZ GOMEZ

SENA CENTRO DE SERVICIOS FINANCIEROS COORDINACION UNIDAD DE TECNOLOGICA E INFORMATICA ANALISIS Y DESARROLLO DE LOS SISTEMAS DE INFORMACIÓN ARQUITECTURA DE SOFTWARE BOGOTÁ D.C

Contenido INTRODUCCION ................................................................................................................................. 3 ARQUITECTURA DE APLICACIONES WEB. .............................................................................................. 3 ESTILOS DE ARQUITECTURA ................................................................................................................ 3 Web-Cola-Trabajo .......................................................................................................................... 3 Arquitectura N-Capas................................................................................................................ 3 ARQUITECTURAS DISTRIBUIDAS ............................................................................................. 4 Arquitectura Peer to Peer ........................................................................................................ 4 Arquitectura Orientada a Servicios ....................................................................................... 4 Arquitectura para Cloud Computing ..................................................................................... 4 MIDDLEWARE ................................................................................................................................. 5 Middleware basado en Llamada a Procedimiento Remoto (RPC, Remote Procedure Call). .......................................................................................................................... 5 Middleware orientado a objetos. ............................................................................................ 6 Middleware Orientado a Mensajes (MOM, Message-Oriented Middleware). .............. 6 Middleware Orientados a componentes. ............................................................................. 6 Middleware Agentes. ................................................................................................................. 6 Middleware Para Acceso a Información (DAM, Data Access middleware). ................ 6 Middleware de Escritorio. ........................................................................................................ 7 Middleware Basados en la Web. ............................................................................................ 7 Middleware a Tiempo Real ....................................................................................................... 7 Lógicas de Mediación de Datos ............................................................................................. 7 Lógicas de Mediación de Comunicación ............................................................................. 8 SEGURIDAD EN SISTEMAS DE INFORMACIÓN ..................................................................... 8 Mecanismos que ofrecen los gestores ................................................................................ 9 CONCLUSIONES................................................................................................................................. 9 WEBGRAFIA....................................................................................................................................... 10

INTRODUCCION Afianzar los conocimientos propios de las Arquitectura de aplicaciones WebMiddleware- Seguridad en Sistemas de Información.

ARQUITECTURA DE APLICACIONES WEB. ESTILOS DE ARQUITECTURA Un estilo de arquitectura es una familia de arquitecturas que comparten determinadas características. Web-Cola-Trabajo Para una solución puramente PaaS, considere la posibilidad de usar una arquitectura Web-Cola-Trabajo . En este estilo, la aplicación tiene un front-end web que controla las solicitudes HTTP y un trabajo de back-end que realiza tareas de uso intensivo de la CPU u operaciones de larga duración. El front-end se comunica con el trabajo a través de una cola de mensajes asincrónicos. Arquitectura N-Capas En una aplicación distribuida de N-capas, los elementos que la integran se agrupan de forma lógica según la funcionalidad que reciben o suministran. Así, los elementos se limitarán a recibir peticiones de datos mientras que otros interactúan con el usuario y su función es fundamentalmente solicitar a otros elementos la información que el usuario precisa. Atendiendo el papel que los distintos elementos juegan, se agrupan según su funcionalidad: 

 

La Capa de Servidor, incluye aquellos elementos que se encargan de recibir las peticiones de datos o de acceso a servicios básicos del sistema y de suministrar a otros elementos la información solicitada. La Capa de Negocios, encapsula las reglas de acceso a datos y la gestión de procesos internos de la aplicación. La Capa de Presentación, se encarga de la lógica necesaria para interactuar con el usuario de la aplicación.

Una vez agrupada la funcionalidad en capa lógicas es fácil relacionar unas con otras. El usuario interactuará con la capa de presentación, solicitando datos o desencadenando acciones. Las solicitudes serán atendidas por la capa de negocios que se encarga de la gestión o traducción necesaria para la capa de servidor realice la tarea solicitada.

ARQUITECTURAS DISTRIBUIDAS Arquitectura Peer to Peer Es una red de computadoras en la que todos o algunos aspectos funcionan sin clientes ni servidores fijos, sino una serie de nodos que se comportan como iguales entre sí. Es decir, actúan simultáneamente como clientes y servidores respecto a los demás nodos de la red. Arquitectura Orientada a Servicios Es un estilo arquitectónico para la construcción de aplicaciones de software en base a servicios disponibles. Permite la reutilización de activos existentes para nuevos servicios que se pueden crear a partir de una infraestructura de TI que ya se había diseñado. De esta forma, permite a las empresas optimizar la inversión por medio de la reutilización que, además, conlleva otra ventaja: la interoperabilidad entre las aplicaciones y tecnologías heterogéneas. Arquitectura para Cloud Computing La computación en la nube se sustenta en tres pilares fundamentales tambien denominados capas, estos son: 

Software como Servicio (SaaS) Consiste en la entrega de una aplicación completa como un servicio. El proveedor Saas dispone de una aplicación estándar desarrollada en algunos casos por la misma persona que se encarga de operar y mantener y con la que da servicio a multitud de clientes a través de la red, sin que estos tengan que instalar ningún software adicional así los costes se reducen enormemente.



Plataforma como Servicio (PaaS) La plataforma de computación en nube permite a los usuarios acceder a aplicaciones en servidores centralizados, sustentándose en la infraestructura de la nube. El proveedor es el encargado de escalar los recursos en caso de que la aplicación lo requiera, el rendimiento óptimo de la plataforma, seguridad de acceso, etc.



Infraestructura como Servicio (IaaS) Este modelo ofrece espacio de almacenamiento, capacidad de proceso, servidores y equipamiento físico, en pago por uso. Las IaaS permiten desplazar una serie de problemas al proveedor relacionados con la gestión de las

maquinas como el ahorro de costos al pagar solo por lo consumido y olvidarse de tratar con máquinas y su mantenimiento. MIDDLEWARE Middleware es una incorporación relativamente reciente en la computación, obtuvo popularidad en los 80 como una solución al problema de cómo conectar nuevas aplicaciones con viejos sistemas. Middleware es software que se sitúa entre un sistema operativo y las aplicaciones que se ejecutan en él. Básicamente, funciona como una capa de traducción oculta para permitir la comunicación y la administración de datos en aplicaciones distribuidas. A veces, se le denomina “plumbing” (tuberías), porque conecta dos aplicaciones para que se puedan pasar fácilmente datos y bases de datos por una “canalización”. El uso de middleware permite a los usuarios hacer solicitudes como el envío de formularios en un explorador web o permitir que un servidor web devuelva páginas web dinámicas en función del perfil de un usuario. Esto incluye: • • •

Servidores web Servidores de aplicaciones Sistemas de gestión de contenido y herramientas similares.

De todas maneras el término ha sido usado desde 1968. También facilitaba el procesamiento distribuido, conexión de múltiples aplicaciones para crear una aplicación más grande, generalmente sobre una red.

Middleware es especialmente esencial para tecnologías como: • • •

XML SOAP Servicios web y arquitecturas orientadas a servicios.

La clasificación de los middlewares está dividida en dos categorías: Integración: En esta categoría los middlewares poseen la capacidad de unirse con sistemas heterogéneos. Cada uno posee diferentes protocolos de comunicación o formas de operar en diferente software. Middleware basado en Llamada a Procedimiento Remoto (RPC, Remote Procedure Call). Este tipo de middleware proporciona gestión eficiente de llamadas remotas a procedimiento, La principal ventaja de la RPC es que permite definir la interfaz de comunicación con los componentes mediante un lenguaje de definición de interfaz, pueden ser síncronos o asíncronos.

Middleware orientado a objetos. El middleware orientado a objetos es una extensión del middleware orientado a RPC que agrega muchas características propias de los lenguajes de programación orientados a objetos. Estas extensiones incluyen soporte para herencia, referencias a objetos y soporte de excepciones. El middleware orientado a objetos soporta peticiones síncronas como mecanismo de comunicación por defecto. Middleware Orientado a Mensajes (MOM, Message-Oriented Middleware). Este tipo de middleware facilita la comunicación mediante intercambio de mensajes, los mensajes pueden ser utilizados para solicitar la ejecución de servicio remoto, para notificación distribuida de eventos, o para implementar sistemas basados en publicación-suscripción. Generalmente el middleware orientado a mensajes sólo proporciona de forma eficiente servicios asíncronos y colas de mensajes. Este bajo nivel de abstracción suele completarse con capas adicionales que incorporen mecanismos de detección de fallos, gestión de prioridad de mensajes, desacople entre cliente y servidor (para facilitar la escalabilidad del software). Middleware Orientados a componentes. Un componente es un programa que realiza una función específica, diseñada para operar e interactuar fácilmente con otros componentes y aplicaciones. En este tipo de middleware la principal ventaja es que son configurables y reconfigurables. La reconfiguración se puede realizar en tiempo de ejecución, lo que ofrece una gran flexibilidad para satisfacer las necesidades de un gran número de aplicaciones.

Middleware Agentes. Los agentes son un tipo de middleware que posee varios componentes:  Entidades. Pueden ser objetos o procesos.  Medios de comunicación. Pueden ser canales, tuberías, etc.  Leyes. Identifican la naturaleza interactiva de los agentes. Pueden ser la sincronización o el tipo de esquema. La ventaja de los middlewares agentes es la capacidad de éstos para realizar una gran cantidad de tareas en nombre del usuario y para cubrir una amplia gama de estrategias basadas en el entorno que les rodea. Aplicación: La clasificación por aplicación incluye los middleware que son ajustados

para aplicaciones específicas. Middleware Para Acceso a Información (DAM, Data Access middleware). Los middleware para acceso a información tienen la característica de poder interactuar con diversas fuentes de datos. En este tipo se encuentran los que procesan transacciones, gateways de bases de datos y sistemas distribuidos de

transacción/procedimiento. Sus ventajas residen en la comunicación que tienen entre múltiples fuentes de datos, la conversión del lenguaje de programación de la aplicación a un lenguaje aceptado por la fuente de datos de destino y la capacidad de respuesta en un formato y lenguaje aceptable para el solicitante. Middleware de Escritorio. Los middleware de escritorio pueden hacer variaciones en la presentación de la información pedida por el usuario por las aplicaciones de rastreo y asistencia, controlar cualquier servicio de transporte y proveer una copia de seguridad y otras operaciones de fondo. De igual forma pueden ser manutención y gráficas, ordenamientos, directorios de servicios, manejo de información de la base de datos, manejo de procesos, calendarización de trabajos, notificación de eventos de servicios, manejo de instalación de software, servicios de cifrado y control de accesos. Middleware Basados en la Web. Este tipo de middleware asiste al usuario con la navegación web, el uso de interfaces que le permiten encontrar páginas de su interés y detectar cambios de interés del usuario basado en su historial de búsquedas. Provee de un servicio de identificación para un gran número de aplicaciones y comunicación entre procesos independiente del sistema operativo, protocolo de red y plataforma de hardware. Middleware a Tiempo Real La información en tiempo real es caracterizada por que la información. Los middlewares en tiempo real soportan las peticiones sensibles al tiempo y políticas de planificación. Esto se realiza con servicios que mejoran la eficiencia de las aplicaciones de usuario. Los middlewares en tiempo real se pueden dividir en diferentes aplicaciones:   

Aplicación de base de datos en tiempo real. Sensor de procesamiento. Transmisión de información.

Lógicas de Mediación de Datos La capa de servicios de datos (DSL) proporciona una capa de abstracción para el acceso a datos que es independiente del esquema físico. La finalidad de la capa de servicios de datos es proporcionar una interfaz coherente (llamada fachada de servicios de datos) para acceder a datos, independiente de la infraestructura de correlación de objetos relacionales (como EJB, DAS o JPA). A su vez, la infraestructura de correlación extraída se utiliza para transformar los datos recuperados de la base de datos en una colección de objetos Java. Esos objetos se implementan como objetos de datos de servicio físico (SDO). La capa de servicios de datos realiza transformaciones bidireccionales entre SDO físicos y SDO lógicos. Permite realizar operaciones CRUD en los SDO lógicos. De forma alternativa, la capa de servicios de datos también permite realizar operaciones

CRUD directamente sobre los datos físicos, omitiendo completamente el esquema lógico.

Lógicas de Mediación de Comunicación El mediador facilitara la comunicación entre los actores a fin de que mejores los aspectos relacionales y puedan llegar a un acuerdo total o parcial al conflicto que mantiene. Suponen una lógica positiva para afrontar los problemas, asumiendo el compromiso y la voluntad de cambiar la actitud de confrontación y la negación de la realidad emocional, personal y social del otro, por una actitud de reconocimiento del otro.

SEGURIDAD EN SISTEMAS DE INFORMACIÓN Cuando hablamos de seguridad de la información estamos indicando que dicha información tiene una relevancia especial en un contexto determinado y que, por tanto, hay que proteger. La Seguridad de la Información se puede definir como conjunto de medidas técnicas, organizativas y legales que permiten a la organización asegurar la confidencialidad, integridad y disponibilidad de su sistema de información. Hasta la aparición y difusión del uso de los sistemas informáticos, toda la información de interés de una organización se guardaba en papel y se almacenaba en grandes cantidades de abultados archivadores. Datos de los clientes o proveedores de la organización, o de los empleados quedaban registrados en papel, con todos los problemas que luego acarreaba su almacenaje, transporte, acceso y procesado. Los sistemas informáticos permiten la digitalización de todo este volumen de información reduciendo el espacio ocupado, pero, sobre todo, facilitando su análisis y procesado. Se gana en ‘espacio’, acceso, rapidez en el procesado de dicha información y mejoras en la presentación de dicha información. Pero aparecen otros problemas ligados a esas facilidades. Si es más fácil transportar la información también hay más posibilidades de que desaparezca ‘por el camino’. Si es más fácil acceder a ella también es más fácil modificar su contenido, etc.

Desde la aparición de los grandes sistemas aislados hasta nuestros días, en los que el trabajo en red es lo habitual, los problemas derivados de la seguridad de la información han ido también cambiando, evolucionando, pero están ahí y las soluciones han tenido que ir adaptándose a los nuevos requerimientos técnicos. Aumenta la sofisticación en el ataque y ello aumenta la complejidad de la solución, pero la esencia es la misma.

Como vemos el término seguridad de la información es más amplio ya que engloba otros aspectos relacionados con la seguridad más allá de los puramente tecnológicos. Mecanismos que ofrecen los gestores Seguridad e integridad de datos en un SGBD •



• • •

Debe garantizar la protección de los datos contra accesos no autorizados, tanto intencionados como accidentales. Debe controlar que sólo los usuarios autorizados accedan a la BD. Los SGBD ofrecen mecanismos para implantar restricciones de integridad en la BD. Estas restricciones van a proteger la BD contra daños accidentales. Los valores de los datos que se almacenan deben satisfacer ciertos tipos de restricciones de consistencia y reglas de integridad, que especificará el administrador de la BD. El SGBD puede determinar si se produce una violación de la restricción. Proporciona herramientas y mecanismos para la planificación y realización de copias de seguridad y restauración. Debe ser capaz de recuperar la BD llevándola a un estado consistente en caso de ocurrir algún suceso que la dañe. Debe asegurar el acceso concurrente y ofrecer mecanismos para conservar la consistencia de los datos en el caso de que varios usuarios actualicen la BD de forma concurrente.

CONCLUSIONES La arquitectura web tiene algunas ventajas que son la actualización automática si lo vemos desde cliente-servidor. Por otro lado, podemos ver que es multiplataforma ya que observamos diferentes arquitecturas y podemos decir que algo que es portable. Lo chistoso es que para todo esto se necesita de internet y hay funciones que un computador no funciona. Por otro lado, no hay dudas respecto de que la seguridad de las aplicaciones web es un tema de interés actual y cotidiano. Las complejas y sensibles funcionalidades de las actuales aplicaciones web ha movido el perímetro de seguridad de las organizaciones, y una parte significativa del mismo ahora reside en las propias aplicaciones web. Y los privilegios de acceso a funcionalidades y datos ya no son uniformes y abiertos, sino que requieren de complejos esquemas., resultando esencial la fortaleza de los mecanismos de control de acceso. Las debilidades en los controles de acceso pueden surgir de diferentes fuentes: un diseño pobre de la aplicación hace muy difícil y hasta imposible el chequeo por accesos no autorizados, un simple descuido puede dejar desprotegidas funcionalidades críticas, o suposiciones erróneas acerca del comportamiento de los usuarios dejan a una aplicación web sin protección y pasible de un quiebre de seguridad. En muchos casos, detectar una brecha en los controles de acceso puede resultar trivial, pero en otros

casos, puede ser muy difícil, quedando ocultos defectos sutiles dentro de la lógica de la aplicación, especialmente en aplicaciones complejas y de alta seguridad. La lección más importante es que cuando se chequea la robustez de los controles de acceso se debe mirar en todas direcciones, debiendo ser paciente y testear cada paso particular de todas las funcionalidades de la aplicación.

WEBGRAFIA •

https://profesores.virtual.uniandes.edu.co/~isis3710/dokuwiki/lib/exe/fetch. php?media=temas:6.isis3710-estilos.pdf



https://senaintro.blackboard.com/webapps/blackboard/execute/content/file ?cmd=view&content_id=_112565267_1&course_id=_2049151_1 http://helmerfontalvo.blogspot.com/2017/11/middleware-1.html http://www.mailxmail.com/curso-sistemas-bases-datos/sgbd-diccionariodatos-seguridad-integridad-datos Hernández L. Tesis Doctoral. http://www.iuma.ulpgc.es/users/lhdez/inves/tesis/memoriatesis/node2.html #SECTION00210000000000000000 Ronald Quimis HBK. (2011). Middleware. http://middlewaremiddleware.blogspot.mx/2011/05/normal-0-21false-falsefalse-es-x-none_09.html Sistemas distribuidos. http://barbozasistemas.blogspot.mx/2012/11/middleware-middleware-esun-software.html Varela L. M. (2007). Conceptos fundamentales de un Middleware y razones de su importancia en el mundo de hoy. Argentina: UNLAM, Universidad Nacional de La Matanza. http://lisidi.cs.uns.edu.ar/chaco/Trabajos/Evaluaci%C3%B3n%20%E2%80 %93%20Introducci%C3%B3n%20a%20Grid%20Computing%20%20Middleware.pdf https://es.scribd.com/document/190738402/Clasificacion-de-Middlewaredocx

• • •







• •

Web:https://www.ibm.com/support/knowledgecenter/es/SSZLC2_7.0.0/co m.ibm.commerce.developer.soa.doc/concepts/csddsl.htm



Web:https://www.slideshare.net/DeboraOrienta/capitulo-3-mediacionsistemica