Ing. Pablo Almeida Haro Msc.
MASHUPS
CONCEPTO
Es una página web o aplicación que usa, combina datos, funcionalidad, presentaciones y otros recursos de varias fuentes para ofrecer nuevos servicios
CARACTERISTICAS
*Para considerarse un mashup debe recibir datos, existir un procesamiento y finalmente ofrecer un nuevo servicio
*Transforma datos existentes en nuevos datos con más funcionalidades
*Permite integrar datos rápida y fácilmente
*Permite la combinación, visualización y agregación
*Normalmente la vía para obtener datos de otras fuentes son los web services u otros tipos de interfaces
*La arquitectura mushup está compuesta de:
Proveedor de los contenidos : Son los datos obtenidos vía Webservices, Rest, RSS
Sitio mushup: Es el nuevo sitio web
Web browser: Interface del usuario de mushup
*Ayudan a complementar el concepto de SOA
TIPOS DE MASHUP
Existen 3 tipos:
De consumidores: Combinan datos de varias fuentes y una interface los hace transparentes
De negocio: Es uno de consumidor mas una funcionalidad y como resultado una aplicación de negocio
Mushups dentro de mushups: Un mushup utiliza la funcionalidad de otros
EJEMPLOS DE MUSHUPS
*Mapas
*Videos y fotos
*Búsqueda y compras
*Noticias
*Enciclopedias
*Enlaces de interés:
http://developers.sun.com/prodtech/portalserver/reference/techart/mashups.html
http://blogs.sun.com/winston/entry/creating_mashup_using_vwp
http://blogs.sun.com/alexismp/entry/mashup_explanation_part_i
http://wiki.netbeans.org/RestJMakiUsecase
Creating a Graphical Client for Twitter
ProblemsWithFutureTM - NetBeans Wiki
CLOUD COMPUTING
*Significa computación en la nube, servicios en la nube, informática en la nube, nube de cómputo, nube de conceptos
*Permite ofrecer servicios a través de internet
*Todo lo que puede ofrecer un sistema informático podrá estar disponible en la nube
*La información se encuentra de manera permanente en el servidor y con caches temporales en el cliente
*Normalmente los catálogos de servicios deben ser estandarizados
*Permite alojar aplicaciones de forma externa
*La infraestructura debe poseer como características:
Alto grado de automatización
Alta adaptación
Virtualización
Precio flexible
Evitar la piratería
Movilización de recursos
*Pioneros de la computación en la nube:
Amazon
Microsoft
*Cloud computing también es conocido como la arquitectura de recursos distribuidos horizontalmente
VENTAJAS
*Los usuarios no deben ser expertos para explotar los servicios
*No exige la compra de hardware al cliente
*Las actualizaciones de software son automáticas
*El usuario solo paga por el servicio utilizado
*La prestación de servicios es a nivel mundial
*Mejora la integración de aplicaciones
*Permite implementar más rápidamente
*Usan eficientemente la energía
DESVENTAJAS
*Dependencia del proveedor de servicios
*Alta dependencia de comunicaciones
*Datos sensibles no se encuentran en la organización
*La confiabilidad de los servicios depende de la confiabilidad de los proveedores
*El lograr la madurez de las aplicaciones puede afectar la curva de aprendizaje
*Disminuye la seguridad al tener que viajar información sensible a través de la nube
*La escalabilidad podría verse afectada si el proveedor no ofrece la infraestructura adecuada
CAPAS
*Software como servicio
Un software que lo utilizan diferentes organizaciones.
Ej: salesforce.com, google apps, Microsoft office 365
*Plataforma como servicio
Es un servicio para ambiente de desarrollo que puede dar soporte a todas las etapas del ciclo de desarrollo de software
Ej: Google app engine, Windows azure (.net, java, php)
*Infraestructura como servicio
Ofrecen servidores, almacenamiento, conexiones, ruteadores, virtualización
Ejm: Amazon web services, Joyent,
TIPOS DE NUBES
*Públicas:
Los trabajos de varios clientes se mezclan
El usuario no conoce con quien comparte servidores, red, discos y recursos en general
*Privadas:
Utilizada donde se requiere confidencialidad de la información.
El cliente decide las aplicaciones que corre, los sitios donde correr
El cliente es el propietario del servidor, disco, etc
*Híbridas:
Combinan las nubes públicas y privadas
El cliente es propietario de una parte y de otra no
APLICACIONES EJEMPLO
*icloud (Apple Inc)
*Campaign Cloud
*Dropbox
*Google docs
ENLACES
Running Web Applications on Oracle Cloud - NetBeans IDE Tutorial
www.oracle.com/Sun/Cloud
GRID COMPUTING
CONCEPTO
Es una tecnología que permite utilizar de forma coordinada los recursos de procesamiento, de almacenamiento y aplicaciones que no están sujetas a un control centralizado
CARACTERISTICAS
*Es una nueva forma de computación distribuida
*Los recursos son heterogéneos
*Los recursos se encuentran conectados mediante redes WAN como internet
*Permite el uso colectivo de computadores, redes y bases de datos las cuales son propiedad de diferentes organizaciones
*Facilita la integración de recursos
*Utilizan un software para implementar el concepto de grid computing
*Los recursos no se encuentran centrados geográficamente
*Resuelven problemas de gran escala
*Los equipos pueden ser: computadores, servidores, portátiles, equipos móviles, software, datos, información, etc
*La capacidad puede ser ilimitada y depende del número de recursos conectados
*Es una solución altamente escalable
*Ofrece un único punto de acceso a los recursos
*No existen picos en los trabajos ya que la carga se puede reasignar
*Genera una alta disponibilidad
EJEMPLOS DE GRID COMPUTING
*Limewire, emule, endonkey que comparten datos
*SETI@Home que es un proyecto para buscar vida extraterrestre
*Grid engine es un software que permite agregar máquinas a un grid
*JPPF habilita a aplicaciones para ser ejecutadas en distintos equipos