kudos flashcamp bogota 2009

76
Desarrollo de aplicaciones colaborativas utilizando Flex 3, Facebook, BlazeDs, Spring y Java Juan Carlos Méndez Kudos Ltda. http://gkudos.com

Upload: guest218d0b

Post on 30-Jun-2015

482 views

Category:

Technology


0 download

DESCRIPTION

adobe flex, facebook connect, google maps flash api, geoplanet, blazeds, sprring blazeds integration, spring framework, blazeds, collaborative applications

TRANSCRIPT

Page 1: Kudos Flashcamp Bogota 2009

Desarrollo de aplicaciones colaborativas utilizando Flex 3,

Facebook, BlazeDs, Spring y Java

Juan Carlos Méndez

Kudos Ltda. http://gkudos.com

Page 2: Kudos Flashcamp Bogota 2009

http://www.gkudos.com

Página 2

21/08/2009

Agenda

• Ejemplos Básicos

— Hola Mundo (1 y 2): Qué es flex? / Animación Simple con flex

— Ejemplo 1: Integrando aplicaciones Flex con Facebook

— Ejemplo 2: Consultando la Información del Perfil de Usuario

Page 3: Kudos Flashcamp Bogota 2009

http://www.gkudos.com

Página 3

21/08/2009

Agenda

• Ejemplos Básicos

— Ejemplo 3: Visualizando Fotos de Facebook

— Ejemplo 4: Consultar Red Social del Usuario

— Ejemplo 5: Cambiando Propiedades Visuales con CSS

— Ejemplo 6: Visualizar Ubicación Geográfica de los Usuarios

Page 4: Kudos Flashcamp Bogota 2009

http://www.gkudos.com

Página 4

21/08/2009

Agenda

• Ejemplos Avanzados: Creando una Aplicación Colaborativa utilizando

— Flex 3, Google Maps

— Facebook Connect

— BlazeDS, Java, Spring Framework, JMS, Tomcat

— Postgresql / Postgis

— Google Translator, Flickr, Panoramio…

Page 5: Kudos Flashcamp Bogota 2009

http://www.gkudos.com

Página 5

21/08/2009

Sobre el Autor

• Juan Carlos Méndez

• Ingeniero de Sistemas

• Especialista en Telemática y Negocios por Internet

• Actualmente Arquitecto de Software en Kudos Ltda. http://www.gkudos.com

Page 6: Kudos Flashcamp Bogota 2009

Ejemplos Básicos

Page 7: Kudos Flashcamp Bogota 2009

http://www.gkudos.com

Página 7

21/08/2009

Ejemplos Básicos• QuQuQuQuéééé es Flex?es Flex?es Flex?es Flex?

— Flex es un marco de trabajo gratuito de código abierto para crear aplicaciones webinteractivas utilizando el plugin de Flash.

— Ofrece un lenguaje basado en estándares moderno y un modelo de programación que admite los patrones de diseño habituales.

Page 8: Kudos Flashcamp Bogota 2009

http://www.gkudos.com

Página 8

21/08/2009

Ejemplos Básicos• QuQuQuQuéééé es Flex?es Flex?es Flex?es Flex?

— MXML MXML MXML MXML es un lenguaje declarativo basado en XML. Se utiliza para describir el aspecto y comportamiento de la interfaz de usuario

— ActionScriptActionScriptActionScriptActionScript 3333, es un potente lenguaje de programación orientado a objetos, se utiliza para crear la lógica de clientes.

