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

Web Service Development

NetBeans Community News

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:

                Google

                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

http://1.bp.blogspot.com/-RkyrdPHGRZc/T6uBP9OoJfI/AAAAAAAAAe0/12LobWvL6Wc/s1600/grid-computing-1.gif

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