How to use Redis with MuleSoft. A quick start presentation.
189 206
1. Introducción a las tecnologías de información Introducción a las TIC’s Mtra. María Eugenia Pérez Duarte Universidad Madero Benjamín Misraim Soria Chantaca 4980
3. AUNQUE EL COSTO DE LAS COMPUTADORAS SE HA REDUCIDO EXPONENCIALMENTE, EN REALIDAD EL COSTO DE LA INFRAESTRUCTURA DE TI SE HA INCREMENTADO COMO UN PORCENTAJE DE LOS PRESUPUESTOS CORPORATIVOS. LOS COSTOS DE SERVICIOS DE COMPUTACIÓN Y EL SOFTWARE SON ALTOS EN TANTO QUE LA DEMANDA DE COMPUTACIÓN Y COMUNICACIÓN AH INCREMENTADO.
4. Computación distribuida Implica conectar en una sola red computadoras que se encuentren en ubicaciones remotas para crear una supercomputadora virtual al combinar la potencia de computo de todas las computadoras de la red. La computación distribuida requiere programas de software para controlar y asignar recursos de la red. Además ayuda ah reducir el tiempo de procesamiento
5. Computación bajo demanda La computación bajo demanda se refiere a las empresas que satisfacen el exceso de demanda de potencia de computo a través de centros remotos de procesamiento de datos de gran escala de esta manera las empresas pueden reducir sus inversiones en infraestructura de TI Para cada uno de los usuarios debe de ser similar al trabajo en el Sistema Centralizado. Seguridad interna en el sistema distribuido Se ejecuta en múltiples Computadoras. Tiene varias copias del mismo Sistema Operativo o de diferentes Sistemas Operativos que proveen los mismos servicios. Entorno de trabajo cómodo Dependiente de redes (LAN, MAN, WAN, etc.) Compatibilidad entre los dispositivos conectados Transparencia (El uso de múltiples procesadores y el acceso remoto debe de ser invisible).
6. Computación autónoma Los sistemas de computo actuales se han vuelto tan complejos que algunos expertos consideran que en el futuro podrían ser inmanejables. Con el software de sistemas operativos, empresariales y de bases de datos que pesan millones de líneas de código, y grandes sistemas que incluyen muchos miles de dispositivos red.
7. Computación de vanguardia La computación de vanguardia es un esquema multicapa de balanceo de carga para aplicaciones basadas en la web en el cual partes significativas del contenido, la lógica y el procesamiento del sitio web
8. Virtualización Y Procesadores Multinúcleo Virtualización. Un concepto realmente interesante, del que se lleva desarrollando muchos años, pero que parece que por fin está encontrando sus caminos productivos y no meramente de praxis y de desarrollo para profesionales. Si leemos algunos análisis de carga de servidores, millones a lo largo y ancho del mundo, podemos encontrarnos con estadísticas interesantes de como, y de forma general, tan solo aprovechamos entre un 20-30% de la capacidad de proceso de estos servidores. Es decir, a cualquier servidor a nivel global le sobran el 70% de sus recursos. Las tecnologías de software que os vamos a mostrar, apoyadas por avances a nivel de hardware, Irán cambiando este desaprovechamiento de los recursos mediante la generación de diferentes maquinas virtuales en una única
9. El surgimiento de Linux y el software de código abierto Linux) es uno de los términos empleados para referirse al sistema operativo libre similar a Unix que utiliza el núcleo Linux y herramientas de sistema GNU. Su desarrollo es uno de los ejemplos más prominentes de software libre; todo el código fuente puede ser utilizado, modificado y redistribuido libremente por cualquiera bajo los términos de la GPL (Licencia Pública General de GNU) y otras licencias libres A pesar de que Linux sólo es el núcleo de este sistema operativo una parte significativa de la comunidad, así como muchos medios generales y especializados, prefieren utilizar dicho término para referirse a la unión de ambos proyectos. Para más información consulte la sección "Denominación GNU/Linux“ o el artículo "Controversia por la denominación GNU/Linux”. Una vez acabado el proyecto GNU, reclamará a su núcleo como motor principal, el conocido como Hurd. A las variantes de un sistema operativo GNU/Linux se las denomina distribuciones y su objetivo es ofrecer una edición que cumpla con las necesidades de determinado grupo de usuarios. Algunas de ellas son especialmente conocidas por su uso en servidores y supercomputadoras. No obstante, es posible instalarlo en una amplia variedad de hardware como computadoras de escritorio y portátiles. En el caso de computadoras de bolsillo, teléfonos móviles, dispositivos empotrados, videoconsolas y otros, puede darse el caso en que las partes de GNU se reemplacen por alternativas más adecuadas. Para saber más sobre las arquitecturas soportadas, lea el artículo "Portabilidad del núcleo Linux y arquitecturas soportadas".
10. java Java es un lenguaje de programación orientado a objetos desarrollado por Sun Microsystems a principios de los años 90. El lenguaje en sí mismo toma mucha de su sintaxis de C y C++, pero tiene un modelo de objetos más simple y elimina herramientas de bajo nivel, que suelen inducir a muchos errores, como la manipulación directa de punteros o memoria. Las aplicaciones Java están típicamente compiladas en un bytecode, aunque la compilación en código máquina nativo también es posible. En el tiempo de ejecución, el bytecode es normalmente interpretado o compilado a código nativo para la ejecución, aunque la ejecución directa por hardware del bytecode por un procesador Java también es posible. La implementación original y de referencia del compilador, la máquina virtual y las bibliotecas de clases de Java fueron desarrollados por Sun Microsystems en 1995. Desde entonces, Sun ha controlado las especificaciones, el desarrollo y evolución del lenguaje a través del Java Community Process, si bien otros han desarrollado también implementaciones alternativas de estas tecnologías de Sun, algunas incluso bajo licencias de software libre. Entre noviembre de 2006 y mayo de 2007, Sun Microsystems liberó la mayor parte de sus tecnologías Java bajo la licencia GNU GPL, de acuerdo con las especificaciones del Java Community Process, de tal forma que prácticamente todo el Java de Sun es ahora software libre (aunque la biblioteca de clases de Sun que se requiere para ejecutar los programas Java aún no lo es)
19. SOA (SERVICIOS Y ARQUITECTURA ORIENTADA) La Arquitectura Orientada a Servicios (en inglés Service Oriented Architecture), es un concepto de arquitectura de software que define la utilización de servicios para dar soporte a los requisitos del negocio. Permite la creación de sistemas altamente escalables que reflejan el negocio de la organización, a su vez brinda una forma bien definida de exposición e invocación de servicios (comúnmente pero no exclusivamente servicios web), lo cual facilita la interacción entre diferentes sistemas propios o de terceros. SOA define las siguientes capas de software: Aplicaciones básicas - Sistemas desarrollados bajo cualquier arquitectura o tecnología, geográficamente dispersos y bajo cualquier figura de propiedad; De exposición de funcionalidades - Donde las funcionalidades de la capa aplicativas son expuestas en forma de servicios (servicios web); De integración de servicios - Facilitan el intercambio de datos entre elementos de la capa aplicativa orientada a procesos empresariales internos o en colaboración; De composición de procesos - Que define el proceso en términos del negocio y sus necesidades, y que varía en función del negocio; De entrega - donde los servicios son desplegados a los usuarios finales. SOA proporciona una metodología y un marco de trabajo para documentar las capacidades de negocio y puede dar soporte a las actividades de integración y consolidación. usando servicios web. Existen diversos estándares relacionados a los servicios web. Incluyen los siguientes: XML,, HTTP, SOAP, WSDL, UDDI Hay que considerar, sin embargo, que un sistema SOA no necesariamente necesita utilizar estos estándares para ser "orientado a servicios" pero es altamente recomendable su uso.
20. AJAX AJAX, acrónimo de Asynchronous JavaScript And XML (JavaScript asíncrono y XML), es una técnica de desarrollo web para crear aplicaciones interactivas o RIA (Rich Internet Applications). Estas aplicaciones se ejecutan en el cliente, es decir, en el navegadOr de los usuarios mientras se mantiene la comunicación asíncrona con el servidor en segundo plano. De esta forma es posible realizar cambios sobre las páginas sin necesidad de recargarlas, lo que significa aumentar la interactividad, velocidad y usabilidad en las aplicaciones. Ajax es una tecnología asíncrona, en el sentido de que los datos adicionales se requieren al servidor y se cargan en segundo plano sin interferir con la visualización ni el comportamiento de la página. JavaScript es el lenguaje interpretado (scripting language) en el que normalmente se efectúan las funciones de llamada de Ajax mientras que el acceso a los datos se realiza mediante XMLHttpRequest, objeto disponible en los navegadores actuales. En cualquier caso, no es necesario que el contenido asíncrono esté formateado en XML. Ajax es una técnica válida para múltiples plataformas y utilizable en muchos sistemas operativos y navegadores dado que está basado en estándares abiertos como JavaScripty DocumenObjectModel (DOM).
21. MASHUPS Una aplicación web híbrida (mashup o remezcla) es un sitio web o aplicación web que usa contenido de otras aplicaciones Web para crear un nuevo contenido completo, consumiendo servicios directamente, siempre a través de protocolo http. El contenido de un mashup normalmente proviene de sitios web de terceros a través de una interfaz pública o usando un API. Otros métodos que constituyen el origen de sus datos incluyen sindicadores web (RSS o Atom), Screenscraping, etc. Los mashups están revolucionando el desarrollo web del mismo modo que los weblogs han revolucionado la publicación en línea. Los mashups permiten que cualquiera combine, de forma innovadora, datos que existen en diferentes páginas web. Requieren pocos conocimientos técnicos, las APIs existentes son sencillas y potentes y los mashups son relativamente fáciles de diseñar. Los creadores de mashups son generalmente gente innovadora que desea combinar de formas nuevas y creativas datos disponibles públicamente. Así como hay mashups muy útiles, existen otros que no pasan de ser sólo novedosos o publicitarios, con mínima utilidad práctica. Los defensores e impulsores de las aplicaciones Web 2.0 afirman que los mashups son un ejemplo de este nuevo movimiento en el que los usuarios crean, participan e interactúan activamente.
22. WEB 2.0 El término Web 2.0 es asociado usualmente con Tim O'Reilly debido a la referencia hecha en la conferencia O'Reilly Media Web 2.0 en 2004. El término fue utilizado para referirse a una segunda generación en la historia del desarrollo de tecnología Web basada en comunidades de usuarios y una gama especial de servicios, como las redes sociales, los blogs, los wikis o las folcsonomías, que fomentan la colaboración y el intercambio ágil y eficaz de información entre los usuarios de una comunidad o red social. La Web 2.0 es también llamada web social por el enfoque colaborativo y de construcción social de esta herramienta.
23. WEB La Subcontratación de Software se define como el proceso de adquirir parcial o totalmente las funciones propias de los Sistemas de Información (SI) de cualquier organización mediante un proveedor externo de servicios. Es decir, significa delegar todas o parte de las funciones de TI mediante un contrato con una compañía externa que se integra en la estrategia organizacional del cliente y busca diseñar una solución a los problemas informáticos que perduran en esta última. Algunas compañías han obtenido buenos resultados al delegar la gestión de la contabilidad y el pago de la nómina, dejando estos servicios en manos de profesionales obteniendo un ahorro importante de costes, pero ¿por qué no obtener las ventajas de delegar los servicios relacionados con las funciones de TI? En la actualidad, para su aplicación en las Pequeñas y Medianas Empresas (PYMEs) se encuentran algunas desventajas, fundamentalmente la falta de guías para su implementación, la necesidad de mantener un compromiso a largo plazo que implica la dedicación considerable de recursos, y que el retorno de la inversión (ROI) no se obtiene en la escala de tiempo requerida, lo cual supone un esfuerzo no costeable o accesible para este tipo de empresas.
24. PROVEEDORES DE SERVICIO DE APLICACION Proveedor De Servicios De Aplicación Un proveedor de servicios de aplicación o ASP (del inglés, ApplicationServiceProvider) es una empresa que ofrece servicios de computación a sus clientes a través de una red. El software ofertado mediante un modelo ASP es conocido también como Software a demanda o Software como Servicio (SaaS). El sentido más restrictivo del término sería el de facilitar el acceso a un programa de aplicación (tales como gestión de relaciones con clientes), vía un protocolo estándar como HTTP. La necesidad de los ASP ha surgido a partir del aumento de costes que suponen los programas informáticos especializados, que han superado con creces el rango de precios asumibles por las pequeñas y medianas empresas. Además, la creciente complejidad de los programas informáticos ha dado lugar a enormes costes en la distribución del software hasta los usuarios finales. A través del modelo ASP, la complejidad y los costes de dicho software se pueden reducir. Además, la cuestión relativa a la actualización de dicho software se sustrae al cliente final al trasladar al ASP la responsabilidad de mantener actualizados los servicios, de apoyo técnico 24 x 7, de seguridad física y electrónica y soporte integrado de la continuidad del negocio y de trabajo flexible. La importancia de este mercado se refleja en su tamaño. A principios de 2003, las estimaciones de mercado para Estados Unidos oscilan entre 1,5 y 4 mil millones de dólares. Entre los clientes típicos de servicios ASP se incluye a empresas, organizaciones gubernamentales, organizaciones sin fines de lucro y otras organizaciones de socios.