• No se han encontrado resultados

Integración de funcionalidad dinámica en mashups de la web

N/A
N/A
Protected

Academic year: 2017

Share "Integración de funcionalidad dinámica en mashups de la web"

Copied!
35
0
0

Texto completo

(1)
(2)

1. Analizar la problemática de requerimientos volátiles  en mashups.

2. Brindar una solución de código que sea limpia y no  invasiva  ante este tipo de requerimientos.

3. Analizar  y  encontrar  las  tecnologías  que  mejor  se  ajusten en el desarrollo de la solución.

4. Desarrollar un  mecanismo que permita controlar la  activación/desactivación  de  una  Funcionalidad  Volátil de manera dinámica.

(3)

• Mashups

• Funcionalidad volátil

• Separación de Concerns

• Afinidad 

• Mashups y funcionalidad volátil

• Interacción entre los componentes de un Mashup

• Implementación de Volatiler

• Conclusión

• Trabajo Futuro

(4)
(5)

Mashups

>

 

Qué

es

un

 

Mashup?

• El término Mashup proviene del mundo de la música 

Cuando se combinan diferentes canciones se obtiene  un remix.

• El  Mashup en  computación  es  algo  similar,  cuando 

se combinan diferentes sistemas y se obtiene otro.

Objetivo: Consumir  y  combinar  datos  de  sitios  muy 

diferentes  con  el  fin  de  construir  aplicaciones  nuevas  e  innovadoras.

Diferentes Fuentes: tanto el contenido como los elementos 

(6)
(7)

1. Desarrollo Manual (DM)

2. Desarrollo Asistido (DA)

Mashups

>

 

Desarrollo

Integración,  proceso  y  visualización  de  las  distintas  fuentes  en  un  determinado  lenguaje  elegido  por  el  desarrollador.

• Ventajas

• Elección de lenguaje de programación • Alta flexibilidad

• Desventajas

• Orientado a desarrolladores calificados

Herramientas de desarrollo específicas

• Ventajas • Fácil

• Rápido

• Algunas herramientas:  • Yahoo Pipes: disponible.

• IBM Mashup Center: disponible.

(8)

En

 

el

 

día

 

12

 

de

 

Agosto

 

de

 

2010

 

en

 

Ecuador

 

ocurrió

un

 

violento

 

sismo

 

de

 

7,2

 

grados

 

de

 

magnitud

 

que

 

sacudió

el

 

oriente

 

del

 

Ecuador

 

y

 

que

 

se

 

sintió

en

 

todo

 

el

 

país.

 

Este

 

terremoto

 

dejó

un

 

herido

 

y

 

causó

leves

 

daños

 

y

 

grietas

 

en

 

algunas

 

viviendas,

 

según

 

informes

 

oficiales.

(9)
(10)
(11)

Mashups

>

 

Ejemplo

(12)
(13)

Conceptos

relacionados

Conceptos

 

importantes:

(14)

Es

 

la

 

implementación

 

de

 

los

 

requerimientos

 

temporales

 

que

 

surgen

 

en

 

un

 

sistema

 

que

 

ya

 

está

funcionando

 

correctamente.

Esta

 

funcionalidad

 

estará

en

 

el

 

sistema

 

por

 

poco

 

tiempo.

 

Aparecen

 

de

 

manera

 

estacional,

 

o

 

ante

 

un

 

evento

 

inesperado.

Debemos

 

lograr

 

que

 

el

 

Mashup

Base

 

no

 

se

 

percate

 

de

 

la

 

ejecución

 

de

 

la

 

funcionalidad

 

nueva.

(15)

Separación

 

de

 

partes

 

(separation

of

concerns)

– Es un enfoque de diseño tradicional en el 

desarrollo de aplicaciones.

Objetivo:

 

– División de responsabilidades

– Encapsulamiento

– Obliviousness

Cómo

 

lo

 

aplicamos?

– La funcionalidad volátil debe ser pensada como un 

concern separado.

– El Mashup Base debe “ignorar” la funcionalidad 

volátil

(16)

La

 

Afinidad

es

 

un

 

subconjunto

 

de

 

los

 

posibles

 

objetos

 

que

 

cumplen

 