— Flex incorpora una biblioteca con más de 100 componentes de interfaz de usuario extensibles para crear RIA’s (Rich Internet Applications

Page 9: Kudos Flashcamp Bogota 2009

http://www.gkudos.com

Página 9

21/08/2009

Ejemplos Básicos

• Descarga de Código Fuente: http://flashcamp.gkudos.com/facebook/flash_camp_2009_source.rar

• Próximamente Más información en http://blog.gkudos.com

Page 10: Kudos Flashcamp Bogota 2009

http://www.gkudos.com

Página 10

21/08/2009

Ejemplos Básicos

• Animación Simple (I)

Page 11: Kudos Flashcamp Bogota 2009

http://www.gkudos.com

Página 11

21/08/2009

Ejemplos Básicos

Page 12: Kudos Flashcamp Bogota 2009

http://www.gkudos.com

Página 12

21/08/2009

Ejemplos Básicos• Animación Simple (II)

Page 13: Kudos Flashcamp Bogota 2009

http://www.gkudos.com

Página 13

21/08/2009

Ejemplos Básicos• Arquitectura general de Aplicaciones

Flash / Facebook

Page 14: Kudos Flashcamp Bogota 2009

http://www.gkudos.com

Página 14

21/08/2009

Ejemplos Básicos 1

• Autenticar aplicaciones Flex con Facebook * Pasos a Seguir:

1. Registrarse en Facebook

2. Adicionar la aplicación para desarrolladores: http://www.facebook.com/developers/

* Tomado de Tomado de Tomado de Tomado de ““““Create your first Create your first Create your first Create your first FacebookFacebookFacebookFacebook application with Flexapplication with Flexapplication with Flexapplication with Flex””””http://www.adobe.com/devnet/facebook/articles/build_your_firsthttp://www.adobe.com/devnet/facebook/articles/build_your_firsthttp://www.adobe.com/devnet/facebook/articles/build_your_firsthttp://www.adobe.com/devnet/facebook/articles/build_your_first_facebook_app_print.html_facebook_app_print.html_facebook_app_print.html_facebook_app_print.html

Page 15: Kudos Flashcamp Bogota 2009

http://www.gkudos.com

Página 15

21/08/2009

Ejemplos Básicos 1

3. Autorizar el acceso de la aplicación “facebookfacebookfacebookfacebook developersdevelopersdevelopersdevelopers” al perfil del usuario

Page 16: Kudos Flashcamp Bogota 2009

http://www.gkudos.com

Página 16

21/08/2009

Ejemplos Básicos 14. Crear una nueva aplicación

Page 17: Kudos Flashcamp Bogota 2009

http://www.gkudos.com

Página 17

21/08/2009

Ejemplos Básicos 14. Crear una nueva aplicación

Page 18: Kudos Flashcamp Bogota 2009

http://www.gkudos.com

Página 18

21/08/2009

Ejemplos Básicos 1

5. En la opción “Basic” revisar los datos de “Application id”, “API Key” y “Secret”

Page 19: Kudos Flashcamp Bogota 2009

http://www.gkudos.com

Página 19

21/08/2009

Ejemplos Básicos 1

6. crear un xml con los datos del key de facebook. Ejemplo api_key_secret.xmlapi_key_secret.xmlapi_key_secret.xmlapi_key_secret.xml:

<?xml version="1.0" encoding="UTF-8" ?>

<xml> <!-- FacebookFacebookFacebookFacebook KeysKeysKeysKeys -->

<api_key>YOUR API KEYYOUR API KEYYOUR API KEYYOUR API KEY</api_key>

<secret>YOUR SECRET KEYYOUR SECRET KEYYOUR SECRET KEYYOUR SECRET KEY</secret>

</xml>

Page 20: Kudos Flashcamp Bogota 2009

http://www.gkudos.com

Página 20

21/08/2009

Ejemplos Básicos 1

7. Descargar API de Facebook para Flex:

facebookfacebookfacebookfacebook----actionscriptactionscriptactionscriptactionscript----apiapiapiapi::::

Actionscript 3.0 Client for the FacebookPlatform API

http://code.google.com/p/facebook-actionscript-api/

Page 21: Kudos Flashcamp Bogota 2009

http://www.gkudos.com

Página 21

21/08/2009

Ejemplos Básicos 18. Crear Proyecto Flex e Incluir Librería de Facebook(Facebook_library_v3.2_flex.swc):

Page 22: Kudos Flashcamp Bogota 2009

http://www.gkudos.com

Página 22

21/08/2009

Ejemplos Básicos 1

— Crear aplicación flex (Ver archivo Sample1.mxml)

— Cargar archivo XML

— Iniciar sesión en Facebook

Page 23: Kudos Flashcamp Bogota 2009

http://www.gkudos.com

Página 23

21/08/2009

Page 24: Kudos Flashcamp Bogota 2009

http://www.gkudos.com

Página 24

21/08/2009

Page 25: Kudos Flashcamp Bogota 2009

http://www.gkudos.com

Página 25

21/08/2009

Ejemplos Básicos 1

• Resultado:

• http://flashcamp.gkudos.com/facebook/Sample1.html

Page 26: Kudos Flashcamp Bogota 2009

http://www.gkudos.com

Página 26

21/08/2009

Ejemplos Básicos 2

• Consultando la Información del Perfil de Usuario:

— Archivo Sample2.mxml

— Se consultan los álbumes de fotos que tiene el usuario

Page 27: Kudos Flashcamp Bogota 2009

http://www.gkudos.com

Página 27

21/08/2009

Page 28: Kudos Flashcamp Bogota 2009

http://www.gkudos.com

Página 28

21/08/2009

Ejemplos Básicos 2

• Resultado:

• http://flashcamp.gkudos.com/facebook/Sample2.html

Page 29: Kudos Flashcamp Bogota 2009

http://www.gkudos.com

Página 29

21/08/2009

Ejemplos Básicos 3

Visualizando Fotos de Facebook

• Archivo Sample3.mxml

Page 30: Kudos Flashcamp Bogota 2009

http://www.gkudos.com

Página 30

21/08/2009

Page 31: Kudos Flashcamp Bogota 2009

http://www.gkudos.com

Página 31

21/08/2009

• Resultado http://flashcamp.gkudos.com/facebook/Sample3.html

Ejemplos Básicos 3

Page 32: Kudos Flashcamp Bogota 2009

http://www.gkudos.com

Página 32

21/08/2009

Ejemplos Básicos 4• Consultar Red Social del Usuario

— Archivo Sample4.mxml

— Cargar Lista de Amigos

Page 33: Kudos Flashcamp Bogota 2009

http://www.gkudos.com

Página 33

21/08/2009

Ejemplos Básicos 4

Page 34: Kudos Flashcamp Bogota 2009

http://www.gkudos.com

Página 34

21/08/2009

Ejemplos Básicos 4

• Resultado

• http://flashcamp.gkudos.com/facebook/Sample4.html

Page 35: Kudos Flashcamp Bogota 2009

http://www.gkudos.com

Página 35

21/08/2009

Page 36: Kudos Flashcamp Bogota 2009

http://www.gkudos.com

Página 36

21/08/2009

Ejemplos Básicos 5

• Cambiando Propiedades Visuales con CSS

• Archivos: Sample5.mxml, styles.css

• Importar CSS

Page 37: Kudos Flashcamp Bogota 2009

http://www.gkudos.com

Página 37

21/08/2009

Ejemplos Básicos 5

• Ejemplo de CSS para Flex

Page 38: Kudos Flashcamp Bogota 2009

http://www.gkudos.com

Página 38

21/08/2009

Ejemplos Básicos 5

• Resultado:

• http://flashcamp.gkudos.com/facebook/Sample5.html

Page 39: Kudos Flashcamp Bogota 2009

http://www.gkudos.com

Página 39

21/08/2009

Page 40: Kudos Flashcamp Bogota 2009

http://www.gkudos.com

Página 40

21/08/2009

Ejemplos Básicos 6Visualizar Ubicación Geográfica de los Usuarios

• Objetivos:

— Consultar ubicación del usuario en facebook

— Obtener coordenada (georreferenciar) el lugar donde se encuentra localizado el usuario utilizando Yahoo Geoplanet

— Visualizar coordenadas utilizando Google MapsFlash Api

Page 41: Kudos Flashcamp Bogota 2009

http://www.gkudos.com

Página 41

21/08/2009

Page 42: Kudos Flashcamp Bogota 2009

http://www.gkudos.com

Página 42

21/08/2009

Ejemplos Básicos 6• Archivo Sample6.mxml

• Obtener Información de Ubicación del usuario desde Facebook

Page 43: Kudos Flashcamp Bogota 2009

http://www.gkudos.com

Página 43

21/08/2009

Ejemplos Básicos 6

• Facebook Retorna el Nombre del Lugar (Ejm: Bogotá, Colombia)

• Pregunta: Cómo obtener la coordenada (latitud, longitud) del lugar para poder visualizarlo en el mapa?

Page 44: Kudos Flashcamp Bogota 2009

http://www.gkudos.com

Página 44

21/08/2009

Ejemplos Básicos 6

• Yahoo Geoplanet: Conjunto de servicios web para georreferenciación de información

http://developer.yahoo.com/geo/geoplanet/

A partir del nombre de un lugar retorna su coordenada (latitud y longitud). Ejemplo:

Page 45: Kudos Flashcamp Bogota 2009

http://www.gkudos.com

Página 45

21/08/2009

Ejemplos Básicos 6

• Utilizando Geoplanet desde Flex:

• Archivo samples/LocationLoader.as

Page 46: Kudos Flashcamp Bogota 2009

http://www.gkudos.com

Página 46

21/08/2009

Ejemplos Básicos 6

Page 47: Kudos Flashcamp Bogota 2009

http://www.gkudos.com

Página 47

21/08/2009

Ejemplos Básicos 6

Page 48: Kudos Flashcamp Bogota 2009

http://www.gkudos.com

Página 48

21/08/2009

Ejemplos Básicos 6

• Qué es JSON? — Wikipedia: acrónimo de "JJJJavaSSSScriptOOOObject NNNNotation", es un formato ligero para el intercambio de datos. JSONJSONJSONJSON es un subconjunto de la notación literal de objetos de JavaScript que no requiere el uso de XML.

— En general, la transferencia de datos en formato JSON consume menos espacio que su XML equivalente

Page 49: Kudos Flashcamp Bogota 2009

http://www.gkudos.com

Página 49

21/08/2009

Ejemplos Básicos 6

• Ejemplo de Respuesta GeoplanetUtilizando JSON

Page 50: Kudos Flashcamp Bogota 2009

http://www.gkudos.com

Página 50

21/08/2009

Ejemplos Básicos 6

• Ejemplo de Respuesta GeoplanetUtilizando XML

Page 51: Kudos Flashcamp Bogota 2009

http://www.gkudos.com

Página 51

21/08/2009

Ejemplos Básicos 6

• Integrar Google Maps en Flex:

— Ver archivo Sample6.mxml

— Ver “Visualización de Información de Terremotos Utilizando Adobe Flex y Google Maps” (FlexCamp 2008) http://gkudos.com/web/guest/portfolio/demos/equake

Page 52: Kudos Flashcamp Bogota 2009

http://www.gkudos.com

Página 52

21/08/2009

Ejemplos Básicos 6

• Resultado

— http://flashcamp.gkudos.com/facebook/Sample6.html

Page 53: Kudos Flashcamp Bogota 2009

http://www.gkudos.com

Página 53

21/08/2009

Page 54: Kudos Flashcamp Bogota 2009

Ejemplos Avanzados

Desarrollo de aplicaciones colaborativas utilizando Flex 3,

Facebook, BlazeDs, Spring, Java...

Page 55: Kudos Flashcamp Bogota 2009

http://www.gkudos.com

Página 55

21/08/2009

Ejemplos Avanzados

Objetivos:Objetivos:Objetivos:Objetivos:

• Crear una aplicación colaborativa en tiempo real.

• Desarrollar una GUI (interfaz gráfica de usuario) unificada que permita interactuar con múltiples sistemas de forma transparente para el usuario final.

Page 56: Kudos Flashcamp Bogota 2009

http://www.gkudos.com

Página 56

21/08/2009

Ejemplos Avanzados

•Demo: Aplicación Colaborativa Basada en Flex

http://flashcamp.gkudos.com/facebook/

Page 57: Kudos Flashcamp Bogota 2009

http://www.gkudos.com

Página 57

21/08/2009

Page 58: Kudos Flashcamp Bogota 2009

http://www.gkudos.com

Página 58

21/08/2009

Ejemplos Avanzados

• Componentes Utilizados en el Demo:

— Adobe Flex

— Facebook Connect

— BlazeDS, Java, Spring, Tomcat, JMS

— Postgresql, Postgis

— Google Translator, Flicrk, Panoramio

— Google Maps Flash API

Page 59: Kudos Flashcamp Bogota 2009

Ejemplos Avanzados

Arquitectura General

Page 60: Kudos Flashcamp Bogota 2009

http://www.gkudos.com

Página 60

21/08/2009

Page 61: Kudos Flashcamp Bogota 2009

http://www.gkudos.com

Página 61

21/08/2009

Publicación de Información en Facebook

Page 62: Kudos Flashcamp Bogota 2009

Procesamiento de Información Geográfica

Fotografías de Flickr y Panoramio

Page 63: Kudos Flashcamp Bogota 2009

http://www.gkudos.com

Página 63

21/08/2009

Page 64: Kudos Flashcamp Bogota 2009

http://www.gkudos.com

Página 64

21/08/2009

• Operaciones Espaciales

Page 65: Kudos Flashcamp Bogota 2009

Referencias

Enlaces seleccionados sobre Facebook, Flex, Spring, Java…

Page 66: Kudos Flashcamp Bogota 2009

http://www.gkudos.com

Página 66

21/08/2009

Referencias

• FlexFlexFlexFlex

— facebook-actionscript-api: Actionscript3.0 Client for the Facebook Platform API http://code.google.com/p/facebook-actionscript-api/

— Create your first Facebook application with Flex http://www.adobe.com/devnet/facebook/articles/build_your_first_facebook_app_print.html

Page 67: Kudos Flashcamp Bogota 2009

http://www.gkudos.com

Página 67

21/08/2009

Referencias• FlexFlexFlexFlex

— Deliver rich, social experiences on the web http://www.adobe.com/devnet/facebook/

— Flex / Facebook Integration Sampleshttp://www.adobe.com/devnet/facebook/samples/index.html

— Swfobjecthttp://code.google.com/p/swfobject/

Page 68: Kudos Flashcamp Bogota 2009

http://www.gkudos.com

Página 68

21/08/2009

Referencias• Flex

— Integración de Adobe Flex y Google Maps: Aplicaciones Geográficas Enriquecidas para Internet http://gkudos.com/web/guest/portfolio/demos/equake

— Flex 3 Language Referencehttp://livedocs.adobe.com/flex/3/langref

— Tour de Flex (components, samples) http://www.adobe.com/devnet/flex/tourdeflex/

Page 69: Kudos Flashcamp Bogota 2009

http://www.gkudos.com

Página 69

21/08/2009

Referencias

• Java

— Developing Web Applications With JavaServer Pages 2.0: http://java.sun.com/developer/technicalArticles/javaserverpages/JSP20/

— Social Java, Random Friend FacebookApplication http://socialjava.blogspot.com/2009/01/facebook-facebook-connect-example-using.html

Page 70: Kudos Flashcamp Bogota 2009

http://www.gkudos.com

Página 70

21/08/2009

Referencias

• BlazeDs— BlazeDShttp://opensource.adobe.com/wiki/display/blazeds/BlazeDS/

— Google Maps Collaboration Using Google’s New ActionScript API, Flex, and BlazeDShttp://coenraets.org/blog/2008/05/google-maps-collaboration-using-googles-new-actionscript-api-and-blazeds/

Page 71: Kudos Flashcamp Bogota 2009

http://www.gkudos.com

Página 71

21/08/2009

Referencias

• Spring FrameworkSpring FrameworkSpring FrameworkSpring Framework

— http://www.springsource.org/

— Spring BlazeDS Integrationhttp://www.springsource.org/spring-flex

— Building and Running the Spring BlazeDSIntegration Samples http://static.springsource.org/spring-flex/docs/1.0.x/reference/html/ch06.html

Page 72: Kudos Flashcamp Bogota 2009

http://www.gkudos.com

Página 72

21/08/2009

Referencias• FacebookFacebookFacebookFacebook

— Facebook API http://wiki.developers.facebook.com/index.php/API

— Facebook Developershttp://developers.facebook.com/

— How Connect Authentication Works http://wiki.developers.facebook.com/index.php/How_Connect_Authentication_Works

Page 73: Kudos Flashcamp Bogota 2009

http://www.gkudos.com

Página 73

21/08/2009

Referencias• FacebookFacebookFacebookFacebook

— Authorizing Applicationshttp://wiki.developers.facebook.com/index.php/Authorizing_Applications

— Authenticating Users with Facebook Connect http://wiki.developers.facebook.com/index.php/Authenticating_Users_on_Facebook

— Anatomy of a Facebook Connect Site http://wiki.developers.facebook.com/index.php/Anatomy_of_a_Facebook_Connect_Site

Page 74: Kudos Flashcamp Bogota 2009

http://www.gkudos.com

Página 74

21/08/2009

Referencias

• FacebookFacebookFacebookFacebook

— Facebook Connect: Connect/Setting Up Your Sitehttp://wiki.developers.facebook.com/index.php/Trying_Out_Facebook_Connect

— The Run Around (Facebook ConnectSample) http://wiki.developers.facebook.com/index.php/The_Run_Around

Page 75: Kudos Flashcamp Bogota 2009

http://www.gkudos.com

Página 75

21/08/2009

Referencias

• OtrosOtrosOtrosOtros

— Introducción a JMS (Java Message Service) http://www.programacion.net/java/articulo/jms/

— Introduction to Spatial Data Management withPostgishttp://www.mapbender.org/presentations/Spatial_Data_Management_Arnulf_Christl/Spatial_Data_Management_Arnulf_Christl.pdf

— Building a Spatial Database in PostgreSQLhttp://www.slideshare.net/dersteppenwolf/building-a-spatial-database-in-postgresql

Page 76: Kudos Flashcamp Bogota 2009

Gracias por su tiempo

Más información en http://gkudos.com

http://blog.gkudos.com