con

 

cierta

 

condición.

Las

 

instancias

 

que

 

coinciden

 

con

 

la

condición

  

de

 

afinidad

son

 

afectadas

 

por

 

la

 

activación

 

del

  

servicio.

 

– Libros (junto con sus títulos y autores)

– Afinidad Libros Cuyos Autores sean Argentinos

– Servicio: Descuento por mes Bicentenario.

(17)

Una

 

correcta

 

metodología

 

de

 

desarrollo

 

utilizando

 

separación

 

de

 

concerns

 

resuelve

 

los

 

siguientes

 

problemas:

– Evita denigrar la calidad de una aplicación que 

funciona correctamente.

– Integración sin acople a la aplicación base (sin 

modificar).

– Aún usando potentes ambientes de administración 

de configuraciones es muy difícil deshacer los 

(18)

Objetivo:

 

Agregar

 

funcionalidades

 

volátiles

 

sin

 

deteriorar

 

la

 

calidad

 

del

 

código

 

del

 

Mashup

 

ya

 

existente

 

mediante

 

algún

 

mecanismo

 

no

 

invasivo

 

de

 

activación

 

y

 

desactivación.

(19)

Tenemos  un  Mashup  Base  en  donde  se  puedan  visualizar  las  farmacias  de  turno  de  la  ciudad  de  La  Plata en un mapa.

http://laplatafarmacias.appspot.com/

(20)

El

 

año

 

pasado

 

en

 

consecuencia

 

de

 

la

 

Epidemia

 

de

 

Gripe

 

A

,

 

se

 

produce

 

una

 

campaña

 

de

 

vacunación

 

contra

 

la

 

misma:

Nuevo

 

Requerimiento

:

 

Poder

 

visualizar

 

en

 

el

 

mismo

 

Mashup

 

las

 

farmacias

 

que

 

tienen

 

en

 

Stock

 

vacunas.

  

– Funcionalidad presente durante el período que dura 

la campaña de vacunación.

– Se agrega funcionalidad sólo a las farmacias que 

tengan vacunas en Stock.

(21)
(22)
(23)

Funcionalidad

 

Volátil

 

en

 

Mashups

 

>

 

Ejemplo

Lo

 

anterior

 

puede

 

simplificarse

 

como

 

n

(24)

Primer

 

Nivel:

 

– Absoluto. 

– Determina si la funcionalidad volátil en cuestión está

activa. 

Segundo

 

Nivel:

 

– Afinidad. 

– Sólo se considera si el primer nivel está activo. 

– Permite que la funcionalidad se manifieste sólo si se 

(25)

Funcionalidad

 

Volátil

 

en

 

Mashups

 

>

 

Ejemplo

Qué

pasaría

 

si

 

pudiéramos

 

interceptar

 

el

 

request

 

antes

 

de

 

que

 

llegue

 

a

 

la

 

funcionalidad

 

y

 

el

 

(26)

Nuevo

 

requerimiento:

 

Ante

 

la

 

epidemia

 

de

 

la

 

gripe

 

A,

 

se

 

requiere

 

identificar

 

las

 

farmacias

 

que

 

tienen

 

la

 

vacuna

 

en

 

stock

 

durante

 

la

 

campaña

 

de

 

vacunación.

Condición

 

de

 

Afinidad:

– Presente en el sistema durante la campaña de 

vacunación.

http://2.laplatafarmacias.appspot.com/

(27)
(28)

Implementación

 

de

 

Volatiler

1. La biblioteca no debe obligar a que la aplicación sea  desarrollada con determinados frameworks.

2. El Mashup original no debe tener noción de F.V.  asociadas.

3. La estrategia de agregado de F.V gira alrededor de  los Filtros de Servlet, que permiten interceptar y  modificar cada request y response. Poseen la 

capacidad de comportarse como aspectos. 

(29)

Implementación

 

de

 

Volatiler>

 

Filtros

 

de

 

Servlet

Niveles

 

de

 

Activación

 

usando

 

Volatiler

Nivel Externo de Activación Absoluta

VolatileRegistry: sabe cuáles filtros están activados y él 

permite activarlos y desactivarlos.

Volatile Activator Console: permite administrar las F.V 

de manera visual, sin redesplegar la aplicación.

Nivel Interno de Activación por Afinidad

– Se ejecuta si se cumplen ciertas condiciones en cada 

(30)

• Farmacias de Diario el Día

– http://www.eldia.com.ar/farmacias.aspx

• Scrapper del diario el día:

– http://pipes.yahoo.com/epere4/farmaciasdeturnolaplata

• Farmacias de La Plata en Google Maps

– http://maps.google.com/maps/ms?ie=UTF8&hl=en&msa=0&msid=20838314481226767

8923.00048df5b692cf166e496&t=h&z=11

• YQL que arma el RSS de las farmacias que están de turno y sus ubicaciones

– http://pipes.yahoo.com/epere4/farmaciasdeturnolaplatamapeadas

• http://2.laplatafarmacias.appspot.com/

• http://2.laplatafarmacias.appspot.com/admin/volatilityActivatorConsole

(31)

Existe

 

un

 

alto

 

dinamismo

 

de

 

los

 

Mashups

 

en

 

su

 

interacción

 

con

 

sistemas

 

de

 

terceros.

 

Se

 

brinda

 

una

 

solución

 

en

 

donde

 

la

 

funcionalidad

 

volátil

 

se

 

agrega

 

de

 

manera

 

independiente

 

del

 

Mashup

 

base

 

(concerns

 

independientes).

La

 

separación

 

de

 

concerns

 

permite

   

la

 

independencia

 

entre

 

el

 

Mashup

 

Base

 

y

 

la

 

funcionalidad

 

volátil.

(32)

Se

 

implementa

 

con

 

dos

 

niveles

 

de

 

activación

 

de

 

la

 

funcionalidad

 

volátil.

Los

 

Mashups

 

son

 

absolutamente

 

dependientes

 

de

 

las

 

decisiones

 

que

 

tomen

 

los

 

proveedores

 

de

 

las

 

fuentes

 

externas

 

que

 

lo

 

componen

 

(bugs,

 

fallas

 

técnicas,

 

cambios

 

tecnológicos

 

etc).

Las

 

herramientas

 

online

 

no

 

brindan

 

módulos

 

(33)

Problemas

 

de

 

los

 

proveedores

 

de

 

los

 

feeds

 

y

 

servicios:

• Fallas de sus sistemas: caída de Amazon Web Services.

• Cambios repentinos en la manera de consumir los feeds: 

Google Maps cambió de RSS a archivos KML.

Analizar

 

si

 

es

 

conveniente

 

tener

 

proveedores

 

alternativos

 

y

 

cómo

 

administrarlos.

Analizar

 

la

 

manera

 

en

 

que

 

las

 

herramientas

 

online

 

provean

 

módulos

 

de

 

activación

 

de

 

(34)
(35)

Referencias

Documento similar

Además de aparecer en forma de volumen, las Memorias conocieron una primera difusión, a los tres meses de la muerte del autor, en las páginas de La Presse en forma de folletín,

En estos últimos años, he tenido el privilegio, durante varias prolongadas visitas al extranjero, de hacer investigaciones sobre el teatro, y muchas veces he tenido la ocasión

que hasta que llegue el tiempo en que su regia planta ; | pise el hispano suelo... que hasta que el

Sanz (Universidad Carlos III-IUNE): "El papel de las fuentes de datos en los ranking nacionales de universidades".. Reuniones científicas 75 Los días 12 y 13 de noviembre

(Banco de España) Mancebo, Pascual (U. de Alicante) Marco, Mariluz (U. de València) Marhuenda, Francisco (U. de Alicante) Marhuenda, Joaquín (U. de Alicante) Marquerie,

Fuente de emisión secundaria que afecta a la estación: Combustión en sector residencial y comercial Distancia a la primera vía de tráfico: 3 metros (15 m de ancho)..

grupos de interés ... La información sobre las actuaciones administrativas automatizadas y los algoritmos utilizados por las Ad- ministraciones públicas ... Fortalecer la calidad

La campaña ha consistido en la revisión del etiquetado e instrucciones de uso de todos los ter- mómetros digitales comunicados, así como de la documentación técnica adicional de