Está en la página 1de 260

Trabajo Final de Grado Ingeniera de Sistemas - IUA

Tema:

Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa.

Juan Alberto Ortiz Fernandez


Asesor: Ing. Mariano Garca Matto

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Declaracin de Derechos de Autor

Declaracin de Derechos de Autor


Esta obra esta publicada bajo la licencia Creative Commons Atribucin-Sin Obras Derivadas 2.5 Argentina. Puedes copiar, compartir y referenciar este e-book indicando a Juan Ortiz como fuente. (http://blog.juanortiz.com.ar)

Para ver una copia de esta licencia, visita http://creativecommons.org/licenses/by-nd/2.5/ar/

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Dedicatoria

Dedicatoria
A Ana y Juan, mis padres.

ii

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Agradecimientos

Agradecimientos
A mi familia. A mis amistades.

iii

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Abstract

Abstract
El presente es un trabajo final de grado (TFG) de Ingeniera de Sistemas en el Instituto Universitario Aeronutico (IUA). El problema observado es la falta de un espacio online con capacidades claras para generar el dialogo entre consumidores y empresas, en base a las fallas presentes en sus productos o servicios. Para poder lograr cubrir esta necesidad el alumno considera que este tipo de herramienta debe contar con caractersticas slo provistas hasta ahora por la tendencia Web 2.0 las cuales debern ser estudiadas y comprendidas. Por tanto el objetivo del proyecto es lograr comprender el concepto ambiguo de Web 2.0 entendiendo las formas en las que se manifiesta, sus implicancias sociales, y las tecnologas que le dan soporte para lograr que su aplicacin permita la implementacin de un sitio web con caractersticas Web 2.0 que eventualmente genere un espacio de dilogo entre consumidores y empresas. Para desarrollar el trabajo se ha realizado una investigacin en base a diversas fuentes bibliogrficas analizando los conceptos de web 2.0, social media, patrones de diseo, y diversas tecnologas aplicables. Posteriormente se consideran los patrones de diseo para definir requerimientos y diseo de la solucin de software utilizando UWE UML. Finalmente se realiza la implementacin del modelo terico en base a proyectos open source y servicios de terceros. El resultado final del proyecto en su marco terico provee una comprensin sobre la tendencia Web 2.0 y maneras de aplicacin de esta a prcticamente cualquier contexto que se elija. Adems, incluye una aplicacin al contexto cliente-empresa mediante una solucin de software online que sienta las bases para una comunidad de consumidores y empresas. En la actualidad dicho servicio se encuentra funcional y su futuro crecimiento como comunidad requiere tiempo de maduracin y esfuerzo, por lo que el autor seguir trabajando sobre el tema de manera independiente una vez finalizada la etapa de tesis.

iv

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas ndice de figuras

ndice de contenidos
DECLARACIN DE DERECHOS DE AUTOR...................................................................................................... I DEDICATORIA.............................................................................................................................................. II AGRADECIMIENTOS ................................................................................................................................... III ABSTRACT .................................................................................................................................................. IV NDICE DE CONTENIDOS.............................................................................................................................. 5 NDICE DE FIGURAS ..................................................................................................................................... 9 NDICE DE TABLAS ..................................................................................................................................... 12 1. INTRODUCCIN ................................................................................................................................ 13 1.1. 1.2. 1.3. 1.4. 1.5. 1.6. 1.6.1. 1.6.2. 1.7. 1.8. 1.9. 1.10. 1.11. 1.11.1. 1.11.2. 1.12. 1.12.1. 1.12.2. 1.12.2. 1.12.3. 2. ANTECEDENTES ............................................................................................................................. 13 SITUACIN PROBLEMTICA .............................................................................................................. 14 PROBLEMA .................................................................................................................................. 15 OBJETO DE ESTUDIO ....................................................................................................................... 15 CAMPO DE ACCIN ........................................................................................................................ 16 OBJETIVOS ................................................................................................................................... 17 OBJETIVO GENERAL .................................................................................................................... 17 OBJETIVOS ESPECFICOS .............................................................................................................. 17 IDEA A DEFENDER / PROPUESTA A JUSTIFICAR / SOLUCIN A COMPROBAR .................................................... 17 DELIMITACIN DEL PROYECTO ........................................................................................................... 18 APORTE PRACTICO ......................................................................................................................... 18 APORTE TERICO ........................................................................................................................... 18 MTODOS DE INVESTIGACIN. .......................................................................................................... 19 MTODOS LGICOS ................................................................................................................... 19 MTODOS EMPRICOS................................................................................................................. 19 ENFOQUE METODOLGICO. ............................................................................................................. 20 PARADIGMA............................................................................................................................. 20 PROCESO ................................................................................................................................ 20 MTODOS ............................................................................................................................... 21 TCNICAS ................................................................................................................................ 21

MARCO CONTEXTUAL ....................................................................................................................... 23 2.1. 2.2. 2.3. ENTORNO DEL OBJETO DE ESTUDIO ..................................................................................................... 23 RELACIN TESISTA Y OBJETO DE ESTUDIO ............................................................................................. 24 ANLISIS DE LOS PROBLEMAS OBSERVADOS .......................................................................................... 24

3.

MARCO TERICO .............................................................................................................................. 26 3.1. 3.2. 3.3. 3.4. 3.4.1. INTRODUCCIN ............................................................................................................................. 26 THE CLUETRAIN MANIFESTO: LOS MERCADOS SON CONVERSACIONES.......................................................... 27 LA WEB 2.0 ................................................................................................................................. 28 SOCIAL MEDIA: LOS NUEVOS MEDIOS SOCIALES. .................................................................................... 29 REDES SOCIALES ........................................................................................................................ 30
Facebook ................................................................................................................................... 30 MySpace .................................................................................................................................... 31

3.4.1.1. 3.4.1.2.

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas - ndice de contenidos
3.4.1.3. 3.4.1.4. 3.4.1.5. Orkut ......................................................................................................................................... 31 LinkedIn ..................................................................................................................................... 31 Resumen sobre redes sociales .................................................................................................... 31 El blog como una herramienta de publicacin de contenidos ....................................................... 32 El blog como medio de comunicacin y tendencia social ............................................................. 33 La blogosfera.............................................................................................................................. 35

3.4.2.

BLOGS .................................................................................................................................... 32

3.4.2.1. 3.4.2.2. 3.4.2.3.

3.4.3. 3.4.4. 3.4.5. 3.4.6.

WIKIS ..................................................................................................................................... 35 PODCASTS ............................................................................................................................... 36 FOROS .................................................................................................................................... 37 COMUNIDADES DE CONTENIDOS .................................................................................................... 38


Flickr: fotografas. ....................................................................................................................... 39 YouTube: videos. ........................................................................................................................ 39 Delicious: marcadores (bookmarks). ........................................................................................... 40 Digg: noticas y contenidos. ......................................................................................................... 40 Twitter: el lder en microbbloging. .............................................................................................. 41 Usos del Microblogging .............................................................................................................. 41

3.4.6.1. 3.4.6.2. 3.4.6.3. 3.4.6.4.

3.4.7.

MICROBLOGGING ...................................................................................................................... 41

3.4.7.1. 3.4.7.2.

3.4.8. SINDICACIN DE CONTENIDOS Y APIS EN LOS SOCIAL MEDIAS. ............................................................... 42 3.4.9. MASHUPS ............................................................................................................................... 43 3.4.10. UN BREVE RESUMEN DE LOS SOCIAL MEDIAS. .................................................................................... 45 3.5. CLIENTES, EMPRESAS Y LA WEB 2.0 ................................................................................................... 46 3.5.1. LOS CONSUMIDORES SON LOS PROTAGONISTAS. ................................................................................ 46 3.5.2. TENDENCIAS DE CONSUMO DE INTERNET ......................................................................................... 47
3.5.2.1. 3.5.2.2. 3.5.2.3. 3.5.2.4. La base de clientes es verdaderamente global ............................................................................. 47 Los clientes estn siempre conectados ........................................................................................ 48 Los clientes estn conectados dondequiera que vayan ................................................................ 48 Los clientes no estn simplemente conectados, estn participando ............................................. 49

3.5.3. LA RELACIN ENTRE LOS USUARIOS DE INTERNET Y LAS MARCAS O PRODUCTOS. ......................................... 50 3.6. LAS EMPRESAS Y LA WEB 2.0 ........................................................................................................... 52 3.6.1. LOS DISTINTOS TIPOS DE BLOGS CORPORATIVOS ................................................................................. 53 3.6.2. OPININ DE LAS EMPRESAS SOBRE EL IMPACTO DE LOS BLOGS ............................................................... 54 3.6.3. EJEMPLOS DE LA RELACIN DE EMPRESAS CON LA WEB 2.0 .................................................................. 55 3.7. LOS PATRONES DE DISEO WEB 2.0 ................................................................................................... 56 3.7.1. APROVECHAR LA INTELIGENCIA COLECTIVA ....................................................................................... 58 3.7.2. LOS DATOS SON EL PRXIMO "INTEL INSIDE" .................................................................................... 63 3.7.3. INNOVACIN EN EL ENSAMBLAJE: .................................................................................................. 67 3.7.4. EXPERIENCIAS DE USUARIO RICAS ................................................................................................... 71 3.7.5. SOFTWARE MS ALL DE UN SOLO DISPOSITIVO: ................................................................................ 75 3.7.6. BETA PERPETUO ........................................................................................................................ 79 3.7.7. APROVECHAR LA LARGA COLA ....................................................................................................... 82 3.7.8. MODELOS LIGEROS Y ESCALABILIDAD COSTO-EFECTIVA ........................................................................ 86 3.7.9. RESUMIENDO LOS PATRONES DE DISEO .......................................................................................... 91 3.8. TECNOLOGAS PARA WEB 2.0 ........................................................................................................... 92 3.8.1. LAS BASES DE INTERNET .............................................................................................................. 93
3.8.1.1 3.8.1.2. 3.8.1.3. 3.8.1.4. El modelo Cliente-servidor, protocolos y navegadores. ................................................................ 93 Vnculos y bsquedas ................................................................................................................. 94 La exploracin y bsqueda en Internet. ....................................................................................... 96 PageRank ................................................................................................................................... 97 HTML ......................................................................................................................................... 98

3.8.2.

ESTRUCTURA, PRESENTACIN Y CONTENIDOS. ................................................................................... 98

3.8.2.2.

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas - ndice de contenidos
3.8.2.3. 3.8.2.4. 3.8.2.5. 3.8.2.6. XML ......................................................................................................................................... 101 CSS........................................................................................................................................... 104 CSS y XML ................................................................................................................................ 104 CSS y HTML .............................................................................................................................. 106 Scripting en el cliente ............................................................................................................... 109 Document Object Model y Dynamic HTML ................................................................................ 111 PHP con fuente de datos........................................................................................................... 113 Web Services............................................................................................................................ 117 Un acercamiento a SOAP y WSDL .............................................................................................. 120 WSDL ....................................................................................................................................... 120 Namespaces ............................................................................................................................. 121 Estructura de un WSDL ............................................................................................................. 122 SOAP ........................................................................................................................................ 123 ATOM ...................................................................................................................................... 127 RSS 2.0 ..................................................................................................................................... 129 Publicando feeds ...................................................................................................................... 130 Ajax.......................................................................................................................................... 131 Servidor WPC ........................................................................................................................... 134 Cliente WPC ............................................................................................................................. 136 Sindicacin de contenidos con Web feeds ................................................................................. 139 Mashups basados en WPCs. ...................................................................................................... 141 Tagging en Flickr....................................................................................................................... 146 Delicious y los marcadores sociales ........................................................................................... 149 Folksonomias ........................................................................................................................... 151 Metodologas de desarrollo tradicionales .................................................................................. 152 Desarrollo gil de software ....................................................................................................... 153 Extreme Programming .............................................................................................................. 154 Model-Driven Web Engineering con UWE UML ......................................................................... 161 Ejemplo de modelado de anlisis y diseo en UWE UML ........................................................... 162 Plataformas y libreras de desarrollo de cliente y servidor ......................................................... 169 Proyectos existentes como base. .............................................................................................. 170

3.8.3.

TECNOLOGAS DE SCRIPTING. ...................................................................................................... 108

3.8.3.2. 3.8.3.3.

3.8.4. 3.8.5.

SCRIPTING EN EL SERVIDOR ........................................................................................................ 112 APLICACIONES WEB DE XML ..................................................................................................... 117

3.8.4.2. 3.8.5.2. 3.8.5.3. 3.8.5.4. 3.8.5.5. 3.8.5.6. 3.8.5.7.

3.8.6.

FORMATOS DE WEB FEEDS ........................................................................................................ 125

3.8.6.2. 3.8.6.3. 3.8.6.4.

3.8.7.

APLICACIONES DE INTERNET ENRIQUECIDAS. ................................................................................... 130

3.8.7.2. 3.8.7.3. 3.8.7.4.

3.8.8.

MASHUPS Y EL DISEO PARA LA REUTILIZACIN ............................................................................... 138

3.8.8.2. 3.8.8.3.

3.8.9.

TAGGING .............................................................................................................................. 145

3.8.9.2. 3.8.9.3. 3.8.9.4.

3.8.10.

DESARROLLO DE PROYECTOS WEB 2.0 .......................................................................................... 152

3.8.10.2. 3.8.10.3. 3.8.10.4.

3.8.11.

EL DESARROLLO WEB ............................................................................................................... 159

3.8.11.2. 3.8.11.3. 3.8.11.4. 3.8.11.5.

3.9. 4.

CONCLUSIN .............................................................................................................................. 172

MODELO TERICO .......................................................................................................................... 173 4.1. INTRODUCCIN ........................................................................................................................... 173 4.2. PLANIFICACIN ........................................................................................................................... 174 4.2.1. ETAPAS, ACTIVIDADES Y DURACIN. ............................................................................................. 174 4.2.2. DIAGRAMA GANTT .................................................................................................................. 175 4.3. REQUERIMIENTOS ........................................................................................................................ 176 4.3.1. DEFINICIN DE ACTORES DE NEGOCIO ........................................................................................... 176 4.3.2. NECESIDADES GENRICAS DETECTADAS EN LOS ACTORES DE NEGOCIO .................................................... 176 4.3.3. DEFINICIN DE LOS ACTORES DE SISTEMA....................................................................................... 177 4.3.4. APLICACIN DE LOS PATRONES DE DISEO AL CONTEXTO DEL PROYECTO. ............................................... 177

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas - ndice de contenidos
4.3.4.1. 4.3.4.2. 4.3.4.3. 4.3.4.4. 4.3.4.5. Aprovechar la inteligencia colectiva .......................................................................................... 178 Los datos son el prximo "Intel Inside...................................................................................... 180 Innovacin en el ensamblaje. .................................................................................................... 182 Experiencias de usuario ricas. ................................................................................................... 185 Aprovechar la larga cola............................................................................................................ 187

4.3.5. REQUERIMIENTOS DEL SISTEMA .................................................................................................. 188 4.4. ANLISIS Y DISEO ...................................................................................................................... 190 4.4.1. ANLISIS DEL SISTEMA .............................................................................................................. 191
4.4.1.1. 4.4.1.2. 4.4.1.3. Listado de casos de uso de sistema ........................................................................................... 191 Descripcin de casos de uso de sistema .................................................................................... 192 Diagrama de casos de uso del sistema....................................................................................... 197

4.4.2.

DISEO DEL SISTEMA ................................................................................................................ 198

4.4.2.1. Modelo de Contenidos ............................................................................................................. 198 4.4.2.2. Modelo de Navegacin ............................................................................................................. 199 4.4.2.3. Modelo de Presentacin ........................................................................................................... 200 4.4.2.4. Modelo de Procesos y Diagramas de flujo de proceso................................................................ 213 4.4.2.5. Decisiones de diseo del sistema ................................................................................................... 230

4.5. 5.

CONCLUSIN .............................................................................................................................. 232

CONCRECIN DEL MODELO ............................................................................................................ 233 5.1. INTRODUCCIN ........................................................................................................................... 233 5.2. IMPLEMENTACIN ....................................................................................................................... 234 5.2.1. PROYECTOS OPEN SOURCE Y SERVICIOS DE BASE .............................................................................. 234
5.2.1.1. 5.2.1.2. 5.2.1.3. 5.2.1.4. phpBB 2.0.23............................................................................................................................ 234 AjaxCORE 1.4............................................................................................................................ 234 YouTube API PHP Gdata ......................................................................................................... 234 Picasa API PHP Gdata ............................................................................................................. 235 Dependencia de traza entre modelo relacional y modelo de contenidos .................................... 236 Dependencia de traza entre archivos PHP y clases de procesos. ................................................. 237 Dependencia de traza entre archivos HTML y clases de presentacin. ........................................ 239

5.2.2.

ESBOZO DE LA ARQUITECTURA DEL SISTEMA. .................................................................................. 235

5.2.2.1. 5.2.2.2. 5.2.2.3.

5.2.3. MODELO DE DESPLIEGUE ........................................................................................................... 241 5.2.4. PROTOTIPOS DE INTERFACES ...................................................................................................... 242 5.3. PUESTA EN MARCHA .................................................................................................................... 245 5.3.1. INFRAESTRUCTURA NECESARIA .................................................................................................... 245
5.3.1.1. 5.3.1.2. Tecnologa y requerimientos del nodo Cliente. .......................................................................... 245 Tecnologa y caractersticas del nodo Servidor........................................................................... 245

5.3.2. CAPACITACIN DE LOS USUARIOS ................................................................................................. 246 5.4. PREFACTIBILIDAD ......................................................................................................................... 247 5.4.1. PREFACTIBILIDAD TCNICA ......................................................................................................... 247 5.4.2. PREFACTIBILIDAD OPERATIVA. ..................................................................................................... 247 5.4.3. PREFACTIBILIDAD ECONMICA. ................................................................................................... 247 5.5. CONCLUSIN .............................................................................................................................. 249 6. 7. CONCLUSIONES .............................................................................................................................. 250 BIBLIOGRAFA................................................................................................................................. 251

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas - ndice de contenidos

ndice de Figuras
ILUSTRACIN 1: EDAD Y SEXO DE AUTORES DE BLOGS. TECHNORATI 2008:................................................ 33 ILUSTRACIN 2: BLOGGERS PERSONALES, CORPORATIVOS Y PROFESIONALES............................................ 34 ILUSTRACIN 3: PERCEPCIONES SOBRE BLOGS Y MEDIOS TRADICIONALES. ................................................ 35 ILUSTRACIN 4: ESTADSTICAS DE HITWISE SOBRE TWITTER. ..................................................................... 41 ILUSTRACIN 5: TWITTER DE BARACK OBAMA, CANDIDATO PRESIDENCIAL PARA ESTADOS UNIDOS. ......... 42 ILUSTRACIN 6: CAPTURA DE PANTALLA DE HOUSINGMAPS...................................................................... 44 ILUSTRACIN 7: BANDA ANCHA EN HOGARES CON INTERNET EN ARGENTINA. .......................................... 48 ILUSTRACIN 8: BLOGS INDEXADOS POR TECHNORATI - MARZO DEL 2003 A MARZO DEL 2007.................. 49 ILUSTRACIN 9: CONTENIDOS SUBIDOS A INTERNET POR USUARIOS ARGENTINOS. ................................... 50 ILUSTRACIN 10: USUARIOS QUE CONSULTAN SITIOS PARA INFORMARSE SOBRE PRODUCTOS ................. 51 ILUSTRACIN 11: SEGMENTACIN DE BLOG CORPORATIVOS. .................................................................... 53 ILUSTRACIN 12: OPINIONES DE DIRECTORES DE COMUNICACIONES Y RR. PP. SOBRE BLOGS. ................... 54 ILUSTRACIN 13: CAPTURA DE PANTALLA DE IDEASTORM DE DELL. ........................................................... 55 ILUSTRACIN 14: IMPACTO DE LOS EFECTOS DE RED. ................................................................................ 58 ILUSTRACIN 15: PROCESO DE CARGA DE IMAGEN EN FLICKR. .................................................................. 60 ILUSTRACIN 17: SUBIDA DE IMGENES EN FLICKR.................................................................................... 61 ILUSTRACIN 17: PORCENTAGENES DE IMAGENES PUBLICAS Y PRIVADAS EN FLICKR. ................................ 61 ILUSTRACIN 18: PRESENTACIN DE PRODUCTO EN AMAZON.COM.......................................................... 62 ILUSTRACIN 19: NUBE DE TAGS DE TECHNORATI. .................................................................................... 63 ILUSTRACIN 20: USO DE CREATIVE COMMONS EN FLICKR. ....................................................................... 65 ILUSTRACIN 21: NIVELES EN LA CADENA DE DATOS DE MAPAS DIGITALES. .............................................. 66 ILUSTRACIN 22: CATEGORIAS DE APIS EN PROGRAMMABLEWEB.COM ................................................... 68 ILUSTRACIN 23: USO DE PROTOCOLOS POR APIS. .................................................................................... 69 ILUSTRACIN 24: WIKI SOBRE API DE TWITTER. ......................................................................................... 69 ILUSTRACIN 25: CAPTURA DE PANTALLA DE GOOGLE DOCS. .................................................................... 72 ILUSTRACIN 26: CAPTURA DE PANTALLA DEL SITIO TIVO.COM ................................................................. 76 ILUSTRACIN 27: CAPTURA DE PANTALLA DEL SITIO EBAY MOBILE ............................................................ 77 ILUSTRACIN 28: CAPTURA DE PANTALLA DEL SITIO TN Y LA GENTE .......................................................... 77 ILUSTRACIN 29: CAPTURA DE PANTALLA DEL SITIO SHOZU. ..................................................................... 78 ILUSTRACIN 30: COMPARACIN DE LIBERACIONES DE FLICKR Y MICROSOFT WINDOWS. ......................... 80 ILUSTRACIN 31: CICLO DE DE DESARROLLO DE BETA PERPETUO............................................................... 80 ILUSTRACIN 32: LINEA DE TIEMPO DE GOOGLE MAPS 2005-2006 ............................................................ 81 ILUSTRACIN 33: REPRESENTACIN GRAFICA DE "LA LARGA COLA". .......................................................... 83 ILUSTRACIN 34: MODOS DE LISTAR NOTICIAS DE CLARIN.COM ................................................................ 84 ILUSTRACIN 35: EJEMPLO DE GOOGLE ADSENSE. .................................................................................... 87 ILUSTRACIN 36: INTERACCIN ENTRE CLIENTE Y SERVIDOR. .................................................................... 93 ILUSTRACIN 37: MODELO SIMPLE DE PGINAS Y VNCULOS. .................................................................... 95 ILUSTRACIN 38: MODELO TIPO MOO DE PGINAS Y VNCULOS. ............................................................ 96 ILUSTRACIN 39: MOTOR DE BUSQUEDA. ................................................................................................. 96 ILUSTRACIN 40: EJEMPLO DE USO DE HTML. ........................................................................................... 99 ILUSTRACIN 41: EJEMPLO DE USO DE XML CON CSS. ............................................................................. 106 ILUSTRACIN 42: EJEMPLO DE USO DE HTML CON CSS. ........................................................................... 107 ILUSTRACIN 43: ESTRUCTURA DOM CON DOM INSPECTOR EN FIREFOX. ................................................ 111 ILUSTRACIN 44: SCRIPTING DE SERVIDOR CON PHP. .............................................................................. 112 ILUSTRACIN 45: EJEMPLO DE USO DE PHP, HTML Y JAVASCRIPT............................................................. 116 ILUSTRACIN 46: EL PARADIGMA DE LOS WEB SERVICES. ........................................................................ 117 ILUSTRACIN 47: LAS CAPAS DE LOS ESTNDARES DE WEB SERVICES. ..................................................... 118

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas - ndice de contenidos
ILUSTRACIN 48: VISTA DE LA ORIENTACIN A SERVICIOS. ...................................................................... 118 ILUSTRACIN 49: LA INFRAESTRUCTURA DE WEB SERVICES. .................................................................... 118 ILUSTRACIN 50: LA INFRAESTRUCTURA DE WPC. ................................................................................... 119 ILUSTRACIN 51: RELACIONES EN UN ARCHIVO WSDL. ............................................................................ 122 ILUSTRACIN 52: ESTRUCTURA DE UN MENSAJE SOAP. ........................................................................... 124 ILUSTRACIN 53: CREACIN DE POST EN BLOGGER. ................................................................................ 127 ILUSTRACIN 54: WEB FEEDS EN FIREFOX................................................................................................ 130 ILUSTRACIN 55: SOLICITUDES SINCRNICAS Y RECARGAS DE PAGINA. ................................................... 132 ILUSTRACIN 56: RECARGAS ASINCRNICAS DE PAGINA UTILIZANDO AJAX. ............................................ 132 ILUSTRACIN 57: INTERACCIN CLIENTE-SERVIDOR CON AJAX. ............................................................... 133 ILUSTRACIN 58: CAPTURA DE PANTALLA DE GOOGLE READER. .............................................................. 140 ILUSTRACIN 59: PAGINA PERSONAL PBLICA DE GOOGLE READER. ....................................................... 140 ILUSTRACIN 60: EJEMPLO DE GOOGLE MAPS. ........................................................................................ 144 ILUSTRACIN 61: MUESTRA DE IMAGEN EN FLICKR. ................................................................................ 147 ILUSTRACIN 62: NUBES DE TAGS EN FLICKR. .......................................................................................... 148 ILUSTRACIN 63: EJEMPLO DE PGINA PERSONAL EN DELICIOUS. ........................................................... 150 ILUSTRACIN 64: METODOLOGAS TRADICIONALES DE DESARROLLO DE SOFTWARE. .............................. 153 ILUSTRACIN 65: METODOLOGA GIL DE DESARROLLO DE SOFTWARE. .................................................. 155 ILUSTRACIN 66: DIAGRAMA DE CASOS DE USO DEL EJEMPLO DE UWE UML........................................... 163 ILUSTRACIN 67: MODELO DE CONTENIDOS DEL EJEMPLO DE UWE UML. ............................................... 163 ILUSTRACIN 68: MODELO DE NAVEGACIN DEL EJEMPLO DE UWE UML. ............................................... 165 ILUSTRACIN 69: MODELO DE ESTRUCTURA DE PROCESOS DEL EJEMPLO DE UWE UML. ......................... 165 ILUSTRACIN 70: EJEMPLO DE FLUJO DE PROCESOS DEL EJEMPLO DE UWE UML. .................................... 166 ILUSTRACIN 71: MODELO DE PRESENTACIN DEL EJEMPLO DE UWE UML. ............................................ 168 ILUSTRACIN 72: DIAGRAMA GANT DEL PROYECTO. ................................................................................ 175 ILUSTRACIN 73: DIAGRAMA DE CASOS DE USO DEL SISTEMA. ................................................................ 197 ILUSTRACIN 74: MODELO DE CONTENIDOS............................................................................................ 198 ILUSTRACIN 75: MODELO DE NAVEGACIN. .......................................................................................... 199 ILUSTRACIN 76: MODELO DE PRESENTACIN - VENTANA PRINCIPAL. .................................................... 201 ILUSTRACIN 77: MODELO DE PRESENTACIN - NDICES DE RECLAMOS, EMPRESAS Y PRODUCTOS. ........ 202 ILUSTRACIN 78: MODELO DE PRESENTACIN - VISUALIZACIN DE UN RECLAMO. ................................. 203 ILUSTRACIN 79: MODELO DE PRESENTACIN - AGREGAR Y MODIFICAR UN RECLAMO. .......................... 205 ILUSTRACIN 80: MODELO DE PRESENTACIN - REPORTAR RECLAMO Y COMENTARIO. .......................... 207 ILUSTRACIN 81: MODELO DE PRESENTACIN - REGISTRAR USUARIO, LOGIN, RECUPERAR PW. .............. 208 ILUSTRACIN 82: MODELO DE PRESENTACIN - VISUALIZACIN DE DATOS DEL USUARIO. ...................... 209 ILUSTRACIN 83: MODELO DE PRESENTACIN - MODIFICACIN DE DATOS DE USUARIO. ........................ 210 ILUSTRACIN 84: MODELO DE PRESENTACIN - MENSAJES PRIVADOS DE USUARIOS............................... 211 ILUSTRACIN 85: MODELO DE PRESENTACIN - CARGA DE IMGENES Y VIDEOS. .................................... 212 ILUSTRACIN 86: MODELO DE ESTRUCTURA DE PROCESOS - 1. ................................................................ 214 ILUSTRACIN 87: MODELO DE ESTRUCTURA DE PROCESOS - 2. ................................................................ 215 ILUSTRACIN 88: DIAGRAMA DE FLUJO DE PROCESO - AGREGAR RECLAMO. ........................................... 216 ILUSTRACIN 89: DIAGRAMA DE FLUJO DE PROCESO - MODIFICAR RECLAMO. ........................................ 217 ILUSTRACIN 90: DIAGRAMA DE FLUJO DE PROCESO - ELEGIR EMPRESA. ................................................ 218 ILUSTRACIN 91: DIAGRAMA DE FLUJO DE PROCESO - ELEGIR PRODUCTO............................................... 219 ILUSTRACIN 92: DIAGRAMA DE FLUJO DE PROCESO - AGREGAR IMAGEN. .............................................. 220 ILUSTRACIN 93: DIAGRAMA DE FLUJO DE PROCESO - AGREGAR VIDEO. ................................................. 221 ILUSTRACIN 94: DIAGRAMA DE FLUJO DE PROCESO - AGREGAR COMENTARIO. ..................................... 222 ILUSTRACIN 95: DIAGRAMA DE FLUJO DE PROCESO - REPORTAR RECLAMO. .......................................... 223 ILUSTRACIN 96: DIAGRAMA DE FLUJO DE PROCESO - REPORTAR COMENTARIO. .................................... 223

10

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas - ndice de contenidos
ILUSTRACIN 97: DIAGRAMA DE FLUJO DE PROCESO - VALORAR RECLAMO. ............................................ 224 ILUSTRACIN 98: DIAGRAMA DE FLUJO DE PROCESO - VALORAR COMENTARIO....................................... 224 ILUSTRACIN 99: DIAGRAMA DE FLUJO DE PROCESO - SOCIAL BOOKMARKS. ........................................... 225 ILUSTRACIN 100: DIAGRAMA DE FLUJO DE PROCESO - COMENTARIOS RSS. ........................................... 225 ILUSTRACIN 101: DIAGRAMA DE FLUJO DE PROCESO - EMPRESAS RSS. ................................................. 226 ILUSTRACIN 102: DIAGRAMA DE FLUJO DE PROCESO - PRODUCTOS RSS. ............................................... 226 ILUSTRACIN 103: DIAGRAMA DE FLUJO DE PROCESO - REGISTRAR USUARIO.......................................... 227 ILUSTRACIN 104: DIAGRAMA DE FLUJO DE PROCESO - MODIFICAR USUARIO. ........................................ 227 ILUSTRACIN 105: DIAGRAMA DE FLUJO DE PROCESO - ELIMINAR USUARIO. .......................................... 228 ILUSTRACIN 106: DIAGRAMA DE FLUJO DE PROCESO - ENVIAR MENSAJE USUARIO. ............................... 228 ILUSTRACIN 107: DIAGRAMA DE FLUJO DE PROCESO - LOGIN. ............................................................... 229 ILUSTRACIN 108: DIAGRAMA DE FLUJO DE PROCESO - RECUPERAR PASSWORD..................................... 229 ILUSTRACIN 109: DIAGRAMA DE FLUJO DE PROCESO - LOGOUT............................................................. 229 ILUSTRACIN 110: DEPENDENCIA DE TRAZA ENTRE MODELO RELACIONAL Y MODELO DE CONTENIDOS. . 237 ILUSTRACIN 111: DEPENDENCIA DE TRAZA ENTRE ARCHIVOS PHP Y CLASES DE PROCESOS. ................... 238 ILUSTRACIN 112: DEPENDENCIA DE TRAZA ENTRE ARCHIVOS HTML Y CLASES DE PRESENTACIN. ......... 240 ILUSTRACIN 113: MODELO DE DESPLIEGUE. .......................................................................................... 241 ILUSTRACIN 114: PROTOTIPO DE INTERFAZ - HOME. ............................................................................. 242 ILUSTRACIN 115: PROTOTIPO DE INTERFAZ - CARGA DE RECLAMO. ....................................................... 243 ILUSTRACIN 116: PROTOTIPO DE INTERFAZ - VISUALIZACIN DE RECLAMO Y CARGA DE COMENTARIO. 244

11

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas ndice de Tablas

ndice de Tablas
TABLA 1: COMPARACIN DE BLOG CON PAGINAS TRADICIONALES. ........................................................... 33 TABLA 2: FRECUENCIA DE OPININ DE BLOGGERS SOBRE EMPRESAS......................................................... 51 TABLA 3: RUBROS CONSULTADOS POR USUARIOS DE INTERNET EN ARGENTINA ........................................ 52 TABLA 4: COMPARACIN ENTRE APLICACIONES DE ESCRITORIO Y APLICACIONES DE INTERNET. ................ 64 TABLA 5: EJEMPLOS DE APLICACIONES DE LAS FUERZAS DE LA LARGA COLA. ............................................. 84 TABLA 6: RESUMEN DE LOS PATRONES DE DISEO .................................................................................... 92 TABLA 7: NOMBRES Y DESCRIPCIONES DE ELEMENTOS CONTENEDORES EN FORMATOS DE FEEDS........... 126 TABLA 8: NOMBRES Y DESCRIPCIONES DE ELEMENTOS DE ENTRADAS EN FORMATOS DE FEEDS. ............. 126 TABLA 9: PRACTICAS Y ETAPAS DE EXTREME PROGRAMING ..................................................................... 159 TABLA 10: PLATAFORMAS Y LIBRERAS DE AJAX Y JAVASCRIPT. ................................................................ 170 TABLA 11: ETAPAS, ACTIVIDADES Y DURACIN DEL PROYECTO. ........................................................... 174 TABLA 12: PATRONES Y PRCTICAS DE DISEO QUE SERAN APLICADOS EN EL PROYECTO. ....................... 178 TABLA 13: ESTRUTURAS DE URLS DE LOS ELEMENTOS DEL SITIO. ............................................................. 231 TABLA 14: COSTOS DE SOFTWARE ........................................................................................................... 247 TABLA 15: COSTOS DE PROYECTOS Y APIS DE BASE .................................................................................. 248 TABLA 16: COSTOS DE RECURSOS HUMANOS .......................................................................................... 248

12

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Introduccin

1. Introduccin
1.1. Antecedentes

Una persona decide comprar un equipo celular. Durante la primera semana de uso el equipo no presenta ningn problema, pero luego encuentra una falla en uno de los botones de acceso al men de usuario. Decide llamar a la lnea de atencin al cliente de la empresa donde y luego de una larga conversacin y esperas en lnea, la operadora le indica que ese tipo de fallas no estn cubiertas por la garanta. Ante esta situacin, decide buscar una posible solucin en Internet. Ingresa su modelo de celular y una breve descripcin del problema. Rpidamente encuentra una pgina que parece tener la temtica correcta, y en esta encuentra que el problema que ha tenido no es algo fuera de lo comn sino que se presenta en muchas unidades de dicho modelo. Mediante imgenes, texto y video otras personas (de lo que nota no es solo un sitio sino una comunidad de consumidores) han aportado ya sus quejas y posibles soluciones al problema tcnico. En base a esto logra reparar el problema de forma momentnea y adhiere su queja a la de las personas que ya lo han hecho. Al tiempo las quejas son tantas que el problema se hace conocido gracias a la difusin que permite la comunidad y afecta la venta del producto. La empresa no logra entender la causa, hasta que se topa en internet con el mismo sitio. Alarmada, no ve otra opcin que involucrarse en la comunidad, dialogando con los clientes y buscando reducir el impacto de su error inicial. Los productos son reemplazados por nuevas unidades, y el problema de la persona, solucionado finalmente. Ahora la empresa estar atenta a los problemas que se planteen en la comunidad buscando dialogar rpidamente con los usuarios antes de que sea tarde, al igual que muchas otras empresas que ya pasaron por situaciones similares. En los ltimos aos Internet ha evolucionado a un siguiente plano, el cual ha sido denominado Web 2.01. Este trmino no representa una tecnologa en particular ni tampoco una versin en el sentido computacional, sino que intenta expresar una nueva forma para lo que conocemos como comunicaciones interpersonales basadas en la Internet. Es complicado esbozar una definicin para esta tendencia, ya que al ser justamente una tendencia evoluciona rpidamente al pasar de los aos. Una buena definicin actual es la siguiente: Un fenmeno social en relacin con la creacin y distribucin de contenidos en Internet, caracterizado por la comunicacin abierta, la descentralizacin de autoridad, la libertad para compartir y usar, dentro de un enfoque que trata a las relaciones humanas y econmicas como conversaciones . (1) El caso hipottico planteado anteriormente resultaba inimaginable no hace mucho tiempo y ahora es posible gracias a esta tendencia, aunque todavia no se presente en Argentina una comunidad con carctersticas que puedan realizar esta funcin de acercamiento entre consumidores y empresas.
1

Esta tendencia fue nombrada y definida por Tim O'Reilly en 2005 (66).

13

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Introduccin Por tanto, el objetivo de este trabajo es plantear una solucin de forma Web 2.0 a esta situacin que se presenta como una necesidad todava pendiente de cubrir en Argentina. Para esto ser necesario comprender los elementos que componen al concepto ambiguo de Web 2.0, entendiendo sus formas y tecnologas, y sobre todo las interacciones entre estos con los usuarios, 2 para lograr que su aplicacin en base a patrones de diseo genere un impacto en el contexto de las crticas de productos, permitiendo la implementacin de una comunidad online en base a una seleccin de dichos elementos, que genere un espacio de dilogo entre consumidores y empresas.

1.2.

Situacin problemtica

Al realizar un anlisis de la situacin actual encontramos que el proyecto tiene actualidad y pertinencia debido a: La falta de espacios de comunicacin entre empresas y consumidores con las caractersticas potenciales que ofrece un proyecto de tipo Web 2.0 en la Argentina. Los fuertes efectos producidos por opiniones de clientes en Internet en nmeros casos durante los ltimos aos. Podemos encontrar ejemplos diversos en los cuales las empresas han presentado un dialogo oportuno, as como tambin otros casos en los que la empresas no reaccionan a tiempo. Mencionamos algunos para acercarnos a la idea: En Abril del 2008 Michael Arrington, luego de 36 horas de no tener conexin a Internet y de quejarse va telefnica a su proveedor de servicio (Comcast) sin recibir una solucin, decidi publicar un mensaje en su cuenta de Twitter3 al respecto. Por la popularidad de la persona, casi de forma instantnea mucha gente empez a hablar del tema en blogs, y luego de 20 minutos, un ejecutivo de Comcast se comunico directamente con l para ofrecerle su ayuda (2). Comcast cuenta con un programa de seguimiento de mensajes en Twitter, como una de sus estrategias para atencin al cliente. El problema podra haber sido mucho mayor. El caso particular de Comcast fue impulsado por el mismo empuje de la Web 2.0: En 2007 fue creado un blog llamado Comcast must die (3) por Bob Garfield, un conocido columnista y personalidad de radio, con el objetivo de dar un lugar a los clientes de Comcast para que publicaran sus quejas, agrupndolas en categoras como Problemas de Internet , problemas de telfono y problemas de TV. Rpidamente olas de mensajes empezaron a llevar haciendo el blog cada vez ms y ms popular (4) . En 2004 fue publicado en BikeForums.net (5) un video en el cual se mostraba en algunos segundos como violar la seguridad de un candado para bicicletas mediante el uso de un bolgrafo. Este a notica se disperso rpidamente por Internet, y para cuando la empresa Kryptonite pudo reaccionar, ya era muy tarde, pues la noticia era una de las ms ledas del
2

John Musser, Tim OReilly y el equipo de OReilly Radar definieron 8 patrones de diseo para proyectos basados en el concepto de Web 2.0. (9) Ver ms detalles en marco terico.
3

Twitter.com es un sitio de microbloging, un tipo de social media analizado en el marco terico. En l los usuarios pueden publicar mensajes personales accesibles a otros usuarios. Actualmente cuenta con ms de 1 milln de usuarios (120).

14

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Introduccin pas. Fue necesario retirar del mercado los candados del modelo afectado por la noticia y los modelos similares y entregar a sus clientes nuevos candados. CNN calcul que la empresa necesitara decenas de millones de dlares para recuperar su imagen daada (6). Si Kryptonite, hubiera conocido la notica a tiempo, podra haber minimizado el dao dialogando directamente con los consumidores al momento de que la noticia fue pblica. El impacto de un proyecto de este tipo en la sociedad argentina, como ser el acercamiento al dialogo entre consumidores y empresas, al brindar un espacio en que las personas puedan expresar sus crticas sobre productos o servicios que no estn satisfaciendo sus necesidades, permitiendo que las empresas escuchen en un lugar imparcial y centralizado a sus clientes, y puedan actuar en pro de resolver rpidamente problemas para minimizar el dao a su imagen corporativa en base al dialogo. De esta forma se logra empresas eficientes que para lograr negocios rentables satisfagan a los clientes, produciendo as una mejora continua, en cuanto a productos, procesos y atencin al cliente. A nivel mundial es notable una tendencia a la mejora en la atencin al cliente (y ms aun, en la relacin entre clientes y empresas) ya que por diversas razones, el cliente cada vez parece tener ms poder sobre las acciones de las empresas gracias a las plataformas colaborativas y abiertas de la Web 2.0. En Internet ya hay voces que hablan de esto: las empresas deben escuchar y responder a los clientes en un mundo Web 2.0 o arriesgarse a perderlos ante aquellas empresas que si lo hacen. (7)

1.3.

Problema

La situacin problemtica que inspiro al alumno a la eleccin del tema de estudio es la falta de un espacio online con capacidades claras para generar el dialogo entre consumidores y empresas, en base a las fallas presentes en sus productos o servicios. Para poder lograr cubrir esta necesidad este tipo de herramienta debe contar con caractersticas solo provistas hasta ahora por la tendencia Web 2.0 las cuales debern ser estudiadas y comprendidas.

1.4.

Objeto de estudio

Para lograr el objetivo del trabajo ser necesario conocer a los participantes del problema, es decir, los consumidores, las empresas e Internet como medio de comunicacin y entorno tecnolgico. Sera necesario comprender el concepto Web 2.0 y las formas en las que se manifiesta en la actualidad en base al anlisis de los social media: Redes sociales, blogs, wikis, podcasts, foros, comunidades de contenidos y microblogging. Se llevara a cabo un breve relevamiento sobre la situacin actual de los usuarios de Internet en Argentina. Sera importante analizar las tendencias que se plantean en las empresas del pas, as como tambin el nivel de participacin de los consumidores en social medias existentes. Adems, un anlisis de los alcances actuales de internet respecto a disponibilidad, ancho de banda y posibilidad de uso mvil ser necesario para conocer los alcances actuales y proyectados de Internet en Argentina.

15

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Introduccin Continuando con el anlisis de Web 2.0, el eje del estudio consistir luego en el anlisis de los patrones de diseo para proyectos: Aprovechar la inteligencia colectiva. Los datos son el prximo "Intel Inside. Innovacin en el ensamblaje. Experiencias de usuario ricas. Software ms all de un solo dispositivo. Beta perpetuo. Aprovechar la larga cola. Modelos ligeros y escalabilidad costo-efectiva. Una vez comprendidos estos, ser necesario realizar un acercamiento a las tecnologas y estndares presentes en Internet, que son la base de los proyectos que implementen dichos patrones de diseo. Analizaremos los lenguajes de programacin bsicos presentes en el modelo cliente servidor utilizado en de Internet (como ser HTML, XML y CSS) y las posibilidades de realizar scripting en ambas partes de dicho modelo (a travs de lenguajes como Javascript en cliente y PHP en servidor). Adems, ser necesario comprender conceptos bsicos para la aplicaciones de los patrones como ser Ajax para la implementacin de interfaces de usuario enriquecidas, Web services como base del software como servicios, Web feeds como medio de sindicacin de contenidos, tagging y folksonomias como manera de ordenamiento de informacin y por ultimo metodologas de desarrollo agiles para el desarrollo de proyectos.

1.5.

Campo de accin

En base al estudio y comprensin del objeto de estudio, se buscara la manera de implementar una solucin al problema planteado haciendo hincapi en la aplicacin de los siguientes patrones de diseo: Aprovechar la inteligencia colectiva. Los datos son el prximo "Intel Inside. Experiencias de usuario ricas. Aprovechar la larga cola. Innovacin en el ensamblaje. Con esto alcanzaremos el anlisis diseo y desarrollo de un sitio online con las caractersticas de una comunidad de contenidos de fuertes caractersticas Web 2.0, haciendo foco principal en la manera en que los usuarios y empresas pueden participar de forma colaborativa y buscando efectos de red que potencien estas colaboraciones a travs de interfaces simples pero enriquecidas, que den soporte a estos medios para la creacin de una base de datos de valor agregado que logre alcanzar la larga cola que se presenta en el dominio de productos y servicios de Argentina, implementando el sitio sobre desarrollos propios y de terceros (mediante el uso y adaptacin de aplicaciones open source y APIs de servicios).

16

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Introduccin Como se ver en el marco terico, todos los patrones de diseo estn interrelacionados y por tanto, si bien no se har un fuerte enfoque en los patrones que quedan fuera del alcance, s se los mencionara o se har referencia a estos.

1.6.

Objetivos

1.6.1. Objetivo general


Lograr comprender los elementos que componen al concepto ambiguo de Web 2.0, entendiendo sus formas y tecnologas, para lograr que su aplicacin genere un impacto en el contexto de las criticas de productos, permitiendo la implementacin de un siti o web en base a una seleccin de dichos elementos, que genere un espacio de dilogo entre consumidores y empresas.

1.6.2. Objetivos especficos


Estudiar y comprender el concepto Web 2.0 y las maneras en que se manifiesta a travs del anlisis de los social media. Estudiar y comprender la manera en que se relacionan usuarios y empresas con Internet. Estudiar y comprender los patrones de diseo Web 2.0 y las prcticas que implican su implementacin. Estudiar y comprender tecnologas y estndares que forman la base para el desarrollo de proyectos Web 2.0. Definir requerimientos de un sitio web que tome la forma de comunidad de contenidos en torno al domino de las criticas de productos, en base a la aplicacin de los patrones de diseo mencionados en el campo de accin y el anlisis realizado sobre usuarios y empresas. Modelar dicho sitio y sus interfaces, en base a la aplicacin de los patrones de diseo mencionados en el campo de accin, considerando las tecnologas y estndares estudiados. Implementar el sitio en base a la aplicacin de los patrones de diseo mencionados en el campo de accin, utilizando como base desarrollos open source y APIs de terceros.

1.7.

Idea a defender / Propuesta a justificar / Solucin a comprobar

Se buscara defender la idea de que la tendencia Web 2.0 existe en la actualidad y de que es la va ms apropiada para generar espacios de comunicacin abiertos y colaborativos, aprovechando las virtudes que presenta Internet tanto por sus caractersticas como medio de comunicacin as como tambin como una red de alta disponibilidad. Se propone por tanto la aplicacin de patrones de diseo relacionados con esta tendencia al dominio presentado en la relacin clientes-empresas en Argentina, para lograr el diseo e implementacin de un sitio online con caractersticas aptas para funcionar como solucin al problema planteado. 17

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Introduccin En base al desarrollo amplio del marco terico se buscara conocer a la tendencia Web 2.0, las formas en que se manifiesta y las tecnologas y estndares que le dan soporte, para proceder luego a realizar el anlisis de requerimientos de la posible solucin que debe funcionar como un nexo colaborativo entre los usuarios de Internet y las empresas.

1.8.

Delimitacin del proyecto

Los patrones de diseo Web 2.0 cubren un concepto muy amplio por lo que es necesario limitar el alcance del proyecto, concentrndonos en los objetivos especficos destacados y descartando los siguientes patrones: Software ms all de un solo dispositivo. Beta perpetuo. Modelos ligeros y escalabilidad costo-efectiva.

1.9.

Aporte practico

Como se menciono en el punto 2, el proyecto generara un impacto social sobre el dominio de la relacin entre clientes y empresas, al brindar un espacio en que las personas puedan expresar sus crticas sobre productos o servicios que no estn satisfaciendo sus necesidades, permitiendo que las empresas escuchen en un lugar imparcial y centralizado a sus clientes, y puedan actuar en pro de resolver rpidamente problemas para minimizar el dao a su imagen corporativa en base al dialogo, y de esta forma lograr empresas eficientes que para lograr negocios rentables satisfagan a los clientes, produciendo as una mejora continua, en cuanto a productos, procesos y atencin al cliente. Una de las caractersticas de la Web 2.0 es justamente el balance que se presenta en el poder de publicacin y difusin de contenidos. Las caractersticas colaborativas y los efectos de red presentes en soluciones Web 2.0 serian la va de canalizacin de las opiniones de los clientes, potenciando la publicacin y de difusin entre ellos y hacia las empresas. Por tanto los beneficiarios de la implementacin del proyecto serian tanto clientes como empresas en este caso. Y a su vez, el anlisis de Web 2.0 permite generar un conocimiento que puede ser aplicado posteriormente en otros dominios.

1.10. Aporte terico


La novedad que presenta el proyecto es el estudio y anlisis de la tendencia Web 2.0. Habiendo comenzado visiblemente alrededor del 2005, ha presentado una evolucin creciente y constante, presentando cambios permanentes que apuntan a la democratizacin de Internet como medio de comunicacin. El proyecto considera el estudio de esta tendencia, en base a publicaciones de los ltimos aos mayormente en lengua inglesa. Los patrones de diseo a los cuales hace referencia este anteproyecto han sido publicados en Noviembre del 2007, lo que da un indicio de la novedad del objeto de estudio. El anlisis de las tecnologas y estndares proveer un mapa que abarcara (sin realizar un anlisis profundo) los conceptos necesarios para construir la base para desarrollos Web 2.0.

18

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Introduccin Por tanto, los resultados de este trabajo podrn ser posteriormente generalizados y aplicados a variedad de dominios con objetivos comerciales o no comerciales. Esto quedara claramente sentado, ya que el mismo anlisis y comprensin de Web 2.0 se basa mayormente en el estudio de casos existentes en los cuales se manifiesta esta tendencia, abarcando una gran variedad de mbitos.

1.11. Mtodos de investigacin.


El desarrollo de este trabajo final de grado se basara en mtodos de investigacin empricos y lgicos. Por mtodos empricos nos referimos a modelos de investigacin basados en la experiencia y pruebas sobre el objeto de estudio, permitiendo reconocer caractersticas y relaciones esenciales de los elementos considerados en este, lo que dar las bases para estudios descriptivos.

1.11.1. Mtodos lgicos


En base a la aplicacin del pensamiento aplicado a la deduccin, anlisis y sntesis, se aplicaran mtodos lgicos para: Analizar la situacin problemtica y definir el problema que se busca solucionar con este trabajo. Relacionar adecuadamente el marco terico a desarrollar con el objeto de estudio y el campo de accin. Realizar el diagnostico final que relacione lo cubierto por el desarrollo del marco terico. Relacionar los patrones de diseo Web 2.0 con la situacin problemtica para definir requerimientos de la posible solucin y el consecuente anlisis y diseo en el desarrollo del modelo terico. Realizar la implementacin de la solucin, considerando lo generado en el modelo terico y el uso de las herramientas disponibles.

1.11.2. Mtodos empricos


Sera necesaria la aplicacin de mtodos empricos en el desarrollo del proyecto para: Conocer el entorno del problema para lograr una descripcin del marco contextual, a travs de bsquedas en motores de bsquedas generalista y especficos en bsqueda de documentacin y opiniones, participacin en social medias como ser foros, blogs y comunidades de contenidos, y la observacin directa del comportamiento de los usuarios de Internet en estos social media. Realizar el desarrollo del marco terico y su correspondiente diagnostico, en base a la observacin directa de social media y comunidades de contenidos existentes en la actualidad, anlisis de informacin de libros, blogs y opiniones de referentes en temticas relacionadas con el objeto de estudio. Determinar los requerimientos del modelo terico, en base al anlisis de soluciones implementadas en otros mbitos y utilizacin de documentacin de las tecnologas, estndares, desarrollos open source y servicios de terceros. 19

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Introduccin Realizar el despliegue de la solucin planteada, observando los resultados de su uso y la participacin de los usuarios sobre el sistema.

1.12. Enfoque metodolgico.


1.12.1. Paradigma
Como se denota de las consideraciones anteriores, el paradigma a ser utilizado ser el deducido del anlisis de la tendencia Web 2.0 y de los patrones de diseo que este trabajo considera. Como se ve en lo analizado en el marco terico, la Web 2.0 plantea un nuevo paradigma sobre el modo de uso de Internet como medio de comunicacin, por tanto, se buscara su comprensin y aplicacin. Podemos tomar como marco para entender este paradigma los puntos en comn que renen los social media analizados en el marco terico: Participacin: promueven la contribucin y la retroalimentacin de cualquiera que est interesado en opinar. Hace difusa la lnea entre medios y audiencia. Apertura: la mayora de los servicios de tipo social media estn abiertos a la retroalimentacin y la participacin. Promueven la generacin de comentarios y el intercambio de informacin. Conversacin: Mientras que los medios clsicos de comunicacin se basan en la emisin (contenidos transmitidos o distribuidos a una audienci a), los social media estn vistos como una conversacin ida y vuelta. Comunidad: los social media permiten que se formen comunidades rpidamente y que se comuniquen de forma efectiva. Estas comunidades comparten intereses en comn, como ser el amor a la fotografa, temas de poltica o programas de TV. Conectividad: La mayora de los tipos de social media prosperan en su inter conectividad, haciendo uso de links a otros sitios, recursos y gente. Podemos destacar que las caractersticas presentadas por las soluciones que pertenecen a las tendencias Web 2.0 no son en su un conjunto de leyes, sino ms bien un conjunto de guas e ideales que dan un marco de desarrollo y orientacin.

1.12.2. Proceso
El proceso necesario para el desarrollo del proyecto debe servir de gua para el logro secuencial de los objetivos especficos planteados para este trabajo. Primeramente se realizara una aproximacin al objeto de estudio que ser plasmada en el marco terico, analizando el concepto Web 2.0, los social media, los usuarios de internet como consumidores y empresas, los patrones de diseo, y las tecnologas y estndares que dan base a los proyectos Web 2.0, y las metodologas que permiten el desarrollo de este tipo de proyectos. Posteriormente, se aplicara un desarrollo en cascada para el desarrollo de la solucin. Se elije este enfoque debido a que la aplicacin de metodologas agiles como las analizadas en el marco terico queda fuera del alcance de este trabajo, y el enfoque de cascada permite lograr un esbozo claro de una primera etapa del prototipo. Por tanto, se proceder al desarrollo de: 20

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Introduccin Identificacin de requerimientos: en base a los patrones de diseo y la comprensin de la realidad de los usuarios de Internet como consumidores y empresas, se definirn los requerimientos del sistema en una primera etapa de su desarrollo. Estos sern la gua de las siguientes etapas. Anlisis: Nuevamente, y en base a la aplicacin de los patrones elegidos, se proceder con el anlisis del sistema que brindara la solucin al problema planteado. Diseo: Sobre el anlisis obtenido se continuara con el diseo de la solucin, seleccionando las tecnologas, desarrollos de base y servicios en los cuales deber basarse la implementacin, as como tambin el desarrollo de interfaces de usuario que den un enfoque Web 2.0 al sistema. Desarrollo: Sin profundizar sobre las caractersticas tecnolgicas y tcnicas del proceso, se analizaran los resultados de la implementacin del sistema. No se hace un fuerte foco en este punto ya que el enfoque del trabajo apunta ms a la comprensin del paradigma y su posible aplicacin como tal que a la bsqueda de especificaciones de desarrollo e implementacin. Despliegue: Se colocara a disposicin de los usuarios el sistema de forma abierta y publica como un sitio web, considerando lo desarrollado.

1.12.2. Mtodos
Como se menciona anteriormente, se aplicara una metodologa en cascada, considerando en cada paso la aplicacin de los patrones de diseos considerados dentro del alcance del proyecto, considerando las prcticas recomendadas en cada uno. Se mantendr un bajo nivel de especificaciones tcnicas del software a desarrollar haciendo foco principal en las interfaces de los usuarios y las formas en que estos se relacionaran con el sistema y la informacin.

1.12.3. Tcnicas
Podemos separar las tcnicas a ser aplicadas en los siguientes grupos: Recopilacin de requerimientos: Se considerara la aplicacin de los patrones a la posible interaccin de los usuarios consumidores y empresas con el posible sistema en base a lo analizado en el marco terico. Se generara as un listado de requerimientos del sistema y por tanto de las posibles interfaces necesarias para el desarrollo del sitio aplicando los patrones de diseo web 2.0 que se analizaran en el marco terico. Anlisis, Diseo y modelado: Se generara un modelado general del sistema en base a casos de uso de acuerdo a UWE UML, aplicando los diagramas que se consideren necesarios para mostrar las interacciones de los usuarios con el sistema. Adems, se realizaran esbozos de las interfaces haciendo foco en la manera en que los elementos de interaccin se distribuyen y se relacionan con el usuario, utilizando para esto modelado de HTML y descripciones de dichas interacciones. Implementacin: En base a lo desarrollado en el punto anterior, se desarrollara la aplicacin utilizando como base desarrollos open source existentes, adaptando estos para alcanzar las interfaces deseadas y cambindolos con servicios de terceros para por ejemplo agregar 21

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Introduccin capacidades multimedia al sitio. Se llevara a cabo una descripcin de esto, sin profundizar en detalles tcnicos focalizndose mayormente en las funcionalidades de la implementacin. Herramientas: Para el desarrollo del proyecto se utilizaran las siguientes herramientas: NetBeans PHP IDE: Esta aplicacin provee un ambiente de desarrollo integrado para la creacin de aplicaciones PHP, con soporte completo de HTML, Javacript y CSS. MagicDraw 1.51: Herramienta completa para UML, que permitir el desarrollo de modelos para las diferentes etapas del proyecto. MagicUWE 1.2: Plugin para agregar modelos y diagramas de UWE UML a MagicDraw 1.5. Microsoft Project 2003: Utilizado para el desarrollo de la planificacin del proyecto, mediante diagramas Gantt. Microsoft Word 2007: Permitir el desarrollo de la presentacin del anteproyecto y del proyecto de grado, con sus destacadas capacidades de procesamientos de textos.

22

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Contextual

2.
2.1.

Marco Contextual
Entorno del objeto de estudio

Hemos definido previamente el objeto de estudio al desarrollar la introduccin al proyecto, observando que se presenta como un contexto amplio y complejo. Internet en la actualidad se muestra como un contexto donde las personas desarrollan diversos aspectos de du vida diaria, y esto es un hecho que se ha potenciado cada vez ms durante los ltimos 10 o 15 aos. Alrededor del 2004 este cambio ha sido ms notorio: lo que era previamente una red para obtener informacin publicada por fuentes unilaterales, se convirti en un autentico lugar de interaccin donde la voz de cada persona tiene prcticamente un alcance ilimitado. Esta revolucin ha sido denominada Web 2.0. Es un concepto ambiguo y complejo de entender, especialmente por la velocidad con la que se ha desarrollado y por la magnitud de los cambios sociales que est produciendo. Gran parte del esfuerzo de este trabajo ser observar y comprender este cambio, para lo cual nos acercaremos a los aspectos sociales y tecnolgicos, y por lo tanto no podemos extendernos demasiado en este apartado. Por otra parte, se ha decidido enfocar adems el estudio del comportamiento de los usuarios de Internet en Argentina, para lograr aproximarnos a la relacin consumidor empresa. La evolucin histrica de esta relacin ha presentado fuertes cambios y quiebres en el paradigma. Inicialmente las empresas se orientaban a la produccin, y los clientes solo podan consumir lo que se presentaba en el mercado. Alrededor de 1950 se produce un primer quiebre en dicho paradigma, donde las empresas empiezan a orientarse a las ventas, ya que fue necesario focalizar el esfuerzo en vender lo que se produca ante el creciente nivel de competencia que se presentaba en los mercados. Posteriormente se produce un nuevo quiebre alrededor de 1970, surgiendo la actual orientacin al marketing en donde las empresas notaron que eran los deseos y necesidades de los consumidores los factores que realmente conducan el proceso. Solo en esta ltima etapa surge como un factor de influencia el consumidor. Aunque es claro que la balanza de poder sigue inclinada del lado de las empresas, ya que son las que cuentan con los recursos para hacer escuchar su voz, mientras que un consumidor individual puede pasar desapercibido. En este punto es donde podemos hacer una referencia a Internet. Como mencionamos anteriormente, hoy por hoy un usuario de Internet cuenta con medios para hacerse escuchar prcticamente sin lmites de costos ni barreras burocrticas. Hoy en da cualquier persona puede publicar un contenido en un social media, y si un grupo de personas considera que sus palabras son importantes, su voz se potenciara y llegara a tomar un gran peso. Existen mltiples casos que pueden ser analizados para demostrar esta nueva realidad actual, como ser los mencionados en el anlisis de la situacin problemtica realizado previamente, o los que sern mencionados en el desarrollo del marco terico. 23

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Contextual Es posible entonces trasladar esto a la relacin cliente-empresa, y notar como la aplicacin de soluciones sociales basadas en Internet es una herramienta poderosa para inclinar cada vez ms la balanza a un nivel de equilibrio, y para generar un nuevo quiebre en el paradigma.

2.2.

Relacin tesista y objeto de estudio

El autor de este trabajo se ve inmerso en el entorno mencionado previamente y por tanto afectado directamente con los problemas que se plantearon en la situacin problemtica. Por una parte, ha desarrollado numerosos trabajos y aplicaciones que han utilizado a Internet como el medio de soporte, observando una impresionante relacin entre las necesidades de inversin y los resultados que pueden obtenerse por las caractersticas del medio. En los ltimos aos ha participado activamente en comunidades online centradas en diversas temticas, obteniendo apoyo y soluciones de otros miembros de las comunidades que de otra manera hubieran sido muy difciles de conseguir. Es decir, ha visto y experimentado el poder que tienen los social media como una herramienta social de colaboracin. Por otra parte se encuentra inmerso en un mundo donde es necesario vincularse permanentemente con empresas para satisfacer necesidades y ha podido observar la notoria diferencia de poder que existe entre los consumidores y las empresas. En Argentina no se encuentra en la actualidad un espacio libre y abierto donde los consumidores puedan expresarse sobre las empresas y sus productos y servicios, ni donde compartir sus opiniones con otros consumidores que puedan estar en situaciones similares. Adems ya hemos planteado la ambigedad que existe aun en torno al concepto Web 2.0, y por tanto el problema de no poder aprovechar su potencial. Por tanto el problema planteado anteriormente requiere el desarrollo de este trabajo para lograr comprender el concepto y lograr su aplicacin a la relacin cliente-empresa.

2.3.

Anlisis de los problemas observados

Como se menciono previamente no existe en la actualidad en Argentina un espacio que cuente con las caractersticas para aprovechar las fortalezas de la Web 2.0 que analizaremos en el marco terico. Recordemos cuales son los puntos clave que presentan los social media (concepto analizado al introducir el paradigma del enfoque metodolgico): Participacin: promueven la contribucin y la retroalimentacin de cualquiera que est interesado en opinar. Hace difusa la lnea entre medios y audiencia. Apertura: la mayora de los servicios de tipo social media estn abiertos a la retroalimentacin y la participacin. Promueven la generacin de comentarios y el intercambio de informacin. Conversacin: Mientras que los medios clsicos de comunicacin se basan en la emisin (contenidos transmitidos o distribuidos a una audiencia), los social media estn vistos como una conversacin ida y vuelta. 24

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Contextual Comunidad: los social media permiten que se formen comunidades rpidamente y que se comuniquen de forma efectiva. Estas comunidades comparten intereses en comn, como ser el amor a la fotografa, temas de poltica o programas de TV. Conectividad: La mayora de los tipos de social media prosperan en su inter conectividad, haciendo uso de links a otros sitios, recursos y gente. A la fecha del comienzo de este trabajo no se han encontrado medios online o no online en Argentina que presenten estas caractersticas. Por tanto, se encuentra la necesidad de generar una solucin de software que pueda abordar el problema y se entiende que anlisis de la tendencia Web 2.0 es el medio por el cual se podr aproximar la solucin. El desarrollo del marco terico necesario para este proyecto implicara el anlisis de diversos proyectos que podran ser considerados como similares, pero que se encuentran en otros entornos. Especialmente notaremos esto en el estudio de comunidades de contenidos. Por tanto, no se profundizar en este aspecto en el desarrollo del marco contextual.

25

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico

3. Marco Terico
3.1. Introduccin

El desarrollo del marco terico buscara comprender los elementos que componen al concepto ambiguo de Web 2.0, entendiendo sus formas y tecnologas, lo que ser la base para el futuro desarrollo de un modelo terico y la concrecin de dicho modelo. En esta seccin buscaremos cumplimentar los siguientes objetivos especficos: Estudiar y comprender el concepto Web 2.0 y las maneras en que se manifiesta a travs del anlisis de los social media. Estudiar y comprender la manera en que se relacionan usuarios y empresas con Internet. Estudiar y comprender los patrones de diseo Web 2.0 y las prcticas que implican su implementacin. Estudiar y comprender tecnologas y estndares que forman la base para el desarrollo de proyectos Web 2.0. Abarcar todos estos puntos es una tarea desafiante que requiere una ardua investigacin y consulta de diversas fuentes. Si los objetivos especficos son alcanzados el autor de la tesis obtendr un conocimiento general que podr plasmar en el documento, y dicho conocimiento podra luego ser generalizado para diferentes contextos y proyectos.

26

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico

3.2.

The Cluetrain Manifesto: los mercados son conversaciones.

En el ao 1999 Internet ya haba marcado una revolucin en la sociedad mundial en el paso de sus primeros aos de vida. En ese momento, y al igual que ahora, la gente viva su vida diaria sin tomar conciencia de los pequeos cambios que permanentemente esta revolucin les impona en su entorno, en sus actividades, en sus negocios y especialmente en la forma de comunicarse y relacionarse con otras personas. Estos cambios eran permanentes y lgicos, sutiles y hasta casi naturales. Y definitivamente, eran rpidos y profundos. En un intento de interpretar la situacin, surge en Abril de dicho ao The Cluetrain Manifesto. 4La interpretacin realizada por sus autores propone 95 conclusiones ordenadas como un manifiesto, analizando y describiendo el impacto en consumidores, organizaciones, y en la relacin entre estos. Esta publicacin afirma que la interconexin masiva de las personas y negocios han producido cambios en las condiciones de los mercados, en base a la rpida expansin de Internet y la globalizacin econmica. La caracterstica principal de estos nuevos mercados es el hecho de que las organizaciones y los consumidores se encuentran implicados en una gran conversacin altamente interrelacionada, donde las personas tienen una voz cada vez ms fuerte. Para obtener una breve idea del contenido del manifiesto leyendo algunas de sus primeras conclusiones (8): 1. Los mercados son conversaciones. 2. Los mercados consisten de seres humanos, no de sectores demogrficos. 3. Las conversaciones entre seres humanos suenan humanas. Se conducen en una voz humana. 4. Ya sea transmitiendo informacin, opiniones, perspectivas, argumentos en contra o notas humorosas, la voz humana es abierta, natural, sincera. 5. La gente se reconoce como tal por el sonido de esta voz. 6. La Internet hace posible tener conversaciones entre seres humanos que simplemente eran imposibles en la era de los medios masivos de comunicacin. 7. Los hiper-enlaces socavan a las jerarquas. 8. En los mercados interconectados como entre empleados intraconectados, la gente utiliza nuevas y poderosas formas de comunicacin. 9. Las conversaciones en red hacen posible el surgimiento de nuevas y poderosas formas de organizacin social y de intercambio de conocimientos. 10. Como resultado los mercados se vuelven ms inteligentes, ms informados, ms organizados. La participacin en un mercado interconectado hace que las personas cambien de una manera fundamental. 11. Las personas que participan en estos mercados interconectados han descubierto que pueden obtener mucha mejor informacin y soporte entre s mismos que de los vendedores. Ya basta de la retrica corporativa acerca de aadir valor a productos de consumo general.
4

Publicado como libro en Enero de 2000 (117), originalmente fue presentado en un sitio web (119) en Abril de 1999, y en la actualidad sigue disponible en dicho sitio, encontrando adems las firmas de muchos lderes de empresas y medios al manifiesto.

27

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico 12. No hay secretos. El mercado en red sabe ms que las empresas acerca de sus propios productos. Y ya sea que las noticias sean buenas o malas, se las comunican a todo el mundo. 13. Lo que ocurre en los mercados, tambin sucede entre los empleados. Una construccin metafsica llamada "Compaa" es lo nico que queda entre los dos. 14. Las corporaciones no hablan en la misma voz que estas conversaciones interconectadas. Para su "audiencia objetivo", las compaas suenan huecas, opacas, literalmente inhumanas. 15. En slo unos pocos aos, la actual "voz" homogenizada del mundo de los negocios -- el sonido de misiones corporativas y folletos oficiales -- parecer tan rebuscada y artificial como el lenguaje de la corte francesa en el siglo 18. Con un estilo directo y claro, estas conclusiones y las 80 restantes expresan una realidad que en los ltimos aos se ha vuelto cada vez ms clara, pero que definitivamente aun est en camino. Estos escritos fueron claramente adelantados a su tiempo en su poca de publicacin: Internet aun no estaba preparada para los cambios. Tampoco los estaban sus usuarios y mucho menos las empresas. Pero el cambio ya estaba gestndose y de forma vertiginosa. Entre el ao 1999 y el ao 2004 muchos avances surgieron y transformaron Internet, y la forma en que todos los jugadores se desempearon en ella. Esto fue analizado como una tendencia, la cual fue llamada: Web 2.0. 5

3.3.

La Web 2.0

El termino Web 2.0 no representa una tecnologa en particular ni tampoco una versin en el sentido computacional, sino que intenta expresar una nueva forma para lo que conocemos como comunicaciones interpersonales basadas en la Internet. Es complicado esbozar una definicin para esta tendencia, ya que al ser justamente una tendencia evoluciona rpidamente al pasar de los aos. En Noviembre del 2007 John Musser, Tim OReilly y el equipo de OReilly Radar en su publicacin Web 2.0 Principles and Best Practices (9) desarrollan su teora en base a la formulacin de la siguiente definicin: La Web 2.0 es un conjunto de tendencias econmicas, sociales y tecnolgicas que de manera colectiva forman la base para la siguiente generacin de Internet un medio ms maduro y distinguido caracterizado por la participacin de los usuarios, la apertura y los efectos de red. Por otra parte Alberto Ortiz de Zrate Tercero en busca de desarrollar su libro sobre las influencias y usos de Blogs en la comunicacin entre empresas y consumidores, desarrolla una definicin algo ms cercana a los usuarios y el impacto social: La Web 2.0 es un fenmeno social en relacin con la creacin y distribucin de contenidos en Internet, caracterizado por la comunicacin abierta, la descentralizacin de autoridad, la libertad para compartir y usar, dentro de un enfoque que trata a las relaciones humanas y econmicas como conversaciones. (1)

Esta tendencia fue nombrada y definida por Tim O'Reilly en 2004 (66)

28

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico Notamos que ambas definiciones con orgenes distintos tienen fuertes puntos en comn entre ellas, y tambin con las conclusiones de The Cluetrain Manifesto. Claramente, nos encontramos ante un nuevo nivel de la revolucin que originalmente genero el surgimiento de Internet. El gran desafo que se presenta en la actualidad es lograr comprender estos cambios y el poder de esta tendencia, capitalizando la experiencia y aplicndolo entornos sociales donde aun no ha logrado su impacto. El desarrollo planteado en Web 2.0 Principles and Best Practices indica que esta tendencia se manifiesta en una gran variedad de formas y tecnologas, y busca generar patrones claros que permitan en primer lugar comprender lo que implica que algo sea Web 2.0, y en segundo lugar y consecuentemente poder aplicarlos a productos y organizaciones. Como mencionamos anteriormente, este trabajo persigue el objetivo de generar una solucin de tipo Web 2.0 para generar un espacio de dialogo y conversacin entre consumidores y empresas. Por tanto, es necesario conocer en mayor profundidad la relacin es estos con Internet.

3.4.

Social Media: los nuevos medios sociales.

Es complicado expresar con claridad y definir a la forma en que la Web 2.0 se manifiesta en forma prctica. La Web 2.0 ha impactado en diferentes formas en el plano social, por lo que desarrollar todas las posibilidades sera muy extenso. Recordamos entonces que este trabajo apunta a analizar la relacin entre los consumidores y las empresas. Para acotar el campo de anlisis podemos basarnos en el trmino social media y en la siguiente definicin de Antony Mayfield de Enero del 2008 (10): Social media puede ser entendido como un grupo de nuevos tipos de medios online, donde la mayora comparten las siguientes caractersticas: Participacin: promueven la contribucin y la retroalimentacin de cualquiera que est interesado en opinar. Hace difusa la lnea entre medios y audiencia. Apertura: la mayora de los servicios de tipo social media estn abiertos a la retroalimentacin y la participacin. Promueven la generacin de comentarios y el intercambio de informacin. Conversacin: Mientras que los medios clsicos de comunicacin se basan en la emisin (contenidos transmitidos o distribuidos a una audiencia), los social media estn vistos como una conversacin ida y vuelta. Comunidad: los social media permiten que se formen comunidades rpidamente y que se comuniquen de forma efectiva. Estas comunidades comparten intereses en comn, como ser el amor a la fotografa, temas de poltica o programas de TV. Conectividad: La mayora de los tipos de social media prosperan en su inter conectividad, haciendo uso de links a otros sitios, recursos y gente. En base a esta definicin pueden definirse siete tipos bsicos de social media, aunque Mayfield aclara: esta clasificacin puede cambiar en base al surgimiento de nuevos social media, ya que la innovacin y el cambio han sido moneda corriente en los ltimos aos y meses (como dijimos 29

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico antes, la Web 2.0 es una tendencia, y las tendencias evolucionan rpidamente). Tenemos entonces: 1. 2. 3. 4. 5. 6. 7. Redes sociales. Blogs. Wikis. Podcasts. Foros. Comunidades de contenidos. Microblogging.

Es necesario desarrollar estos conceptos y analizar ejemplos de cada uno, y de esta forma acercarnos al ambiente donde se realizan las interacciones entre consumidores y las empresas. En base a la visin de dicho autor, indagaremos en los puntos mencionados agregando conceptos de otros. Del anlisis y descripcin de dichos social media surgirn tres conceptos que ser necesario considerar: sindicacin de contenidos, APIs de servicios y mashups.

3.4.1. Redes sociales


Estos sitios permiten a la gente construir pginas web personales y generar nexos con otros usuarios para compartir contenidos y comunicarse. Los usuarios al unirse al servicio deben crear un perfil personal, para luego empezar a construir una red conectndose con amigos y contactos que estn en la red social del sitio, o invitando a otras personas a unirse a la red social. Estas comunidades mantienen el inters de sus miembros mediante estrategias simples: sindoles tiles y proveyendo servicios de entretenimiento o que los ayudan a expandir sus redes. Si bien existen cientos de redes sociales6 de diferentes tamaos y caractersticas, podemos analizar algunos de los lderes para acercarnos ms al concepto: 3.4.1.1. Facebook

En el ao 2004 Mark Zuckerberg de tan solo 19 aos de edad crea una comunidad online para ser utilizada por los estudiantes de la Universidad de Harvard (11). Posteriormente decide convertir a su red llamada TheFacebook en Facebook, esta vez abierta a todo pblico, creciendo de forma vertiginosa contando en la actualidad con ms de 110 millones de usuarios activos y la red social con mas trfico y 4 sitio con ms visitas de Internet (12). En esta red social los usuarios comparten imgenes, mensajes, afinidades e intereses comunes. Pero comenta Antony Mayfield que el factor que llevo al xito a esta red social fue su decisin de abrirse y permitir el desarrollo aplicaciones que interacten con los usuarios del sitio a cualquier persona que lo desee mediante el uso de sus APIs7, sin costo alguno. Esto ha permitido el surgimiento de una infinidad de aplicaciones, permitiendo a sus usuarios realizar un abanico de
6

Podemos encontrar un listado de las redes sociales ms relevantes y datos sobre estas en (121).

En captulos posteriores se realizara un desarrollo ms profundo sobre las APIs de Facebook. Puede encontrarse ms informacin en (122).

30

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico actividades, desde cmo ser jugar al ajedrez, adherirse a causas, compartir fotos y hasta reglar flores o mascotas virtuales. 3.4.1.2. MySpace

El proyecto naci a finales del 2003, siendo en la actualidad una de las redes sociales ms conocidas y usadas. El objetivo inicial de la empresa fue el de generar un espacio para que msicos independiente pudieran difundir y compartir sus trabajos. Rpidamente creci y evoluciono marcando tendencia en el concepto de Web 2.0, convirtindose en el sitio elegido por ms de 200 millones de usuarios a nivel mundial, que comparten diariamente en sus perfiles imgenes, videos, canciones, y opiniones, comunicndose con amistades y generando comunidades. Siguiendo la tendencia de apertura demostrada por Facebook, a finales del 2007 MySpace une fuerzas con Google (13) para desarrollar un conjunto de APIs llamadas OpenSocial8, en busca de estandarizar y simplificar la creacin de aplicaciones para redes sociales. 3.4.1.3. Orkut

Es la red social creada por Google en el 2006, con un objetivo similar al de otras redes sociales como MySpace y Facebook, ofreciendo a los usuarios crear perfiles y compartir sus intereses. Originalmente fue pensada para abarcar mayoritariamente a usuarios de Estados Unidos, pero perdi terreno en ese mercado. Igualmente es una de las redes con mayor cantidad de usuarios repartindose principalmente entre Estados Unidos (17.51%), India (17.37%) y Brasil(51.2%). (14) Desde el momento en el que se empez a desarrollar el proyecto OpenSocial, Google incluyo a Orkut en la lista de sitios que daran soporte a dicho conjunto de APIs, como parte de la estrategia para potenciar el desarrollo de su red social. (15) 3.4.1.4. LinkedIn

Esta es una de los mejores ejemplos de la aplicacin de una red social sobre un nicho: LinkedIn es una red social de profesionales. En su sitio la compaa expresa su filosofa de forma directa: Las relaciones importan. Tus relaciones profesionales son la clave de tu xito profesional. Nuestro objetivo es ayudarte a ser ms efectivo en tu trabajo diario y abrirte las puertas a nuevas oportunidades usando los vnculos profesionales que ya tienes . A su vez, indica que cuenta con ms de 30 millones de profesionales de todo el mundo, cubriendo 150 industrias diferentes. 3.4.1.5. Resumen sobre redes sociales

Esta red social permite que los usuarios construyan su red de contactos profesionales y de negocios por medio del sitio, en el que crean sus perfiles en base a sus experiencias laborales y acadmicas, pudiendo tambin incluir sus relaciones con otros miembros de la red social, especificando por ejemplo, donde y cuando participo en un proyecto o empresa con un miembro en particular.
8

Puede encontrarse ms informacin sobre OpenSocial en (123).

31

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico Adems, los usuarios que buscan contratar publiquen trabajos y sus requerimientos, permitiendo que los usuarios en busca de trabajo analicen su red de contactos y por tanto, poder ser presentados con los emperadores por medio de algn contacto de la red. Al igual que otras redes sociales, ha unido fuerzas con Google para el desarrollo de OpenSocial. (16) Como podemos notar, la fuerte estrategia de apertura de Facebook y su consecuente crecimiento en el mercado de las redes sociales ha hecho reaccionar a los otros jugadores grandes de las redes sociales, sumando fuerzas con el objetivo de crear la estandarizacin en OpenSocial en busca del mismo efecto producido por Facebook: que cualquier desarrollador pueda generar aplicaciones que interacten con miembros de las redes sociales. Analizaremos ambos casos ms adelante. Este tipo de proyectos no solo han creado una revolucin social sino tambin econmica: Se estima que el costo de MySpace es de10 mil millones y el de Facebook es de 15 mil millones de dlares. Algo impresionante cuando consideramos que empresas con infraestructuras gigantescas tienen un valor similar: se estima que el valor de YPF es de 15 mil millones de dlares, el mismo valor que Facebook. (17) La consultora de marketing Experian presento un informe sobre la actualidad y el rol futuro de estos social media, indicando que en el ao 2008 tomaran mayor fuerza y comentando que el rol ser ms importante que nunca, por lo que ninguna empresa, gobierno u ONG puede permitirse ignorarlas.. (18)

3.4.2. Blogs
Quizs la forma por excelencia de los social media: los blogs (termino derivado de web log). Podemos tomar la siguiente definicin de Alberto Ortiz de Zarate: Un blog es un sitio web, frecuentemente actualizado, compuesto de artculos generalmente breves que se disponen en orden cronolgico inverso, donde uno o varios autores escriben con libertad, mediante una herramienta de publicacin muy sencilla de utilizar. (1) El autor indica que esta definicin no llega a transmitir las cualidades que hacen a los blogs tan relevantes e interesantes en la actualidad. Expresa la importancia de analizar el concepto desde varios puntos de vista. Tomamos algunos de estos para acercarnos ms al concepto: 3.4.2.1. El blog como una herramienta de publicacin de contenidos

Un blog es un sitio web que presenta algunas caractersticas diferentes a las de las pginas web tradicionales. Se trata bsicamente de un editor de contenidos simple e intuitivo, en un formato de publicacin para los visitantes que busca privilegiar los contenidos frente a la forma. El blog est compuesto por las entradas (tambin llamados posts) publicados, ordenados en forma cronolgica comenzando por los ms nuevos, y algunos elementos en una barra lateral que ayudan a la navegacin del sitio. Los servicios de blogs en la actualidad permiten que los posts no se limiten solo a texto, contando con una gran simplicidad al momento de agregar contenidos multimedia como ser imgenes o videos, aumentando las posibilidades expresivas de los autores.

32

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico Y a su vez, permite la colaboracin de los visitantes del blog, pudiendo estos realizar comentarios sobre los posts publicados. Una de las caractersticas que han impulsado el uso masivo de blogs es la facilidad que se presenta para crear un blog y publicar contenidos en el. Las opciones que se presentan permiten que personas con poco o ningn nivel de conocimiento tcnico puedan acceder a la publicacin de un blog, a travs de servicios gratuitos como del el caso de Blogger (19) de Google o Wordpress (20), donde la creacin de un blog es posible en tan solo unos pocos minutos, eligiendo un diseo en base a algunas opciones y sin tener que preocuparse el usuario por el servicio de hospedaje del sitio. Wordpress por su parte, tambin permite bajar el cdigo abierto e instalar el blog en un servidor personal, y ambos servicios permiten a desarrolladores interactuar con los servicios mediante APIs9. Podemos entender algo mejor el concepto en base a la siguiente tabla comparativa: Blog Muy fcil de editar Se actualiza con mucha frecuencia El coste es cero o marginal Se estructura por orden cronolgico Permite la participacin va comentarios Privilegia el contenido Nos sorprende cada da
Tabla 1: Comparacin de blog con paginas tradicionales.

Pgina Tradicional Editada por un experto (webmaster) Los contenidos tienden a ser permanentes Conlleva un coste de mantenimiento Se estructura en reas visuales La participacin est muy limitada Privilegia el aspecto visual, el diseo Permanece relativamente estable

3.4.2.2.

El blog como medio de comunicacin y tendencia social

Como mencionamos anteriormente, el blog es uno de los social media, funcionando como medio alternativo a los medios de comunicacin masivos. La potencia del blog como medio est en la condicin bidireccional de la comunicacin que establece, y la facilidad que brinda para formar redes con otros blogs y otros medios. A nivel interno el blog potencia la comunicacin al permitir la gil publicacin opiniones por parte de los autores, y tambin la rpida respuesta a estas opiniones por parte de los lectores, al encontrar la posibilidad de publicar un comentario en el post, quedando tanto el post original y los comentarios a la disposicin de nuevos visitantes que puedan ingresar al sitio.

Ilustracin 1: Edad y sexo de autores de blogs. Technorati 2008:

Podemos encontrar informacin sobre las APIs de Wordpress en (124) y las APIs de Blogger en (125).

33

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico Pero como mencionamos anteriormente, no solo se realiza un dialogo entre autores y visitantes, sino tambin en la interaccin entre blogs a travs de la llamada blogosfera, concepto que analizaremos ms adelante. Por otra parte, el grupo de personas que mantiene activamente blogs (llamados bologgers) es un grupo muy heterogneo a nivel mundial. Segn el estudio de Technorati 10 (21) del 2008 indica que dos tercios de los bloggers son hombres, y solo la mitad del total de bloggers pertenece al rango etario de 18-34. Adems, indica que en general son profesionales o gente con considerable nivel acadmico y que el 7% del total de blogs existentes se originan en Sud Amrica. A su vez, el estudio agrupa a los blogs en tres categoras: personales, profesionales y corporativos. Definamos estas categoras y veamos algunos ejemplos: Personales: La temtica abarca intereses personales no relacionados a cuestiones laborales. Profesionales: Blogs sobre la industria o profesin del autor, pero sin ser blogs oficiales de alguna empresa. Corporativos: Los autores escriben sobre una empresa desde una posicin oficial. Cuatro de cada 5 bloggers mantiene blogs personales. Aproximadamente la mitad de los bloggers mantiene blogs profesionales, y finalmente, un 12% son autores de blogs corporativos. Pero por supuesto, estos grupos no son mutuamente excluyentes. Ms de la mitad de los bloggers profesionales y corporativos escriben tambin posts personales, ya sea en los mismos blogs o en otros de su misma autora.

Ilustracin 2: Bloggers personales, corporativos y profesionales. Grupos no mutuamente excluyentes Technorati 2008.

Por ltimo, cabe mencionar que los blogs estn tomando cada vez ms relevancia como un medio de comunicacin confiable y relevante, compitiendo cada vez ms con los medios tradicionales de comunicacin. En el mismo estudio mencionado anteriormente encontramos que existe una sensacin general de que los blogs estn siendo tomados seriamente como fuentes de informacin. 37% de los bloggers han sido citados en medios tradicionales debido a alguna de sus publicaciones en sus blogs. La mitad de los bloggers creen que los blogs sern una fuente primaria de noticias y
10

Technorati es un sitio buscador especializado en blogs, que se ha convertido en autoridad en el tema y una de las principales referencias. Realiza cada ao desde el 2004 un estudio para conocer el estado de la llamada blogosfera

34

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico entretenimiento en los prximos 5 aos. Adems, uno de cada cinco bloggers considera que los peridicos tradicionales no sobrevivirn los prximos 10 aos. Percepciones sobre blogs y medios tradicionales
Los blogs estan siendo considerados seriamente como fuentes de informacin Ms gente recibira sus noticias y entretenimiento desde blogs que de medios tradicionales en los proximos 5 Los blogs son fuentes de informacin tan validos como los medios tradicionales Obtengo mas de mis noticias e informaciones desde blogs y no tanto desde medios tradicionales Los blogs estan frecuentemente escritos mejor que articulos en medios tradicionales Los periodicos no sobreviviran los proximos 10 aos.
0 10 20

71 51 49 43 37 21
30 40 50 60 70 80

Ilustracin 3: Percepciones sobre blogs y medios tradicionales.

3.4.2.3.

La blogosfera

Una definicin sencilla del trmino blogosfera es conjunto de blogs, aunque se habla de que existen en realidad blogosferas, queriendo destacar que los blogs tienden a relacionarse entre ellos creando distintas comunidades y redes, cada una con sus participantes y temas caractersticos. Destaca Alberto Ortiz de Zarate: La importancia de los blogs no reside en cada uno de ellos, ni siquiera en la lista de los 100 ms ledos, sino en el entramado de conversaciones que emerge de los enlaces y comentarios entre ellos Un blog, incluso en sus momentos ms animados, es una pobre conversacin.. Indica que de la interaccin de estos emerge una conversacin rica y multiforme, a la que se puede denominar con una expresin paradjica: individualismo comunitario. Por tanto, es en estas blogosferas, en la interaccin de mltiples blogs, donde se produce el verdadero fenmeno de los blogs desde el punto de vista social, y donde es necesario realizar los anlisis sobre la relevancia del blog como social media y como parte de la revolucin de la tendencia Web 2.0.

3.4.3. Wikis
Imagine que esta navegando en Internet, y se encuentra con un sitio en el cual le gustara agregar o modificar algo. Por ejemplo, tiene una referencia literaria o un link para agregar. O encontr un error. Quizs tiene un artculo que le gustara colocar en una pgina separada. Entonces, simplemente hace click en el botn editar, cambia todo de la forma que le parece correcto, agrega un par de ideas, confirma la transaccin, y la nueva pgina esta online inmediatamente!. En un historial, se encuentran grabadas las versiones anteriores de la pgina, pudiendo visualizar los cambios previos o incluso volver la pagina a esos estados. Si todo es una experiencia simple y transparente, usted est trabajando con una wiki. 35

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico De esta forma es introducido el concepto wiki en el libro Wiki: Web Collaboration (22). Si bien dicho libro ha sido publicado en el ao 2008, el concepto wiki es uno de aquellos que precede a la tendencia Web 2.0. Ya en el ao 1995 la primer wiki fue creada bajo el nombre de WikiWikiWeb11, con un suplemento automatizado para el Repositorio de Patrones de Portland, con el objetivo de dar apoyo a personas y proyectos relacionados a patrones, utilizando el trmino hawaiano wiki wiki en el significado de rpido. (23) El concepto wiki se ha vuelto cada vez ms popular y conocido base al xito del proyecto Wikipedia, una enciclopedia online de contenido gratuito creada en el 2001, escrita de forma colaborativa por ms de 75.000 voluntarios de todo el mundo trabajando sobre ms de 10.000.000 artculos en ms de 250 idiomas (24). Si bien se plantea la veracidad de la informacin volcada en la Wikipedia, la confianza en sus contenidos va creciendo a medida que ms gente la utiliza y la calidad de la informacin y las referencias en los artculos va mejorando. En el ao 2005 la publicacin cientfica Nature realizo un estudio comparativo sobre el nivel de confianza en las entradas de las Wikipedia y la Enciclopedia Britnica. En sus resultados se marco que la Enciclopedia Britnica era la ms confiable de las dos, pero lo que sorprendi fue la poca diferencia marginal entre los niveles de confianza. (25) En base a la idea original se han realizado muchas implementaciones de software, por lo cual hoy en da es muy sencillo realizar la instalacin de una wiki y utilizarla sobre cualquier proyecto. Generalmente, podemos diferenciar dos opciones de usos para las wikis: Pueden ser utilizadas como herramientas en un grupo cerrado, o pueden ser apuntadas directamente a virtualmente toda persona que utiliza Internet. Muchas organizaciones han encontrado una gran variedad de usos para las wikis12. Podemos mencionar un ejemplo como ser el caso de la Javapedia (26), un sitio colaborativo online para los desarrolladores de Java desarrollada por Sun Microsystems en base a TWiki (27), un software gratuito y abierto para la implementacin de wikis.

3.4.4. Podcasts
Son archivos de msica o video que son publicados en Internet, y a los cuales los usuarios del servicio pueden subscribirse 13 . A veces el trmino vodcast es utilizado para describir especficamente a los servicios de video. Es justamente la posibilidad de subscripcin lo que hace al podcast poderoso como un formato de social media. Los usuarios han tenido la posibilidad de subir archivos de estos tipos a Internet desde hace mucho tiempo, pero la posibilidad de subscripcin implica que dichos usuarios pueden crear audiencias regulares y comunidades en base a sus producciones de audio o video.
11

La WikiWikiWeb original sigue online y en funcionamiento en http://c2.com/cgi/wiki. Podemos encontrar un listado de wikis importantes y sus datos en http://en.wikipedia.org/wiki/List_of_wikis.

12

13

Mediante el uso de un servicio de subscripcin, el usuario puede recibir actualizaciones automticas de los servicios a los cuales se ha subscripto. Este concepto ser desarrollado en ms detalle posteriormente.

36

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico Efectivamente coloca a autores individuales o empresas pequeas al mismo nivel de juego que medios de comunicacin tradicionales en cuanto a competir por la atencin de la gente sobre contenidos de audio o video en Internet. Los podcasts son parte de un cambio en los patrones de consumos de medios, que ven incrementalmente como los usuarios escuchan o ven contenidos cuando y donde lo desean. Esta revolucin es denominada time-shifting: al estar los contenidos disponibles en un medio de almacenamiento, estos pueden ser consumidos de la forma en que el usuario lo prefiera. Este concepto tambin se aplica en otras tendencias, como ser el caso de los DVR (Digital Video 14 Recorder), en los cuales es posible almacenar la programacin de TV en un medio de almacenamiento digital, pudiendo luego consumir los programas televisivos en el momento y la forma de preferencia del consumidor pudiendo por ejemplo, saltearse los espacios publicitarios. El time-shifting es un concepto que otorga mayor poder al consumidor de multimedios. Cuando un nuevo podcast es publicado en un sitio, los servicios de subscripcin de podcast de los usuarios subscriptos (por ejemplo, el programa iTunes de Apple) son notificados de forma automtica, y entonces es bajado a la computadora personal del usuario. Este puede ser consumido en la computadora o llevado a un dispositivo externo, como ser un reproductor de archivos MP3. Naturalmente el advenimiento de los postcast ha implicado tambin que muchos medios han podido invadir el terreno tradicional de otros. Mayfield cita como ejemplo el caso de algunos periodicos de Inglaterra, que han comenzado a producir programas al estulo de radio, y a distribuirlos en sus sitios, que anteriormente se basaban en texto e imgenes, algo que en argentina ya ha sido tambein aplicado en periodicos tradicionales como ser el caso de Clarin, desde donde distribuye micros informativos con un resumen actualizado de las noticias del dia. (27)

3.4.5. Foros
Los foros surgieron mucho antes que los trminos social media y web 2.0 y ahora son un elemento poderoso y popular de las comunidades online. Son lugares de discusin, generalmente sobre temas e intereses especficos. Se llama hilo a una discusin de un foro, y pueden existir muchos hilos activos simultneamente, permitiendo conversaciones simultaneas y claramente definidas. Estas caractersticas convierten a los foros en buenos lugares para encontrar e involucrarse en una gran variedad de discusiones detalladas. En general podemos encontrar a los foros como un agregado a sitios web, pero tambin existen muchos casos en que los foros son un sitio web por s mismos. Los foros son utilizados para buscar ayuda sobre temas especficos, compartir noticias, para participar en debates o simplemente como lugar de ocio. En otras palabras, su variedad refleja la variedad que se presenta en las conversaciones cara a cara.
14

Los DVR han tenido una gran explosin a nivel comercial, siendo un claro ejemplo el caso de TiVo comercializado en Estados Unidos generando un cambio en la conducta de los televidentes en base al concepto del time-shifting.

37

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico Estos sitios son moderados por administradores, quienes deben moderar las conversaciones, analizando los casos en que las reglas del foro se vean quebradas por los usuarios. Sin embargo, los administradores no guan o lideran las conversaciones, y esa es la diferencia principal que existe con las conversaciones que suceden en un blog, donde un autor expresa siempre primero su opinin, esperando los comentarios de su audiencia. Es decir, un blog tiene uno o varios autores que pueden publicar contenido, mientras que en un foro cualquier miembro puede iniciar una conversacin en un hilo. Los foros llegan a formar un gran sentido de comunidad, debido a que los miembros comparten intereses en comn y participan en los dilogos sobre estos. Mayfield indica que en base a estos algunos actan como comunidades cerradas, con poca o ninguna interaccin y conexin con otros formatos de social media, aunque aclara que esto puede ser debido a que los foros ya existan antes del surgimiento de los otros social media e incluso antes de que se empezara a hablar de este trmino, siendo una de las primeras maneras de formar comunidades online. Este social media contina siendo uno de los formatos fuertes en Internet, con muchas comunidades que alcanzan a los cientos de miles de usuarios. Existen sitios en Internet especializados en analizar los contenidos de las conversaciones que se producen en los foros, como ser el caso de Boardtracker que analiza los posts en ms de 32.000 sitios, permitindonos realizar bsquedas sobre su base de datos de foros (28). Un factor clave en el despliegue de los foros en Internet ha sido el factor de software de cdigo abierto, ya que muchos de las implementaciones de este formato de social media en la actualidad cuentan con licencia de software libre. En su libro Managing Online Forums Patrick OKeefe, uno de los referentes en cuanto al desarrollo de comunidades en base a foros, analiza las opciones de software disponibles, tomando algunos casos de software libre y de software pago (29). OKeefe destaca las funcionalidades provistas por phpBB (30), un software con licencia GPL15, as como tambin el potencial de las comunidades que se han desarrollado en torno al desarrollo de mejoras y estilos visuales gratuitos para phpBB.

3.4.6. Comunidades de contenidos


Las comunidades de contenidos pueden parecer un poco similares a las redes sociales: el usuario se registra, tiene su pgina personal y puede establecer conexiones con otros. La diferencia est en que el objetivo de estas comunidades de contenidos es el de compartir y organizar algn tipo especifico de contenido. Para acercarnos al concepto de este social media, tomaremos ejemplos de algunos sitios que se han convertido en referentes a la hora de hablar de algn tipo de contenido.

15

GPL (General Public Licence) indica que el cdigo est disponible para el uso y modificacin, e implica que las modificaciones del software deben ser liberadas bajo la misma licencia. Podemos encontrar ms informacin en (127).

38

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico 3.4.6.1. Flickr: fotografas.

Este servicio est basado alrededor de compartir fotografas, permitiendo que los miembros de la comunidad suban sus imgenes al sitio, eligiendo la posibilidad de hacerlas pblicas o simplemente compartirla con otros usuarios de confianza que estn en la comunidad, como ser el caso de amigos y familiares. Una de las razones del xito de Flickr es la aplicacin de la licencia Creative Commons16 sobre las imgenes que un usuario sube al sitio, eligiendo el usuario en caso de dejarlas abiertas al pblico, lo que otros usuarios de Internet pueden hacer con estas dando opciones como ser: reproducir y modificar libremente siempre cuando se de crdito al autor, reproducir y generar variaciones solo para uso no comercial o reproducir pero no hacer derivaciones. Esto provee de un marco de derechos de autor flexible a los usuarios, generando un alto grado de transparencia en el uso del sitio y sus contenidos. A su vez, para fomentar la interaccin entre los miembros de la comunidad, es posible formar grupos alrededor de intereses comunes. Existen por ejemplo grupos dedicados a deportes, ciudades, animales o artistas. Por supuesto, tambin existen grupos en base a empresas muy conocidas, e incluso de personalidades. Flickr ha puesto a disposicin de los desarrolladores un set de APIs, que permiten interactuar libremente con el servicio, con lo que es posible generar aplicaciones para por ejemplo subir, bajar y buscar imgenes de Flickr. (31) La empresa iniciada en el 2004 obtuvo un rpido xito en base a sus prcticas innovadoras, por lo que fue comprada por Yahoo! en el 2005 por aproximadamente 30 millones de dlares (32), y es uno de los referentes en el concepto Web 2.0. 3.4.6.2. YouTube: videos.

En base a la publicacin de videos, YouTube ha generado una de las comunidades de contenidos ms conocidas y utilizadas, llegando a mostrar a sus usuarios ms de 100 millones de videos por da (33). Los miembros de la comunidad pueden subir videos e incluso crear sus propios canales de videos. Una gran variedad de videos han sido subidos por los usuarios del servicio, pudiendo encontrarse una inmensa variedad de temticas y tipos de contenidos. La naturaleza viral de los videos de este servicio se ve potenciada por la facilidad con la que los usuarios pueden embeber un video de YouTube en sus blogs u otro entrono que acepte cdigo HTML, adems de la posibilidad de interactuar con el servicio mediante las APIs provistas por el sitio. (34) YouTube comenz como una pequea empresa privada, y debido a su xito llamo la atencin de Google, que la adquiri por 1.650 millones de dlares a finales del 2006. (35)
16

Las licencias Creative Commons son aplicables a cualquier contenido publicado en Internet. Es considerada parte de la tendencia Web 2.0, por lo que ser desarrollada posteriormente. Podemos encontrar ms informacin en http://creativecommons.org/.

39

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico 3.4.6.3. Delicious: marcadores (bookmarks).

El servicio provisto por Delicious permite que los usuarios mantengan su lista marcadores (o bookmarks) online, despegndose de el concepto local incorporado en los navegadores de Internet (como ser el caso de Favoritos del Internet Explorer de Microsoft). Al agregar un sitio, el usuario puede agregar etiquetas o tags al marcador. Por ejemplo, si se quisiera agregar a marcadores un sitio en el cual estamos revisando las especificaciones de una cmara de fotografa digital, el usuario podra querer agregar los tags sony y cmara al marcador, para poder organizar de mejor forma sus marcadores en base a estos metadatos. A su vez, el usuario puede dejar como pblicos sus marcadores, a disposicin de otros usuarios o servicios que deseen consultarlos. Esto implica el concepto de marcadores sociales, y el poder que generan al indirectamente crear una folsksonomia17, ya que de esta forma los contenidos de Internet son organizados mediante el aporte de cada usuario y sus metadatos agregados, rompiendo con la estructura de organizacin clsica en categoras. Por tanto, volviendo al ejemplo anterior el usuario podra realizar su bsqueda en la comunidad en base a los tags que le interesan, obteniendo directamente lo que otros usuarios han considerado importante, en contraste a la bsqueda algortmica que provee un servicio de bsqueda como ser el de Google: Toda inclusin y clasificacin de recursos est realizada por seres humanos en lugar de mquinas que procesan la informacin de forma automtica segn un programa. 3.4.6.4. Digg: noticas y contenidos.

Los usuarios de este servicio tienen como fin compartir links a historias o noticias que consideran interesantes, y estos links son votados por otros miembros de la comunidad. Una vez que la historia ha conseguido un nmero critico de votos, la noticia es colocada en la pgina principal por lo que obtendr mayor atencin por parte de los usuarios y los visitantes ocasionales al sitio. Es decir, lo que genera esta comunidad es que la relevancia de una noticia o historia sea elegida por la gente, no por un editor de contenidos de un medio en particular. En su sitio indica : En Digg no encontraras editores. Estamos aqu para proveer un lugar donde la gente puede determinar de manera colectiva el valor de los contenidos, y por tanto estamos cambiando la forma en que la gente consume informacin online. (36) La empresa nacida a fines del 2004 indica tener ms de 20 millones de visitas nicas cada mes, y se mantiene como una empresa pequea e independiente con alrededor de 40 personas en su staff. Este servicio ha inspirado el surgimiento de otros similares pero apuntados a lugares e idiomas especficos, como ser el caso de Mename (37) que surgi en el ao 2005 y fue liberado como cdigo abierto, contando con un xito considerable en Espaa y en el pblico hispano en general.

17

El concepto de folksonomia es muy relevancia en el estudio de Web 2.0, por lo que ser desarrollado en mayor detalle posteriormente al analizar tagging.

40

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico

3.4.7. Microblogging
Es una combinacin de redes sociales, mensajera instantnea y blogging en pequea escala: el usuario escribe mensajes breves (por ejemplo, de hasta 140 caracteres) que son retransmitidos automticamente a otros usuarios que han decidido seguir estas actualizaciones va mensajera instantnea o incluso a sus telfonos mviles. Dichas actualizaciones tambin son publicadas en el blog personalizado del usuario. 3.4.7.1. Twitter: el lder en microbbloging.

El concepto empez a tomar fuerza de la mano del proyecto Twitter (38) a mediados del 2006. Si bien existen otros proyectos cubriendo el formato microbogging, Twitter es el claro lder habiendo alcanzado ms de 1 milln de usuarios (2) en Abril del 2008. Esta cifra es baja comparada con el alcance de los otros social media que estamos considerando, por lo que aun es considerada como un nicho. A la fecha mencionada solo alcanza al 0.0016% de los usuarios de Ilustracin 4: Estadsticas de HitWise sobre Twitter. internet en Estados Unidos, pero dicho numero representaba un Porcentaje de visitas a Twitter por parte de usuarios de Internet en crecimiento del 60% respecto al Estados unidos, comparado con otros sitios de microblogging. Julio del mes anterior (39). Y para Julio del 2008 2008 el porcentaje alcanzaba el 0.0024% nuevamente mostrando un crecimiento vertiginoso. (40) En base a estas cifras podemos considerar al caso de Twitter como el ejemplo a analizar en busca de un mejor entendimiento sobre el concepto del microblogging. 3.4.7.2. Usos del Microblogging

Bill Tancer de la revista estadounidense Time lo define a Twitter como un servicio Web 2.0 que permite a los usuarios dar a conocer a su red social exactamente que estn haciendo (o sintiendo o pensando o comiendo) en cada minuto de cada da". (41) Los usos del microblogging varan, aunque uno de los usos ms populares es entre oficinistas como medios para dialogar, o simplemente por cualquier persona para mantenerse en contacto con una red de personas, compartir pensamientos o comenzar conversaciones. En pases como Estados Unidos est tomando mucha fuerza e introducindose en muchos aspectos de la sociedad, como por ejemplo en la relacin de los medios de prensa tradicionales y sus espectadores. Un buen ejemplo de esto es el caso de CNN, que promueve su uso (42) para 41

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico interactuar con sus espectadores mediante este social media. Podemos encontrar sus actualizaciones en http://twitter.com/cnn. Otro ejemplo es el uso de Twitter como parte de la estrategia de campaa poltica del candidato demcrata a presidente Barack Obama. Podemos encontrar sus actualizaciones en su Twitter: http://twitter.com/BarackObama. En Argentina el microblogging est empezando a tomar fuerza: el peridico argentino Clarn comenta queel microblogging se legitima

como recurso para obtener y Estados Unidos. producir noticias: mientras los diarios del mundo lo suman como canal de difusin, entre . los periodistas ciudadanos nace una nueva forma de conectarse. (43) Para ver sus
actualizaciones podemos entrar a http://twitter.com/clarincom. Ms 90% de las interacciones con Twitter no son realizadas directamente en su sitio web (44), sino que se canalizan a travs de mensajera instantnea, mensajes de texto va telfonos mviles, y aplicaciones de escritorios u otros sitios web que utilizan las APIs de Twitter (45). Estas APIs permiten que programadores inventen variantes creativas del servicio. Como vemos, esta estrategia es utilizada por otros social medias, con el objetivo de que la comunidad sea la que mejore el servicio con sus propuestas. Claramente este nuevo concepto est produciendo cambios sociales, y estos estn empezando lentamente a repercutir en nuestro pas, pero es de esperarse que su efecto se acelere en los prximos meses. Podemos tomar como parmetro los datos de los sitios Twitter de los medios de comunicacin arriba mencionados: Al 23 de Octubre del 2008 CNN tiene 9.309 seguidores, mientras Clarn solo tiene 418.

Ilustracin 5: Twitter de Barack Obama, candidato presidencial para

3.4.8. Sindicacin de contenidos y APIs en los social medias.


En los puntos anteriores hemos analizado los social media como espacios de generacin de contenidos por partes de los usuarios. Estos medios han abierto las posibilidades para que la gente pueda expresarse libremente y sin intermediarios mediante la capacidad de generar textos, imgenes, audios y videos, y virtualmente sin costos ni conocimientos tcnicos. Esta realidad era impensable hace tan solo unos pocos aos. Pero por supuesto, la produccin de contenidos es solo la mitad de la historia. De qu sirve generar informacin si no podemos hacer que llegue a la gente? En todos los casos de social medias mencionados anteriormente la cantidad de contenidos que se genera y que pueden ser de inters para una persona es enorme, y por supuesto, los usuarios tienen escases de un recurso en particular: tiempo. Verificar una por una todas las fuentes de contenidos (blogs, wikis, podcats, etc.) que una persona encuentra interesante publiquen algo todos los das es algo complicado. 42

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico Para facilitar esta barrera es ampliamente utilizado el concepto de sindicacin de contenidos. Mediante el uso de alguna de las tecnologas en las cuales se ha aplicado el concepto, un usuario de Internet puede subscribirse para recibir notificaciones y contenidos de forma automtica de cualquier fuente, siempre y cuando la fuente tambin tenga implementada alguna forma de sindicacin. El formato ms utilizado para la sindicacin de contenidos es el formato RSS (Really Simple Syndication)18, basado en archivos XML. Mediante el uso de este formato los usuarios pueden mediante software llamados agregadores recibir las actualizaciones de todas las fuentes que as lo desee y de manera automtica, pudiendo consumir los contenidos en el mismo agregador o ir directo a la fuente. Existe una gran variedad de agregadores, como ser el caso del Bloglines (46), que es un servicio online gratuito. Prcticamente todos los ejemplos de social media que hemos mencionado anteriormente cuentan con este servicio de sindicacin, siendo parte vital del flujo de informacin en Internet. Por otra parte, se presenta en la mayor parte de los ejemplos mencionados la tendencia del software como servicio al proveer APIs que sirven para redistribuir y reutilizar contenidos y servicios: prcticamente todo contenido generado en social medias puede ser reutilizado mediante APIs por terceros generando nuevos contenidos y potencindose. Dichas APIs siguen el paradigma del Software como Servicio19. Las posibilidades de contar tanto con sindicacin de contenidos as como tambin con APIs abiertas de servicios forman parte de los pilares de la tendencia Web 2.0, y analizaremos esto en ms detalle al adentrarnos a los patrones de diseo Web 2.0.

3.4.9. Mashups
Mayfield define a mashup como la combinacin de dos o ms unidades de contenido (o software o sitios web). Indica que es uno de los fenmenos que hacen a las sociales medias tan excitantes, cambiantes y en ocasiones confusos y sorprendentes. Los mashups son posibles gracias a la apertura que presentan los social media: la tendencia en los ejemplos que hemos analizado es la de motivar a la gente a jugar con los servicios y reinventarlos, algo que tambin veremos ms adelante en los patrones de diseo. Para acercarnos al concepto podemos analizar el ejemplo del sitio HousingMaps.com, mencionado al explicar que es un mashup en el libro Pro Web 2.0 Mashups: Remixing Data and Web Services (47). En este caso nos encontramos con una combinacin de servicios de Craiglist 20
18

Podemos encontrar las especificaciones del formato en http://www.rssboard.org/rss-specification.

19

Tambin conocido como SaaS como abreviacin de Software as a Service. El concepto fue mencionado en (129), y definido en (130) Ha planteado una revolucin en el desarrollo de modelos de software y de negocio, y es importante para el desarrollo de los patrones de diseo.
20

El sitio fue lanzado en 1995 y cubre anuncios clasificados de 450 ciudades en 50 pases. Su servicio es encontrado en http://www.craigslist.org, y podemos encontrar ms informacin en http://en.wikipedia.org/wiki/Craigslist.

43

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico y Google Map. HousingMaps es til en maneras que son fciles de comprender, lo que provoca el uso repetitivo del sitio. A su vez no requiere por parte de los usuarios ms software que un navegador web., y una de sus mayores fortalezas es que toma dos servicios muy conocidos y utilizados para crear algo nuevo. Todos estos puntos son partes de la tendencia Web 2.0, como veremos ms adelante. Craigslist es un sitio de anuncios clasificados muy utilizado, y en sus categoras de propiedades provee links individuales hacia Google Maps al mostrar una propiedad, pero no provee un mapa colectivo de todos los listados. Esto genera un desafo al momento de realizar una bsqueda geogrfica de una propiedad: cuando uno busca una propiedad, tiende a hacerlo en un vecindario delimitado o de acuerdo a los accesos de transito. Al hacerlo con los listados individuales de Craigslist, habra que tener muchos mapas individuales abiertos y manualmente crear un mapa de la zona que nos interese para tener un claro panorama geogrfico. Si elegimos un punto en el mapa, podremos ver una propiedad listada en la categora de casas, observando imgenes, textos y por supuesto un link a la pgina de Craigslist donde se podr ver ms detalles de la propiedad. Es decir, toda la informacin es extrada de Craigslist y mostrada en el mapa que es provisto por Google Maps. HousingMaps permite simplificar la bsqueda proveyendo la posibilidad de realizar bsquedas en la base de datos de Craigslist de manera geogrfica visualizando todos los listados en una zona determinada mediante el uso de una interfaz de mapa, permitiendo luego acceder a los detalles de cada uno de forma individual.

Ilustracin 6: Captura de pantalla de HousingMaps.


Al buscar una propiedad a la venta en la ciudad de Austin, Texas, podemos ver el listado obtenido de Craigslist en la derecha , y el mapa del centro de la ciudad con los elementos de dicho listado. A su vez, al elegir una de las propiedades del mapa obtenemos la direccin, algunas imgenes, los datos de contacto de la persona que publico el anuncio, y el link al sitio de Craigslist con la informacin detallada.

44

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico La mezcla y reutilizacin de los servicios e informacin sucede en el lado del servidor del sitio, que no es ni la fuente de datos (Craigslist) ni la forma en la que se muestran los datos (Google Maps). Los datos son tomados de la fuente de datos y transformados en mapas de Google Maps, los cuales son embebidos en el sitio HousingMaps. Por tanto, lo llamativo es como HousingMaps obtiene los listados de propiedades de Craigslist y como logra crear mapas de Google Maps con esos datos: Por su parte Craigslist provee mediante sindicacin de contenidos un feed de RSS, del cual HousingMaps toma los listados de propiedades especficamente. Y para generar y embeber los mapas, aprovecha la API ofrecida por Google Maps. Este innovador servicio no fue ideado ni por Craigslist ni por Google Maps, sino que fue le idea de un desarrollador independiente quien logro algo simple y til con una inversin prcticamente nula, y que hubiera sido prcticamente imposible en el caso de tener que reinventar los servicios que proveen los dos componentes del mashup. Al desarrollar los patrones de diseo Web 2.0 mencionaremos numerosos sitios o social medias que son mashups, ya que basan parte de sus funcionalidades en servicios de terceros, como por ejemplo utilizar capacidades de videos mediante YouTube o imgenes mediante Flickr.

3.4.10. Un breve resumen de los social medias.


Los blogs (y de la mano los podcasts y microblogs por tener similitudes en sus caractersticas de publicacin) han ganado en popularidad y credibilidad, y se est produciendo una revolucin meditica, donde las voces de los usuarios de Internet son cada vez ms fuertes. Anlisis de la blogosfera pueden dar una clara fotografa actual de los temas sobre los que la gente est hablando, y las opiniones ms fuertes sobre estos. En estos casos una persona o un grupo de personas reducido funcionan como creador de contenido, pero con la posibilidad de realmente dialogar con los visitantes del sitio y autores de otros blogs. Los foros son el lugar por excelencia cuando la gente quiere debatir sobre un tema en particular, en donde se vierten opiniones y conocimientos, pudiendo centrarse en torno a cualquier temtica, desde cocina, mantenimiento de redes o el gusto por el origami. Esto crea comunidades de colaboracin sobre distintos mbitos, permitiendo generar conocimiento colectivo e interacciones entre usuarios que de otra forma sera imposible lograr. Por su parte las Wikis surgen como un lugar para acumular conocimientos sobre diferentes temticas, actuando tambin de manera colaborativa. A diferencia de los foros no existen demasiados lugares para debates, sino que simplemente se trabaja para mejorar y optimizar informacin y datos sobre un tema especfico. Aqu lo importante no es la comunidad, sino el refinamiento de los contenidos y es una herramienta que puede adosarse fcilmente a cualquier tipo de proyecto. A su vez, existen las comunidades de contenidos, donde el objetivo es compartir algn tipo de contenido en particular, sin necesariamente expresar opiniones y conocimientos; videos, imgenes y links son algunos de estos ejemplos. Al igual que los foros, aprovechan la colaboracin

45

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico conectiva de los usuarios de Internet para generar grande bases de datos, y tambin para organizarlas (como veremos ms adelante al analizar el concepto de tagging y folksonomias). Las redes sociales tienen una incidencia distinta a la de los otros medios, ya que el fuerte esta en ofrecer herramientas para que la gente se relacione con sus conocidos y comparta su vida diaria mediante medios digitales, y no estn apuntadas a la generacin de contenidos (aunque si son un medio de distribucin). Su uso se ha vuelto masivo y mantiene un crecimiento muy acelerado. Es algo similar a la revolucin que se presento en su momento con los celulares y el e-mail: todos tienen estos elementos y se vuelven moneda comn para comunicarse con nuestros conocidos, y hoy en da virtualmente todos tienen una cuenta en Facebook (o MySpace, LikedIn u otras redes sociales) o al menos se ven rodeados de gente que participa en redes sociales, sin necesidad de ser personas muy adeptas a la tecnologa o internet. Si bien en Argentina todos los efectos mencionados de los social media se presentan en una escala menor en comparacin a otros pases (como ser Estados Unidos, y muchos los pases Europeos o Asiticos)21, la tendencia apunta a un crecimiento rpido, por lo que en los prximos aos o incluso meses notaremos cambios drsticos en relacin al uso de estos medios. Si recordamos los elementos en comn que presentan los social media (participacin, apertura, conversacin, comunidad y conectividad), podemos considerar que el potencial es enorme, y que si son utilizados de una manera tica y estratgica podran provocar cambios sociales muy positivos.

3.5.

Clientes, empresas y la Web 2.0

A continuacin buscaremos obtener una imagen de cmo los usuarios de Internet, tanto en el papel de clientes o de empresas, se relacionan con los diversos social medias, tecnologas, y elementos de la Web 2.0. En este aspecto podra profundizarse mucho debido al gran impacto social y econmico que ha tenido esta tendencia en los ltimos aos, pero ser importante tratar de crear un panorama, ms que desarrollar el tema en detalle debido a que el tipo de trabajo terico debe focalizarse en otros puntos. Igualmente, en base a estadsticas y opiniones ser posible conocer a los usuarios de Internet a un nivel suficiente para plantear los requerimientos de la solucin que este trabajo propone.

3.5.1. Los consumidores son los protagonistas.


La reconocida revista estadounidense Time cada ao elige la persona del ao. En Diciembre del 2006 ocurri algo que llamo la atencin del mundo: La persona elegida fue usted. (48) En dicha nota Lev Grossman comenta: Si observamos al ao 2006 desde una ptica diferente, veremos una historia diferente, que no habla de conflictos o grandes hombres. Es una historia sobre comunidad y colaboracin en una escala nunca antes vista. Es sobre el gigantesco
21

Esto ser analizado a continuacin al acercarnos a la relacin de los usuarios de Internet con la tendencia Web 2.0.

46

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico compendio de conocimientos de la Wikipedia, el milln de videos de la red de YouTube y la metrpolis online que es MySpace. Es sobre el poder que descansa en los pocos y la ayuda de unos a otros por nada, y de cmo eso no solo cambia el mundo, sino tambin cambia la forma en la que el mundo cambia. El efecto de la tendencia Web 2.0 no ha hecho ms que crecer rpidamente desde sus inicios. Este hito del 2006 nos muestra que ya no es algo que esta por pasar, sino que es algo que est ocurriendo y a su vez, nos est cambiando. De esa fecha a esta parte han sucedido muchas cosas, y han surgido permanentes cambios.

3.5.2. Tendencias de consumo de Internet


Los usuarios de Internet son personas, y toda persona puede ser vista como un consumidor desde el punto del Marketing. Analizaremos ahora a estos, para obtener un panorama de su comportamiento. Por su parte, la publicacin Web 2.0 Principles and Best Practices indica que diversos cambios demogrficos, tecnolgicos y econmicos estn guiando a la tendencia Web 2.0. Comenta que tras estos cambios estn fundamentalmente los deseos de la gente de conectarse, comunicarse y participar. Estas motivaciones son facilitadas por Internet en formas antes no imaginadas. Dicho estudio menciona algunas tendencias de los consumidores en Internet: 1. 2. 3. 4. La base de clientes es verdaderamente global. Los clientes estn siempre conectados. Los clientes estn conectados dondequiera que vayan. Los clientes no estn simplemente conectados, estn participando.

Analizamos estas y sus impactos, analizando la aplicacin de estas en el caso particular de Argentina: 3.5.2.1. La base de clientes es verdaderamente global

Ya por el ao 2005 un mil millones de personas tena acceso a Internet. Estados Unidos ya no ocupa la porcin dominante del mercado (con un 24%), lo que deja un buen lugar para desarrollo a otros mercados. Entre ellos, el de Sud Amrica ocupa un 5%. Particularmente en el caso de Argentina, segn el estudio publicado por la consultora DAlessio IROL (49) existan 10.320.000 usuarios en dicho ao, y en Noviembre del 2007 la consultora Price & Cooke (50) indico que existan 16.000.000, lo que representaba un 42% sobre la poblacin del pas y un claro crecimiento en tan solo 2 aos. Existe un factor que afecta a todos los pases del mundo por igual: los nativos digitales22. Son aquellas personas menores de 30 aos, generaciones que han vivido gran parte de su vida o incluso toda su vida frente a la presencia de la informtica e Internet. Este grupo de personas se
22

Marc Prensky acuo los trminos nativos digitales e inmigrantes digitales en 2001 (131). En referencia a estos dice: Nuestros estudiantes han cambiado radicalmente. Los estudiantes de hoy ya no son las personas para las cuales nuestro sistema de educacin fue diseado para ensear.

47

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico encuentra muy cmoda en el uso de Internet y por tanto se adapta rpidamente a los cambios que la Web 2.0 presenta. El impacto: La base de consumidores es sustancialmente mayor que en los ltimos 5 aos. Por tanto, el mundo se est volviendo cada vez ms interconectado, haciendo ms prctico y posible alcanzar micro mercados globales, siendo el indicador principal las preferencias de los nativos digitales. 3.5.2.2. Los clientes estn siempre conectados
Banda ancha en hogares con Internet en Argentina - %

La Internet banda ancha es cada vez ms comn, lo que permite que los usuarios estn conectados de forma virtualmente permanente. En marzo del 2006 en Estados Unidos un 42% de la poblacin tena acceso a Banda Ancha, mostrando un crecimiento del 40% sobre el ao anterior. En el caso de Argentina segn el ITU (51) en el 2007 solo el 6.58% del total de la poblacin tiene acceso a Internet Banda Ancha

100 80 60 40 22 45 13 72

94

20
0

2004

2005

2006

2007

2008

creciendo ampliamente en comparacin Ilustracin 7: Banda ancha en hogares con Internet en Argentina. al 4.05% que se presentaba en el ao anterior. Si analizamos por ejemplo el caso particular de los hogares que tienen acceso a Internet, la consultara Carrier y Asociados indica que el porcentaje ha crecido rpidamente en los ltimos aos alcanzando un 94% del total de los hogares, y mostrando un 23% de crecimiento respecto al ao anterior (52). El impacto: Al estar conectados permanentemente, Internet se vuelve parte esencial de la vida de las personas. Y este tipo de conexin de alta velocidad se refleja directamente en la creacin de contenidos por parte de los usuarios, debido a la posibilidad de subir y bajar de Internet videos, imgenes y audio, lo que permite a estos consumidores de multimedia convertirse en generadores de multimedia. 3.5.2.3. Los clientes estn conectados dondequiera que vayan

A finales del ao 2006 existan en uso 2 billones de equipos de telefona celular (53): el doble de los usuarios de Internet en el momento. La tendencia en los ltimos aos ha sido el creciente acceso a internet desde dichos equipos. El rpido crecimiento y mejora de estos equipos y otros dispositivos mviles est acelerando esta tendencia. La consultora BuddeComm indica que en Argentina en el ao 2007 la telefona celular alcanzo una penetracin del 82%, un nmero muy por arriba del promedio de Latino Amrica. Las tres empresas operadoras de telefona celular en

48

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico el momento (Telecom Personal, Movistar y CTI Mvil) planeaban cambios en sus redes para el lanzamiento de la tecnologa UMTS 3G23, lo que potenciara el uso de Internet mvil. (54) La consultora Prince & Cooke sealaba ya el lanzamiendo masivo de 3G a fin del del 2008 y comienzos del 2009 con un rpido crecimiento del mercado en Argentina, e indicando que el 2010 sera el ao del depegue de la adopcin en el pas presentando estandarizacin y cada de precios (55). El impacto: Este rpido crecimiento generalizado est expandiendo el alcance de la red. Existe por tanto la necesidad de la generacin de estrategias para aplicaciones independientes de la plataforma en la que corran. Los consumidores buscaran nuevos usos de Internet en sus equipos mviles. 3.5.2.4. Los clientes no estn simplemente conectados, estn participando

La poblacin de Internet se encuentra cada vez ms cmoda respeto a la situacin de contribuir contenidos online en los distintos social media analizados anteriormente. Esto va desde contenidos multimedia (como ser fotos, videos y audios) hasta la participacin con conocimientos y opiniones en grupos de discusin y foros, sumado al rpido crecimiento que se presenta en los blogs personales y profesionales. En Estados Unidos en promedio diario, 5 millones de usuarios crean contenidos a travs de un blog o un medio similar, 4 millones comparten msica y archivos mediante redes Peer-to-Peer (P2P) y 3 millones usan internet para opinar sobre una persona, producto o servicio. (56) El caso particular de los blogs es muy llamativo. Existan ya ms de 70 millones de blogs indexados por el motor de bsqueda de blogs Technorati en Abril del 2007, presentndose la creacin de 120.000 de nuevos blogs cada da a nivel mundial. Del total de los blogs, el 3% estn en idioma espaol. (57) Sumado al creciente potencial de los blogs, existe la fuerte tendencia de las redes sociales a nivel mundial: En Abril del 2006 entre Ilustracin 8: Blogs indexados por Technorati - Marzo del 2003 a las 10 redes sociales ms Marzo del 2007. importantes abarcaban casi al 45% de los usuarios totales de Internet. (58) Facebook, MySpace y Sonico suman juntos 150 millones
23

Esta tecnologa pertenece a la tercera generacin de telefona mvil. La combinacin de UMTS y el protocolo de Internet (IP) permiten la prestacin de servicios multimedia y el uso de banda ancha (132).

49

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico de usuarios, siendo la ltima de estas tres fundada por un argentino en Julio del 2007. En Marzo del 2008 dicha comunidad online ya contaba con 8 millones de miembros, con expectativas de finalizar el 2008 con 30 millones de usuarios. Por ltimo, existen casos destacables en el pas como ser el del sitio Psicofxp que cuenta en la actualidad con ms de 800.000 usuarios. (17) En el caso de Argentina, la consultora Carrier y Contenidos subidos a Internet por usuarios Asociados en base a un estudio realizado en Argentinos - % Noviembre del 2007 indica que en dicho pas 100 82 existen 5 millones de personas que participan 80 activamente de la Web 2.0 de los cuales 1,4 60 milln lo hacen con una frecuencia al menos 43 semanal () el principal contenido subido a la red 40 15 son fotos, compartidas por el 82% de los usuarios 20 2.0, lo que equivale a 4,1 millones de personas, 0 porcentaje que crece en la medida en que baja la Fotos Textos Videos edad. Luego, con un 43%, sigue el upload de texto, aunque en este caso este valor crece a Ilustracin 9: Contenidos subidos a Internet por medida que sube la edad y aumenta la usuarios Argentinos. antigedad en el uso de Internet. Finalmente, se ubica el video, que es subido por slo el 15%, lo que equivale a unas 750 mil personas. (59). El impacto: Internet se est convirtiendo realmente en un medio de comunicacin de dos vas, en una plataforma de lectura-escritura en base a los social media. Los medios masivos y tradicionales de comunicacin estn siendo desafiados por los contenidos generados por los usuarios. Estas cuatro tendencias demuestran la creciente adopcin de Internet por parte de los usuarios, no solo como un medio de comunicacin, sino como una parte importante de sus vidas.

3.5.3. La relacin entre los usuarios de Internet y las marcas o productos.


Podemos analizar en ms profundidad la relacin entre los clientes y las empresas o productos que consumen, tomando algunos ejemplos como ser el caso de los blogs. Anteriormente mencionamos que en el caso de este social media los contenidos creados por los usuarios estn tomando cada vez ms credibilidad y peso entre sus lectores. Como parte del estudio Estado de la Blogosfera, Technorati incluye su anlisis llamado Las Marcas entran en la Blogosfera (21) donde indica que las discusiones y opiniones sobre marcas forman gran parte de la blogosfera: Ms de ocho de cada diez bloggers publican opiniones sobre productos o empresas, y casi nueve de cada diez bloggers lo hacen sobre empresas que aman (u odian). Este factor se presenta tanto en hombres como en mujeres por igual. Cada vez ms gente del marketing entiende que la blogosfera es un lugar donde es importante tener presencia: uno de cada tres bloggers se acerca a ser un defensor de alguna marca, y ms de seis de cada diez recibieron oferta de pago de algn tipo.

50

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico
Habla sobre productos o empresas en su blog? Publico opiniones sobre productos o empresas. Publico opiniones sobre empresas que amo (u odio). Publico informacin o rumores que escucho sobre las empresas. Publico sobre algunas de mis experiencias de la vida diaria en empresas y con atencin al cliente. Tabla 2: Frecuencia de opinin de bloggers sobre empresas Frecuentemente 37% 41% 31% 34% Ocasionalmente 45% 48% 32% 45% Nunca 18% 11% 37% 21%

Para acercarnos un poco a la relacin de dichos usuarios de Internet con las empresas y productos en el marco de Argentina, podemos tomar como referencia el informe de DAlessio IROL en el 2006 (5). Entre sus puntos sobresalientes indica:El poder comercial de Internet crece y se vuelve una vidriera gigante: 9 millones de personas consultan sobre productos y servicios para su posterior consumo. Adems indica que para nueve de cada diez personas Internet le fue de utilidad en la decisin de una compra, la mitad de las personas que utilizan Internet ya ha realizado
Usuarios que consultan sitios para informarse sobre productos y servicios

1 13 Si No 86 No responde

compras online, y que ms del 60% realiza Ilustracin 10: Usuarios que consultan sitios para compras por canales tradicionales luego de haber informarse sobre productos y servicios. consultado en la web. Este informe tambin incluyo un detalle de los rubros de productos consultados y comprados tanto online como por medios tradicionales por los usuarios de Internet. Incluimos aqu los productos consultados:

51

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico
Rubro AFJP Alimentos (Delivery) Alimentos (en general) Deportes Educacin Electrodomsticos Temas de familia/Artculos para nios o bebs Hardware (PC, impresoras, etc.) Hogar (Muebles, artculos de decoracin, mejoras) Inscripcin a cursos/eventos Libros Msica (bajada online) Remates Ropa Salud (sistemas mdicos, farmacias, consejos, etc) Seguros Servicios financieros (Caja de ahorro/Cuenta corriente/Tarje) Software Suscripcin de revistas/peridicos Telefona Tickets de espectculos Vehculos Viajes/turismo Videos Otros No responde
Tabla 3: Rubros consultados por usuarios de Internet en Argentina

Consult (Respuestas mltiples - %) 36 23 24 44 48 50 31 46 43 44 41 29 32 23 34 20 36 30 23 33 31 31 47 22 2 4

Destaca tambin el canal Internet suma un nuevo canal a las Empresas de Consumo y Servicios, pero no reemplaza otros canales. No se produce migracin de uso de canales, sino que se amplan los contactos con las empresas..

3.6.

Las empresas y la Web 2.0

Las empresas han comenzado a utilizar cada vez ms herramientas Web 2.0 de distintas formas en los ltimos aos, de mantera tanto interna como externa, demostrando ser un medio excelente para la cooperacin y la comunicacin. Como mencionamos anteriormente, este estudio debe focalizarse en como las empresas se vinculan con los consumidores, por lo que debemos dejar de lado el anlisis de servicios e implementaciones que al aprovechamiento de la Web 2.0 de forma interna en las empresas (como por ejemplo, el uso de wikis como medio de cooperacin en proyectos). Enrique Dans explica en su artculo La empresa y la Web 2.0 publicado en la revista Harvard Deusto marketing y ventas (60) indica que a mediados de los aos 90 (existiendo tan solo unos 45 millones de usuarios) alrededor del 80% de los contenidos de Internet eran generados por empresas y medios de comunicacin, quedando tan solo un 20% generado por los usuarios, es decir, era una Web de las empresas. Internet funcionaba en este sentido como una galera comercial o un elemento ms de su campaa de marketing, y por tanto en el fondo las empresas 52

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico solo replicaban lo que hacan en otros medios, generando solo pginas de representacin a modo de folletos. Esto presenta un gran contraste al panorama que hemos analizado de Internet en los ltimos aos, donde Dans indica que alrededor del 85% de los contenidos actuales son generados por usuarios, mientras que tan solo el 15% es generado por empresas y medios de comunicacin, lo que toma ms peso al considerar que la cantidad de usuarios se multiplico hasta llegar a mas de los mil millones. De este anlisis podemos ver claramente como se cambio el balance de poder, y por tanto porqu las empresas se ven forzadas a tomar unan nueva postura en su relacin con los clientes. Uno de los social media que ms impacto ha tenido en el aspecto de comunicacin indudablemente han sido los blogs, por lo que muchos de los anlisis podemos realizarlos en base a estos, extendiendo luego la tendencia a otros social media. Dans explica que los blogs son la punta del iceberg: no son el nico fenmeno asociado a la llamada Web 2.0, pero s posiblemente el ms llamativo y una buena manera de entender los cambios que se operaron a lo largo de estos ltimos diez aos. En referencia a la blogosfera indica que comienza, lentamente, a cambiar las pautas de interaccin entre las personas y las empresas. De la noche a la maana, el poder de los clientes se multiplica por el tamao del altavoz que stos poseen. Un simple episodio de insatisfaccin de un cliente puede pasar, en cuestin de horas, a convertirse en un problema que llegue a afectar a las ventas de la compaa o a la cotizacin de sus acciones.

3.6.1. Los distintos tipos de blogs corporativos


Volviendo a los blogs, si recordamos el anlisis realizado sobre este social media anteriormente, tenemos que una posible clasificacin de estos es: personales, profesionales y corporativos. Para analizar un poco ms la relacin de las empresas con Internet, debemos ahondar en el concepto del tercer grupo, es decir, los blogs corporativos: aquellos en los que los autores escriben desde una posicin oficial desde una empresa. Podemos considerar la siguiente segmentacin dentro de los blogs corporativos planteada por Javier Celaya y Pablo Herrera (61) : Corporativos

Externos

Internos

Enfoque de ventas

Enfoque relacional

Enfoque conocimiento

Enfoque de colaboracin

Ilustracin 11: Segmentacin de blog corporativos.

53

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico Dentro de esta clasificacin, debemos hacer hincapi en los blogs externos. El objetivo de la creacin de este tipo de blog es principalmente habilitar nuevos canales de comunicacin con los pblicos externos de la empresa, como ser clientes actuales o potenciales, proveedores, medios de comunicacin, etc. Dichos autores indican que varias empresas han decidido complementar sus estrategias de comunicacin con este tipo de herramientas, dado que consideran que les aportan fluidez, transparencia y credibilidad. Entre los blog externos tenemos dos sub categoras: Blogs de ventas (o de marketing): herramienta de comercializacin tanto para las fases de diseo, como para el apoyo a un producto o servicio puesto en el mercado. Blogs con enfoque relacional: aspiran a crear y mantener una relacin ms estrecha con las audiencias clave de la empresa. Respecto a los blogs Enrique Dans concluye que la empresa debe plantearse optar por lugares de conversacin, blogs corporativos o personales de directivos que permitan disponer de una voz en la conversacin diferente a las tradicionales notas de prensa.

3.6.2. Opinin de las empresas sobre el impacto de los blogs


La revista TARGET publico un anlisis realizado por la consultora CIO Research en base a la opinin de periodistas, directores de comunicaciones y relacionistas pblicos sobre la relevancia de los blogs en Argentina a comienzos del 2008. Tomaremos las opiniones de estos dos ltimos grupos (contando con 54 y 60 muestras respectivamente) para tener una aproximacin a la opinin de los responsables de las empresas en cuanto a comunicacin externa y contacto con el consumidor se refiere. (62)

Son competencia de los medios tradicionales (radio, tv, diarios) Son efectivos para que la sociedad publique sus inquietudes Los blogs de periodistas son mas confiables que los medios para los que trabajan Son una buena forma de realizar conmunicaciin institucional Son fuente de informacin confiable

3,6 3,9 6,6 6,7 5,7 5,7 4,9 4,8 4,2 4,1 0 1 2 3 4 5 6 7 8

R.R. P.P. Dir. de com.

Ilustracin 12: Opiniones de directores de comunicaciones y relacionistas pblicos sobre blogs. Opinin de Relacionistas pblicos y directores de comunicacin. - (1 al 10)

54

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico Segn Cecilia Mostro, socio gerente de la consultora mencionada, las condiciones del escenario argentino han logrado revertir la gran desconfianza que inspiraban hace un par de aos, y, si bien desde lo prctico no se ha convertido aun en una herramienta dominante o competitiva en relacin con los medios tradicionales, si aceptacin desde el concepto le da toda la potencia para lograrlo en el corto plazo. El estudio destaca las siguientes debilidades del blog como un medio: la falta de confianza, el volumen de informacin, impersonalidad y la carencia de un marco regulatorio. A su vez, destaca las siguientes fortalezas: la capacidad de llegar a todo tipo de pblico, la rapidez y la actualizacin constante, la interaccin, la libertad y el bajo costo. Adems, el estudio denota que la opinin generalizada es que los blogs son un espacio para crecer en el desarrollo de nuevos productos y para facilitar la comunicacin con nichos especficos, a los que antes era ms difcil llegar.

3.6.3. Ejemplos de la relacin de empresas con la Web 2.0


Podemos mencionar a la empresa Dell como un ejemplo. Para esto debemos ir al caso denominado Dell Hell, cuando el blogger Jeff Jarvis realizo una serie de posts (63) quejndose de a modo de carta abierta al presidente de la empresa. Este hecho fue reflejado en revistas y publicaciones econmicas, llegando a tener trascendencia tanto en las ventas como en protocolos y maneras de accin de la empresa desde entonces, ya que genero piliticas y acciones para detectar este tipo de situaciones y relacionarse de mejor forma con los usuarios de internet. Dell desarrollo el sitio Dell IdeaStorm (que mantiene el slogan donde tus ideas reinan) promoviendo la opinin y participacin de sus clientes de manera abierta en sus productos actuales y futuros, y formando una comunidad en el sitio. Al describir el sitio indican que creemos ms que nunca que la mejor forma de comprender y servir a nuestros clientes es hablarles de forma directa, sin importar donde se encuentren (64).

Ilustracin 13: Captura de pantalla de IdeaStorm de Dell.

El caso de Dell demuestra la IdeaStorm de Dell es el lugar donde la empresa Dell interacta abiertamente con las opiniones y voces de sus clientes, buscando tendencia de interaccin con clientes sacar provecho de estas en lugar de ignorarlas o callarlas. que las empresas en forma minoritaria estn tomando, pero claro que aun son pocas las que logran ver el beneficio de tal apertura. Pero es posible aprovechar prcticamente todos los tipos de social media para lograr un mejor contacto con los clientes, sin necesidad de crear un sitio especial para este objetivo. Una forma de 55

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico lograrlo es participar activamente en las diferentes redes sociales (por ejemplo, teniendo una pgina en Facebook), comunidades de contenidos (por ejemplo, creando un canal de Youtube), y otros social media disponibles. Otro ejemplo de cmo algunas empresas grandes estn comenzando a tomar un rol activo en la conversacin se da en Intel. Kellyn Feller, Manager de social media de la empresa explica como la empresa busca cubrir todos los puntos posibles: Nuestro rol es permitir el desarrollo de una conversacin y para eso usamos todas las herramientas posibles a nuestro alcance: blogs, foros externos, campaas en Facebook, Second Life y Twitter. Tenemos 32 mil usuarios registrados en nuestra comunidad: comunity.intel.com. La gente quiere formar parte de la conversacin porque considera que los que trabajan en Intel estn tcnicamente capacitados para resolver cualquier problema y duda. Adems, Feller opin sobre el futuro de las redes sociales y otras herramientas 2.0: Los seres humanos somos seres sociales por naturaleza, queremos socializar. Hoy la web permite esto como nunca antes. Y cada vez todo ir creciendo, ms y ms integrado. (65)

3.7.

Los patrones de diseo Web 2.0

Con el objetivo de identificar practicas y patrones aplicados por distintos proyectos en Internet que han resultado exitosos y que pueden ser relacionados con los puntos planteados anteriormente sobre la Web 2.0, en base a los patrones dos aos antes identificados por ORilly (66) se realizo un anlisis de diferentes casos en Web 2.0 Principles and Best Practices (9). Realizaremos a continuacin una explicacin de estos patrones desarrollados a finales del 2007, explicando conceptos auxiliares importantes para su interpretacin y el anlisis breve de las acciones realizadas en algunos casos. Recordemos la definicin planteada anteriormente: La Web 2.0 es un conjunto de tendencias econmicas, sociales y tecnolgicas que de manera colectiva forman la base para la siguiente generacin de Internet un medio ms maduro y distinguido caracterizado por la participacin de los usuarios, la apertura y los efectos de red. Esta definicin es un buen punto de partida para comenzar con el anlisis de los patrones y acercarnos a su entendimiento. Presentamos a continuacin un listado de estos: 1. Aprovechar la inteligencia colectiva: Crear una arquitectura de participacin que use los efectos de red y algoritmos para producir software que mejore a medida que ms gente lo utilice. 2. Los datos son el prximo "Intel Inside": Usar fuentes de datos nicas y difciles de recrear para convertirse en el siguiente "Intel Inside", en esta poca en la que la informacin se ha vuelto tan importante como la funcin. 3. Innovacin en el ensamblaje: Construir plataformas para fomentar la innovacin en el ensamblaje, donde la combinacin e interaccin de datos y servicios crea nuevas oportunidades y mercados. 4. Experiencias de usuario ricas: Ir ms all de los conceptos tradicionales de lo que es una pgina web, para entregar experiencias al usuario mucho ms ricas, combinando lo mejor del software online y de escritorio. 56

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico 5. Software ms all de un solo dispositivo: Crear software que abarque a los diferentes tipos de dispositivos conectados a Internet, en base a la creciente omnipresencia de la experiencia online. 6. Beta perpetuo: Alejarse de los antiguos modelos de desarrollo de software, en favor de modelos de software como servicio (SaaS) online y continuamente actualizados. 7. Aprovechar la larga cola: Capturar nichos de mercado rentables a travs economas de bajo costo y alcance amplio permitidas por la Internet. 8. Modelos ligeros y escalabilidad costo-efectiva: Uso de modelos de negocio (y de software) ligeros para construir modelos de productos y negocios de manera rpida y rentable. Cada uno de estos patrones es nico, pero entre ellos son altamente interdependientes. A su vez, podemos decir que los siguientes atributos son comunes a toda aplicacin Web 2.0, y que por tanto son la base que da soporte a los patrones mencionados: Masivamente conectados: Los efectos de red nos llevan desde la publicacin uno-amuchos y modelos de comunicacin del pasado hacia verdaderas conexiones muchos-amuchos. En esta era los bordes se vuelven tan importantes como el centro, y los antiguos modelos de publicacin, comunicacin, distribucin y agregacin se encuentran ante una disrupcin. Descentralizados: La conectividad tambin provoca una disrupcin en las estructuras tradicionales de poder y control, llevando a una mayor descentralizacin. Los enfoques de abajo-hacia-arriba compiten con los de arriba-hacia-abajo en todo, considerando desde flujos de informacin globales hasta modelos de marketing o diseos de nuevos productos. Los sistemas crecen desde los bordes hacia el centro, y no al revs. Focalizacin en el usuario: El usuario es el centro de la Web 2.0. Los efectos de red an a los usuarios posibilidades impensadas de participacin, conversacin, colaboracin y sobre todo, impacto. Los consumidores se han convertido en publicadores con mayor control, las experiencias de estos son ajustadas a sus caractersticas en el momento de ser utilizadas, e interfaces enriquecidas optimizan la interaccin de con dichos usuarios, pudiendo estos guiar el desarrollo de productos. Los clientes recompensan a las empresas que los tratan bien, mediante lealtad y valiosas opiniones positivas de boca a boca. Apertura: En Web 2.0 la apertura comienza con la formacin de los estndares en los que se basa Internet, y crece rpidamente hacia un ecosistema de apertura con aplicaciones dbilmente acopladas construidas en base a datos abiertos, APIs abiertas y componentes reusables. Y apertura significa ms que tecnologa: implica mayor transparencia en comunicaciones corporativas, propiedades intelectuales compartidas, y mayor visibilidad respecto a cmo se desarrollan los productos. Bajo peso: Una filosofa menos es ms, hay que mantener las cosas simples se deduce de la tendencia Web 2.0: el software se disea y se construye mediante pequeos equipos utilizando metodologas agiles; las soluciones tecnolgicas se construyen sobre formatos y protocolos simples; el software se vuelve simple de desplegar en base a servicios y desarrollos open source; los negocios se focalizan en mantener las inversiones

57

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico y costos bajos; y el marketing tiende a basarse en tcnicas viales simples de usuario a usuario. Emergencia: En lugar de basarse en estructuras de aplicaciones totalmente predefinidas, las estructuras y comportamientos Web 2.0 pueden emerger en el tiempo. Una estrategia flexible y adaptativa permiten que soluciones apropiadas evoluciones en respuesta al uso real de las aplicaciones, y por tanto el xito proviene de la cooperacin, no del control. Desarrollamos a continuacin los patrones de diseo, considerando las mejores prcticas que implican su aplicacin.

3.7.1. Aprovechar la inteligencia colectiva


La clave para una ventaja competitiva en aplicaciones de Internet es la permitir a los usuarios agregar su propio contenido a lo ya creado. Por tanto, es importante crear una arquitectura de participacin que use los efectos de red y algoritmos para producir software que mejore a medida que ms gente lo utilice. Para lograr esto debemos entender dos principios: Los usuarios agregan valor: A travs de su participacin activa y como efecto indirecto de sus acciones los usuarios agregan valor. Son usuarios que crean contenidos, realizan comentarios, hablan entre ellos, suben y comparten archivos, hacen recomendaciones, enlazan, agregan, filtran, buscan entre otras tantas acciones. Cada una de estas acciones agrega valor y crea nuevas oportunidades. Los efectos de red magnifican este valor: Cuando un producto o servicio logra un crecimiento en su valor a medida que el nmero de gente que lo utiliza crece ocurre un efecto de red. Este efecto proviene no solo del hecho de que haya ms nodos en la red, sino de la interaccin entre estos nodos. Para entender mejor el concepto de efectos de red, analizamos dos teoras, originalmente aplicadas a redes de telecomunicaciones. Primero observamos la ley de Metcalfe (67), que indica que el valor de utilidad de dispositivos en red (como ser telfonos y computadoras) no se incrementa de una manera linear al aumentar nodos en la red, sino que crece proporcionalmente al cuadrado del nmero de estos nodos. Esto se aplica a Internet y a muchos de sus elementos: email, mensajera instantnea, blogs, etc. Sin embargo, la ley de Reed (68) analiza las capacidades de Internet como un medio de de formacin de grupos indicando que estas son las que lo convierten en un poderoso medio de comunicacin. Especficamente, indica en el caso de aplicaciones que facilitan la formacin de subgrupos (como ser el caso de las aplicaciones previamente analizadas de redes sociales,

Ilustracin 14: Impacto de los efectos de red.

58

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico comunidades de contenidos, o la misma blogosfera) implican un crecimiento de 2N , es decir, un crecimiento mucho ms rpido y exponencial. Por tanto el software Web 2.0 debe ser diseado para aprovechar la inteligencia colectiva a travs de una arquitectura de participacin. Esto puede ser logrado involucrando a los usuarios de forma explcita e implcita, minimizando las barreras de la aceptacin del producto, y diseando productos que fomenten el efecto viral del crecimiento de red. El resultado final es que los usuarios como individuos y como grupos se convierten en el motor de mejores productos, y de rpidos y crecientes mercados. Analizamos a continuacin las prcticas que implican la aplicacin de este patrn: Pagar al usuario primero: Los productos Web 2.0 deben minimizar las barreras para la adopcin, asegurndose que los usuarios loguen sus objetivos rpida y eficientemente. Por tanto ser necesario generar una interfaz que permita al usuario cubrir sus necesidades de forma intuitiva. Podemos diferenciar entre los objetivos de los usuarios al menos dos niveles: los de primera orden (por ejemplo, subir una foto, y los de segunda orden, que son en general aquellos relacionados con los efectos de red, como ser participar en una comunidad). Los de segunda orden nunca deben interponerse con los de primera. Analicemos por ejemplo el proceso de carga de una imagen en Flickr. Una vez registrados al servicio, podemos subir una imagen en tan solo 4 clicks y de una manera muy intuitiva.

59

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico

Ilustracin 15: Proceso de carga de imagen en Flickr. Pagar al usuario primero- Con tan solo 4 clicks el usuario puede subir una imagen a su cuenta en Flickr.

Activar los efectos de red por defecto: Una de las formas de crear una base de datos es a travs del efecto indirecto de los usuarios buscando cubrir sus propios objetivos. 24 Es necesario aplicar tcnicas para que los contenidos aportados por un usuario se potencien por medio de los otros usuarios, buscando as un crecimiento exponencial en base a la cooperacin y participacin. Un ejemplo de esto es el caso anterior de Flickr, en donde los usuarios pueden elegir al subir una imagen si esta debe ser pblica o privada, estando esta ltima opcin seleccionada por defecto. Al ser las imgenes pblicas, otros usuarios pueden acceder a estas, utilizndolas o haciendo comentarios sobre ellas, potenciando la interaccin en la comunidad. Como resultado, cuando luego de un ao de existencia Flickr tena 3 millones y medio de imgenes, el 82% eran pblicas. (69)

24

Dan Bricklin plantea 3 formas de construir bases de datos, y demuestra como esta forma en particular es un potenciador para algunos ejemplos de la era Web 2.0, como ser el caso de Napster (133).

60

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico

Ilustracin 17: Porcentagenes de imagenes publicas y privadas en Flickr. Ilustracin 17: Subida de imgenes en Flickr. Las imgenes son subidas como publicas por defecto en Flickr. Al alcanzar los 3 millones y medio de imgenes, el 82% de estas eran pblicas en Flickr.

Esta simple pero importante prctica tiene su base en lo siguiente: o Solo un pequeo porcentaje de los usuarios se tomaran conscientemente el trabajo de agregar valor a una aplicacin. (Por ejemplo, solo el 2% de los usuarios de la Wikipedia son activos y contribuyen contenidos en un mes dado. (70)) o Por naturaleza, la gente es inercial y tiende a aceptar las opciones por defecto. (71) Involucrar a los usuarios implcita y explcitamente: Para maximizar el valor de cada usuario debemos aprovechar la participacin explicita (como ser crear un nuevo contenido, mejorar un contenido, comunicar y colaborar) y la participacin implcita (el efecto indirecto de las acciones de los usuarios, como ser a donde van, cuando, como, y que transacciones llevan a cabo). Por ejemplo, el sitio Amazon.com promueve la interaccin explicita a travs de opinin sobre productos, e implcitamente mediante su motor algortmico de recomendaciones generando numerosos contenidos sobre el producto.

61

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico

Ilustracin 18: Presentacin de producto en Amazon.com En la presentacin de cualquier producto de Amazon.com, la mayor parte del contenido es generado por los usuarios ya sea de forma implcita o explcita.

Proveer un contexto significativo para la creacin: Debemos crear una arquitectura de participacin que haga ms que solo invitar a la creacin de contenido: debemos crear un contexto de coherente y consistente. es necesario crear un contexto coherente. Nos referimos a mecanismos para identidad, reputacin, relaciones entre usuarios, identificacin de datos (URLs, tags, estc.), agregacin y personalizacin. Confiar en los usuarios: Es necesario proveer un contexto abierto para la participacin, interaccin y realizacin de transacciones. Tomando nuevamente el ejemplo de Amazon.com, encontramos que uno de los puntos fuertes de su estrategia se basa en las opiniones de productos por parte de los usuarios. Otro ejemplo claro es el de la Wikipedia, que si bien cuenta con un sistema de moderacin y retroceso a versiones anteriores para controlar posibles ataques a los datos, permite una gran libertad a los miembros de la comunidad en cuanto a la creacin y edicin de artculos. Esto implica que las organizaciones ceden control para compartirlo con sus usuarios. Es decir, deben confiar en estos. Esta estrategia va de forma contraria a la mayora de las culturas organizacionales, y es uno de los desafos ms grandes al aplicar los patrones de diseo Web 2.0. Para esto es necesario hacer una fuerte moderacin de contenidos con reglas claras y flexibles, haciendo un fuerte esfuerzo para evitar abusos contra el sistema. Disear software que es mejor cuanta ms gente lo usa: En base a los efectos de red, podemos lograr que el software maximice su potencial. Tenemos como ejemplos a virtualmente todos los casos de social media analizados previamente, y esto es un efecto directo del aprovechamiento de los efectos de red que mencionamos previamente. 62

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico

En el caso de los marcadores sociales podemos tomar a Delicious. A medida que ms y ms gente cree y aplique tags a contenidos en Internet, mejor ser el criterio de clasificacin al utilizar a los tags como filtros para nuestra informacin, cuando el criterio que deseamos es el ordenamiento de informacin en base a personas, no a algoritmos. Facilitar la emergencia de los contenidos: La interfaz debe predecir el comportamiento de los usuarios, pero dejar siempre la libertad para usos no esperados. De esta forma el usuario aportara tambin al diseo de dicha interfaz, por lo que surgirn formas inesperadas e innovadoras de mostrar contenidos y permitir la navegacin. Ilustracin 19: Nube de tags de Technorati. Un ejemplo que surgi en los ltimos aos es la Nube de tags en base a los posts en blogs indexados por Technorati del 3/11/2008, una da nube de tags: podemos ver un ejemplo en antes de las elecciones presidenciales de Estados Technorati que contiene una pequea nube de tags Unidos. que se actualiza constantemente en base a los tags aplicados a posts en los blogs indexados por Techonorati por parte de los autores de dichos blogs. Cuantos ms veces se repita un tag, es decir, mas posts tengan ese tag, mayor ser el tamao de la palabra lo que facilita la navegacin hacia los contenidos ms populares, de forma automtica basndose en el uso real y no en una estructura previamente pensada de navegacin. Relacin con otros patrones: Los datos son el prximo "Intel Inside": Una arquitectura de participacin exitosa es la base para la construccin de una valiosa base de datos de contenidos generados y enriquecidos por los usuarios. Innovacin en el ensamblaje: En base a la generacin de APIs, empresas como Amazon.com u otras citadas previamente generan una arquitectura de participacin, dndole a terceros elementos para construir aplicaciones que potenciaran el valor del servicio.

3.7.2. Los datos son el prximo "Intel Inside"


El mercado esta desplazndose gradualmente desde aplicaciones de escritorio para individuos hacia un modelo de servicios online compartidos. Este patrn indica que en general el xito de las aplicaciones y servicios online proviene de la informacin, no solo de la funcin. Existen muchos ejemplos de esto, como ser el caso del buscador Google: Su base de datos de sitios indexados es lo que da el valor verdadero al servicio, ms all de las interfaces simples y agradables con las que llegan a su pblico. Si los resultados de bsquedas no fueran efectivos, nunca hubiera alcanzado su xito. Por tanto, es necesario establecer una estrategia de datos, no solo una estrategia de producto, para poder obtener una ventaja competitiva.

63

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico Aplicaciones de Escritorio Uso de APIs (Microsoft y Apple.) Monitores, Placas madre, discos. CPU (Intel, AMD) Aplicaciones de Internet Uso de efectos de red y de software como servicio ( Google, Amazon y EBay.) Linux, Apache, MySQL, y PHP.

Software propietario

Integracin de componentes Formas de mantener a usuarios cautivos mediante cdigo propietario

Datos (adWords, NAVTEQ)

Tabla 4: Comparacin entre aplicaciones de escritorio y aplicaciones de Internet.

Si miramos a la era del escritorio, descubrimos que por ms de 15 aos la campaa de branding Intel Inside de Intel se basaba en que en cada sistema abierto de hardware existan componentes propietarios y de cdigo cerrado. Comparando las aplicaciones existentes en ambas eras podemos ver estructuras o frameworks similares, pero con nuevas reglas. Nuevas ventajas competitivas se encuentran en las capas superiores e inferiores de la pila emergente de Internet: En la capa superior del software, la ventaja competitiva viene de los efectos de red y del uso del software como servicios. En la capa inferior, el control de los datos provee la ventaja competitiva. Analizamos a continuacin las prcticas que implican la aplicacin de este patrn: Buscar poseer fuentes de datos nicas y difciles de recrear: NAVTEQ (72) es uno de los lderes mundiales en cuanto a proveedores de datos de mapas digitales. Entre sus clientes podemos encontrar a Microsoft y Google, que usan sus contenidos para crear servicios como Google Maps y Microsoft Vitual Earth (y casualmente, en su estrategia de branding utilizan la frase NAVTEQ On Board, algo que suena similar al caso de Intel Inside). NAVTEQ tuvo xito en la creacin de una base de datos nico y valioso, lo que le dio grandes ganancias en el ao 2006. Aunque NAVTEQ invirti aproximadamente $700 millones de dlares para crear estos datos, existen muchos mecanismos de bajo costo, especialmente los basados en aprovechar los efectos de red en base a una estructura de participacin que permiten a los mismos usuarios de un servicio construir una base de datos. Delicious, YouTube y Flickr son algunos de estos ejemplos entre los social media analizados. Mejorar los datos bsicos: Los datos de tipo commodity no tienen porque mantenerse en ese estado. Un ejemplo de esto es el de Amazon.com, que sobrepaso a la competencia al mejorar por diversos medios la informacin bsica provista por catlogos de libros: mediante las opiniones de los usuarios del sitio, historiales de compra y otros clculos en base a algoritmos convirtieron una base de datos bsica y disponible pblicamente en una base de datos atractiva y difcil de recrear.

25

El termino econmico presentan mayor diferenciacin.

hace referencia a productos y servicios genricos, bsicos y que no

64

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico La mayora de los sitios de contenidos de internet permiten ahora que los usuarios enriquezcan los datos mediante comentarios, puntajes o tags. Delicious utiliza estos medios para por ejemplo mejorar y enriquecer marcadores de navegadores, dando la opcin a los usuarios a importar estos y aplicar metadatos. Por tanto, debemos buscar formas para que los miembros de una organizacin, clientes o socios puedan agregar valor a los datos existentes o de tipo commodity. Los usuarios controlan sus propios datos: Es importante entregar a los usuarios formas de agregar o quitar sus datos del sistema. Esto demuestra a los clientes que deberan confiar en el servicio, y a su vez que la empresa tiene la suficiente confianza en el servicio que provee como para permitir a los usuarios tomar sus propios datos personales y eliminarlos del sistema llevndolos a donde deseen. Para tener confianza en realizar este tipo de estrategias de datos debemos recordar que el valor real proviene del contexto, no de los datos bsicos, por lo cual las bases de datos cerradas no llegan a aprovechar todas las fortalezas que provee Internet. Algunos derechos reservados, no todos: Cuando los beneficios provienen de efectos virales y colectivos, la limitacin sobre protectora de derechos intelectuales puede perjudicar el crecimiento. Por tanto, es positivo en muchos casos asegurarnos que existan bajas barreras para la adopcin estableciendo formas apropiadas de propiedad intelectual y de propiedad de datos. Entre los casos analizados previamente, hemos encontrado que existen modelos flexibles y con beneficios colaterales probados, como ser el de los modelos de licencias GNU o las Creative Commons que permiten que software, datos o contenidos puedan ser compartidos, mientras preservan los derechos de autora originales.

Ilustracin 20: Uso de Creative Commons en Flickr. Los usuarios de Flickr pueden optar por diferentes tipos de licencias Creative Commons para sus imgenes, lo que potencia la reutilizacin y creacin de nuevos contenidos mientras mantiene los derechos de autor.

Estas estrategias han sido utilizadas como mencionamos previamente en el caso de Flickr, permitiendo que ms de un milln y medio de fotos tengan una licencia de este tipo (73). Definir una estrategia de pila de datos: Es importante entender cules son las ventajas que ataen a los diferentes niveles de valor de una cadena de datos. Por ejemplo, el resumido espacio de mapas online de Google Maps. Solo algunos proveedores, como ser el ya mencionado NAVTEQ, proveen los datos de mapas digitales de base, que luego deCarta procesa y prepara los datos, para que las aplicaciones de Google entreguen a los usuarios y aplicaciones de terceros que en base a las APIS provistas por 65

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico Google, pueden generar otras capas superiores de uso en mashups. (74) Claro que los lmites entre estas capas no son claramente delimitados, por lo que existe una tensin y competencia natural entre ellos. Por tanto, mientras utiliza los datos de NAVTEQ y el procesamiento de deCarta, Google Maps se estableci como el punto de conexin interna y la marca ms conocida en cuanto a mapas digitales respecta. En base al xito de Google Maps, deCarta ha creado sus propias APIs colocndolas a disposicin de los usuarios y desarrolladores. (75) Ser dueo del ndice o del formato: El xito no siempre Ilustracin 21: Niveles en la cadena de proviene de poseer los datos, sino que a veces puede datos de mapas digitales. derivar de establecer un liderazgo en localizar, organizar, acceder o dar formato a los datos. Uno de los mejores ejemplos es el buscador Google: no es dueo de las pginas que muestra en sus resultados de bsquedas, sino que simplemente posee el mejor algoritmo para indexarlas. Otro claro ejemplo es el ya mencionado buscador e indexador de blogs Technorati. En casos ms actuales, tenemos el ejemplo del mencionado LinkedIn, que busca claramente ser el lugar por defecto donde se registren perfiles laborales. Disear los datos para su reutilizacin: En la misma forma en que los datos se estn volviendo tan importantes como la funcionalidad, la reutilizacin de datos se est volviendo tan importante como la reutilizacin de software, y el diseo de datos se est volviendo tan importante como el diseo de sitios. El concepto de datos reutilizables se manifiesta en mecanismos de acceso a los datos, en el diseo de los datos, en la presentacin de los datos y las licencias de los datos. Estos puntos implican seguir estndares como ser el mencionado RSS y microformats, haciendo que los datos sean fcilmente apuntados y buscados, utilizando licencias suficientemente flexibles y proveyendo de mecanismo claros de sindicacin y redistribucin. Tercerizar o proveer administracin al acceso de datos: Mientras que los costos de almacenamiento y uso de ancho de banda han disminuido dramticamente, la demanda de la administracin de grandes cantidades de datos todava presenta un desafo. Esto es particularmente verdadero para contenidos como ser audio, video e imgenes. Como resultado, existen nuevas oportunidades de servicios que pueden ser provistos, ayudando a otros a superar dicho desafo. Por ejemplo la red social previamente mencionada MySpace terceriza el servicio de imgenes principalmente a tres empresas (Photobucket.com, ImageShack y Slide.com) que reciben ms de la mitad de su trfico desde dicho social media (76). En el caso de YouTube, terceriza el almacenamiento y descarga de videos a la empresa Limelight Networks, generndole a esta 66

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico ms de 1 milln de dlares mensuales en ganancias al proveer la infraestructura necesaria para dar soporte a la mencionada content community. (77) Relacin con otros patrones: Aprovechar la inteligencia colectiva: Las aplicaciones basadas en datos son la base para crear estructuras de participacin efectivas Innovacin en el ensamblaje: Las soluciones de plataformas y ecosistemas existen para compartir informacin.

3.7.3. Innovacin en el ensamblaje:


La plataforma es ms poderosa que las aplicaciones en s. No solo Internet se est convirtiendo en una plataforma que reemplaza gradualmente a los sistemas operativos de escritorio, sino que sitios individuales se estn transformando tambin en plataformas y componentes de plataformas. Por tanto, es importante no solo plantear una estrategia de aplicacin sino tambin una estrategia de plataforma. En la era de la PC Microsoft repetidamente demostr el gran valor comercial de crear no solo las aplicaciones de software, sino las plataformas para las aplicaciones. Sus productos como ser Windows, Office, SQL Server y otros se convirtieron en la fuerte base donde ecosistemas enteros eran creados. La aparicin de la tendencia Web 2.0 presento cambios fuertes y abri nuevas oportunidades de plataformas por varias razones: Primero, el cambio de software estndares propietarios a estndares de cdigo abierto basadas en tecnologas maduras y estandarizadas de protocolos. Segundo, la evolucin de sitios estticos a sitios dinmicos a sitios como los mencionados entre los social media previamente (por ejemplo, Facebook, Flickr, YouTube, Twitter entre muchos otros), donde cada vez toman ms forma de plataformas que permiten la creacin de nuevos ecosistemas. Analizamos a continuacin las prcticas que implican la aplicacin de este patrn: Ofrecer APIs de los servicios: Las APIs (Application Programming Interfaces) son el ncleo de cualquier estrategia de software como plataforma. Hace algunos aos las APIs provenan de empresas como Microsoft, Apple y RedHat. En la era de la Web 2.0 las APIs provienen de empresas como Flickr, Facebook, YouTube y Twitter. Un ejemplo claro es el de la API de eBay, lanzada originalmente y de forma innovadora en el 2001, genera en la actualidad el 60% de los listados de eBay, teniendo unos 6 mil millones de llamados a la API por mes. (78)

67

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico Otros ejemplos son los de los de las comunidades de contenidos Flickr y YouTube, siendo el primero la base para casi 400 mashups en torno a imgenes (79) y el segundo alcanzando nmeros similares (80) y por tanto potenciando su arquitectura de colaboracin para aprovechar la inteligencia colectiva. Como vimos previamente, la mayora de los jugadores fuertes entre los social media y la tendencia Web 2.0 cuentan con APIs en la Ilustracin 22: Categorias de APIs en actualidad, pero no solo ellos han incursionado ProgrammableWeb.com en esta estrategia de plataforma: Ya en Las APIs son parte de la estrategia Web 2.0 de gran Noviembre del 2008 John Musser, uno de los variedad de servicios: 15 categoras principales al autores de Web 2.0 Principles and Best alcanzar las 1000 APIs registradas en el sitio ProgrammableWeb.com Practices, registraba ms de 1000 APIs de servicios Web, alcanzando una gran variedad de temticas y tamaos de proyectos. (81) Disear para la reutilizacin: El contenido digital se presta para ser desarmado y reutilizado, un principio que no se ha perdido en empresas innovadoras como Apple, cuando revoluciono la industria musical al permitir que los consumidores puedan crear colecciones de msica digital, una cancin a la vez. Anteriormente, MapQuest y Microsoft MapPoint eran servicios muy exitosos de mapas digitales online, pero la estrategia de Google Maps de convertirse en plataforma mediante sus APIs permitiendo la reutilizacin y remezcla a desarrolladores cambio las reglas de los servicios de mapas digitales online, dejando a sus competidores muy por detrs. Aplicar las mejores prcticas en APIs: Los proveedores de APIs exitosos han establecido realmente un conjunto de tcnicas de comprobado xito para ayudar que sus servicios sean ms atractivos y tiles para sus usuarios y por tanto establecer y hacer crecer un ecosistema para desarrolladores viable. Estas prcticas se enfocan en crear una infraestructura de apoyo que incluye foros, blogs y wikis, dando apoyo a documentacin completa y actualizada que incluye ejemplos de cdigo en distintos lenguajes de programacin, suporte a mltiples protocolos y formatos de datos, utilizando ID de desarrolladores para poder realizar seguimiento de estos, y mecanismos de administracin de las cuentas de dichos desarrolladores. Usar los estndares existentes: Cuanto ms estandarizadas son las formas en que se puede acceder a un contenido, es ms probable que sea consumido. Un ejemplo de esto son las APIs de Yahoo!, que pueden devolver informacin tanto en XML como en formato JSON (82), siendo el primero til para aplicaciones de tipo servidor y el ltimo para aplicaciones de tipo cliente.

68

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico Por su parte, el formato microformats se vuelve cada vez ms comn debido a que es fcil de indexar e integrar ya que puede ser embebido en pginas con HTML tradicionales. Otro ejemplo fuerte son los formatos RSS y Atom, que cada vez son ms relevantes y utilizados, cumpliendo el papel de pegamento de la Web 2.0. En el artculo previamente mencionado de John Musser, encontramos un anlisis de la Distribucin del uso de protocolos en las ms de 1000 APIs indexadas por ProgrammableWeb.com. distribucin de protocolos utilizados en las ms de 1000 APIs que ha indexado en su sitio (81). De esto podemos notar que se reduce a una cantidad limitada de protocolos populares, y a su vez que algunos tienen un peso considerable, como ser REST y SOAP. Construir los modelos de negocios en las APIs: Las mejores estrategias de plataformas aplican las fortalezas de su ncleo de negocios en sus APIs, para que los intereses tanto del proveedor como los de terceros estn alineados en una forma mutuamente beneficiosa. Por ejemplo, las APIs de Amazon.com estn directamente conectadas a su sistema de afiliados lo que implica que cada vez que se produce una venta basada en las APIs, los beneficios son compartidos por Amazon.com y el desarrollador que utilizo las APIs. Otro ejemplo es el caso de eBay mencionado en uno de los puntos anteriores, el 60% de sus listados provienen del uso de las APIs, por lo que fue importante trabajar en que estas generen listados con ubicaciones eficientes. Usar Web 2.0 para dar soporte a la plataforma: Las plataformas abren las puertas de un amplio abanico de oportunidades, pero solo tienen xito cuando tienen un buen soporte. Es importante aplicar principios Web 2.0 como ser bajas barreras de adopcin, herramientas en base a efectos de red y tcnicas para construir y dar soporte a un Ilustracin 24: Wiki sobre API de Twitter. ecosistema de colaboracin. Esta prctica es realizada por desarrolladores mediante el uso de una wiki, donde prcticamente todos los ejemplos que potencia el efecto colaborativo de los usuarios. hemos analizado de proyectos Web 2.0 previamente, que dan soporte a sus plataformas por medio de wikis, foros, blogs y otras herramientas similares, utilizadas como medio para la colaboracin de desarrolladores. 69
Twitter da soporte sobre sus APIs a su comunidad de Ilustracin 23: Uso de protocolos por APIs.

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico Un ejemplo es las ya mencionadas APIs de Twitter, que da soporte a su comunidad de desarrolladores mediante el uso de una wiki colaborativa (45) y mantiene un blog donde los desarrolladores de Twitter pueden comunicarse con los usuarios de las APIs. (83) Ser cliente de su propia plataforma: Este patrn puede incrementar la calidad a travs de aplicaciones realistas y cercanas a los desarrolladores de las APIs, as como tambin reducir costos por medio de la reutilizacin. Un ejemplo de esto es el sitio de eventos Eventful, en conde prcticamente toda la produccin del sitio est basada en su propia API (84), y otro ejemplo claro es el de Yahoo! Tech (85) donde se puede realizar bsqueda de productos tecnolgicos, estando el sitio basado en las Yahoo! Shopping APIs (86). Direccionamiento granular de contenidos: La pagina web ya no es la unidad de datos definitiva de Internet: ahora pueden ser considerados as tambin los posts individuales de un blog, elementos independientes de un RSS, ediciones de artculos wiki, o nodos XML devueltos en una llamada a una API. Este ltimo formato representa el futuro del acceso a datos online. Cuanto ms fina la granularidad en este sentido, mayor ser el potencial de reutilizacin de los datos. Podemos ver como elementos tan fundamentales como la estructura de una URL puede ser utilizada para mostrar la estructura lgica de un sitio, por ejemplo encontramos en Flickr la siguiente URL mostrando claridad al usuario: http://www.flickr.com/photos/tags/flowers. En muchas maneras, esta estructura se ha convertido en una lnea de comando funcional y en un modelo de datos por defecto sobre el cual otros pueden construir. En este sentido es importante considerar que URL simples, claras y legibles son buenas para los usuarios del sitio, los desarrolladores de aplicaciones de terceros y motores de bsqueda. Utilizar su plataforma para construir la confianza y lealtad de los clientes: Como mencionamos previamente, la portabilidad de los datos es uno de los puntos importantes en esta nueva era de Internet. Una de las motivaciones detrs de la creacin de las APIs de Flickr fue que los propios fundadores del servicio consideraban que no podan confiar en un servicio que no les permitiera utilizar sus datos donde ellos quisieran. Por tanto, dichas APIs permiten el acceso a toda la informacin, e indirectamente genera apertura y confianza por parte de sus usuarios. Otro ejemplo es el caso de Google Maps: el primer mashup que existi en base a este servicio fue HousingMaps.com mencionado al explicar el concepto de mashup anteriomente, que combinaba los anuncios de ventas y alquiler de departamentos y casas del sitio de anuncios clasificados Craigslist con los mapas digitales, teniendo este mashup la particularidad de no estar basado en APIs de Google Maps (ya que en su momento, no existan dichas APIs), sino que el autor realizo una ingeniera inversa del servicio. Al descubrir esto, Google no tomo represalias, sino que tomo esto como un ejemplo de lo que poda suceder si abra sus servicios a otros desarrolladores. Por tanto, genero las APIs del servicio y gano muchos usuarios desarrollando a la vez confianza. 70

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico Por tanto, notamos que una mayor transparencia y apertura son componentes claros de la perspectiva Web 2.0. Aprender de cmo los clientes reutilizan los servicios: La manera en que los clientes utilizan y reutilizan los datos y servicios pueden ser una muy valiosa herramienta de aprendizaje para el modelo de negocio. A medida que aplicaciones de terceros y nuevos usos surgen, se crean oportunidades de ligar estos nuevos elementos de conocimiento a las estrategias de los productos y del negocio. Hablando sobre el ecosistema de mashups, el CEO de Google Eric Schmidt comenta que Nosotros no tenemos los recursos para construir todo. Dependemos de manera crtica de las creaciones de las comunidades de desarrolladores. (87) Relacin con otros patrones: Modelos ligeros y escalabilidad costo-efectiva: Es recomendable prestar atencin a modelos de tecnologa ligeros como ser REST y RSS, para alcanzar a una gran base de manera costoefectiva. Al crear una plataforma que facilite el desarrollo por parte de terceros ms que el desarrollo de desarrolladores internos lleva a reducir esfuerzos y disminuir costos. Beta perpetuo: En particular, considerar las operaciones como una herramienta o habilidad de altsima importancia.

3.7.4. Experiencias de usuario ricas


Los sitios web estticos estn cediendo lugar a una nueva generacin de aplicaciones enriquecidas basadas en Internet, que cuentan con la habilidad de combinar muchos de los mejores elementos de las experiencias de escritorio y online. Por tanto, es necesario crear mejores experiencias para ayudar a los usuarios en la transicin desde un modelo de interfaces de escritorio a un modelo online. No hace mucho tiempo, exista una indiscutible distincin entre utilizar una aplicacin basada en escritorio y una aplicacin basada en un navegador: experiencias altamente interactivas y rpidas con interfaces graficas ricas, en contrapartida a interfaces basadas en pginas caracterizadas por ser lentas, con esperas despus de cada click. Esta brecha se ha reducido rpidamente mediante el surgimiento de una nueva generacin de sofisticadas aplicaciones online, redefiniendo lo que es posible en un navegador. Esta combinacin de los puntos fuertes de experiencias de escritorio y capacidades online crea nuevas oportunidades que son muy poderosas. Ya no son necesarias las aplicaciones de clientes pesadas para crear una interesante experiencia para el usuario, as como tampoco las aplicaciones clsicas como una planilla de clculo son estrictamente para el uso de un solo usuario ni en una sola computadora. Las aplicaciones actuales basadas en navegadores son construidas utilizando tcnicas (como ser el caso de Ajax) que dan soporte a interacciones continuas, despegndose de solo el click hacia acciones como el arrastrar y soltar, y llenas de multimedia. El resultado es una mayor satisfaccin por parte de los usuarios, y una genuina ventaja competitiva. Ejemplos de esto son los servicios de correo electrnico y mapas de Google, que han revolucionado sus segmentos de productos, y en los ltimos tiempos tambin surgi el caso de Google Docs que 71

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico ha presenta herramientas de procesamiento de texto y planillas de clculo online, no solo reproduciendo la experiencia de escritorio sino que tambin agregando la posibilidad de colaboracin y una real independencia de plataforma. Aunque si observamos tambin los ejemplos de social media mencionados previamente, encontraremos en sus interfaces numerosos elementos que apuntan a enriquecer la experiencia del usuario, mostrando una tendencia que resulta irreversible, ya que este tipo de interfaces se vuelven cada vez ms un requerimiento funcional ms que algo accesorio. Por tanto: utilizar software basado en Internet ya no implica una prdida en la calidad de la experiencia del usuario. Ahora podemos ver el poder de aplicaciones interconectadas que permiten la colaboracin y el uso de datos enriquecidos con experiencias de interfaces rpidas y simples. Analizamos a continuacin las prcticas que implican la aplicacin de este patrn: Combinar lo mejor de las experiencias de escritorio y online: En este punto nos referimos a entregar a los usuarios aplicaciones que potencien las fortalezas de escritorio (como ser, interactividad enriquecida y rpida performance) con las fortalezas de la red (como ser, independencia de la plataforma, acceso independiente del lugar, y colaboracin). Como mencionamos anteriormente el caso de Google Docs es uno de los mejores ejemplos de cmo se herramientas tradicionales de escritorio estn evolucionando hacia una oficina online: los usuarios del servicio pueden editar documentos de forma colaborativa desde estaciones conectadas a Internet usando interfaces agiles y similares a las que eran ofrecidas por las aplicaciones de Ilustracin 25: Captura de pantalla de Google Docs. escritorio. Y adems, el modelo de negocio ha cambiado, beneficiando a los Google Docs permite a los usuarios del servicio trabajar de usuarios en un aspecto extra: el costo. Es forma colaborativa sobre documentos, tomando lo mejor de las experiencias de escritorio y online, a travs de interfaces cada vez ms comn que se apliquen web enriquecidas. modelos de negocio basados en software como servicio, como ser el uso de publicidades. Pero como mencionamos antes, no se debe buscar solo remplazar las aplicaciones de escritorio, sino tambin agregar valor mediante el potencial de Internet: en el caso mencionado, es destacable nuevamente la posibilidad de colaboracin entre usuarios sobre un mismo documento. Usabilidad y simplicidad primero: Buscar la aceptacin y uso por parte del usuario y eficiencia de servicio para ltimo son prioridades y no deben ser sacrificadas en pro de utilizar nuevas tecnologas o interfaces. Es importante no permitir que las innovaciones por ms tentadoras que sean puedan comprometer los verdaderos objetivos de las aplicaciones. Por ejemplo, 72

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico aplicaciones de entrada de datos corporativas no necesitan ventanas que tengan transparencias, pero si pueden beneficiarse de optimizaciones en el proceso de ingreso de datos, como ser ayudas en la escritura y correcciones de textos en tiempo real. Es decir, debemos buscar que una de nuestras estrategias sea la simplicidad. Por ejemplo, anteriormente las aplicaciones que dependan de audio y video digital, especialmente los contenidos generados por los usuarios, pasaron por muchos problemas complejos. Pero proyectos innovadores como el de YouTube han simplificado dramticamente los previamente complejos procesos relacionados a los contenidos multimedia con una plataforma de audio y video basado en Internet: est centrada en navegadores, busca eliminar los problemas de compatibilidad de tipos de archivos, y provee interfaces y componentes simples de usar e independientes del tipo de navegador. Es importante notar que tambin el concepto de componentes de este tipo que son fcilmente integrables en virtualmente cualquier otro entorno web han creado una gran innovacin en el ensamblaje, donde los usuarios pueden rpidamente utilizarlos en sus sitios webs o blogs, difundirlos en sus perfiles de redes sociales u otras aplicaciones online. Buscar que el uso coincida con los requisitos: Las ltimas tcnicas y tecnologas dan soporte a un amplio espectro de interaccin y posibilidades innovadoras, y prcticamente cualquier aplicacin tiene algn punto de implementacin en este espectro. Por ejemplo, Google Finance utiliza una combinacin de tecnologas como ser Javascript y Flash para otorgar a sus usuarios experiencias enriquecidas. Otro ejemplo es el caso de Google Analytics, que ha revolucionado el anlisis de datos estadsticos sobre los sitios web y sus consumidores. Bsqueda sobre la estructura: As como motores de bsquedas basados en algoritmos (como ser Google) son en general ms atractivos y tiles que directorios creados por usuarios (como ser el caso de Dmoz.org o la estructura de Yahoo!), las formas de acceder e incluso crear contenidos en sitios individuales es ahora tpicamente guiado por algoritmos de bsqueda y de otros tipos. En los primeras etapas de internet, solo los sitios ms grandes podan costear generar bsquedas en sus propios sitios, pero hoy en da la situacin ha cambiado y prcticamente ningn sitio, por ms pequeo sea, puede darse el lujo de no tener mecanismos de bsqueda interna entre sus contenidos, especialmente dado que los mecanismos para que esto sea realizable han sido simplificados y son ofrecidos incluso de forma gratuita por buscadores como Google mediante widgets y servicios. El servicio Delicious automticamente sugiere tags en base a una combinacin de factores, incluyendo el contenido de la URL que est siendo agregada a los marcadores, los tags generados por el usuario previamente, y tag de otros usuarios. Esto hace al proceso ms rpido y simple para el usuario, creando a su vez una forma ms consistente de agregar estructuras de tags para toda la comunidad.

73

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico A medida que la naturaleza y estructura de contenidos se vuelve menos predefinida y emerge de la dinmica de los comportamientos y participacin de los usuarios, aumenta la necesidad de algoritmos ms inteligentes y poderosos. Preservar el direccionamiento de los contenidos: En virtud de crear experiencias sin el clsico concepto de Internet de hacer click, recargar la pgina y mostrar el contenido, algunas aplicaciones de tipo Web 2.0 estn dejando en cierta forma la metfora de la pagina en Internet. Pero al hacer esto, estas aplicaciones corren el riesgo de olvidar los beneficios que trae el direccionamiento directo a contenidos (que vimos anteriormente en el patrn de innovacin en el ensamblaje), como ser el hecho de que una pgina o un conjunto de datos ya no sea equivalente a una URL. Por tanto es importante utilizar y establecer tcnicas que aseguren que los contenidos son aun pueden ser encontrados por usuarios (por ejemplo, mediante el uso de marcadores) y por maquinas (por ejemplo, motores de bsqueda, aplicaciones de terceros y otras herramientas). Por ejemplo, Google Maps permite que los usuarios hagan zoom a cualquier lugar del mundo en sus mapas digitales, pero la URL nunca refleja estos cambios de locacin. Lamentablemente, esto implica que los contenidos no implican una URL diferente, por lo que se pierde mucho en cuanto a los efectos de red se refiere. La solucin provista pro Google fue muy simple: agregar un botn que dice Vinculo a esta pgina que hace que el navegador se refresque y contenga una URL que identifica el lugar especfico donde el usuario est situado en el mapa digital. Personalizacin profunda y adaptativa : Una experiencia Web 2.0 centrada en el usuario va mucho ms all que la interfaz: la aplicacin del usuario aprende dinmicamente del comportamiento del usuario, anticipando sus necesidades, recordando sus preferencias y adaptndose de manera apropiada. Un claro ejemplo es el ya mencionado Amazon.com, que a pesar de ser uno de los sitios con mayor volumen de trfico en Internet, genera prcticamente cada pgina en tiempo de ejecucin, incluyendo lo que algunos de sus competidores brindan como paginas estticas. Esto permite que haya lugar para la optimizacin de la experiencia pata cada usuario, incrementando tanto la lealtad de los usuarios como las oportunidades de beneficio para la empresa de acuerdo a su modelo de negocio. Gmail automticamente sugiere direcciones de correo al usuario en base al uso histrico del servicio, quitndole a este la necesidad de recordar las direcciones o tomar un paso extra abriendo la libreta de direcciones.

Relacin con otros patrones: Modelos ligeros y escalabilidad costo-efectiva: Aplicaciones de cliente livianas basadas en navegadores son facilitadores para ciclos de productos rpidos que los de escritorio.

74

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico Innovacin en el ensamblaje y beta perpetuo: Experiencias enriquecidas para los usuarios simplifican la transicin de aplicacin es de escritorios hacia modelos de software como servicio.

3.7.5. Software ms all de un solo dispositivo:


La PC ya no es el nico medio de acceso a las aplicaciones basadas en Internet, y por tanto las aplicaciones que se limitan el acceso solamente a un solo tipo de dispositivo tienen menor valor que aquellas que pueden tener diversos tipos de conexiones. Por tanto, es necesario disear aplicaciones que desde un primer momento integren datos y servicios hacindolos disponibles para computadoras, dispositivos mviles y servidores de Internet. Estamos ingresando en una era nueva, en la que miles de millones de dispositivos en todas las formas y tamaos estn conectados a Internet. Prono la PC no ser el medio de acceso principal, y eso ya es realidad en pases como Japon y Korea. Se est volviendo cada vez ms comn que personas se conecten a Internet desde distintas fuentes varias veces al da: La computadora de escritorio de una oficina, la notebook, la computadora del hogar, consola de juegos, un reproductor de multimedia porttil, y telfonos celulares por mencionar algunos. Sin embargo, este escenario de multi acceso pronto tendr un crecimiento aun ms vertiginoso debido al rpido crecimiento de la cantidad de dispositivos capaces de conectarse a Internet, y de las mejoras en los servicios de conexin a Internet, donde las velocidades de transferencia y la independencia del lugar donde se realice la conexin van ampliando cada vez ms estas posibilidades. Aqu es donde la web como plataforma realmente alcanza todos los lmites. Mas interacciones estn abarcando tanto a los usuarios como a los dispositivos, tomemos dos ejemplos claros: Imgenes: Fotografas pueden ser tomadas desde dispositivos mviles, enviadas va email o conexin a Internet inalmbrica hacia una computadora para ser editadas, y subidas a un servicio online donde se compartan imgenes, recibiendo estas comentarios, puntajes, asignacin a grupos temticos por medio de colaboracin de otros usuarios, luego sindicadas va RSS y APIs hacia otros dispositivos, donde pueden ser descargadas. Msica: Los usuarios de computadoras de escritorio pueden crear listas de msica mediante bases de datos online, y descargarlas a sus dispositivos porttiles. Luego los historiales de msica escuchada son subidos desde estos dispositivos a servicios de musca online, y filtros colaborativos combinan son combinados de forma algortmica para crear estaciones virtuales de radio, que transmiten a navegadores y otros dispositivos, o incluso equipos de msica hogareos con capacidad de conexin a Internet pueden conectarse a estas transmisiones directamente en las casas de los usuarios. Sin embargo, todava estamos lejos de llegar a la visin de la conectividad sin lmites de lugar o tiempo. Mantener informacin sincronizada y siempre disponible sobre esas plataformas es un gran desafo, pero a la vez una oportunidad igualmente grande. Las colaboraciones deben ser consistentemente independientes de los dispositivos. Los dispositivos se estn teniendo cada vez mas capacidades de conocer su propia localizacin, Muchas plataformas tiene limitaciones en cuanto a performance pura, capacidades de entrada y salida de datos, habilidades limitadas o incuso ninguna habilidad para funcionar si no estn conectadas a Internet. Aplicaciones Web 2.0 75

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico exitosas deben lograr aprovechar esta omnipresencia para alcanzar todos los mercados, facilitando el uso de nuevos escenarios, y ganar ventajas competitivas. Analizamos a continuacin las prcticas que implican la aplicacin de este patrn: Disear desde un primer momento para compartir datos entre dispositivos, servidores y redes: La interconexin generalizada de las redes ha abierto nuevas oportunidades de productos, al permitir la conexin de usuarios y dispositivos de forma masiva al utilizar variedad de dispositivos e interconectarlos aprovechando los efectos Web 2.0 ms all de las tradicionales computadoras. Veamos algunos ejemplos de este patrn. La estrategia planteada por Apple con su iTunes aprovecha la fortaleza de las redes, computadoras de escritorio y dispositivos mviles. Este enfoque combinado con un amplio abanico de opciones de msica para descargar, genero un gran cambio de paradigma en la industria de la msica. Otro ejemplo es el caso de Microsoft y su consola Xbox con el servicio de multimedia online Xbox Live, creando una plataforma Ilustracin 26: Captura de pantalla del sitio TiVo.com con contenidos generados y compartidos TiVo involucra a los usuarios creando rankings en base al por los usuarios, rankings, feedbacks, comportamiento de los consumidores en los dispositivos perfiles de usuarios y listas de amigos. Un DVR de sus hogares, conectados al servicio online. ejemplo ms es el del DVR TiVo, que cuenta con un sistema de subscripcin online que aprovecha la inteligencia colectiva tanto implcitamente mediante los hbitos de los televidentes como explcitamente mediante los votos de estos: en su sitio web la seccin ms populares se basa en el comportamiento de los usuarios y podemos encontrarlo en su sitio web. (88) Estar atentos a la locacin: Como mencionamos antes, los dispositivos estn atentos a su locacin, por lo tanto, es posible encontrar oportunidades en base a este factor. Tecnologas como Bluetooth y GPS se estn volviendo cada vez ms comunes en los dispositivos mviles y si bien es mejor contar con estas caractersticas, la tecnologa de locacin no es siempre indispensable para aprovechar este concepto de locacin. Por ejemplo, el servicio de redes sociales Dodgeball.com permite a los usuarios generar citas de forma casi aleatoria en base a la proximidad geogrfica de los usuarios, aunque esta informacin es suministrada por los usuarios, sin ser necesario contar con dispositivos que faciliten los datos de locacin. Por otra parte, hay servicios que si utilizan las capacidades tecnolgicas de los dispositivos: otra red social llamada The Plazes aprovecha las capacidades GPS de dispositivos como ser el iPhone, para indicar donde se encuentran tanto los amigos as como tambin otra gente que concuerde con el perfil buscado por el usuario. (89)

76

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico Extender la Web 2.0 a los dispositivos: Es importante buscar reas donde otros patrones y prcticas Web 2.0 pueden ser aplicados en base a los diversos dispositivos existentes, sin considerar solamente las computadoras. Un ejemplo es el caso de eBay que ya hemos mencionado anteriormente. Para cubrir este patrn, el servicio permite Ilustracin 27: Captura de pantalla del sitio eBay Mobile notificacin por SMS de ofertas en subastas eBay ha generado distintas maneras de integrar su modelo del usuario, acceso va equipos mviles de negocio a dispositivos mviles y manteniendo la mediante una aplicacin especifica e incluso tendencia Web 2.0. mensajes de voz que alertan al usuario para notificarlo cuando una subasta de si inters esta pro terminar, expendiendo todos sus servicios a los mviles pero de una forma adaptada. Usar el poder de las redes para hacer los dispositivos ms inteligentes : Aunque los dispositivos mviles se estn volviendo cada vez ms poderosos, las capacidades de los servidores siguen siendo aun mayores. Por tanto, es una buena prctica quitar peso en los mviles, trasladando el procesamiento a los servidores y devolviendo solo resultados livianos a los dispositivos. Existen servicios como SCANBUY que permiten que compradores ingresen cdigos de barra en sus dispositivos mviles para recibir de forma casi instantnea informacin de los productos y poder por ejemplo, comparar precios. (90) Este es un claro ejemplo del aprovechamiento del poder de los servidores y redes, exigiendo a los dispositivos mviles solo un mnimo de esfuerzo en cuanto a procesamiento y ancho de banda, ofreciendo un servicio online muy poderoso a los usuarios. Aprovechar los dispositivos como fuentes ricas de datos y contenidos: Los dispositivos mviles no solo alcanzan capacidades de generar textos, sino que cada da su poder como herramienta de generacin de multimedia va creciendo, por tanto podemos aprovechar dichas capacidades ya que poseen caractersticas nicas, al poder generar contenidos en cualquier momento o lugar y con muy poco esfuerzo. Existen muchos servicios online que buscan aprovechar este tipo de capacidades.

Ilustracin 28: Captura de pantalla del sitio TN y La Gente En Argentina el canal de noticias TN ha creado un servicio para que su audiencia pueda enviar imgenes desde sus dispositivos mviles, siendo estas publicadas online.

77

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico En Argentina tenemos el ejemplo del canal de noticas TN, que genero su sitio TN y la Gente donde recibe actualizaciones de los televidentes de noticias, quienes capturan todo tipo de hechos desde sus dispositivos mviles. De esta forma, se logra ampliar la cobertura de noticias mediante la creacin de una comunidad de periodismo ciudadano, alcanzando un potencial de cobertura que de otra manera seria imposible lograr. Considerar la produccin-por-click como prioridad: Los dispositivos tienen limitaciones en cuanto a mecanismos de entrada de datos y pantallas se refiere en comparacin a las computadoras de escritorio, por lo que es crtico minimizar las barreras en estos dos aspectos. Y a su vez, existe una gran variedad de dispositivos (desde telfonos mviles, consolas de juegos y ejemplos como el mencionado TiVo) por lo que existe una gran variedad de casos en estos dos aspectos. Es importante aplicar un esfuerzo considerable en el diseo de interfaces que optimicen la habilidad de los usuarios para utilizar los servicios en dichos dispositivos.
Ilustracin 29: Captura de pantalla del sitio ShoZu. En base a simplicidad de interfaz ShoZu hace de intermediario entre dispositivos mviles y servicios como YouTube o Facebook.

Por ejemplo, el servicio de imagen y video mvil ShoZu se focaliza en la simpleza de uso como su principal factor de xito, funcionando como intermediario entre el usuario y otros servicios de Internet, como ser YouTube, Flickr, Facebook y Blogger, buscando simplificar los pasos para cada accin maximizando el uso de cada interaccin del usuario con su dispositivo mvil. Permitir la independencia de ubicacin de los datos: Es importante permitir que los usuarios mantengan sincronizados datos entre dispositivos sin problemas. John Musser menciona algunos ejemplos de productos de empresas como ser Intellisync de Nokia que permiten mantener dicha sincronizacin entre dispositivos, y comenta que tambin surgen componentes de capas de infraestructura como las APIs de Amazon S3 que permiten a programas de terceros acceder al almacenamiento y sincronizacin de datos.

Relacin con otros patrones: Innovacin en el ensamblaje: Esta aproximacin al software ms all de un solo dispositivo puede ser visto como una extensin natural del aprovechamiento de Internet como una plataforma. Experiencias de usuario ricas: Los dispositivos mviles son cada vez ms sofisticados, y estn facilitando la creacin de experiencias enriquecidas ms all de las computadoras.

78

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico

3.7.6. Beta perpetuo


Cuando dispositivos y programas se conectan a internet, las aplicaciones dejan de ser solo software para convertirse en servicios permanentes. Esto tiene un impacto significativo en todo el proceso de desarrollo y entrega de software. Por tanto, ya no se debe agrupar las nuevas funcionalidades en actualizaciones monolticas, sino que es necesario agregar estas mejoras de forma regular como parte normal de la experiencia del usuario. Y por tanto, debemos hacer que los usuarios prueben permanentemente estas nuevas funcionalidades, estructurando el servicio para que revele la forma real en la cual dichos usuarios lo utilizan. Millones de usuarios acceden al software de Google cada da y sin embargo nunca tienen una razn para hacer la siguiente pregunta Que versin de Google es sta?. La razn de esto es que en la era de la Internet los usuarios piensan en trminos de servicios, no de software empaquetado, y esperan que estos servicios simplemente estn disponibles y que mejoren con el tiempo. Sin versiones, sin instalaciones y sin actualizaciones. El ciclo tradicional de diseodesarrollo-prueba-envo-instalacin del software empaquetado est terminando. El xito ahora recae en la adopcin del modelo de desarrollo del perpetuo beta, en el cual el software es continuamente refinado y mejorado, tomando los usuarios el papel de codesarrolladores y las operaciones se convierten en una habilidad principal. Esto es lo que podemos llamar desarrollo 2.0. Analizamos a continuacin las prcticas que implican la aplicacin de este patrn: Liberar temprano y rpido: Esta regla del modelo de desarrollo open source (91) es ahora un factor crtico para el xito del software basado en Internet. Es necesario usar tcnicas y metodologas agiles e iterativas de de desarrollo para empaquetar correcciones de errores y mejoras en publicaciones incrementales que respondan a la retroalimentacin de los usuarios. El uso de pruebas automatizadas y procesos de construccin y liberacin para racionalizar el manejo de calidad y administracin son necesarios eBay por ejemplo libera una nueva versin de su servicio aproximadamente cada dos semanas. Flickr por su parte llevo esto un paso ms adelante, realizando cientos de liberaciones incrementales en un periodo de 18 meses desde Febrero del 2004 hasta Agosto del 2005. Si comparamos esto con los ciclos tradicionales que se presentan en el cado de ejemplo de Microsoft Windows notaremos la clara diferencia de paradigma. Y no solo los nuevos productos se pueden beneficiar por estas formas: El Yahoo! Messenger avanzo de una liberacin cada 18 meses a 4 cada ao.

79

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico

Ilustracin 30: Comparacin de liberaciones de Flickr y Microsoft Windows. Comparando la cantidad de veces y las fechas en que Microsoft y Flickr liberaron nuevas versiones de sus productos podemos notar con claridad el cambio de paradigma en el ciclo de desarrollo de software.

Hacer participar a los usuarios como co-desarrolladores y probadores en tiempo real: El comportamiento real de los usuarios provee un modelo mucho ms correcto para la evaluacin de nuevas caractersticas que investigaciones de mercado de marketing, prototipos o cualquier otra forma de produccin no basada en la retroalimentacin. La naturaleza de las aplicaciones basadas en Internet y las habilidades del creador para activamente monitorear como el software es utilizado implican un cambio dramtico desde los das del software de escritorio. Es estadsticas de los usuarios y la experimentacin controlada sirve para tomar decisiones informadas sobre los productos. Es necesario establecer modelos de retroalimentacin, como las pruebas dinmicas A/B, las cuales a un pequeo porcentaje de los visitantes de un sitio les es presentada una interfaz con caractersticas y funcionalidades alternativas. Por ejemplo, Amazon.com utiliza muchas veces por da este tipo de pruebas en su sitio. Los resultados de estas pruebas alimentan rigurosos procesos guiados por estos datos que dan indicadores no solo del producto sino tambin del negocio. Instrumentar los productos: En el proceso de desarrollo es necesario planificar e implementar no solo las aplicaciones que utilizaran los usuarios, sino tambin una plataforma para capturar informacin de cmo estos usuarios estn usando el producto. Lo que los usuarios hacen en general da ms y mejor retroalimentacin que lo que los usuarios dicen. Ilustracin 31: Ciclo de de desarrollo de beta perpetuo. Esta plataforma de instrumentacin debe ser guiada por objetivos de negocio y estar planificada y pensada
Ciclo de de desarrollo de beta perpetu, incluyendo el producto, aplicaciones de seguimiento y los requerimientos. En base a la medicin obtenida en las pruebas con usuario, se compara constantemente el cumplimiento de objetivos.

80

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico tan cuidadosamente como el producto en s mismo. As como se explico en la dinmica A/B de prueba, la informacin obtenida debe responder preguntas especificas como una forma de medir cun bien se estn alcanzando los objetivos y llevando el desarrollo del producto. Para este proceso se utilizan las llamadas aplicaciones sombra, que so n bsicamente herramientas internas y privadas construidas para monitorear el ya mencionado comportamiento del usuario en la ejecucin en tiempo real del servicio. Estas aplicaciones no tienen que ser necesariamente grandes y complejas, sino ser relevantes. Por ejemplo, Flickr desarrollo un reporte de usuarios ms solitarios que permiti identificar a usuarios que no estaban invitando a amistades al servicio. Flickr se agrego a s mismo como amigo de esas personas, con el objetivo de ensearles como utilizar los servicios de mejor manera. Crear nuevos productos de manera incremental: Productos nuevos y existentes deberan evolucionar mediante ciclos rpidos, retroalimentacin de los usuarios e instrumentacin. Experimentar con nuevas ideas de productos a travs de procesos incrementales y planificados. Google lanzo algunos de sus productos ms exitosos, incluyendo Google Maps y Gmail, a travs de esta metodologa. El Google Maps beta fue lanzado pblicamente en Febrero del 2005, y se mantuvo como beta por 8 meses. Durante ese tiempo, Google obtuvo retroalimentacin muy significativa de los usuarios, aumentando prestaciones de forma incremental, y ganando ventajas competitivas rpidas, ganndole terreno as a competidores ms lentos como Microsoft y Yahoo!.

Ilustracin 32: Linea de tiempo de google Maps 2005-2006 Google Maps se mantuvo como beta durante sus primeros 8 meses, en los que en base a la retroalimentacin de sus usuarios agrego rpidamente nuevas funcionalidades al servicio.

Hacer que las operaciones sean una habilidad principal: Cuando el software esta siempre disponible y online, ya no es solo el desarrollo de este lo que determina su xito, sino que sus operaciones (las tareas diarias y permanentes de administracin de datos y servicios) tambin pasan a ser un factor clave. El xito de Google no solo se debe a su sus algoritmos de bsqueda, ya que la forma en que administra sus centros de procesamiento de datos y servidores toma un alto valor para llevar el servicio a los usuarios permanentemente. Al hacer estas tareas de forma optimizada se crea una ventaja competitiva significativa en cuanto a costos y calidad. Estas estrategias y competencias operacionales incluyen: 81

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico o o o o o Utilizar tcnicas de escalamiento horizontal y componentes de hardware de tipo commodity para una tolerancia a errores simplificada y una alta disponibilidad. Utilizar software de bajo costo (en general open source) para aprovechar las grandes comunidades generadas en todo a estos, que proveen soporte y documentacin. Asegurar que se cuenta con adecuados sistemas de monitoreo y administracin. Asegurar que el planeamiento de operaciones y el personal son las principales prioridades. Alimentar en base alecciones aprendidas de experiencias operacionales a los ncleos de los productos: prestaciones, estabilidad y escalabilidad.

En el nivel de aplicaciones, esto implica que el equipo de desarrollo ya no simplemente inicializa las operaciones y las deja funcionando olvidndose de ellas, sino que deben integrar de forma activa el desarrollo, la administracin de datos, los ciclos de retroalimentacin y las mediciones. Usar herramientas y lenguajes dinmicos: Los modelos de ciclos de liberacin y desarrollo agiles se benefician de herramientas y lenguajes apropiadamente flexibles. Es bueno utilizar lenguajes dinmicos e independientes de plataformas como ser Pyton, PHP y Ruby para permitir y fomentar la habilidad de cambio, rapidez y productividad. Hay que considerar plataformas de desarrollo que se focalizan en la simplificacin y la productividad, como ser Ruby on Rails para Ruby, Django para Python y Zend para PHP. Un ejemplo del xito es el sitio Basecamp. Para el desarrollo de este sitio la empresa 37signalds desarrollo la plataforma Ruby on Rails, y la empresa indica que las caractersticas de la plataforma ayudaron a construir el exitoso sitio en 4 meses y con un equipo de 2.5 personas (92). Relacin con otros patrones: Modelos ligeros y escalabilidad costo-efectiva: Las tcnicas agiles de desarrollo de software son ideales para dar soporte a ciclos de liberacin rpidos, porque estn preparados para el cambio. Integrar modelos y procesos ligeros de desarrollo y liberacin como complemento del concepto de beta perpetua. Combinar esto con componentes commodity y de bajo costo para construir una base de operaciones escalable y tolerante a errores. Innovacin en el ensamblaje: La beta perpetua es el proceso base para el desarrollo de una plataforma web, y depende de muchas de las mismas competencias de ncleo.

3.7.7. Aprovechar la larga cola


Los sitios pequeos contienen la mayor porcin del contenido de Internet y por tanto pequeos nichos son el potencial principal para las posibles aplicaciones de Internet. Esto implica la necesidad de utilizar el alcance de Internet para llegar a los mercados que antes hubieran sido difciles de capturar de una manera econmicamente conveniente.

82

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico Una gran clase de oportunidades existe ahora, siendo que antes resultaba prcticamente inalcanzable. Estas oportunidades fueron consideradas por Chris Anderson en su modelo econmico llamado The Long Tail o La Larga Cola. (93) Este modelo demuestra este cambio de un mundo de opciones limitadas y mercados masivos hacia un mundo virtualmente sin lmites de opciones y nidos de mercado, indicando que es Internet y sus caractersticas el motor de este Ilustracin 33: Representacin grafica de "la larga cola". cambio. Podemos entender este modelo aplicndolo al marketing de micro-mercados: Los productos que tienen baja demanda o un volumen de ventas bajo componen colectivamente una cuota de mercado que rivaliza o incluso supera los relativamente escasos productos de venta masiva. (1) Si consideramos los nmeros actuales que presenta Internet, estos nichos de mercado se vuelven extremadamente atractivos. Este concepto es uno de los pilares de la tendencia Web 2.0, y por tanto es importante que las estrategias apunten a alcanzar a la larga cola y no solo competir por lo que se ubique a la cabeza. Algunas razones por las que Internet es un excelente medio para aprovechar la larga cola son: Espacio infinito: Muchas limitaciones del mundo fsico estn ausentes en Internet, como ser el espacio donde colocar contenidos y las ubicaciones geogrficas fijas, generando asa un gran espectro. Micro-mercados: Como mencionamos antes, la mayor parte de los contenidos de Internet se encuentra en sitios pequeos, y en estos se encuentra la mayor parte de posibilidades y de audiencia. El costo como una ventaja: La naturaleza del comercio online disminuye considerablemente los costos de distribucin, inventario y ventas. Tim ORilly utiliza este concepto para explicar las razones de porque el sistema de publicidad de Google ha tenido xito con su sistema adWords realizando una comparacin con el sistema de publicidades DoubleClick que de acuerdo a su modelo de negocios se limitaba a costosas publicidades en sitios muy populares, y por tanto contaba con contratos publicitarios en algunos miles de sitios fuertes. En contrapartida, Google se enfoco en realizar publicidades de texto, amigables al usuario y sensibles al contexto, realizando contratos con todo tipo de sitios sin importar su relevancia o tamao. Es decir, Google enfoca su estrategia en el poder colectivo de los millones de pequeos sitios que en realidad conforman la mayor parte del contenido de Internet y por tanto, logra dominar el mercado de la publicidad online. (66) Analizamos a continuacin las prcticas que implican la aplicacin de este patrn:

83

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico Construir en base a las fortalezas de la larga cola: Podemos decir que este modelo esta guiado por tres principios: herramientas democratizadas de produccin, costo de consumo disminuido debido a la distribucin democratizada y las nuevas formas de conectar a la oferta y la demanda. Estas nuevas herramientas de produccin en manos de millones de consumidores (que ahora podemos considerar productores) son la larga cola. Las nuevas formas de distribucin como la Internet hacen a esta cola ms gruesa (generando mayor liquidez y consumicin), y el mejor y ms claro alcance a mercados gua a los negocios desde los grandes a los nichos (mediante la bsqueda y el filtrado). La siguiente tabla ejemplifica esto: Fuerza Negocio Produccin Constructores de herramientas democratizada para la larga cola, productores. Distribucin Agregacin para la larga cola democratizada Ejemplo Cmaras de video digitales, software para la edicin de msica y video y el blog como herramienta. Bienes fsicos: Amazon.com e eBay. Bienes digitales: Google y Cragslist. Informacin: Goolge y Wikipedia. Comunidades: MySpace, Bloglines. Google, blogs, recomendaciones en base a algoritmos.

Conexin entre oferta y demanda

Filtros para la larga cola

Tabla 5: Ejemplos de aplicaciones de las fuerzas de la larga cola.

La necesidad de todas esas capacidades continuara creciendo. David Hornik indica que el verdadero dinero (en la larga cola) est en la agregacin y el filtrado, y esos sern interesantes negocios en el futuro. (94) Usar administracin de datos algortmica para que oferta y demanda se igualen : Hay una nueva frase que ya prcticamente se ha convertido en un refrn para quienes navegan en Internet: Los clientes que compraron esto tambin compraron X. Y es el claro ejemplo de la aplicacin de tcnicas algortmicas para ayudar a los consumidores a encontrar productos que apunten a su inters real, como en el caso que vimos de Amazon.com en el patrn aprovechar la inteligencia colectiva. A medida que el nmero de productos disponibles aumenta, este Ilustracin 34: Modos de listar noticias de tipo de filtros colaborativos se hace cada vez mas Clarin.com critico. Clarin.com aprovecha la sabidura de las Utilizar una arquitectura de participacin para que oferta y demanda se encuentren: Una arquitectura abierta de participacin puede cumplir un poderoso rol complementario a las ya mencionadas tcnicas algortmicas para alimentar de mejor manera las necesidades de los nichos. 84
multitudes filtrando las noticias en base al comportamiento de los usuarios.

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico

La filosofa La sabidura de las multitudes de James Surowiecki (95) est siendo aprovechada por empresas y productos de todo tipo como medio para filtrar y buscar en la larga cola. Capitalizar esta sabidura de las multitudes puede ir desde opiniones sobre productos hasta rankings de popularidad y otros puntos similares. Un ejemplo es el del peridico argentino Clarn, que en su sitio web ofrece filtros para sus usuarios, poniendo a su alcance las notas ms ledas, las ms recomendadas y las ms comentadas. Aprovechar el auto servicio de los clientes para alcanzar toda la red de manera costoefectiva: Al permitir que los usuarios administren sus propias cuentas les permite mayor control e informacin, reduciendo a la vez los costos de soporte al cliente que es una de las barreras ms grandes para el crecimiento escalable. Prcticamente todos los servicios de Google estn basados en este concepto de auto-servicio, al igual que el modelo planteado por los social media mencionados en muchos ejemplos anteriores. La misma estrategia puede ser aplicada para clientes de empresas y negocios: El nuevo producto de software como servicio Office Live de Microsoft sigue este modelo de autoservicio para alcanzar a los negocios pequeos y medianos de la larga cola. Aprovechar las ventajas del bajo costo de estar online: Los costos de produccin e inventario pueden ser mantenidos bajos al cumplir un rol de agregacin (por ejemplo, el caso de eBay) al utilizar modelos de envo (por ejemplo, Apple para por las canciones de iTunes luego de ser vendidas) y construccin en base a demanda (por ejemplo, la divisin BookSurge de Amazon que brinda a los usuarios servicios de publicacin y distribucin). Relacin con otros patrones: Modelos ligeros y escalabilidad costo-efectiva: Es posible ganar en base a los beneficios de la larga cola al utilizar modelos de negocios sindicados y bajos costos mantenidos. Modelos de precios escalables y elsticos permiten alcanzar ms mercados. Los datos son el prximo "Intel Inside: Poner a disposicin de los mercados los datos y contenidos implica hacerlo mediante pequeas cantidades de informacin. Por ejemplo, iTunes vende msica por canciones y no por discos enteros, y peridicos como el New York Times vende noticias individuales. Aprovechar la inteligencia colectiva: Utilizar la produccin por parte de los usuarios para aprovechar el potencial de la larga cola.

85

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico

3.7.8. Modelos ligeros y escalabilidad costo-efectiva


La escalabilidad en la Web 2.0 se aplica tanto a modelos de negocio como a la tecnologa. Los cambios en costos, reusabilidad, procesos y estrategia implican que se puede hacer mucho ms con mucho menos. Por tanto, adoptar una estrategia escalable y costo-efectiva que acompae a los modelos de negocio, modelos de desarrollo y tecnologa para entregar productos al mercado ms rpido y de forma ms econmica sin sacrificar crecimiento futuro. En la Web 2.0 los negocios deben escalar y por tanto tambin deben hacerlo las tecnologas que los implementan. Y al aplicar un estilo liviano y escalable muchos de los costos tradicionales y riesgos pueden ser reducidos. Es menor la cantidad de capital necesaria antes de ver el resultado de una inversin. Ya no son necesarios los grandes equipos de desarrollo de software para que las aplicaciones puedan tomar vida. Ya no son necesarios los grandes presupuestos de marketing para lograr llegar al pblico deseado y hacer conocer la empresa o producto. Y ya no es necesario construir todas las herramientas para comercio electrnico dentro de cada proyecto. Para entender esto podemos considerar los siguientes puntos: Todo va en camino a ser commodity: El hardware, el ancho de banda y el software tienen tendencias a reducir su costo a medida que se vuelven ms masivos, como est sucediendo. Reutilizacin: Software muy poderoso, como ser Linux, Apache, MySQL y PHP combinados con libreras muy completas de componentes pre codificados han hecho muy practica la creacin de sofisticados sitios en costos tiempos y presupuestos. Estrategia: Las lecciones de la burbuja .com de los aos 90 motivan formas orientadas al aprendizaje para la financiacin de nuevos negocios y el desarrollo de nuevos productos. Efectos de red: Efectos virales de boca-a-boca para el marketing y promociones combinan modelos de ingresos que crecen en cuanto ms gente los utiliza. Procesos: La adopcin de procesos de desarrollo agiles, ciclos de productos altamente iterativos y un compromiso ms fuerte con los clientes reduce costos, tiempos y riesgos. Es decir, el modelo actual de la web es lo pequeo es el nuevo grande (96). En muchos de los ejemplos analizados de social media hemos encontrado que este patrn es un pilar muy slido para el xito. Por ejemplo, el caso de Flickr que realiza mil transacciones por segundos y entrega 2 millones de imgenes utilizando menos de una docena de servidores de bajo costo mediante el aprovechamiento de software open source gratuito en cada capa de la plataforma, abarcando desde servidores web a bases de datos. Es la filosofa de Internet como una plataforma de desarrollo extendida a modelos de negocios. Analizamos a continuacin las prcticas que implican la aplicacin de este patrn: Escalar en base a la demanda: En una era guiada por los efectos de red, casi todo aspecto de un negocio y producto debera ser diseado para comenzar de forma pequea y luego escalar

86

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico en base a la demanda: el modelo de tecnologa, el modelo de ingresos, e incluso el modelo de recursos humanos. En el lado de la demanda del mercado las dinmicas esenciales de los efectos de red se estn haciendo ms prominentes: un crecimiento gradual con un punto de inflexin potencial en el cual se dispara un crecimiento exponencial. En el lado de la oferta, nuevas economas de bajo costo permiten una mayor flexibilidad a la hora de escalar en la tecnologa, el marketing y el personal. Digg, la comunidad de contenidos mencionada anteriormente que funciona como filtro a noticias y contenidos en Internet comenz en el 2004 con un presupuesto de dos mil dlares, un servicio de hosting de 99 dlares mensuales, software gratuito open-source y desarrolladores tercerizados de diez dlares la hora. En 2006, Digg ya estaba entregando a sus usuarios ms de 100 millones de pginas cada da y utilizando ms de 90 servidores, pero con solo 15 personas en su personal. (97) Sindicar los modelos de negocio: En la economa de red de Internet existe un ecosistema online de componentes modulares y modelos de negocios sindicados que permiten que las empresas construyan todo o parte de su negocio en base a componentes de otros. Por ejemplo, al insertar unas pocas lneas de cdigo en un sitio web es posible obtener ganancias mediante anuncios publicitarios, realizar transacciones de comercio electrnico, mostrar videos o imgenes, o realizar bsquedas en el sitio. No hace mucho este tipo de componentes hubieran requerido un gran esfuerzo, tiempo y costo para ser construidos. Un ejemplo que optimiza este modelo de sindicacin es el de Google adSense: los usuarios que desean mostrar contenidos publicitarios en sus sitios solo deben crear una cuenta en el servicio, y luego insertar unas pocas lneas de cdigo Javascript, y as comenzar a publicar anuncios que en base a su contexto, mostraran publicidades relevantes de distintos anunciantes, y todo en un par de minutos, sin una inversin inicial y sin conocimientos tcnicos.

Ilustracin 35: Ejemplo de Google adSense. El modelo sindicado de negocios adSense de Google permite que un usuario publique publicidad contextual en su sitio con solo insertar unas pocas lneas de cdigo JavaScript en unos pocos minutos, y sin necesidad de una inversin inicial ni conocimientos tcnicos ms all del de saber manejar su sistema de administracin de contenidos, como ser el caso del panel de administracin en un blog de Blogger.

87

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico Otro caso que mencionamos anteriormente es el de Amazon.com que realiza una sindicacin de su modelo de ventas online, mediante un modelo de afiliados que ya paso el milln de usuarios que reciben una comisin de ventas cada vez alguien realiza una compra en Amazon.com habiendo hecho click previamente en el sitio del afiliado. Es una buena idea entonces integrar el modelo de negocio de terceros en el modelo de negocios de un proyecto, y por supuesto, sera muy bueno sindicar el modelo del proyecto tambin hacia terceros. Tercerizar cuando es prctico y posible: A medida que ciertos tipos de tecnologas de informacin se convierten en servicios y estn disponibles para los usuarios, dejan de ser ventajas competitivas. Vemos que esto ocurre en muchos niveles desde la base de infraestructura para almacenamiento y procesamiento de datos hasta el desarrollo, prueba y administracin de operaciones de software. Esto implica que existen oportunidades para tercerizar de forma estratgica en cada uno de los niveles, y por tanto es muy raro el caso en el cual estos requerimientos deberan ser manejados como parte del desarrollo de un proyecto. Este tipo de prctica se aplica desde proyectos pequeos de dos personas hasta empresas multinacionales. Un ejemplo es en el caso de servidores para sitios y servicios online, donde encontramos el servicio de almacenamiento en base a demanda de Amazon S3 (Simple Storage Service) (98), en el cual los usuarios pagan por el servicio en base al nivel de consumo que tengan en cuanto a almacenamiento de datos y banda ancha, generando una gran flexibilidad para proyectos que comienzan pequeos y pueden crecer exponencialmente, sin tener que preocuparse por la infraestructura que los sostiene. Ms all del nivel de infraestructura, es recomendable evaluar cada aspecto del ciclo de vida de desarrollo y operaciones para determinar donde es posible tercerizar estas funciones no estratgicas, para poder dedicar ms tiempo y creatividad en las funciones del modelo de negocio del proyecto. Y la posibilidad de tercerizar servicios que brinda la globalizacin permite que servidos de desarrollo de bajo costo, soporte y operaciones estn disponibles para empresas de todos los tamaos. Proveer infraestructuras, funciones y experiencia a terceros: En el otro lado de la tercerizacin, es bueno capitalizar las nuevas oportunidades de proveer servicios para el siempre creciente grupo de necesidades no satisfechas en los diferentes niveles de infraestructura, funciones y experiencia. Si revisamos algunos de los ejemplos mencionados en el patrn de Los datos son el prximo Intel Inside tenemos el caso de MySpace, que se focaliza en manejar y mejorar sus habilidades como red social, tercerizando servicios especializados como ser el manejo de imgenes a empresas como Photobucket. Y el caso de YouTube que utiliza los servicios de

88

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico almacenamiento y ancho de banda de Limelight Networks para entregar los videos a sus usuarios. Nuevas empresas como ser 3Tera (99) estn buscando proveer web hosting virtualizado con estilo de auto-servicio diseado especficamente para empresas Web 2.0 pequeas y medianas. Escalar los modelos de precios e ingresos: Ahora que se provee el software cada vez ms como un servicio online y ya no como aplicaciones empaquetadas y versionadas, los modelos de venta y precios de algunos software tradicionales ya no son aplicables. En su lugar han surgido modelos ms escalables y flexibles. Las ms exitosas estrategias de ventas y ingresos no son aquellas basadas en un solo plan se ajusta a todos, sino que incorporan mltiples modelos de fuentes de ingresos y fijaciones de precios escalables y por niveles. As los ingresos y la fijacin de precios se alinean con los atributos principales de la Web 2.0: o Los efectos de red son alentados a travs de bajos costos y barreras bajas a la adopcin, proveyendo un camino de crecimiento. o La fijacin de precios bajos o incluso gratuitos aprovecha la larga cola al alentar la adopcin generalizada incluso para personas individuales o pequeas operaciones. o Los modelos de publicidad dan soporte a una estrategia de plataforma mediante el software como servicio, que es gratuito o de bajo costo para el usuario. o Mantener precios razonables para el usuario motiva la participacin, lo que genera un crecimiento fomentado, comunidades y finalmente, datos generados por el usuario como parte de una estrategia como la mencionada en el patrn de Los datos son el prximo Intel Inside.
Modelo de Ingresos Publicidad sindicada A favor Los usuarios obtienen contenidos y servicios gratuitos Servicios de bajos precios gratuitos motivan la adopcin. Los usuarios obtienen contenidos y servicios gratuitos Servicios de bajos precios gratuitos motivan la adopcin. Las publicidades pueden ser ms apropiadas para los contenidos y la audiencia. Simplicidad Modelo de ingresos recurrente Bajo costo o nulo inicial promueve la adopcin. En contra No siempre estn apuntados a mercados correctamente No son apropiados para todos los escenarios No tan escalable desde el punto de vista de la larga cola Ejemplos Publicidad contextual en base a texto de Google adSense.

Publicidad en base a sponsors

Publicidades variantes con relaciones directas entre publicitarios y publicadores. TechCrunch

Subscripciones

Los costos disuaden a algunos usuarios. Algunos usuarios (como ser departamentos IT de

Los servicios de Salesforce.com. Basecamp de 37signals. Muchos de los servicios Premium son ofrecidos

89

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico
Opciones de costos fijos o variables (en base al uso) empresas) prefieren modelos ms tradicionales como ser el de licencias. No aplicable para todos los modelos de negocios. como servicios de subscripcin escalables. Los programas de afiliados de Amozon.com y eBay.

Comisin por transacciones

Servicios Premium

Atado directamente a las acciones de los clientes. Permite que los usuarios (en este caso socios) compartan las ganancias. Opciones de mejoras atractivas para los usuarios gratitos o que consumen publicidades. El modelo ms tradicional y por tanto familiar a los usuarios.

Algunos clientes no estarn interesados en mejoras.

Licencias de productos

Menos flexibilidad y escalabilidad. No se aplica bien para el software como servicio.

Los servicios adicionales de impresin de fotografas de Flickr. Microsoft Office Live Programas tradicionales de escritorio como ser Microsoft office. Programas tradicionales para empresas como ser Oracle.

Fallar rpido, escalar rpido: Tener xito en Web 2.0 requiere innovacin, pero la innovacin implica riesgos. Para mitigar estos riesgos es necesario adoptar filosofas de fracaso rpido y escalado rpido que motiven nuevas ideas y experimentacin con estas, pero que reconozcan que la falla de proyectos es posible, y que cuanto ms rpido se genere una adaptacin al fracaso ms rpido se estar listo para encarar nuevos proyectos. La velocidad es crucial, tanto en la ejecucin como en la toma de decisiones. Disear para el escalamiento: La escalabilidad no es algo que sucede por accidente. Es necesario comenzar con decisiones tcticas y estratgicas que permitan el escalamiento a medida que el negocio o el producto crece: o La simplicidad escala: El crecimiento rpido es fomentado al esquivar soluciones complejas, particularmente en tecnologas y diseos. o El auto-servicio escala: Como muchos negocios que aprovechas la larga cola lo demuestran, dar el poder a los usuarios de auto gestionarse les da mayor control y simultneamente mantiene bajos los costos operativos y de soporte. El impacto de esto es amplificado a medida que se genera el crecimiento. o Sistemas emergentes escalan: La bsqueda de Google entrega resultados emergentes a medida que los usuarios de Internet generan contenidos y los vinculan mediante links. El modelo de eBay tambin facilita la emergencia. Wikipedia escalo a ms de un milln de artculos (10 veces el tamao de la Enciclopedia Britnica) en base a su diseo abierto, descentralizado y emergente. Relacin con otros patrones: Beta perpetuo: El desarrollo de procesos y herramientas agiles y livianas complementan a modelos de negocios livianos. 90

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico Innovacin en el ensamblaje: Las plataformas facilitan el escalamiento y motivan a otros a hacer trabajos e innovaciones que aportan al proyecto.

3.7.9. Resumiendo los patrones de diseo


Es complicado poder mantener una visin clara de los patrones de diseo en un primer momento. Para ayudar en esto podemos tomar como referencia la siguiente tabla adaptada de la publicacin de Web 2.0 Principles and Best Practices en base al desarrollo de este trabajo:
Patrn Aprovechar la inteligencia colectiva. Trminos relacionados Arquitectura de participacin Los usuarios agregan valor Efectos de red Creacion colectiva Ejemplos Wikipedia Flickr Amazon Delicious Technorati Practicas Pagar al usuario primero. Activar los efectos de red por defecto. Involucrar a los usuarios implcita y explcitamente. Proveer un contexto significativo para la creacin. Confiar en los usuarios. Disear software que es mejor a medida que ms gente lo usa. Buscar poseer fuentes de datos nicas y difciles de recrear. Mejorar los datos bsicos. Los usuarios controlan sus propios datos. Algunos derechos reservados, no todos. Definir una estrategia de pila de datos. Ser dueo del ndice o del formato. Disear los datos para su reutilizacin. Tercerizar o proveer administracin al acceso de datos. Ofrecer APIs de los servicios. Disear para la reutilizacin. Aplicar las mejores prcticas en APIs. Usar los estndares existentes: Construir los modelos de negocios en las APIs. Usar Web 2.0 para dar soporte a la plataforma. Ser cliente de su propia plataforma. Direccionamiento granular de contenidos. Utilizar su plataforma para construir la confianza y lealtad de los clientes. Aprender de cmo los clientes reutilizan los servicios. Combinar lo mejor de las experiencias de escritorio y online. Usabilidad y simplicidad primero. Alcanzar los requerimientos de los usuarios. Priorizar la bsqueda sobre la estructura. Mantener el direccionamiento de los contenidos. Personalizacin profunda y adaptativa. Disear desde un primer momento para compartir datos entre dispositivos, servidores y redes.

Los datos son el prximo "Intel Inside.

Estrategia de datos. Creative Commons

Amazon eBay NAVTEQ Craigslist YouTube Buscador de Google Technorati LinkedIn Google Maps Twitter Amazon Facebook Eventful Flickr HousingMaps

Innovacin en el ensamblaje.

La Web como plataforma. Mashups. Remezcla Pequeos pedazos dbilmente acoplados. APIs REST y SOAP.

Experiencias de usuario ricas.

Aplicaciones de Internet Enquiquecidas Ajax

GMail Google Docs Google Analytics Google Maps YouTube

Software ms all de un solo

Computacin 26 ubicua

iTunes TiVo eBay

26

Integracin de la informtica en el entorno de la persona, de forma que los ordenadores no se perciban como objetos diferenciados. http://es.wikipedia.org/wiki/Computaci%C3%B3n_ubicua

91

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico
dispositivo. SCANBUY TN y la Gente Shozu Intelisync Estar atentos a la locacin. Extender la Web 2.0 a los dispositivos. Usar el poder de las redes para hacer los dispositivos ms inteligentes. Aprovechar los dispositivos como fuentes ricas de datos y contenidos. Considerar un-click-por-produccin como prioridad. Permitir la independencia de ubicacin de los datos. Liberar temprano y rpido. Hacer participar a los usuarios como codesarrolladores y probadores en tiempo real. Instrumentar los productos. Crear nuevos productos de manera incremental. Hacer que las operaciones sean una habilidad principal. Usar herramientas y lenguajes dinmicos. Construir en base a las fortalezas de la larga cola. Usar administracin de datos algortmica para que oferta y demanda se igualen. Utilizar una arquitectura de participacin para que oferta y demanda se encuentren. Aprovechar el auto servicio de los clientes para alcanzar toda la red de manera costo-efectiva. Aprovechar las ventajas del bajo costo de estar online. Escalar en base a la demanda: Sindicar los modelos de negocio. Tercerizar cuando es prctico y posible. Proveer infraestructuras, funciones y experiencia a terceros. Escalar los modelos de precios e ingresos. Fallar rpido, escalar rpido. Disear para el escalamiento.

Beta perpetuo.

Fin del ciclo de adopcin de software Software como servicio Desarrollo 2.0 Extreme 27 Proggraming Micro-mercados Sabiduria de las masas

Google Flickr Amazon Basecamp

Aprovechar la larga cola.

Amazon eBay adWords iTunes Office Live

Modelos ligeros y escalabilidad costo-efectiva.

Sofware y hardware de tipo commodity. Ecalabilidad

37Signals adSense Digg Amazon S3 Flickr Photobucket Limelight

Tabla 6: Resumen de los patrones de diseo

3.8.

Tecnologas para Web 2.0

Implementar proyectos en base a lo planteado sobre la tendencia Web 2.0 implica desarrollar modelos, estrategias y tcticas en base a la aplicacin de los patrones y mejores prcticas que hemos mencionado anteriormente, dejando en un plano secundario a las tecnologas que les dan soporte y base. Pero por supuesto, es imposible crear una pirmide como esta si no hay una base solida. Por tanto, en esta parte del marco terico vamos a acercarnos a la parte tcnica que implica el enfoque Web 2.0. En su libro Unleashing Web 2.0: From Concepts to Creativity (100) los autores comentan sobre la tendencia Web 2.0 y referencian a las definiciones creadas por OReilly, buscando comprender

27

Metodologa gil de desarrollo de software que ser analizada posteriormente.

92

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico a la tendencia mediante la exploracin y la observacin critica de los desarrollos que han sido atribuidos a la Web 2.0 en base a puntos de vista tcnicos y de negocios. Esta parte del marco terico tomara una fuerte base en esta publicacin, y haremos un hincapi fuerte en el primero de estos dos puntos de vista, ya que hemos cubierto el segundo mayormente con los patrones de diseo Web 2.0 publicados por OReilly. Este anlisis tcnico permite reconocer diversas lneas de desarrollo cuyo punto final es la Web 2.0, pero cuyas races pueden ser claramente reconocidas y registradas. Muchos sitios y servicios que se analizan en este proyecto existen desde antes que surgiera el concepto Web 2.0, por lo que notaremos que estos no son el resultado, sino partes de los origenes, es decir, sitios y servicios que sentaron las bases y han sido lderes en esta tendencia. Podemos comenzar con una perspectiva histrica, analizando como surgi inicialmente Internet, observando los avances tecnolgicos que sentaron el camino para que esta red logre el alcance actual. A continuacin observaremos los avances en las tecnologas de Internet, haciendo nfasis en los lenguajes, formatos y estndares que hay sido desarrollados en aos recientes. Luego observaremos los ncleos de Web 2.0, los mecanismos tcnicos como ser las APIs, las llamadas de procedimientos Web, los mashups, las aplicaciones de internet enriquecidas y el uso de tags y folksonomias. Fianlmente realizaremos un analisis de procesos utilizados para desarrollo web.

3.8.1. Las bases de Internet


3.8.1.1 El modelo Cliente-servidor, protocolos y navegadores. Si bien Internet ya ha sido utilizada desde los ltimos aos de los 70 de divers as formas como ser la transmisin de archivos y correo electrnico, se presento un punto de inflexin que libero el potencial de esta infraestructura de red, y fue el surgimiento de un nuevo servicio. Este permita el envo de archivos escritos en el lenguaje HTML (Hypertext Markup Language), y mediante el uso de una aplicacin denominada navegador instalada en una maquina local era posible interpretar este archivo de forma grafica. El navegador Mosaic del ao 1993 fue el primer navegador grafico, y contaba con las caractersticas de acceder a datos utilizando Internet, el protocolo FTP, u otros servicios de Internet, y la renderizacion de HTML y por supuesto, funcionaba basado en el principio de clienteservidor, que todava es la base de Internet. Si bien el concepto es bsico para el alcance del proyecto, es necesario refrescar brevemente algunos detalles de este, ya que servir de fundamento para temas futuros. Bsicamente, los clientes requieren servicios, y los servidores los brindan. Cuando un cliente quiere un servicio como ser el acceso a una base de datos, enva una peticin al servidor correspondiente. Este procesa la peticin y devuelve el resultado al cliente.

Ilustracin 36: Interaccin entre cliente y servidor. La interaccin bsica de Internet entre navegadores y servidores web est basada en el modelo de red clienteservidor.

93

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico Este esquema analizado con ms detalle por otros autores (ej, Tanenbaum), se ha vuelto extremadamente exitoso en las aplicaciones de software, y como mencionamos anteriormente es la base de las interacciones entre navegadores y un servidor de Internet. Una caracterstica de este concepto es que comnmente funciona de manera sincrnica: Mientras el servidor est procesando el pedido, el clientes estar inactivo y en modo espera. Una vez que la respuesta llega el cliente continuara su accin. Por ejemplo, si el cliente ha pedido una pgina en la cual parte de la informacin depende de una base de datos, la pgina no puede ser completada hasta que toda la informacin ha sido procesada. Esto ha sido lo ms comn en el contexto de Internet hasta no hace mucho tiempo. Dos estndares fueron la base para el impulso de Internet: el mencionado HTML (Hypertext Markup Language) y el protocolo HTTP (Hypertext Transfer Protocol) que es utilizado para realizar las llevar las peticiones del cliente al servidor y para llevar las respuestas del servidor al cliente. As, da la base para el modelo cliente-servidor en Internet, y como veremos, esto se ha modificado solo levemente desde la llegada de los servicios web. Por su parte HTML se ha vuelto una herramienta muy exitosa para publicar contenidos e informacin en Internet, ya que es un lenguaje simple que no necesita un amplio conocimiento de programacin para ser comprendido en sus niveles ms bsicos, y tambin su alta tolerancia a fallas, ya que en caso de surgir errores en el cdigo, estos sern simplemente ignorados en general. Como consecuencia de los primeros indicios del poder de Internet, comenzaron a surgir nuevos navegadores inicindose as una gran lucha sobre estos por parte de empresas como Netscape que lanzo su Netscape Navigator en Octubre de 1994 en base al proyecto original de Mosaic y Microsoft que lanzo su Microsoft Explorer en Agosto de 1995, en versiones muy lejanas de navegadores con capacidades de las que presentan los de hoy en da. Esa batalla fue finalmente ganada por Microsoft, pero luego surgieron otros que tomaron fuerza, como ser el caso de Mozilla Firefox. En estas etapas tempranas Netscape introdujo algunos concepto que potenciaron el poder de Internet,( como ser cookies, nuevas capacidades de HTML como ser los marcos y ms tarde el lenguaje Javascript) siendo que posteriormente algunas de estas innovaciones se convirtieron en estndares mediante organizaciones como ser W3C (Workd Wide Web Consortium) y ECMA (European Computer Manufacturers Association). 3.8.1.2. Vnculos y bsquedas La base de la popularidad de Internet en un comienzo puede ser considerada la posibilidad de que una pgina o un documento HTML contenta hipervnculos o simplemente vnculos, que son referencias a otras pginas (en otros sitios o en el mismo sitio). Este concepto rompe la linealidad de lectura tradicional presentada en los textos. A gran escala, podemos decir que Internet es una gigantesca coleccin de documentos conectados por hipervnculos y esto puede ser percibido desde un punto de vista ms tcnico como un grafico en el cual los documentos HTML individuales son nodos unidos por los vnculos.

94

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico Estos vnculos estn compuestos por un nombre y una URL (Universal Resource Locator, que es la direccin lgica de una pgina web). Cuando el usuario hace click en un vnculo, el navegador contacta al servidor web correspondiente a esa URL a travs de un conjunto de protocolos que entre otras funciones, cumplen la resolucin de nombres de dominios28. Estos vnculos son los que permiten la navegacin a travs de Internet, y la idea bsica de esto es que si algo que el usuario est buscando no se encuentra en la pagina donde esta, puede utilizar un vinculo para dirigirse a otra donde Ilustracin 37: Modelo simple de pginas y vnculos. encontrara informacin ms relevante o incluso vnculos que lo lleven a otros lugares donde Podemos pensar a Internet como un conjunto de nodos (pginas web) conectados (mediante los encontrar dicha informacin. Sin embargo, los vnculos). vnculos no necesariamente apuntan a otras pginas, sino que tambin pueden dirigirse a otros lugares dentro de la misma pgina.29 Volviendo a la idea del grafico de nodos, podemos decir que en la actualidad es extremadamente grande, conteniendo estimativamente ms de diez mil millones de nodos. Seguir vnculos implica crear caminos en el grafico (secuencias de nodos que se siguen). Sin embargo, es interesante destacar que estos caminos no se generan de una forma aleatoria, sino que en general representan la bsqueda de un trmino o una combinacin de trminos contenidos en un nodo. Es decir, estos caminos representan un patrn de conducta en el usuario. Ahora, este grafico es dinmico, cambiando constantemente y por lo tanto hacindose imposible conocerlo completamente. Por lo cual no es posible realizar bsquedas de manera comprensiva, ya que no hay indicadores de cuan larga una bsqueda debera ser, o por cual camino debera seguir. Otra cosa destacable es que los contenidos de Internet no estn totalmente interconectados. En (101) se realizo un estudio en el cual el grafico tena una forma similar a la de un moo, con diversos componentes: Un ncleo central que contena paginas entre las cuales los usuarios podan navegar con gran facilidad. Otro gran grupo, llamado de entrada que contena paginas que apuntaban al ncleo pero que no podan ser alcanzadas desde este.

28

Esto se refiere a traducir la direccin lgica (URL) a una direccin fsica (IP) para hacer posible la conexin al servidor web.
29

Un anlisis ms tcnico sobre navegacin puede ser encontrado en (102).

95

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico Un tercer grupo grande llamado de salida, con pginas que podan ser alcanzadas desde el ncleo pero que no vinculaban hacia este. Y finalmente, un grupo ms pequeo de pginas que si bien interconectaban entre s, no tenan vnculos hacia el ncleo, e incluso podan encontrarse paginas totalmente desvinculadas. Como consecuencia de esto, un Ilustracin 38: Modelo tipo moo de pginas y vnculos. usuario quizs no pueda encontrar un El grafico de Internet puede ser considerado en forma de moo, camino entre dos pginas elegidas al contando con 4 grupos de pginas. azar, debido a la posibilidad de que no estn interconectadas. 3.8.1.3. La exploracin y bsqueda en Internet. Como consecuencia de lo anterior, Internet depende de la exploracin, como ser la progresin en caminos o secuencias de nodos sin objetivos predeterminados. Este concepto tiene una perspectiva extremadamente prctica, en cuando a cmo encontrar informacin en este hiperespacio o como lograr comprender este grafico tan grande y dinmico para una aplicacin o uso en particular. Aqu es donde es necesaria la actividad de bsqueda. Los motores de bsqueda son la herramienta ms importante que existe para encontrar informacin en Internet. En la ltima dcada se presento una fuerte lucha sobre el dominio del mercado de estas herramientas, siendo en la actualidad el motor de bsqueda Google el lder del mercado, en base a su algoritmo de bsqueda y sus prcticas. La bsqueda es algo que se ha vuelto generalizado, y hoy en da los usuarios realizan bsquedas en motores de bsqueda Ilustracin 39: Motor de busqueda. mediante un grupo de palabras, observando luego una pequea Un motor de bsqueda est compuesto tpicamente por tres componentes:
un rastreador, un indexador y un servidor.

96

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico porcin relevante de los comnmente miles o millones de pginas que pueden contender esos trminos, segn el criterio del motor de bsqueda. Y a su vez, se realizan bsquedas directamente dentro de sitios o en grupos de sitios especficos, ya que podemos hablar del caso mencionado de Technorati, un buscador especficamente de blogs. Desde una perspectiva tcnica, un motor de bsqueda est basado en tcnicas de obtencin de informacin (102) y tiene tres componentes principales: un rastreador, un indexador y servidor. El rastreador explora Internet por distintos caminos, realizando copias de las pginas y entregndoselas al motor de bsqueda para que las analice (revisitando las paginas cada cierto intervalo de tiempo). Este anlisis es realizado por el indexador, que extrae trminos de las pginas y las inserta en una base de datos (el ndice). Cada trmino es asociado con el documento original correspondiente y su URL. Finalmente, el servidor es el que responde a las consultas de los clientes. Cuando un usuario realiza una bsqueda sobre algn trmino en especial, el indexador devolver un determinado nmero de pginas que pueden ser relevantes, y estas son ordenadas por el servidor, donde la idea es siempre mostrar los resultados ms relevantes primero. Y en este punto de que es lo relevante es donde se encuentra lo ms complejo. 3.8.1.4. PageRank La popularidad de Google se debe a que la empresa desarrollo una forma innovadora de realizar las bsquedas en base a trminos y de asignar relevancias a los resultados. Andes de que este enfoque fuera aplicado, los motores de bsqueda simplemente devolvan un listado de resultados en los cuales los trminos aparecan, y el usuario deba investigar sobre la relevancia de estos. El cofundador de Google Larry Page tuvo la idea de que no todos los resultados de una bsqueda eran igualmente relevantes, por lo que sugiri que era necesario aplicar un ranking de relevancia a estos resultados, y para esto desarrollo junto a Sergey Brin en la Universidad de Stanford un algoritmo al que llamo PageRank que utiliza una formula recursiva para calcular el ranking (103). Monika Henzinger, antigua directora de investigaciones de Google explico la idea del algoritmo de la siguiente manera: Consideremos el caso de un doctor. Cuanta ms gente recomiende al doctor, mejor se supondr que este doctor es. Esto es similar al caso de un ranking de las pginas web: cuantas ms paginas contengan links a una pgina p, mayor ser el ranking de la pagina p. Sin embargo, la calidad del doctor tambin depende de la calidad de la persona que lo recomienda. Hace una diferencia si la referencia proviene de un colega, o de un vendedor, o de la industria farmacolgica. Si el doctor es recomendado por otro doctor, esa recomendacin contara al 100%, la recomendacin de una enfermera sin educacin profunda sobre medicina contara solo un 60%, la de un paciente un 20%, y la de un vendedor (que tiene un inters muy distinto al de un doctor) contara un 0%. El principio detrs de esto (tambin encontrado en citaciones cientficas clsicas) es as basado en la idea de observar a los links que van apuntados hacia la pagina p para calcular el ranking de p, pero hacerlo de una manera recursiva aplicando el mismo concepto de ranking a todas las pginas de donde emergen estos links.

97

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico Al pasar los aos el algoritmo agrego muchos otros criterios aparte de los arriba comentados para mejorar los resultados de las bsquedas30. Es importante recordar el concepto analizado previamente de la larga cola, y comprender que se aplica de forma directa sobre las bsquedas de Internet, ya que la mayora de las consultas a motores de bsqueda son sobre termino poco frecuentes, es decir, la mayor parte estn en la larga cola. Si bien el algoritmo puede perfeccionarse constantemente agregando criterios ms complejos, es muy difcil llegar a igualar la capacidad de una persona: aplicar intuicin, experiencia, razonamiento y conocimiento de un dominio o tema en particular a los resultados de una bsqueda, con el objetivo de diferenciar cuales son buenos resultados y cules no. Esto demuestra que existe un gigantesco lugar para la mejora continua en el campo de la bsqueda en Internet31. Los algoritmos deben aprender ms aun de los procesos de bsqueda que surgen del comportamiento de los usuarios. Ms all del concepto de la bsqueda basada en trminos, existen otras ideas en base a bsquedas de textos, interpretacin de textos, asociaciones de palabras o taxonomas aplicadas al campo de la bsqueda en Internet, y en el caso de la Web 2.0 estn surgiendo conceptos revolucionarios que analizaremos luego.

3.8.2. Estructura, presentacin y contenidos.


.Como se menciono anteriormente, as como el hardware necesario para dar soporte a proyectos de Internet se ha vuelto de tipo commodity, los costos en el rea de la tecnologa del software se han reducido significativamente, y una manifestacin de esto es el caso de LAMP: un acrnimo comn para referirse al desarrollo de software en base al uso de herramientas open source, utilizando a Linux como Sistema operativo, Apache como servidor web, MySQL como base de datos y PHP como lenguaje de programacin. 3.8.2.2. HTML Tambin se menciono al lenguaje HTML como el lenguaje predominante en el desarrollo de pginas web, proveyendo capacidades para estructuras basadas en texto denotando tablas, pargrafos, listas entre otras opciones, complementando estos textos con formularios, imgenes, links y por tanto, interaccin en base a una estructura de elementos llamados tags o markups (cuya traduccin seria mrgenes). Estos siguen algunas reglas sintcticas simples, y son utilizadas para describir tanto el contenido como la presentacin de un documento. Veamos un ejemplo de una pgina HTML, aplicada para mostrar unos elementos de un catalogo de DVDs.

30

Podemos encontrar un anlisis ms detallado de los aspectos algortmicos y matemticos detrs de PageRank en (134).
31

Para informacin actualizada sobre motores de bsqueda es posible consultar http://searchenginewatch.com/.

98

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional// http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>Catalogo de DVD</title> <meta name="author" content="Juan Ortiz"> </head> <body> <h1>Catalogo de DVD</h1> <table width="500"> <tr> <td bgcolor="silver"> <b><a href="http://www.imdb.com/title/tt0298228/">Le Fabuleux destin d'Amlie Poulain</a></b> (2001) </td></tr> <tr><td>Director: Jean-Pierre Jeunet</td></tr> <tr><td>Actores: Audrey Tautou</td></tr> <tr> <td bgcolor="silver"> <b><a href="http://www.imdb.com/title/tt0120737/">The Lord of the Rings: The Fellowship of the Ring</a></b>(2001) </td></tr> <tr><td>Director: Peter Jackson</td></tr> <tr><td>Actores: Elijah Wood, Ian McKellen</td></tr> </table> </body> </html>

Este cdigo nos dara como resultado lo siguiente, al ser guardado en un archivo de extensin .html y ejecutado en un navegador:

Ilustracin 40: Ejemplo de uso de HTML.

Como vemos existe una gran variedad de tags en HTML, y estos son utilizados para indicar que ciertos pedazos de cdigo tienen un significado semntico especial, y estos tags son definidos en el estndar de HTML que se est utilizando. Si notamos la primera lnea del cdigo, ah se indica que se est utilizando HTML 4.01 Transitional, una versin introducida por el W3C en 1999, existiendo diversas especificaciones hoy en da, pero siendo esta una de las ms comunes. Esto es llamado el DTD (Document Type Definition), y en la misma lnea se indica la URL donde pueden encontrarse los detalles de la especificacin incluyendo los tags validos y la forma de utilizarlos.

99

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico Observemos brevemente algunos de los tags utilizados, encontramos que el documento HTML est compuesto por una cabecera y un cuerpo, delimitados por los tags <head></head> y <body></body>, indicando que todo lo contenido entre estos tags pertenecer a esos bloques y por tanto tendr las propiedades correspondientes. Los datos de cabecera son no son en general mostrados en el navegador directamente, sino que contienen el titulo del documento, que ser mostrado en el titulo del navegador, metadatos (como ser en este caso, el autor del documento), y otros tipos de tags que comentaremos ms adelante. En el cuerpo se da la estructura y los contenidos que sern mostrados en el navegador. Podemos ver que se estrutura la pagina con un titulo (entre tags <h1></h1>) y una tabla (entre tags <table></table> con la propiedad de ancho de 500 pixels) que contiene los elementos del catalogo, divididos en columnas (entre tags <tr></tr>) y filas (<td></td>, algunas con un color gris de fondo). A su vez, encontramos textos y links, teniendo los links la estructura <a htref=URL>TEXTO</a>. Esto es suficiente para lograr comprender el concepto de los tags mnimamente y de cmo el HTML se utiliza. 32 La mayor parte de los tags del ejemplo anterior son utilizados para denotar la estructura del documento (como ser tablas, filas o links). Encontramos tambin tags como ser el caso de <b></b>, que indica que una porcin de texto deber ser mostrada en negrita, por tanto definiendo la forma en la cual el contenido es presentado. Otros elementos en algunos tags como ser width de una tabla o bgcolor son llamados propiedades, y definen tambin como el contenido es mostrado, sin necesariamente hablar de la estructura. Estos son llamados tags y atributos de presentacin. A su vez, encontramos elementos como ser los textos y las URLs, que tampoco hablan de estructura o de presentacin, sino que son contenidos. Es decir, podemos encontrar tres tipos de elementos que podran ser considerados independientes en su naturaleza. La separacin de la estructura, presentacin y contenido se ha convertido en un tema de inters cuando las pginas web comenzaron a ser diseadas para utilizarse y visualizarse en ms y ms dispositivos (computadoras, telfonos mviles, etc.) ya que cada tipo de dispositivo tiene sus propias capacidades, caractersticas y restricciones por lo que necesitaran distintas formas de estructura y presentacin para mostrar los contenidos. Y adems, el HTML de las pginas es prcticamente generado en todos los casos de manera dinmica por aplicaciones, siendo muy extrao el caso en que se utilicen archivos de texto estticos, y la separacin de estos tipos de elementos dara lugar a la reutilizacin: en base a una estructura, pueden aplicarse distintas formas de presentacin, y a su vez mostrar distintos tipos de contenidos. Ms adelante notaremos formas para lograr esta separacin, pero podemos mencionar un pequeo ejemplo aunque an no hemos desarrollado la teora completamente: Los contenidos
32

Podemos encontrar ms detalles del lenguaje en (135).

100

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico puros podran estar almacenados en una base de datos. Podramos tener distintas formas de presentacin, guardadas en distintos archivos CSS (Cascading Style Sheet), distintas estructuras en diferentes archivos de tamplate, y a su vez una aplicacin en un lenguaje de servidor como ser PHP sera la encargada de tomar los datos de la base de datos, introducirlos en una estructura y aplicarles el estilo correspondiente, devolviendo al cliente un archivo HTML generado de forma dinmica especficamente por ejemplo, para ser utilizado en un dispositivo mvil contemplando sus caractersticas y limitaciones. 3.8.2.3. XML Los tags de HTML estn predefinidos, y si bien hay formas de utilizar tags adicionales (por ejemplo, embebiendo lenguajes de scripting) en general no pueden ser definidos por el usuario. Esto es diferente en el caso de XML (Extensible Markup Language), lenguaje en base a tags que da soporte a una gran variedad de aplicaciones y que no tiene ningn tipo de tags predefinidos, sino que se basa en las definiciones del programador, por lo que es considerado un meta lenguaje. 33 El estndar XML ha sido ampliamente en los ltimos aos, siendo uno de los pilares de las tecnologas de Internet. Es un subgrupo simplificado del SGML (Standard Generalized Markup Language) y es ampliamente utilizado para compartir e integrar informacin entre aplicaciones. Los lenguajes basados en XML son a su vez razonablemente legibles y entendibles para el humano, ya que los tags para cada caso son en general elegidos de tal forma que mantengan una relacin con el contenido que encierran dentro de un documento. Desde que fue lanzado en 1995, se han desarrollado muchos lenguajes en base a XML, pudiendo ser clasificados principalmente en los orientados a aplicaciones y los orientados a tecnologa. A continuacin mencionaremos algunos que se encuentran en esta ltima categora, como ser XHTML, SOAP WSDL, RSS y ATOM, pero ms adelante veremos algunos de aplicaciones como ser RDF y OWL. Con el objetivo de validar, procesar y transformar documentos XML, se han desarrollado una gran variedad de herramientas, pudiendo mencionar archivos DTD (Document Type Definition) o archivos XSD (XML Schema Definition) para las especificaciones, lenguajes de consulta como ser XPath y XQuery, y lenguajes de transformacin como ser XSL y XSLT. Estos junto a XML forman la base tecnologa para los Existen diferentes componentes relacionados al XML. Aqu lenguajes mencionados anteriormente. podemos ver algunos de estos.

33

Podemos encontrar ms informacin sobre las recomendaciones de tags en el sitio de W3C (http://www.w3.org/MarkUp/#recommendations) e informacin detallada sobre XML en (136).

101

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico Existen tambin plataformas enteras basadas en XML, como ser BizTalk, RosettaNet y ebXML que utilizan herramientas y lenguajes para especificar proceso de negocios y documentos. Los documentos de XML deben estar bien formados, es decir, cada tag debe tener apertura y cierre en el mimo nivel. Es por esto que los documentos se estructuran en arboles, y una serie de caractersticas de XML se derivan de esto. Por ejemplo, la bsqueda de un tag especfico en un documento se basa en buscar el camino en la estructura de nodos del rbol. Podemos decir que los tags definen elementos. Podemos ver un ejemplo de un cdigo XML aplicado para el caso anterior del catalogo de DVD.
<?xml version="1.0" encoding="UTF-8"?> <DVDCatalog> <Title>Catalogo de DVD</Title> <DVD category="Comedy" language="fr"> <Title>Le Fabuleux destin d'Amlie Poulain</Title> <IMDBLink>http://www.imdb.com/title/tt0298228/</IMDBLink> <ASIN>B0000A02Y4</ASIN> <Director> <Person> <Firstname>Jean-Pierre</Firstname> <Lastname>Jeunet</Lastname> </Person> </Director> <Actors> <Person> <Firstname>Audrey</Firstname> <Lastname>Tautou</Lastname> </Person> </Actors> <Year>2001</Year> </DVD> <DVD category="Fantasy" language="en"> <Title>The Lord of the Rings: The Fellowship of the Ring</Title> <IMDBLink>http://www.imdb.com/title/tt0120737/</IMDBLink> <ASIN>B00005U515</ASIN> <Director> <Person> <Firstname>Peter</Firstname> <Lastname>Jackson</Lastname> </Person> </Director> <Actors> <Person> <Firstname>Elijah</Firstname> <Lastname>Wood</Lastname> </Person> <Person> <Firstname>Ian</Firstname> <Lastname>McKellen</Lastname> </Person> </Actors> <Year>2001</Year> </DVD> </DVDCatalog>

102

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico Podemos ver que la estructura del documento est bien formada, y notamos que si bien no hay semntica definida para los elementos, el documento es fcil de entender para un lector humano, lo que es visto como una de las ventajas del XML. Aqu el elemento catalogo contiene dos elementos DVD, pudiendo ver claramente sus elementos titulo, director, actores y ao. Los documentos XML pueden ser restringido en el uso de los esquemas de formatos, definiendo estos cuales elementos pueden ser usados en un documento, que atributos pueden tener, y como los elementos deben ser anidados. Continuando con nuestro ejemplo, vamos a restringir que un catalogo pueda solamente contener DVDs, a travs de la especificacin del esquema en un archivo DTD.
<!ELEMENT <!ELEMENT <!ATTLIST <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT DVDCatalog (Title, DVD+)> DVD (Title, IMDBLink, ASIN, Directors, Actors, Year)> DVD category CDATA #REQUIRED language CDATA #REQUIRED> Director (PERSON)> Actors (PERSON+)> Person ((Lastname, Firstname) | (Firstname, Lastname))> IMDBLink (#PCDATA)> ASIN (#PCDATA)> Title (#PCDATA)> Year (#PCDATA)> Lastname (#PCDATA)> Firstname (#PCDATA)>

En este documento DTD indicamos que como un subelemento de DVDCatalog, un documento vlido debe tener un titulo y al menos un DVD (indicado con el signo +). A su vez, un DVD debe tener ttulo, el link de IMDB.com, el ASIN (Amazon Standard Identification Number, posteriormente utilizaremos este dato), directores, actores y ao. Los DVDs tambin pueden tener atributos, pueden o no tener director, deben tener al menos un actor, y cada uno de los valores es del tipo PCDATA (Parsed Character Data). Podemos notar que el elemento persona consiste en dos subelementos nombre y apellido. Podemos verificar claramente que el documento XML del catalogo cumple con este DTD. Como mencionamos anteriormente, existen muchos lenguajes basados en XML, y son especificados utilizando DTDs. Un ejemplo de esto es XHTML 34 (Extensible Hypertext Markup Language), que es una reformulacin de HTML en un formato XML. Es llamado extensible porque utiliza la construccin de nombres de dominio35 de XML para permitir que otros lenguajes basados en XML puedan ser incluidos en el cdigo. En nuestro ejemplo hemos elegido los nombres de los elementos y sus atributos, para dar una estructura de datos para nuestro catalogo, hacindola coincidir con la informacin que queremos almacenar en el documento. Sin embargo, no hemos dado instrucciones de cmo debe ser
34

Podemos encontrar informacin sobre el DTD de XHTML en (137) y ms sobre el lenguaje en (135).

35

Hablaremos ms sobre nombres de dominio de XML ms adelante, cuando tratemos el tema de Web services.

103

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico representada esta informacin, logrando la separacin de contenidos que habamos mencionado antes. Un navegador por lo tanto no sabr cmo interpretar este documento como una pgina web. Ms adelante veremos cmo podemos agregar informacin de presentacin a un documento XML, y como la misma tcnica puede ser utilizada para dar formato al contenido de un documento HTML con los archivos de estilo. 3.8.2.4. CSS Los estilos CSS (Cascading Style Sheets) permiten la definicin de estilos para elementos de documentos estructurados. Esto implica que es posible aplicar CSS36 a archivos XML y HTML. Vemos a continuacin un ejemplo de ambos casos. 3.8.2.5. CSS y XML Como mencionamos antes, los documentos XML no tienen una semntica predefinida, y por tanto los navegadores no saben cmo interpretarlos. Utilizando CSS podemos definir la forma en deben ser presentados los elementos. Veamos un ejemplo para el caso del catalogo:
DVDCatalog { display: block; margin: 5px; width: 500px; } Title { display: block; padding: 0.1em; margin-top: 0.1em; } DVDCatalog > Title { font: bold large sans-serif; text-align:center; } DVD > Title { font: large sans-serif; background-color: silver; } DVD { display: block; font: normal medium sans-serif; } Person { display: inline; } Director > Person:before { content:"Director: ";

36

En los puntos siguientes mostraremos solo algunas aplicaciones de CSS con poco detalle. Para ms informacin es posible consultar (138).

104

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico
} Actors:before { content:"Actores: "; } Actors { display: block; } Year { display: none; IMDBLink, ASIN{ display: none; }

Como podemos notar, el archivo consiste de secciones de la forma selector {propiedad:valor;}. . Pueden incluirse muchos pares de propiedades y valores dentro de las llaves, y el significado de la seccin de un selector es el siguiente: Todos los elementos que son del tipo selector sern mostrados utilizando las propiedades y valores incluidos en las llaves. En el cdigo mostrado anteriormente, la primera seccin define las reglas para el elemento DVDCatalog. Donde sea que ese elemento sea encontrado, se mostrara como un bloque de 500 pixeles de ancho y un margen de 5 pixeles en todas las direcciones. La segunda seccin define las reglas para Title en una forma similar, y notamos que este se aplica para todos los ttulos, es decir, los el titulo del catalogo y los ttulos de los DVD. Pero para diferenciar a estos dos, las secciones 3 y 4 tienen selectores un poco ms avanzados, como ser DVDCatalog -> Title indica el titulo correspondiente al catalogo, mostrndolo con letras en negrita, mientras DVD -> Title lo muestra con fondo gris. Vemos algo similar en el caso de Director -> Person:before, que usa adems el pseudo-elemento before, indicando que antes que un elemento de este tipo se muestre, se debe aplicar formateo adicional. Sin embargo, la propiedad content permite que texto adicional se muestre antes del elemento. Usamos este selector para mostrar Director: antes del nombre del director. Un texto similar es mostrado antes de Actors para mostrar Actores: antes de la lista de actores. En general, los pseudo-elementos son implcitamente aplicables cuando existe un elemento ordinario. Otros pseudo-elementos seleccionan la primera letra o la primera lnea de un elemento que contiene texto. La ltima seccin especifica que el IMDBLink y el ASIN no se muestren. Los otros bloques tienen selectores de una de las formas comentadas y definen estilos para otros elementos de este documento XML. Ahora que hemos definido un archivo de estilo CSS, debemos indicarle al navegador que debe utilizarlo para darle formato al momento de mostrar el archivo XML, y para esto insertamos la siguiente lnea luego de la primera lnea del archivo XML:
<?xml-stylesheet media="screen" type="text/css" href="mi_estilo.css"?>

El atributo media indica que el archivo CSS relacionado en href debe ser utilizado cuando se muestra el archivo XML en pantallas de alta resolucin y a color (screen). Existen muchos tipos de media, como ser handeld para pantallas pequeas con ancho de banda limitado, y print para presentaciones formateadas para ser impresas.

105

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico Si abrimos el archivo XML en un navegador podremos verlo con el formato deseado. Como podemos ver un archivo CSS puede permitir que un archivo XML sea mostrado en Internet, aunque no es comn publicarlos de forma tan directa. Una razn de esto es que los archivos XML pueden llegar a tomar un gran tamao y por tanto en general son Ilustracin 41: Ejemplo de uso de XML con CSS. guardados en bases de datos., y en general no Resultado al ejecutar el archivo XML con un estilo CSS hace flat amostrar todos los datos que asociado en un navegador podran incluirse en un archivo XML (por ejemplo, muy rara vez sera necesario mostrar todos los elementos de un catalogo de DVD). Por tanto es comn que solo se seleccionen ciertas partes o incluso que se integran distintas fuentes de datos en una pgina web. Para hacer esto, los datos guardados en formato XML en bases de datos son accedidos mediante lenguajes de consulta como ser XSLT o XQuery 37(Melton and Buxton, 2006), con el objetivo de construir una pgina XHTML o HTML. Por tanto, es mucho ms comn agregar hojas de estilo a documentos HTML, y a continuacin veremos cmo se realiza esto. 3.8.2.6. CSS y HTML Para ejemplificar la aplicacin de CSS sobre archivos HTML, podemos volver al primer ejemplo planteado donde explicbamos el concepto de tags. Para poder utilizar CSS de forma ms completa, vamos a remplazar las partes de representacin del archivo, como ser tals tablas, por contenedores <div> anidados. Estos elementos generar bloques de texto sin dar mayor informacin sobre la semntica del bloque. Por tanto, los tags div deben ser utilizados cuando no hay un tag semnticamente significativo que pueda usarse. Como veremos en el ejemplo a continuacin, tambin hemos borrado otros elementos de presentacin, como ser colores de fondo, y remplazamos la indicacin del texto en negrita <b> por el tag <h2>. A su vez, al div que remplaza la tabla le asignamos el atributo class con el valor de DVDCatalog, y as respectivamente con otros. Y a su vez, de la misma forma en que lo hicimos con el archivo XML, relacionamos al documento con la hoja de estilos agregando una lnea de cdigo, esta vez incluida en la cabecera del cdigo HTML.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>Catalogo de DVD</title> <meta name="author" content="Juan Ortiz"> <link rel="stylesheet" type="text/css" href="mi_estilo_html.css"> </head> <body> <div class="DVDCatalog">
37

Para ms informacin sobre consultas sobre datos XML es posible consultar (139).

106

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico
<h1> Catalogo de DVD </h1> <div class="DVD"> <div class="DVDHead"> <h2><a href="http://www.imdb.com/title/tt0298228/"> Le Fabuleux destin d'Amlie Poulain</a></h2> (2001) </div> Director: Jean-Pierre Jeunet<br> Actores: Audrey Tautou </div> <div class="DVD"> <div class="DVDHead"> <h2><a href="http://www.imdb.com/title/tt0120737/"> The Lord of the Rings: The Fellowship of the Ring</a></h2>(2001) </div> Director: Peter Jackson<br> Actores: Elijah Wood, Ian McKellen </div> </div> </body> </html>

Y a continuacin incluimos el cdigo del archivo CSS correspondiente, donde podemos ver claramente como se ha logrado una separacin del contenido y la presentacin. El primer selector define que todo texto en el documento debe ser mostrado con la familia de tipografas sans-serif a menos que sea sobrescrito por otro selector mas especifico. El segundo selector usa la notacin de punto que significa que todos los elementos div que pertenecen a la clase DVDCatalog deben tener 500 pixeles de ancho y 5 pixeles de margen, y utilizamos el mismo constructor para dar estilo al selector div.DVDHead.
* { font-family: sans-serif; } div.DVDCatalog { margin: 5px; width: 500px; } h1 { text-align: center; } h2 { font: bold large sans-serif; display: inline; background-color: transparent; } div.DVDHead { padding: 0.2em; margin-top: 0.3em; background-color: silver; }

Ilustracin 42: Ejemplo de uso de HTML con CSS. Resultado al ejecutar el archivo HTML con un estilo CSS asociado en un navegador.

El resultado es una pgina similar a la que vimos inicialmente, siendo la nica diferencia visible la tipografa. Pero lo importante es que en este segundo ejemplo tenemos una estructura interna ms clara, y que puede ser adaptada con facilidad a diferentes usos. 107

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico Aunque los ejemplos mostrados son pequeos, muestran con claridad las diferencias en el uso apropiado y el uso apropiado de HTML. El agregado de CSS y su consecuente uso lleva a cdigos con ms significado semnticamente, y esto es algo esencial en proyectos grandes, siendo que prcticamente ningn sito hoy en da puede darse el lujo de no aplicar esta separacin de presentacin y contenidos.

3.8.3. Tecnologas de scripting.


A continuacin analizaremos las posibilidades que brindan las diferentes tecnologas de scripting disponibles en la actualidad, con el objetivo de realizar consideraciones como desarrollar contenidos de Internet interactivos y dinmicos. Los anlisis realizados sobre HTML, XML y CSS sern de utilidad para esto. Es necesario discutir sobre estas tecnologas primero, para posteriormente poder utilizar los conceptos como base para las principales tecnologas que dan soporte a aplicaciones que brindan experiencias enriquecidas para el usuario, uno de los patrones de Web 2.0. Considerando el modelo cliente-servidor, es importante observar que mientras toda la informacin incluyendo programas se almacena en los servidores, dichos programas pueden ser ejecutados en ambas partes. Un navegador ejecutara tpicamente cdigo HTML mientras que el servidor realizara distintas funciones que darn como resultado contenido HTML. En ambos casos se ha vuelto una prctica comn el uso de lenguajes de scripting, tambin llamados lenguajes de programacin de scripting: lenguajes que tpicamente son interpretados, y que en general se distinguen porque no tienen la necesidad de ser compilados para ser ejecutados, sino que se mantiene como cdigo fuente siendo interpretados lnea por lnea cada vez que son ejecutados. Podemos tambin referirnos al cdigo de lenguajes de scripting simplemente como scripts. Por tanto, hablamos de scripting en el cliente si utilizamos un lenguaje de scripting para mejorar el cdigo HTML interpretado por un navegador. La aplicacin principal de esto es realizar pginas ms dinmicas, como veremos ms adelante. En este punto acotaremos nuestra visin y anlisis al caso de Javascript38, un lenguaje de scripting orientado a objetos. En general el servidor entregara cdigo HTML con cdigo Javascript embebido, y el cliente lo reconocer cuando este procesando el documento, realizando la ejecucin del cdigo. En este sentido es importante aclarar que esta prctica lleva a que el cdigo quede publicado abiertamente, por lo que podemos decir que el scripting de cliente es intrnsecamente open source. Por otra parte, hablamos de scripting en el servidor cuando se utiliza cdigo para la generacin de contenidos en base a HTML de forma dinmica en el servidor. En general se realizan conexiones a bases de datos, adaptando las respuestas a las necesidades del cliente. Existen muchas tecnologas que cumplen esta funcin y son ampliamente utilizadas, como ser ColdFusion, Java Server Pages, Javascript en el lado del servidor, Ruby y PHP. En este anlisis desarrollaremos ejemplos utilizando PHP y Javascript, con lo cual podremos abarcar el concepto.
38

El lenguaje ha sido desarrollado por Netscape, y es importante aclarar que no tiene relacin alguna con el lenguaje Java de Sun Microsystems. Podemos encontrar ms informacin sobre el lenguaje en https://developer.mozilla.org/en/About_JavaScript

108

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico En general el scripting en el servidor se realiza en base al protocolo CGI (Common Gateway Interface). Este protocolo implica una comunicacin entre ambas partes, realizando bsicamente lo siguiente: 1. El cliente provoca una ejecucin de un script CGI en el navegador, en general con parmetros tomados de un formulario 2. El servidor reconoce esto e inicia el programa CGI, que puede realizar acciones arbitrarias (como ser el acceso a una base de datos), pero luego genera cdigo XHTML que es enviado al navegador. 3. El cliente interpreta el cdigo y genera la nueva pgina. Las llamadas CGI requieren una copia del programa, que en el caso de los scripts es el intrprete del lenguaje de scripting, para correr pada peticin. 3.8.3.2. Scripting en el cliente El igual que lo realizado en el caso de HTML, analizaremos un ejemplo de la aplicacin de lenguajes de scripting en el cliente para poder acercarnos al concepto. Podemos aprender ms sobre las aplicaciones de Javacript en las referencias mencionadas anteriormente. Para embeber cdigo Javacript en un documento HTML se utilizan los tags <script>, indicando que el cdigo incluido entre ellos no debe ser interpretado como HML, algo similar a lo que analizamos en el caso de cdigos CSS. Tambin es posible incluir el cdigo en un archivo separado de extensin .js, relacionado mediante la propiedad src del tag <script>. Veamos a continuacin un ejemplo para demostrar su uso. Si recordamos, hemos estructurado los contenidos del catalogo en bloques div. Ahora haremos a la pagina un poco ms dinmica, haciendo que estos bloques se colapsen o se expandan a travs de un click, ocultando y mostrando por tanto la informacin que contienen, pero sin necesidad de que haya que recurrir el servidor para lograr esto (una de las propiedades del scripting de cliente, como mencionamos antes).
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>Catalogo de DVD</title> <meta name="author" content="Juan Ortiz"> <link rel="stylesheet" type="text/css" href="mi_estilo_html.css"> <script type="text/javascript"> function toggleDVDDisplay(id) { var contentElement = document.getElementById(id); if (contentElement.getAttribute('expanded')=='false') { contentElement.style.display = 'block'; contentElement.setAttribute('expanded', 'true'); } else { contentElement.style.display = 'none'; contentElement.setAttribute('expanded', 'false'); } } </script> </head>

109

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico
<body> <div class="DVDCatalog"> <h1> Catalogo de DVD </h1> <div class="DVD"> <div class="DVDHead" onClick="toggleDVDDisplay('B0000CABBW')"> <h2><a href="http://www.imdb.com/title/tt0298228/"> Le Fabuleux destin d'Amlie Poulain</a></h2> (2001) </div> <div class="DVDContent" id="B0000CABBW"> Director: Jean-Pierre Jeunet<br> Actores: Audrey Tautou </div> </div> <div class="DVD"> <div class="DVDHead" onClick="toggleDVDDisplay('B00005U515')"> <h2><a href="http://www.imdb.com/title/tt0120737/"> The Lord of the Rings: The Fellowship of the Ring</a></h2> (2001) </div> <div class="DVDContent" id="B00005U515"> Director: Peter Jackson<br> Actores: Elijah Wood, Ian McKellen </div> </div> </div> </body> </html>

Podemos notar tres cambios: El tag script en la cabecera, el cambio en el elemento div de la clase DVDHead, y el agregado de un nuevo div que envuelve los contenidos de un DVD. Podemos ver como entre los tags script de la cabecera HTML se define una funcin toggleDVDDisplay, que toma el parmetro id como input. Al igual que en otros lenguajes, los bloques de cdigo son limitados por llaves. La segunda lnea define la variable contentElement a la cual se le asigna el resultado de la llamada a la funcin document.getelementById(id). El objeto document es la pagina web actual, por lo que esa funcin traer como resultado una vinculacin con el objeto que lleve por nombre el valor de id. La tercer lnea abre un bloque de if-then-else que cambia dependiendo del valor del atributo expanded. Si el objeto esta expandido, lo colapsara (lneas 4 y 5), y si est colapsado lo expandir (lneas 7 y 8). El siguiente paso una vez que entendemos la pequea funcin, es comprender como es ejecutada y como es que recibe el valor de input. Ahora cada cabecera de DVD tiene el atributo onClick=toggleDVDDisplay(VALOR), tiendo el valor el numero ASIN el identificador nico del DVD segn Amazon que mencionamos inicialmente. El atributo onClick es lo que se llama atributo de evento intrnseco, y permite que un script sea ejecutado cuando el evento Click ocurre en el elemento donde est incluido. De esta forma, se ejecuta la funcin y se le enva como parmetro el ID del elemento que esta signado en los div que envuelven a la clase DVDContent, el tercer cambio que hemos mencionado. Cuando se ejecute la funcin al hacer click en el titulo del DVD, se evaluara si el div cuyo id es enviado se encuentra colapsado o expandido, actuando de manera consecuente, y por tanto mostrando u ocultando el contenido de dicho div.

110

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico 3.8.3.3. Document Object Model y Dynamic HTML Este pequeo script accede a partes del documento HTML, para tomar los valores de variables que representan atributos HTML, y para definir los estilos de los elementos. Esto no lo hace directamente manipulando los tags HTML y sus contenidos, sino que lo hace a travs de objetos que se encuentran presentes en el contexto del script ejecutado. En efecto, hemos mencionado al objeto document que contiene la pagina en s, y esto nos da pie para analizar la relacin de un documento HTML y el DOM39 (Document Object Model), que es la descripcin que le indica al navegador como debe representar el rbol de HTML como un conjunto de objetos, con relaciones entre estos y mtodos para acceder a esos objetos a travs de varias estructuras. Es justamente el DOM el que le da a un script la posibilidad de trabajar con los elementos de una pgina web. Podemos ver una parte del DOM de nuestro ejemplo de catalogo utilizando un plugin del navegador Firefox llamado DOM Inspector. Podemos ver el nodo de datos correspondiente con su clase y sus propiedades de estilo en el lado derecho de la imagen, y notamos como el elemento que analizamos se remarca en un rectngulo. El objeto document el objeto que contiene la pagina web, y hemos utilizado su mtodo getelementById(id) para seleccionar elementos a travs de sus identificadores. Como los identificadores son nicos, es una forma conveniente de seleccionarlos. Existen otras funciones que devuelven elementos, como ser getelementByClassname y GetelementsByName, aunque se diferencian en que pueden devolver ms de un elemento ya que los nombres pueden repetirse, mientras que los identificadores nicos no.

Ilustracin 43: Estructura DOM con DOM Inspector en Firefox. Utilizando el DOM Inspector del navegador Firefox podemos ver la estructura DOM de nuestro ejemplo.

Es importante mencionar que la combinacin de HTML, CSS, scripting de cliente (generalmente Javascript) y DOM toma el nombre colectivo de DHTML (Dynamic HTML). Esto es para acentuar que esta combinacin es considerablemente ms que el solo HTML, que queda esttico una vez que fue cargado. Utilizando HTML para los contenidos, CSS para los estilos, scripting para lgica de programacin, y DOM para funcionar como pegamento entre los tres anteriores las paginas pueden cambiar su apariencia en base a eventos pero sin realizar peticiones al servidor y por tanto, sin recargar la pgina entera.
39

Podemos encontrar las especificaciones del estndar por W3C en http://www.w3.org/DOM/

111

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico El termino Dynamic en DHTML no incluye un cambio en el HTML de la pagina. Una vez que fue cargado, su apariencia efectivamente puede ser manipulada, pero sus contenidos siguen siendo los mismo. Y por tanto, cuando necesitemos cambiar algo de los contenidos HTML, ser necesario realizar un pedido al servidor y recargar la pagina. Para liberarnos de esta restriccin, necesitamos un mecanismo que permita realizar cargas de pedazos de cdigo HTML, sin necesidad de cargar toda la pagina. Esto es exactamente lo que Ajax ofrece, y analizaremos esta tecnologa posteriormente. Dynamic tampoco se refiere a pginas que son diferentes cada vez que son visitadas y que son diferentes para cada usuario. Esas pginas son dinmicas en el sentido que utilizan diferentes fuentes de datos y aplican scripting de servidor para adecuar los contenidos al usuario particular. Para lograr esto veremos a continuacin el scripting en el servidor.

3.8.4. Scripting en el servidor


Bsicamente, un cliente realiza una peticin de una pgina web enviando una URL (y quizs algo de informacin extra, como ser por ejemplo los datos ingresados en un formulario por el usuario) (1). Luego el servidor ejecuta un script de servidor (como ser en el lenguaje PHP 40 utilizando un intrprete de PHP.) (2). Este script puede interactuar con una base de datos u otra fuente de datos externa como ser un archivo XML (en donde los datos del posible formulario pueden ser guardados, o donde se puede obtener datos adicionales) (2 y 4). Luego el intrprete de PHP genera cdigo HTML (5) y este es enviado al cliente (6).
CLIENTE SERVIDOR SERVIDOR WEB
<html> Script PHP <head> <title> <?php echo $pageTitle;?> </title> </head> <body> <h1> <?php echo $pageHeader;?> </h1>

Fuente de datos externa

URL + datos de formulario

<html> Salida del <head> servidor web <title> Catalogo de DVD </title> </head> <body> <h1> Catalogo de DVD </h1>

Procesador de PHP

Ilustracin 44: Scripting de servidor con PHP.

40

Podemos encontrar ms informacin sobre PHP en http://www.php.net/

112

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico 3.8.4.2. PHP con fuente de datos. Volviendo a la imagen anterior, podemos ver una porcin de cdigo PHP. Si no fuera por las lneas entre <? ?>, el cdigo se comportara como HTML ordinario, pero estas contienen cdigo PHP embebido. El resto de las lneas son HTML comn. Una vez procesado por el interprete y ejecutados los scripts, se obtendr como salida un archivo con contenido HTML pero con extensin .php. En realidad, incluso un archivo enteramente HTML guardado como .php funciona como un archivo PHP valido., ya que el interprete solo busca el cdigo PHP entre los limites mencionados anteriormente, dejando el cdigo HTML intacto. Analizando ahora brevemente los segmentos de cdigo PHP, podemos encontrar que la primera lnea es echo $pageTitle, siendo echo una funcin que simplemente imprime los parmetros que lo siguen, como ser en este caso una variable. La segunda lnea es similar solo que contiene otra variable $pageHeader. Vale aclarar que el cdigo de la imagen no muestra como estas variables obtuvieron sus valores, pero podemos asumir que fueron tomados de una fuente de datos externos, como ser una base de datos, por tanto la salida del intrprete luego de aplicar la funcin echo muestra sus valores, siendo por ejemplo Catalogo de DVD el valor de la variable $pageTitle. Y es interesante notar que ante la vista del cliente ser imposible detectar que partes del cdigo estaban presentes anteriormente en HTML y cuales son contenidos HTML generados sin llegar a ver nunca el cdigo PHP, lo que hace un fuerte contraste con el caso del scripting de cliente, donde el script si queda publicado. Podemos ver a continuacin el ejemplo de nuestro catalogo de DVD utilizando PHP y nuestro primer ejemplo de archivo XML como fuente de datos:
<? $dom = new DomDocument(); $dom->load("catalogo.xml"); $xp = new domxpath($dom); $title = $xp->query("/DVDCatalog/Title"); printDocumentHead($title->item(0)->nodeValue); $dvds = $xp->query("/DVDCatalog/DVD"); foreach ($dvds as $node) { $asin = getSubNodeContent($node, 'ASIN'); $imdbLink = getSubNodeContent($node, 'IMDBLink'); $title = getSubNodeContent($node, 'Title'); $year = getSubNodeContent($node, 'Year'); $director = getFullNamesOfPersons( $node->getElementsByTagName('Director')->item(0)); $actors = getFullNamesOfPersons( $node->getElementsByTagName('Actors')->item(0)); printDVD($asin, $imdbLink, $title, $year, $director, $actors); } printDocumentFoot(); function printDocumentHead($titleText) { ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head>

113

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico
<title><?echo $titleText?></title> <meta name="author" content="Juan Ortiz"> <link rel="stylesheet" type="text/css" href="mi_estilo_html.css"> <script type="text/javascript"> function toggleDVDDisplay(id) { var contentElement = document.getElementById(id); if (contentElement.getAttribute('expanded')=='false') { contentElement.style.display = 'block'; contentElement.setAttribute('expanded', 'true'); } else { contentElement.style.display = 'none'; contentElement.setAttribute('expanded', 'false'); } } </script> </head> <body> <div class="DVDCatalog"> <h1><?echo $titleText?></h1> <? } function printDocumentFoot() { ?> </body> </html> <? } function printDVD($asin, $imdbLink, $title, $year, $director,$actors){ echo '<div class="DVD">'; echo '<div class="DVDHead" onClick="toggleDVDDisplay(\''. $asin.'\')">'; echo '<h2><a href="'.$imdbLink.'">'.$title.'</a></h2> '; echo '('.$year.')'; echo '</div>'; echo '<div class="DVDContent" id="'.$asin.'">'; echo 'Director: '.$director.'<br>'; echo 'Actores: '.$actors; echo '</div>'; echo '</div>'; } function getFullNamesOfPersons($personList) { $persons = $personList->getElementsByTagName('Person'); $i = 0; foreach ($persons as $person) { $fullNames[$i] .= getSubNodeContent($person, 'Firstname').' '. getSubNodeContent($person, 'Lastname'); $i++; } return implode(", ", $fullNames); } function getSubNodeContent($node, $subNodeName) { return $node->getElementsByTagName($subNodeName)->item(0)->nodeValue; } ?>

Claramente este ejemplo es ms largo y complejo que otros analizados anteriormente por lo que nos detendremos un poco en varias de sus partes, aunque es importante recordar que esta parte 114

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico del marco terico no pretende ser un manual de PHP, sino que tan solo pretende esbozar la funcionalidad de los scripts de servidor. El ltimo bloque del ejemplo define una funcin, y podemos notar que la forma de realizar la definicin es muy similar a la utilizada en javascript. La funcin getSubNodeContent toma los parmetros $node y $subNodeName y tomaran un nodo del documento XML y el nombre del nodo vinculado respectivamente. Al igual que en Javascript, en PHP no hay tipos de variables acompaando las variables, ya que esto es opcional en PHP al ser un lenguaje de programacin dinmicamente escrito. La funcin contiene una sola lnea de cdigo con el comando return, indicando que el resultado del cdigo de la lnea es el valor devuelto por la funcin. Por tanto, cuando la funcin es llamada, el valor de retorno se calculara y se devolver a al lugar donde la funcin haya sido llamada. El resto de las lneas contienen el acceso a un objeto que se espera este en $node. El smbolo -> indica por un lado que $node es un objeto, y por otra parte que su funcin getElementByTagName debe ser llamada, obteniendo como parmetro el nombre del nodo vinculado. Esta funcin devolver este nodo, que a su vez es un objeto, sobre el cual se usa nuevamente el smbolo > para extraer los tems de un arreglo que a su vez son objetos, de los cuales se obtiene el valor $nodeValue que contiene el valor del nodo. Al igual que en el ejemplo de Javacript donde accedimos al DOM del HTML, estamos utilizando ahora PHP y su modelo DOM para acceder a los contenidos del archivo XML. Analizamos otra funcin, como ser el caso de getFullNamesOfPersona($personList). Esta toma un nodo de XML que contiene personas y devuelve sus nombres y apellidos separados por comas. Podemos recordar que el archivo DTD definido para este archivo XML defina esta estructura permitiendo que Firstname y Lastname se encontraran en orden indistinto. A su vez el nodo persons se encuentra como nodo vinculado a nodos Director donde exactamente una persona debe estar y el nodo Actors. El rbol transversal que esta funcin necesita es por tanto un poco ms complejo que la que se presenta en el caso de getSubNodeContent. Primero, getElementByTagName(Person) guarda todas las personas en $persons(como probablemente ms de un elemento ser devuelto, $persons es un arreglo). Las siguientes lneas hacen un ciclo de cdigo recorriendo el arreglo para construir un segundo arreglo, que contiene los nombres de las personas en primer lugar y luego los apellidos. Podemos notar que ninguna variable fue definida previamente, y si bien esta prctica no es recomendable, PHP lo permite ya que crea las variables con el tipo de variable que considera necesaria a medida que se van llamando. La ltima lnea devuelve el arreglo en forma de cadena de texto utilizando la funcin implode, uniendo los elementos del arreglo con una coma. Podemos notar que estas dos funciones discutidas hasta el momento no generan nada de cdigo HTML, sino que solo devuelven valores y objetos. Las otras tres funciones que restan son las encargadas en este caso de generar el cdigo HTML, y notamos que tanto printDocumentHead($titleText) y printDocumentFoot() son simples de comprender, siendo que imprimen en HTML las partes superiores e inferiores de la pagina. La ltima funcin por analizar es printDVD, que toma 5 parmetros conteniendo la informacin de un DVD. Todas las lneas comienzan con el comando echo, lo que generara la impresin de lo que contienen, y podemos observar los parmetros directamente incluidos en las variables. 115

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico Para hacer que todo funcione, debe existir algn tipo de programa principal que haga uso de estas funciones para generar as el archivo, y eso es lo que hemos definido en las primeras lneas del cdigo fuente Las cuatro primeras crean e inicializan tres variables que permiten acceder al archivo XML y procesarlo, para asi poder utilizarlo como una fuente externa de datos. La variable $dom es inicializada como el DOM del documento mediante $dom = new DomDocument() u el archivo XML es cargado en el documento mediante $dom->load(catalogo.xml). La siguiente lnea crea un objeto $xp de tipo DOMXPath que puede ser usado para realizar consultas al DOM con una expresin de consulta del lenguaje XPath como es mostrado en los consiguientes bloques. El siguiente comienza con la expresin de Xpath /DVDCatalos/DVD que selecciona todos los elementos DVD vinculados con el elemento DVDCatalog, quedando ahora guardado en $dvds un arreglo de nodos de DVD. El resto del programa principal se encarga de la generacin del cdigo HTML, y una vez que la cabecera es generada pro printDocumentHead (que contiene todos los datos e cabecera incluyendo los cdigos Javascript vistos antes), un ciclo foreach recorre el arreglo de DVDs y ejecuta el cdigo en cada ciclo para cada DVD contenido en $dvds. Ahora la funcin $getSubNodeContent y la funcin $gerFullNamesOfPersons son usadas para preparar las variables para la salida del cdigo de un DVD. Por ejemplo, la variable $asin es llenada con el contenido del elemento ASIN. Al finalizar cada ciclo, se llama a la funcin printDVD generando el cdigo para cada uno. Finalmente una vez generados todos los DVDs del archivo XML, se imprime el pie de pgina cerrando el cdigo HTML. Cuando se corre el script (o ms bien, cuando su URL se ingresa a un navegador) los comandos PHP se ejecutaran como se ha explicado, y el resultado ser entregado al cliente. Y notaremos que le resultado tiene el mismo aspecto que el devuelto en el caso del ejemplo de scripts de cliente, y efectivamente para el cliente es el mismo, ya que el cdigo HTML ser en este caso idntico, solo que creado de forma dinmica por el servidor.

Ilustracin 45: Ejemplo de uso de PHP, HTML y JavaScript. Si observamos el cdigo fuente del resultado del archivo PHP notaremos que solo contiene cdigo HTML y Javascript, y por tanto es prcticamente el mismo resultado que vimos anteriormente en el caso de scripting de cliente.

116

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico Hemos visto como CSS nos da un mecanismo para dar formato y estilos a HTML y a XML, de tal forma que el primero puede ser formulado sin aspectos de presentacin y el ltimo puede ser presentado de forma apropiada. Luego las tecnologas de scripting nos dieron dos formas de comportamiento dinmico: el scripting de cliente nos brinda Dynamic HTML permitiendo cambios en la presentacin sin la necesidad de cambios en el HTML (y por tanto si necesidad de hacer peticiones al servidor que generaran la recarga de la pagina) y el scripting de servidor que permite la creacin dinmica de HTML y conexiones a fuentes de datos para entregar cdigo HTML en base a las necesidades del cliente. Posteriormente analizaremos la tecnologa Ajax, que en cierta forma combina estas dos ideas de scripting, para poder tomar el paso siguiente a presentaciones dinmicas y contenidos dinmicos.

3.8.5. Aplicaciones Web de XML


A continuacin analizaremos dos aplicaciones importantes de XML en ms detalle. Primero, discutimos sobre Web services, que son comnmente basados en estndares que hacen un fuerte uso de XML para descripcin, publicacin ejecucin y otros propsitos correspondientes a servicios. Luego analizaremos RSS y ATOM, que son dos formatos basados en XML para la sindicacin de contenidos y la subscripcin a contenidos. Ambos ejemplo utilizan una gran variedad de caractersticas de XML y representan aplicaciones que son ampliamente utilizadas para dar base a los recursos Web 2.0. Por tanto, sirven como buenas ilustraciones de lo que es posible hacer con XML, y da idea de otras posibles explotaciones. 3.8.5.2. Web Services Los Web services extienden el paradigma cliente-servidor con la nocin de un registro explicito, resolviendo el problema de localizar un servicio de una forma apropiada para Internet. Un servicio (cliente) cuando busca un servicio enva una peticin a un registro de servicios. Si el servicio buscado es encontrado, el cliente puede contactar al proveedor del servicio y utilizar dicho servicio. La situacin y el procedimiento son similares al caso de buscar un servicio en la vida real al consultar una gua (como ser, las Pginas Amarillas) para ver las alternativas disponibles, elegir Ilustracin 46: El Paradigma de los Web services. uno y contactarse. El proveedor ha publicado previamente su servicio (o servicios) en el registro. Por lo tanto, los Web services ocultan todos los detalles de su implementacin y las plataformas en los cuales estn basados, y simplemente muestran una URI (Uniform Resource Identifier) que apunta a su proveedor. Como en general se supone que los Web services son interoperables, estos pueden ser combinados con otros servicios para crear nuevas aplicaciones con ms funcionalidades.

117

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico Publicar, encontrar y vincular Web services Interaccin del servicio: son actividades realizadas por solicitantes de WS-Choreography, WS-Coordination, WS-Transaction servicios y proveedores que usan estndares especficos. En la capa ms baja utilizan Composicin del servicio: WSFL, BPEL transporte ordinario de redes, luego Publicacin y descubrimiento del servicio: UDDI encontramos el protocolo HTTP para datos de Internet. Sobre esto se encuentra el estndar Descripcin del servicio: WSDL SOAP 41 basado en mensajes, luego WSDL 42 Mensajes basados en XML: SOAP (Web Services Description languagues) es utilizado para la descripcin de los servicios y Red: HTML finalmente encontramos al UDDI43 (Universal Description, Discovery and Integration) para la Ilustracin 47: Las capas de los estndares de Web services. publicacin y descubrimiento.44 En ocasiones es necesario agregar Servicio Servicios de ms capas a la estructura, y para esto nivel ms alto Funcionalidad Propiedades se construyen encima de UDDI en base a lenguajes como ser WSFL y BPEL que especifican procesos donde Servicio Servicio los pasos en dichos procesos son Funcionalidad Propiedades Funcionalidad Propiedades completados por Web services. Servicios de nivel ms bajo Finalmente, varios servicios en accin Ilustracin 48: Vista de la orientacin a servicios. necesitan algn tipo de Solicitante del servicio Proveedor del servicio coordinacin o garantas Objeto Aplicacin Objeto Aplicacin transaccionales, lo que es (Proveedor del servicio) (Cliente) Esqueleto posible a travs de estndares Stub como WS-Coordintation y WSTransaction. Mensajes SOAP Middleware Middleware Mencionamos antes que la orientacin a servicios es en efecto un paradigma fundamental en base a la idea de que una funcionalidad compleja puede ser separada en una coleccin de servicios
basado en SOAP Mensajes SOAP (Para buscar servicios) Middleware basado en SOAP Registro UDDI Descripciones de servicios Ilustracin 49: La Infraestructura de Web services.
41

basado en SOAP Mensajes SOAP (Para publicar la descripcin de servicios)

w3.org/TR/soap/ w3.org/TR/wsdl www.uddi.org/

42

43

44

Vale notar que si bien UDDI es una especificacin en s mismo, es en realidad la especificacin de un Web service descripto utilizando WSDL.

118

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico ms elementales. Esto ha ganado ms inters a medida que las arquitecturas de Software Orientado a Servicios (Service-Oriented Software o SOAs) han ganado popularidad siendo la base para sistemas de larga escala. Los Web services estn alineados con la vista de estructura de capas descrita, algo que puede ser encontrado en otros escenarios relacionados la computacin (como ser hardware, redes, aplicaciones). El agregado que tienen los Web services es que no estn vinculados a un repositorio central, e incluso podemos decir que los proveedores y consumidores de servicios estn dbilmente acoplados, ya que cada Web service es esencialmente un componente de software individual, teniendo una URI nica que puede ser localizada desde cualquier lugar de Internet. Adems, WSDL permite la creacin automtica de stubs y respectivamente esqueletos. Como mencionamos los Web services estn basados en estndares y utilizan el esquema de repositorio. Muchos otros tipos de servicios que se encuentran en Internet no tienen estas caractersticas, pero representan formas modernas de las llamadas a procedimientos remotos, pero lo que los diferencia de los
WSDL del proveedor de servicio Compilador WSDL Compilador WSDL (Cliente) (Servidor) Solicitante del servicio Objeto Aplicacin (Cliente) Stub Mensajes SOAP Proveedor del servicio Objeto Aplicacin (Proveedor del servicio) Esqueleto

Middleware basado en SOAP

Middleware basado en SOAP

Web services es el hecho de Ilustracin 50: La Infraestructura de WPC. que pueden ser llamados desde cualquier lugar de Internet, por lo que nos referiremos a los Web services como WPCs (Web Procedure Calls) de ahora en ms. Entre estos es posible distinguir si usan una forma estandarizada y formal para describir sus interfaces (como ser WSDL) e incluso algunos pueden o no usar SOAP como su formato de mensajes. Esta diferenciacin puede ser apreciada en la imagen. Si las interfaces son formalmente descriptas, stubs y esqueletos pueden ser creados de forma automtica. Podemos tomar un ejemplo para acercarnos ms al concepto. Cuando analizamos el patrn de diseo Web 2.0 Modelos ligeros y escalabilidad costo -efectiva mencionamos el caso de Amazon S3. Este servicio45 procesa datos enviados a travs de diversos protocolos, incluyendo SOAP. Existen tambin formas no basadas en estndares para descubrir S3, por lo que podemos clasificar este servicio como una API que tambin da soporte a WPCs. En muchos casos las WPCs van ms all de la idea de los Web services: Google ofreca una API para realizar bsquedas a travs de su motor va WSDL y SOAP, pero ha discontinuado esto en
45

La especificacin del servicio de Amazon S3 (un documento WSDL) puede ser encontrada en s3.amazonaws.com/doc/2006-03-01/AmazonS3.wsdl

119

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico diciembre del 2006 para ahora ofrecer una API de bsqueda con Ajax46. Entonces por ms que nos referimos a esto como un Web Service, es en realidad una API para WPCs en nuestro punto de vista. 3.8.5.3. Un acercamiento a SOAP y WSDL Para mostrar la relacin entre Web services y XML, vamos a ver un ejemplo de SOAP y WSDL. Al igual que en otros ejemplos, el objetivo no es observar los detalles de estas especificaciones, sino mostrar y explicar ejemplos para acercarnos al concepto. Continuamos con el ejemplo del catalogo de DVD, pero esta vez no extendemos el ejemplo, sino que preparamos futuros pasos a tomar al observar un ejemplo de un servicio existente, como ser que se utiliza para acceder a la informacin de Amazon E-Commerce (ECS). Dicha informacin puede ser utilizada en nuestro ejemplo para aumentar la informacin de nuestra fuente local de datos e incluirla en el catalogo posteriormente. Esta API puede ser llamada de forma gratuita y es muy popular (en efecto, el sitio ProgrammableWeb indica que la API es utilizada para ms de 260 mashups (104)) En base a las consideraciones previas, consideramos que la esta Api da soporte a WPCs nicamente y no a la visin completa de los Web services, pero si utiliza SOAP y WSDL. Es importante destacar que tambin se puede acceder al servicio a travs de su interfaz en base a REST, pero no haremos hincapi en esto ya que hablaremos de este paradigma ms adelante. 3.8.5.4. WSDL En la URL http://webservices.amazon.com/AWSECommerceService/AWSECommerceService.wsdl encontramos la descripcin WSDL de ECS. Por supuesto este archivo de formato XML es considerablemente largo, por lo que analizaremos solo una pequea porcin: existen 18 operaciones especificadas en este WSDL, pero nosotros solo analizaremos una de estas. Utilizaremos solo la operacin llamada ItemLookup que devuelve tems en base a un ID. A continuacin el cdigo relevante a la operacin que nos interesa. Vale aclarar que tampoco incluimos el contenido del elemento <types> ya que la definicin de tipos es muy prolongada y no es necesaria para el objetivo de nuestro anlisis.
<?xml version="1.0" encoding="UTF-8"?> <definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://webservices.amazon.com/AWSECommerceService/2006-11-14" targetNamespace="http://webservices.amazon.com/AWSECommerceService/2006-11-14"> <types> <xs:schema targetNamespace="http://webservices.amazon.com/AWSECommerceService/2006-1114"
46

Podemos encontrar informacin sobre la API discontinuada en code.google.com/apis/soapsearch/ e informacin sobre la nueva API basada en Ajax en code.google.com/apis/ajaxsearch.

120

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico
xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://webservices.amazon.com/AWSECommerceService/2006-11-14" elementFormDefault="qualified"/> <!DEFINICIONES DE TIPOS OMITIDAS --> </types> <message name="ItemLookupRequestMsg"> <part name="body" element="tns:ItemLookup"/> </message> <message name="ItemLookupResponseMsg"> <part name="body" element="tns:ItemLookupResponse"/> </message> <portType name="AWSECommerceServicePortType"> <operation name="ItemLookup"> <input message="tns:ItemLookupRequestMsg"/> <output message="tns:ItemLookupResponseMsg"/> </operation> </portType> <binding name="AWSECommerceServiceBinding" type="tns:AWSECommerceServicePortType"> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> <operation name="ItemLookup"> <soap:operation soapAction="http://soap.amazon.com"/> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> </binding> <service name="AWSECommerceService"> <port name="AWSECommerceServicePort" binding="tns:AWSECommerceServiceBinding"> <soap:address location="http://soap.amazon.com/onca/soap?Service=AWSECommerceService" /> </port> </service> </definitions>

Podemos notar que es bsicamente un archivo XML con muchos elementos anidados en el primer nivel dentro de definitions. El anidamiento puede ocurrir entre definiciones de tipos, pero estos han sido omitidos. Antes de ver los elementos anidados, analizaremos los atributos del elemento definitions. 3.8.5.5. Namespaces El atributo xmlns define el nombre de dominio o namespace de XML, que representa el mecanismo XML que asegura que ocurran conflictos de interpretacin o de significado entre tems con el mismo nombre. El valor del namespace es una URI que puede (pero no necesariamente debe) contener un link valido (en nuestro ejemplo si es un link valido). El 121

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico vocabulario de un namespace puede ser definido utilizando un XML Schema o un archivo DTD, pero no es requerido. El namespace definido por el atributo xmlns es utilizado cuando un elemento en el documento no define explcitamente su namespace. En este caso ninguno de los elementos vinculados en definitions hace esta definicin, por lo que todos pertenecen al namespace http://schemas.xmlsoap.org/wsdl/. El atributo targetNamespace denota cual namespace define esta documento. El valor de este identificador nos indica que este es en efecto el ECS de Amaxon.com. Como veremos a continuacin, los mensajes SOAP enviados al servicio definido este documento WSDL deben referenciar a este namespace. 3.8.5.6. Estructura de un WSDL Anidados en definitions tenemos a los elementos types, message, portType, binding y service, que se referencian entre ellos a travs de atributos contenidos en los sub elementos que podemos ver en la imagen. Un service agrupa bindings, y a travs de estos operations. Service y binding son frecuentemente llamados el pegamento de un documento WSDL porque definen la locacin y el protocolo vincular del servicio. Aqu, service nos indica que su interfaz SOAP puede ser encontrada en la URL http://soap.amazon.com/onca/soap?Service=AWSECommerceService, mientras que binding nos indica que el servicio utiliza HTTP para transporte al referenciar el namespace de HTML (por ejemplo, http://schemas.xmlsoap.org/soap/http). Binding referencia a portType, que puede ser considerado como un mtodo de interfaz. Aqu podemos ver que la operacin ItemLookup tiene ItemLookupRequestMsg como su mensaje de input y ItemLookupResponseMsg como su output. Encontramos tambin un tercer tipo de mensaje llamado fault que especifica el mensaje en caso de un error. Los elementos de mensaje que son referenciados por portType especifican cual tipo de message utilizan. Para input y output vemos tipos tns:ItemLookup y tns:ItemLookupResponse, y ambos son parte del vocabulario definido en Calificacin de namespace Referencia targetnamespace, y as ambos son tipos
implcita

que pueden ser encontrados en el elemento Ilustracin 51: Relaciones en un archivo WSDL. 122

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico types, el primer subelemento de definitions. El elemento types define tipos utilizando XML Schema. Esto puede ser observado en el namespace de xs:schamea, el nico elemento en types que hemos mantenido del documento original. Esto indica que es vlido como archivo XML Schema al estar anidado en este documento WSDL, especificando los tipos especiales necesitados para la operacin ItemLookup y para otras operaciones del documento. Podemos notar que el XML Schema podra tambin ser referenciado en los elementos types. Obtendremos un pantallazo de lo que el schema especifica para la operacin ItemLookup cuando veamos los mensajes SOAP que pueden ser enviados. Como podemos observar de esta explicacin, WSDL es un lenguaje complejo que tiene el potencial de describir interfaces a servicios y sus invocaciones. Es comn que los Web services provean acceso a su funcionalidad preexistente, por lo que es usualmente posible generar automticamente la mayor parte de un archivo WSDL que puede entonces necesitar solo algunas configuraciones adicionales para funcionar. A travs de esto, un usuario de un WSDL puede utilizarlo para generar un stub del servicio consumidor que este escribiendo. 3.8.5.7. SOAP Analicemos un mensaje SOAP que puede ser enviado a ECS, apuntado a la operacin ItemLookup. Como fue especificado en el archivo WSDL el mensaje ser enviado sobre HTTP y al puerto SOAP mencionado en dicho archivo.
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://webservices.amazon.com/AWSECommerceService/2006-11-14" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <SOAP-ENV:Body> <tns:ItemLookup xmlns:tns="http://webservices.amazon.com/AWSECommerceService/2006-11-14"> <tns:MarketplaceDomain/> <tns:AWSAccessKeyId>MY_ACCESSKEY</tns:AWSAccessKeyId> <tns:Request> <tns:IdType>ASIN</tns:IdType> <tns:ItemId>B0000CABBW</tns:ItemId> <tns:ResponseGroup>Small</tns:ResponseGroup> </tns:Request> </tns:ItemLookup> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

Esto muestra un fuerte uso de namespaces, referenciando a namespaces especficos de SOAP para el mensaje en s, namespaces de XML Schema (que en este caso no es utilizado) y el namespace de ECS definido en el documento WSDL.

123

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico Los namespaces de SOAP definen la estructura del mensaje SOAP, que bsicamente es un sobre que contiene una cabecera (opcional) y un cuerpo. Ambos elementos pueden contener mltiples bloques, llamados bloques header y body respectivamente. El cuerpo contiene la carga til del mensaje, y la cabecera informacin que puede ser procesada por intermediarios. Estos pueden necesitar esta informacin para realizar acciones propias, como por ejemplo realizar el seguimiento de una conversacin. Como en 6M, por no incluir una cabecera.
Sobre SOAP Cabecera SOAP Block de cabecera Cuerpo SOAP Block de cuerpo

El cuerpo de nuestro ejemplo contiene tan solo un elemento Ilustracin 52: Estructura de un mensaje SOAP. (ItemLookup) en base al documento WSDL de ECS. Los elementos contenidos en este lo convierten en un elemento ItemLookup valido, que puede ser validado en base a los schemas para el vocabulario utilizado. La informacin que enviamos contiene el elemento vacio MarketplaceDomain y AWSAccessKeyId, la clave de identificacin del autor del mensaje sin la cual nuestra peticin no sera procesada. Adems contiene nuestra peticin actual, en la cual buscamos conocer el contenido correspondiente al identificador ASIN (en este caso como ItemType, que como comentamos antes, el es identificador nico asignado por Amazon a sus productos, entre ellos DVDs) con el valor B000CABBW (ItemID). ResponseGroup solicita solo la versin corta de los resultados. Para completar el ejemplo, colocamos a continuacin la respuesta generada por ECS. En este caso tampoco se utiliza cabecera y el cuerpo contiene el elemento ItemLookupResponde.
<?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <SOAP-ENV:Body> <ItemLookupResponse xmlns="http://webservices.amazon.com/AWSECommerceService/2006-11-14"> <OperationRequest> <HTTPHeaders> <Header Name="UserAgent" Value="SQLData Client/3.02"/> </HTTPHeaders> <RequestId>MY_ACCESSKEY</RequestId> <Arguments> <Argument Name="Service" Value="AWSECommerceService"/> </Arguments> <RequestProcessingTime>0.0265100002288818</RequestProcessingTime> </OperationRequest> <Items> <Request> <IsValid>True</IsValid> <ItemLookupRequest> <IdType>ASIN</IdType> <ItemId>B0000CABBW</ItemId> <ResponseGroup>Small</ResponseGroup> </ItemLookupRequest> </Request>

124

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico
<Item> <ASIN>B0000CABBW</ASIN> <DetailPageURL> http://www.amazon.com/gp/redirect.html%3FASIN=B0000CABBW%26tag=ws%2 6lcode=sp1%26cID=2025%26ccmID=165953%26location=/o/ASIN/B0000CABBW%2 53FSubscriptionId=1RPF28QJYKDDFEDRT902</DetailPageURL> <ItemAttributes> <Actor>Keisha Castle-Hughes</Actor> <Actor>Rawiri Paratene</Actor> <Actor>Vicky Haughton</Actor> <!-- OMITIMOS ALGUNOS ACTORES--> <Director>Niki Caro/Director> <Manufacturer>Sony Pictures</Manufacturer> <ProductGroup>DVD</ProductGroup> <Title>Whale Rider</Title> </ItemAttributes> </Item> </Items> </ItemLookupResponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

Luego de cierta informacin operacional (como ser cuanto tiempo demoro ECS en generar la respuesta) el mensaje contiene la respuesta que esperbamos. El elemento tem contiene la URL de la pagina donde se encuentra la informacin del producto, los actores (de los cuales hemos omitido muchos), el director, el fabricante, el grupo de productos, y finalmente el titulo.

3.8.6. Formatos de Web feeds


Una segunda aplicacin del XML que mencionamos marco un cambio en la forma en que se accede a la informacin en Internet: la sindicacin de contenidos, que fue analizada en forma breve y funcional anteriormente. Bsicamente, los productores de contenidos pueden sindicar estos a travs de Web feeds 47, a los cuales los usuarios pueden subscribirse para recibir las actualizaciones. Podemos destacar que los Web feeds son de gran valor tanto para el creador de contenidos como para el consumidor de contenidos. Desde el punto de vista del subscriptor, los Web feeds simplifican el proceso de recibir actualizaciones de una o mltiples fuentes. Y desde el punto de vista del proveedor, los Web feeds mejoran su propia presentacin en Internet ya que permite que los consumidores utilicen fcilmente sus contenidos a travs de distintos canales. Los principales formatos en el cual estos feeds se especifican son los estndares RSS (2.0 y 1.0) y Atom ambos basados en XML. Si bien tienen especificaciones distintas, comparten aproximadamente la misma estructura. Los elementos XML que ellos comprenden pueden ser divididos en dos categoras. La primera agrupa los elementos del canal (o feed) que incluye la informacin genera de un feed. Los contenedores estn compuestos por algunos tems, conocidos como entradas y cada una tiene adjunto un conjunto de metadatos extensibles, con los que sus subelementos forman una segunda categora de elementos.

47

Como en otros casos nuestro anlisis tendr el objetivo de acercarnos al concepto.

125

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico
RSS 2.0 channel Title link description webMaster/managingEditor lastBuildDate item RSS 1.0 channel title link description Dc:creator Dc:date item items ATOM Feed Title Link (subtitle) Author Updated Id Entry -

Contenedor de feed Titulo de feed URL de feed Descripcin de feed Autor Ultima actualizacin Identificador nico Entradas de feed Lista de contenidos

Tabla 7: Nombres y descripciones de elementos contenedores en formatos de feeds.

Titulo de entrada URL de entrada Identificador nico Descripcin de entrada Fecha de publicacin

RSS 2.0 title (link) guid description pubDate

RSS 1.0 title link (description) dc:date

ATOM title link id (summary) updated

Tabla 8: Nombres y descripciones de elementos de entradas en formatos de feeds.

Podemos ver una descripcin general de aquellos elementos XML que son necesarios en las diferentes versiones. Los elementos en parntesis son opcionales, aunque existen otros elementos que no han sido incluidos en las tablas ya que son opcionales en todos los formatos analizados. En la primera fila de la primera tabla tenemos el elemento Contenedor de feed
indica el nombre del elemento que tiene el contenido del feed, y es interesante notar que los otros elementos de esta tabla son todos subelementos de este.

Otra cosa destacable es ver como elementos que no estn en la especificacin de RSS 1.0 son tratados por esta: author y time of last update no son considerados por el estndar, y es por esto que son substituidos con elementos del Dublin Core Element Set48 denotados por el prefijo dc:. Adems, el elemento Lista de contenidos solo es utilizado en RSS 1.0, donde la referencia XML es utilizada para referenciar elementos item. Esto es porque a diferencia de otros formatos el elemento item no es un subelemento del elemento channel en RSS 1.0 Utilizamos estas tablas para mostrar que todos los formatos estn construidos aproximadamente de manera similar, pero es insuficiente para la interpretacin de lo que exactamente debe contener cada elemento. Por ejemplo, en el caso del elemento description de las entradas RSS 2.0 no es claro si debe contener un breve resumen o si debe contener todo el artculo. Por tanto, desde el punto de vista tcnico es algo complicado tener que ladear con las diferentes versiones ya que son incompatibles entre s.

48

El Dublin Core Element Set es un estndar ISO para metadatos en Internet. Podemos ver ms sobre esto en (140)

126

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico Para continuar con el ejemplo del catalogo, creamos un blog donde colocar opiniones de DVD en Blogger (mencionado cuando analizamos este social media) que entre otras prestaciones permite utilizar la sindicacin de contenidos. Con esto tendremos la informacin necesaria para dar contenido a los elementos de canal que hemos mencionado anteriormente. Una vez en el blog creamos una entrada. Al crear esta entrada, se ha creado automticamente tambin un Web feed (tanto en RSS 2.0 como en Atom) y se ha insertado un vinculo hacia este en el blog. En base a estos podemos analizar cada uno de los casos. Ilustracin 53: Creacin de post en Blogger. 3.8.6.2. ATOM
Creamos una entrada de blog, crendose automticamente un Web feed.

A continuacin incluimos el cdigo generado por Blogger para el feed en Atom del blog en http://misopinionesdvd.blogspot.com/atom.xml, donde podemos notar especficos del blog creado (resaltados) y otros que fueron generados por el mismo sistema, notando que existen muchos otros elementos que han quedado fuera de la discusin previa sobre elementos del formato. Esto es debido a que por una parte junto a los elementos vienen atributos, y por otra parte porque Blogger realiza agregados para generar el feed.
<?xml version='1.0' encoding='UTF-8'?> <?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?> <feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com//spec/opensearchrss/1.0/'> <id>tag:blogger.com,1999:blog-4392197541148508107</id> <updated>2008-11-20T06:33:08.266-08:00</updated> <title type='text'>Opiniones sobre DVD</title> <subtitle type='html'></subtitle> <link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://misopinionesdvd.blogspot.com/feeds/posts/default'/> <link rel='self' type='application/atom+xml' href='http://misopinionesdvd.blogspot.com/feeds/posts/default'/> <link rel='alternate' type='text/html' href='http://misopinionesdvd.blogspot.com/'/> <author> <name>Juan Ortiz</name> <uri>http://www.blogger.com/profile/15260917426736429062</uri> <email>noreply@blogger.com</email> </author>

127

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico
<generator version='7.00' uri='http://www.blogger.com'>Blogger</generator> <openSearch:totalResults>1</openSearch:totalResults> <openSearch:startIndex>1</openSearch:startIndex> <openSearch:itemsPerPage>25</openSearch:itemsPerPage> <entry> <id>tag:blogger.com,1999:blog-4392197541148508107.post4305271701793689325</id> <published>2008-11-20T06:25:00.000-08:00</published> <updated>2008-11-20T06:31:01.796-08:00</updated> <app:edited xmlns:app='http://purl.org/atom/app#'>2008-1120T06:31:01.796-08:00</app:edited> <title type='text'>Le Fabuleux destin d'Amlie Poulain</title> <content type='html'>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed eiusmod tempor incidunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquid ex ea commodi consequat.</content> <link rel='replies' type='application/atom+xml' href='http://misopinionesdvd.blogspot.com/feeds/4305271701793689325/comments/defa ult' title='Enviar comentarios'/> <link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4392197541148508107&amp;postID=430 5271701793689325' title='0 comentarios'/> <link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4392197541148508107/posts/default/430527170179 3689325?v=2'/> <link rel='self' type='application/atom+xml' href='http://misopinionesdvd.blogspot.com/feeds/posts/default/4305271701793689325 '/> <link rel='alternate' type='text/html' href='http://misopinionesdvd.blogspot.com/2008/11/le-fabuleux-destindamlie-poulain.html' title='Le Fabuleux destin d&apos;Amlie Poulain'/> <author><name>Juan Ortiz</name> <uri>http://www.blogger.com/profile/15260917426736429062</uri> <email>noreply@blogger.com</email> </author> <thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total> </entry> </feed>

Analizamos ahora algunos de los elementos adicionales que encontramos. Notamos tres elementos link en los elementos e nivel de canal (todos con diferentes atributos rel que describen el significado de cada vinculo). El link http://schemas.google.com/g/2005#feed es especfico de Blogger y los links con relaciones altrnate y self son especificados en el estndar de Atom. El primero apunta a la versin HTML del feed y el ltimo apunta a la direccin original del feed, y con esta ltima informacin es posible encontrar la fuente de un feed. Encontramos estas mismas relaciones en la entrada que se presenta. En ese caso, los links no apuntan a todo el feed, sino que apuntan al post en particular que se est incluyendo. El elemento generator muestra que el feed fue creado con el servicio de Blogger.

128

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico Hay tres elementos (totalResults, startIndex, itemsPerPage) del namespace openSearch. OpenSearch 49 es una especificacin para agregar metadatos a bsquedas y resultados de bsquedas, y su especificacin indica que Los clientes de bsqueda utilizan los documentos de descripcin OpenSearch para aprender sobre la interface pblica de un motor de bsqueda. Estos documentos de descripcin contienen templates de ULR parametrizados que indican como el cliente de bsqueda debera realizar las peticiones de bsqueda. Los motores de bsqueda pueden usar los elementos de respuesta de OpenSearch para agregar estos metadatos a los resultados en una gran variedad de formatos de contenidos. Los tres elementos contenidos en nuestro feed pertenecen a la parte de respuesta de la especificacin, por ejemplo elementos que son incluidos en resultados de bsqueda. Como el elemento content de una entrada es opcional, no lo hemos visto en las tablas presentadas inicialmente, pero es este el elemento que tiene el contenido de la entrada, en el caso en que el contenido es texto y no una referencia a un archivo como ser de video o audio disponible en otro lugar. 3.8.6.3. RSS 2.0 El cdigo incluido en http://misopinionesdvd.blogspot.com/rss.xml es similar al de Atom como era esperado. Es interesante notar que el feed RSS contiene los elementos id y updated del estndar Atom, ya que namepsace de Atom ha sido incluido en el elemento rss (ver lnea 3). Estos elementos son utilizados como solucin para estos elementos u otros equivalentes que no estn presentes en la especificacin RSS, pero que blogger necesita en este caso.
<?xml version='1.0' encoding='UTF-8'?> <rss xmlns:atom='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com//spec/opensearchrss/1.0/' version='2.0'> <channel> <atom:id>tag:blogger.com,1999:blog-4392197541148508107</atom:id> <lastBuildDate>Thu, 20 Nov 2008 14:33:08 +0000</lastBuildDate> <title>Opiniones sobre DVD</title> <description></description> <link>http://misopinionesdvd.blogspot.com/</link> <managingEditor>noreply@blogger.com (Juan Ortiz)</managingEditor> <generator>Blogger</generator> <openSearch:totalResults>1</openSearch:totalResults> <openSearch:startIndex>1</openSearch:startIndex> <openSearch:itemsPerPage>25</openSearch:itemsPerPage> <item> <guid isPermaLink='false'>tag:blogger.com,1999:blog4392197541148508107.post-4305271701793689325</guid> <pubDate>Thu, 20 Nov 2008 14:25:00 +0000</pubDate> <atom:updated>2008-11-20T06:31:01.796-08:00</atom:updated> <title>Le Fabuleux destin d'Amlie Poulain</title> <description>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed eiusmod tempor incidunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquid ex ea commodi consequat.</description>

49

Podemos encontrar ms informacin sobre el estndar OpenSearch en (141).

129

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico
<link>http://misopinionesdvd.blogspot.com/2008/11/le-fabuleux-destindamlie-poulain.html</link> <author>noreply@blogger.com (Juan Ortiz)</author> <thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total> </item> </channel> </rss>

3.8.6.4. Publicando feeds Como hemos visto es muy sencillo generar un blog que tambin produce de manera automtica web feeds. Y desde el punto de vista de un generador de contenidos, es tambin muy fcil integrar Web feeds a programas en muchos contextos para poder recibir los beneficios mencionados de la sindicacin de contenidos y para esto es necesario que los usuarios puedan acceder a los feeds. En los archivos mostrados notamos referencias a un archivo CSS. Esto combinado con las versiones actuales de los navegadores populares permite que al ser abierto en un navegador se d Ilustracin 54: Web Feeds en Firefox. una interface para que el usuario pueda agregar Al abrir el archivo XML en el navegador Firefox el usuario el feed en su agregador de preferencia.
obtiene una interfaz que le permite agregar el feed.

Para que esto suceda se debe poner a disposicin del usuario el archivo XML. Una forma es publicar un link como los mencionados anteriormente de forma directa, y otra es la habilitacin del auto-descubrimiento colocando un tag en la cabecera del cdigo HTML referenciando al archivo, como el siguiente:
<link rel="alternate" type="application/rss+xml title="RSS 2.0" href="rss.xml" />

En este caso el tag est basado en XHML, conteniendo al menos tres atributos rel, type, y href que hemos visto en los elementos link de los Web feeds mostrados anteriormente. Efectivamente, la funcin del elemento es la inversa a la del elemento link con la relacin altrnate en el feed. Los programas que dan soporte al auto-descubrimiento notifican al usuario cuando ingresan a una pgina que existe un feed disponible.

3.8.7. Aplicaciones de Internet enriquecidas.


Continuando con el anlisis realizado el considerar HTML, XML, CSS y scripting de servidor y cliente, la tendencia actual es generar contenidos e interfaces cada vez ms dinmicas para el usuario. Esto fue analizado en el patrn de diseo Web 2.0 Experiencias de usuario ricas donde realizamos una aproximacin a las tendencias actuales hacia la generacin de experiencias rpidas y simples combinando lo mejor de los paradigmas web y de escritorio. Como se comento al terminar el anlisis de scripting, el siguiente paso es el estudio de las tcnicas basadas en Ajax. 130

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico El uso de Ajax y la disponibilidad generalizada de acceso a Internet analizada previamente permite la creacin de sitios que puede hacer mucho ms que presentar pginas y conectarlas va hipervnculos. Ahora es posible ejecutar programas completos en un navegador, como ser clientes de mail, programas de chat o incluso herramientas tan potentes como el Google Docs ya mencionado. A su vez, los usuarios no tienen que preocuparse por instalaciones o actualizaciones ya que el concepto es utilizar a Internet como una plataforma completa. Para evitar que una pgina se recargue al requerir informacin del servidor y de esta forma acercarnos mas al la rapidez y sensacin que genera una aplicacin de escritorio, la vista de una pgina debe ser generada y manipulada en el navegador del cliente, utilizando la conexin cliente-servidor solo para intercambio de datos. Esto apunta a generar interfaces con respuestas ms rpidas, y por lo tanto es necesario depender de la velocidad de conexin a Internet y sobre todo optimizar el uso de esta ya que en general impone fuertes limitaciones. Existen diversas aproximaciones tcnicas para esto, como ser Java Applers, Flash de Adobe, y el mencionado Ajax. En aplicaciones con este tipo de aproximaciones el servidor es el responsable de manejar los datos y la generacin del entrono grafico, mientras que el cliente muestra dicho entorno y maneja las acciones de los usuarios. Las aplicaciones enriquecidas han existido por muchos aos, y en efecto cada programa de escritorio da soporte a un amplio set de funcionalidades que estn dirigidas a mejorar la interactividad en base a patrones, como ser mens, ventanas, cajas de dialogo, arrastrar y soltar, y respuestas inmediatas. Esto ha alcanzado niveles excelentes de interaccin, presente en muchos casos pero principalmente ha sido una caracterstica de los programas offline. Por tanto, el desafo es llegar a esto en la plataforma de Internet. Podemos decir entonces que una aplicacin es mas rica en este sentido relacionado el trmino con su funcionalidad, y el nombre Rich Internet Applications 50 (RIAs) puede ser clasificado como orientado a la funcionalidad, a diferencia de los mashups que como veremos ms adelante, podemos decir que son orientados a los datos. Como hemos notado en el anlisis realizado hasta ahora el desarrollo de Internet ha sido evolutivo, no revolucionario. RIAs son otro ejemplo claro de esto. Podemos encontrar una gran variedad de estos en Internet, y son en general una aplicacin de la idea del software como servicio, algo que analizaremos ms adelante pero que hemos anteriormente al estudiar los patrones de diseo Web 2.0. Por tanto, a continuacin buscaremos aproximarnos al desarrollo de pginas aun ms dinmicas, en base a Ajax. 3.8.7.2. Ajax Como se explico anteriormente, el modelo cliente-servidor se caracteriza por su funcionamiento sincrnico, y esto se aplica al modelo de Internet y las pginas web: En general la actividad en el cliente da como resultado peticiones de pginas al servidor, quien procesa estos pedido y da
50

El trmino fue desarrollado en (142) al hacerse referencia al entorno Flash y sus capacidades.

131

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico como resultado paginas HTML. Por tanto, el cliente debe realizar esperas y la informacin es manejada de forma ineficiente porque los resultados son siempre transmitidos como pginas enteras, es decir, generando una recarga de toda la pgina, por tanto existiendo el envo de mucha informacin redundante mientras que solo se genera un cambio quizs pequeo en el contenido (por ejemplo, datos de una lista desplegable de un formulario).

Cliente
Actividad del usuario Transmisin de datos Transmisin de datos Actividad del usuario Transmisin de datos Transmisin de datos Actividad del usuario

Servidor

Procesamiento del sistema.

Procesamiento del sistema.

El objetivo principal de Ajax es acelerar estas interacciones entre el usuario y Tiempo una aplicacin web al hacerlas Ilustracin 55: Solicitudes sincrnicas y recargas de pagina. asincrnicas y omitir la transmisin redundante de datos. Podemos ver la nueva secuencia de interacciones en la siguiente figura. En este nuevo modelo Ajax, el input del usuario es manejado por el motor Ajax cargado en navegador del cliente luego de la primera interaccin con el sitio web. De ahora en ms, es posible realizar muchas tareas sin necesidad de pedir datos al servidor. Solo cuando es necesario se realiza una peticin al servidor, y esta es transmitida y procesada de forma asincrnica, por tanto la actividad del usuario no se interrumpe. La respuesta del servidor puede ser construida de tal forma que solo contiene informacin nueva y relevante, por lo que se reduce drsticamente la cantidad de datos transmitidos. Aunque los detalles pueden variar, todo escenario Ajax consiste de pasos similares. Cuando el usuario realiza un evento, el motor Ajax (o ms bien la funcin Javascript responsable del evento) debe manejarlo de una manera apropiada. Si hace falta informacin adicional del servidor para llevar a cabo la tarea, se realiza la peticin asincrnica.
Cliente
Navegador Motor Ajax Input Transmisin de datos Transmisin de datos Transmisin de datos Transmisin de datos Procesamiento del sistema. Procesamiento del sistema.

Servidor

Mostrar Input Mostrar Input

Mostrar El motor descripto en la siguiente Actividad Procec. figura no es una entidad del Del independiente, sino que representa usuario sistema la interaccin de las tecnologas Tiempo web que hemos analizado Ilustracin 56: Recargas asincrnicas de pagina utilizando AJAX. anteriormente, en conjunto con el

132

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico objeto XMLHttpRequest. El proceso general de una llamada Ajax puede ser resumida en los siguientes pasos: 1. Se crea el objeto XMLHttpRequest. La sentencia Javascript puede ser algo como resObject = new XMLHttpRequest(). 2. Para manejar la respuesta, es necesario definir una funcin de callback. La sentencia sera algo similar a resObject.onreadystatechange = handleResponse, siendo handleResponse el nombre del manejador de callback. Esta funcin es llamada cuando el estado de resObject cambia. El campo resObject.readystate indica el estado en el que est el objeto XMLHttpRequest. Cuando toma el valor de Loaded, la transmisin finaliza, y depende del manejador de callback reaccionar apropiadamente al cambio de estado. 3. Al llamar a open en el objeto XMLHttpRequest se abre la conexin HTTP al servidor, y open espera tres argumentos: el tipo de solicitud HTTP, la URL objetivo en la aplicacin de servidor, y un flag indicando si la transmisin debera ser asincrnica o no. Por ejemplo, una peticin asincrnica con el mtodo GET tendra la siguiente forma: resObject.open(get,targetURL,true). 4. Para comenzar la solicitud, el mtodo send del objeto XMLHttpRequest es llamado con un argumento que contiene el mensaje en caso de una solicitud en la que se utiliza un tipo de solicitud POST. Si se elige el mtodo GET, los parmetros del mensaje son codificados en la direccin objetivo y por tanto se enva null como argumento. 5. Una vez que el manejador de callback es llamado y el estado es COMPLETED la informacin requerida puede ser accedida mediante los campos responseText y respondeXML del objeto XMLHttpRequest. El primero contiene el mensaje en texto plano y el segundo en formato XML. El motor ajax puede ahora utilizar la informacin para completar sus tareas y presentar los resultados, por ejemplo reemplazando ciertas porciones de la pgina utilizando DHTML.

Ilustracin 57: Interaccin cliente-servidor con AJAX.

133

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico Podemos encontrar informacin ms detallada sobre Ajax en (105). El siguiente ejemplo tiene el objetivo de simplemente explicar la funcin de XMLHttpRequest, y ciertamente no es posible considerarla como una RIA. 3.8.7.3. Servidor WPC Para poder mostrar cmo podemos extender nuestro catalogo de DVD con la funcionalidad de XMLHttpRequest, necesitamos un proveedor de datos como ser un servidor WPC (Web procedure call server) o un proveedor de Web service que procese las solicitudes generadas en nuestra pgina de ejemplo. Para esto realizaremos un cambio en nuestro script de PHP, que podra generar el catalogo completo. Ahora en lugar de generar la pgina completa, el script en base a solicitudes devolver datos especficos correspondientes a una pelcula, como ser los nombres de directores y actores. Utilizaremos a su vez la misma fuente de datos principal, es decir, el archivo XML con datos de DVDs. La siguiente imagen muestra que componentes son parte del ejemplo. El cliente ejecuta cdigo Javascript para realizar las solicitudes Ajax al servidor WPC. El servidor corre PHP para generar las peticiones a la base de dato, que en este caso implica acceder al archivo XML va XPath. Luego toma el resultado para producir el output para el cliente y se lo enva. El cliente utiliza nuevamente cdigo Javascript para manipular su DOM.

Generacin del catalogo con Ajax

A continuacin podemos ver el cdigo para el servidor WPC:


<? $asin = $_GET['ASIN']; $dom = new DomDocument(); $dom->load('catalogo.xml'); $xp = new domxpath($dom); $dvds = $xp->query('/DVDCatalog/DVD[ASIN="'.$asin.'"]'); foreach ($dvds as $node) { $director = getFullNamesOfPersons($node->getElementsByTagName('Director')>item(0));

134

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico
$actors = getFullNamesOfPersons($node->getElementsByTagName('Actors')>item(0)); returnDVDCode($director, $actors); } function returnDVDCode($director, $actors){ echo 'Director: '.$director.'<br>'."\n".'Actores: '.$actors; } function getFullNamesOfPersons($personList) { $persons = $personList->getElementsByTagName('Person'); $i = 0; foreach ($persons as $person) { $fullNames[$i] .= getSubNodeContent($person, 'Firstname').' '.getSubNodeContent($person, 'Lastname'); $i++; } return implode(", ", $fullNames); } function getSubNodeContent($node, $subNodeName) { return $node->getElementsByTagName($subNodeName)->item(0)->nodeValue; } ?>

Este servidor WPC tiene exactamente las mismas funciones getSubNodeContent y getFullNamesOfPersons que el script de creacin que vimos en el ejemplo de scripting de servidor. Las funciones printDocumentFoot y prontDocumentHead han sido borradas del cdigo mostrado, ya que no son necesarias porque nuestro script ahora funcionara como una forma para que un script cliente acceda a la informacin de nuestra base de datos de catalogo de DVD. Por tanto no es necesario crear una pgina entera ya que sera redundante. En lugar de esto, nuestro script utiliza la funcin returnDVDCode para entregar solo el contenido que no est todava disponible en el lado del cliente. El script anterior devolva todos los DVDs del catalogo, lo cual ya no hacemos. Para evitar esto realizamos un pequeo cambio en el objeto $dvds, que ahora tiene la siguiente forma:
$xp->query('/DVDCatalog/DVD[ASIN="'.$asin.'"]').

El cdigo indicado entre [ ] es un selector especial de XPath, que verifica que el elemento ASIN (que es un subelemento de DVD) tiene el mismo valor que la variable $asin, y solo aquellos nodos que cumplan esta condicin son seleccionados y guardados en $dvds. Como podemos ver en la lnea 2 del script, la variable $asin tiene el valor de $_GET*ASIN+, es decir que contiene el valor ASIN si un valor con tal nombre ha sido previamente entregado al script a travs del meto GET de HTTP. Los parmetros GET son agregados en la URL del script invocado luego de un signo ?, por ejemplo: http://www.juanortiz.com.ar/wpcserver.php?ASIN=B0000CABBW La solicitud anterior llama al server WPC con un parmetro ASIN de valor B0000CABBW, que contiene la pelcula Le Fabuleux destin d'Amlie Poulain. El script devolver entonces el siguiente resultado: Director: Jean-Pierre Jeunet <br> Actores: Audrey Tautou 135

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico

Ya que no hemos agregado funciones que reciben y manejan nmeros ASIN errneos, en ese caso el script devolver un arreglo vacio. 3.8.7.4. Cliente WPC Comenzaremos tambin con la base que tenamos en el ejemplo de scripting de cliente previamente mostrado, donde podamos esconder los detalles a travs de un click en el titulo del DVD. Como veremos a continuacin con algunos pequeos cambios podemos adaptar el script a nuestros objetivos actuales. Primero, podemos notar que la pgina ya no contiene la informacin del director y de los actores, sino que el div correspondiente esta vacio y con el nmero ASIN del DVD como Id, y funcionara ahora como un contenedor para los datos que obtendremos del servidor. El resto del cuerpo no contiene cambios.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>Catalogo de DVD</title> <meta name="author" content="Juan Ortiz"> <link rel="stylesheet" type="text/css" href="mi_estilo_html.css"> <script type="text/javascript"> function toggleDVDDisplay(id){ var http = new XMLHttpRequest(); http.onreadystatechange = function() { if(http.readyState == 4 && http.status == 200) { var contentElement = document.getElementById(id); contentElement.innerHTML = http.responseText; contentElement.style.display = 'block'; contentElement.setAttribute('expanded', 'true'); } } http.open("GET","http://localhost/ch3/sample_01_server.php?ASIN="+id, true); http.send(null); } </script> </head> <body> <div class="DVDCatalog"> <h1>Catalogo de DVD</h1> <div class="DVD"> <div class="DVDHead" onClick="toggleDVDDisplay('B0000CABBW')"> <h2><a href="http://www.imdb.com/title/tt0298228/"> Le Fabuleux destin d'Amlie Poulain</a></h2> (2001) </div> <div class="DVDContent" id="B0000CABBW"> </div> </div> <div class="DVD"> <div class="DVDHead" onClick="toggleDVDDisplay('B00005U515')">

136

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico
<h2><a href="http://www.imdb.com/title/tt0120737/"> The Lord of the Rings: The Fellowship of the Ring</a></h2> (2001) </div> <div class="DVDContent" id="B00005U515"> </div> </div> </div> </body> </html>

El cambio ms importante es la nueva versin de la funcin toggleDVDDisplay, que ahora sigue el proceso de llamadas Ajax que mencionamos anteriormente. Primero se instancia un objeto XMLHttpRequest y luego se define que la funcin onreadystatechange de XMLHttpRequest debe manejar el resultado de la llamada WPC. A continuacin la funcin open configura los parmetros de la llamada WPC y send abre la conexin. Cuando el resultado regresa desde el servidor y su estado es el correcto (es decir, que el estado de http.readyState es 4 y http.status es 200) se ejecuta el cdigo que se encarga de insertar el nuevo contenido. La funcin responseText devuelve el resultado en texto plano que es insertado en el div vacio que funciona como contenedor en el cuerpo de la pgina, con su seleccin funcionado de la misma forma que el ejemplo original de scripting de cliente. Esta insercin se realiza sobrescribiendo el contenido del div a travs de la propiedad innerHTML. Hay que notar que la funcin toggleDVDDisplay es tan simple que hace llamadas repetitivas al servidor si se hace click repetidamente. Esto por supuesto no es un comportamiento deseable ya que la idea de usar Ajax es reducir la cantidad de datos que son transmitidos y estos serian datos redundantes, pero esto es debido a que se busca mantener la simpleza del ejemplo. Para dar una pista de que mas es posible, potemos observar a las posibilidades que tenemos con este objeto. Hasta ahora solo hemos utilizado el estado 4 (cargado) del XMLHttpRequest, que es usado para informar al script que se ha completado el envo de datos. Podemos ampliar la informacin diciendo que tiene los posibles estados: 0: sin inicializar. 1: abierto. 2: enviado. 3: recibido. 4: cargado. El estado 1 indica que la funcin open ha sido llamada de manera exitosa, el estado 2 indica que la peticin ha sido recibida, el estado 3 indica que todas las cabeceras HTTP han sido recibidas y que el cuerpo del mensaje est a punto de ser recibido. Estas funciones pueden ser utilizadas para informar al cliente el estado de su solicitud. En nuestro ejemplo no hicimos esto debido a que la cantidad de datos considerada es siempre pequea, pero en caso de necesitar cargar mayores cantidades de datos estas funciones serian una buena manera para mejorar la comunicacin entre el cliente y el servidor. Si las respuestas de datos del servido no solo contuvieran contenidos de nueva informacin, sino que tambin en forma de nuevos scripts podemos imaginar que es posible aumentar y modificar 137

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico las acciones que se realizan en la pgina. Las posibilidades que esto brinda son muy amplias, dejando de lado el concepto esttico que se presentaba previamente a la incorporacin de Ajax, alcanzando un nuevo nivel de pginas dinmicas. Es importante considerar que esto sirve para nuestro pequeo ejemplo, pero cuando se habla de proyectos de tamao considerable es necesario utilizar herramientas que agregan capas a la programacin y que manejan con abstraccin el concepto de Ajax.

3.8.8. Mashups y el diseo para la reutilizacin


Los mashups (concepto que hemos considerado en el anlisis de social medias) representan un cambio radical frente a las posibilidades que existan previamente en Internet. Antiguamente la nica forma de acceder a la informacin de un sitio web era a travs justamente del sitio web, siendo el page scraping una prctica necesaria para quien requera obtener informacin con el objetivo de reutilizarla. Existen diversas maneras de ejecutar este tipo de extraccin de datos. Podemos explicarla de forma breve indicando que consiste en extraer de forma automtica contenidos de partes de pginas publicadas a travs de un robot o spider que recorre los sitios de los cuales se desea extraer informacin, analizando los cdigos HTML presentados y en base a patrones y palabras claves identifica y extrae los contenidos, para luego procesarlos y presentarlos. Es una prctica claramente ineficiente, dependiente de los patrones del diseo y con una gran tendencia al error, pero ampliamente utilizada debido a que en muchos casos los sitios no permiten otra forma de acceder a los datos presentados. Hoy en da continua siendo una prctica comn para la obtencin de datos en Internet, pero requiere tcnicas avanzadas y en general se utiliza para cuestiones o tipos de informacin muy especificas, es decir, no es algo utilizable por el usuario comn de Internet. Y aunque en ciertos escenarios esto puede funcionar, lo importante es el cambio que se presenta en la actitud por parte de quien publica contenidos: Como mencionamos en la prctica de disear para la reutilizacin del patrn innovacin en el ensamblaje, en el concepto Web 2.0 los contenidos digitales se generan de tal forma que puedan ser desarmados y reutilizados. Esto se logra en base a la publicacin de contenidos de diversas maneras, manteniendo la tradicional publicacin de pginas web pero colocando a disposicin del usuario de internet otras formas de acceder a los contenidos, como ser a travs de Web feeds y APIs y. Es decir, disear y generar sitios web que adems de ser legibles por los usuarios, pueden ser fcilmente ledos por otras aplicaciones. En base a estas maneras alternativas, es posible reutilizar los contenidos y servicios de diversas fuentes combinadlos para crear e innovar, generando as posibilidades ilimitadas. Antony Mayfield indica que la combinacin de dos o ms unidades de contenidos (o software, o sitios web) es uno de los fenmenos de los social media que hacen a estos tan excitantes, dinmicos e incluso en ocasiones desconcertantes. Los Mashups son posibles debido a la apertura de los social media, ya que muchos sitios web y desarrolladores de software alientan a la gente a jugar con sus servicios y reintentarlos. (10)

138

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico Analizamos a continuacin las dos formas mencionadas para generar esta apertura: Web Feeds y APIs. 3.8.8.2. Sindicacin de contenidos con Web feeds Hemos mencionado anteriormente el concepto de sindicacin de contenidos, mencionado que se presenta como una herramienta en los social media. A su vez, hemos profundizado en la tecnologa detrs de los Web feeds a travs del anlisis de los estndares RSS 2.0 y ATOM. Podemos decir que la sindicacin de contenidos en el contexto de Internet es una recombinacin de contenidos orientados a documentos. Esto tiene un potencial virtualmente ilimitado en cuanto a las maneras que puede aprovecharse, y podemos mencionar un par de casos para acercarnos al concepto. Volviendo al caso mencionado del page scraping, podemos decir que esta tcnica es parte de un proceso de recoleccin, anlisis, procesamiento y presentacin de informacin. Podemos llevar esto ms all de la tecnologa, al caso de anlisis de medios que se realiza en marketing o ambientes corporativos, para obtener por ejemplo un resumen de diferentes revistas, peridicos y publicaciones sobre un tema en particular con el objetivo de obtener reportes de informacin agregada que es relevante al negocio. El punto fuerte de este tipo de anlisis es que concentran los esfuerzos de seleccionar y procesar estos puntos relevantes y entregarlos al nivel de toma de decisiones, dando as informacin valiosa y acotada. Podemos notar diferentes pasos en este proceso: obtener informacin (conseguir las fuentes en cuanto estas son publicadas), integrarla (tomar copias de lo que se considera relevante), transformarla (puede no ser necesaria, pero quizs se deba al menos acotar su largo para mostrar solo una parte de la informacin ya que puede ser muy extensa) y entregarla (enviar por correo electrnico por ejemplo). Ahora supongamos que aplicamos el concepto de Web feeds al caso analizado, siendo que las fuentes de informacin estn provistas como un Web feeds en alguno de los formatos mencionados. En este escenario adquirir implica realizar las subscripciones a las fuentes de datos. Integrar es realizado a travs de un agregador de Web feeds, la transformacin en caso de ser necesaria se realiza internamente si es que los feeds estn provistos en diferentes formatos, lo cual solo implica una transformacin en base a XML o incluso ms simple aun, en la mantera en que el contenido es presentado (por ejemplo, podemos mostrar tan solo las primeras 500 palabras de un articulo, dando la posibilidad de ir a la fuente original si se desea leer todo el contenido). El ltimo paso de entrega es realizado cuando se selecciona los contenidos relevantes y el agregador funciona como un proveedor de Web feeds que son consumidos por otros usuarios en sus agregadores. Podemos llevar esto a un ejemplo prctico, demostrando esto al utilizar el servicio de Google para Web feeds llamado Google Reader. Este servicio ofrece la opcin de redistribuir contenidos mediante la opcin de shared tems. Al agregar un feed a este grupo, se genera de forma automtica un nuevo feed que queda disponible para las personas que deseemos (o incluso es posible hacerlo publico). Por tanto, volviendo al ejemplo mencionado una persona que quiera redistribuir contenido solo debe primero seleccionar las fuentes que desea, y luego seleccionar los artculos de estas fuentes que deben ser redistribuidas. La aplicacin que funciona como 139

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico agregador en este caso se encarga de todos los otros pasos del proceso. Esto da la posibilidad de que prcticamente cualquier usuario pueda convertirse en un agregador y redistribuidor de contenidos. Al publicarse esto en una URL particular, es claro que hemos generado un mashup que contiene diversas fuentes de datos de una manera rpida y en base a Web feeds.
Ilustracin 58: Captura de pantalla de Google Reader.

Este tipo de procesos de distribucin Google Reader nos da la posibilidad de generar nuestra propia y redistribucin basado en Web feeds redistribucin de feeds. Solo es necesario tener diversas fuentes demuestra un gran potencial para el seleccionadas, y marcar los artculos que queramos redistribuir como consumidor de contenidos. Ahora shared. podemos observar esto desde el punto de vista de los proveedores de contenidos. La provisin de Web feeds disminuye los esfuerzos de integracin en el cliente de tal forma que el proveedor puede esperar una amplia difusin de su trabajo, pero para que esto le beneficie es esencial la atribucin de la fuente. En los formatos de Web feeds esto est asegurado por defecto, y podemos notarlo al ver el campo requerido de channel level en un documento XML, y el campo opcional entry level. Es decir, se asegura que quede disponible la fuente e incluso de manera opcional el articulo original (algo que comnmente se mantiene).

Ilustracin 59: Pagina personal pblica de Google Reader. Una vez que tenemos contenido seleccionado, este puede ser accedido de manera pblica en una URL especifica permitiendo incuso que otra gente se subscriba a esta informacin en formato de feed, o puede ser redistribuido a un listado acotado de personas.

A dems de la correcta atribucin de autora, el proveedor de contenidos puede estar interesado en incrementar el trfico de su sitio en base a la distribucin de los Web feeds, y esto es algo que el link incluido en el documento XML tambin provee. De tal manera es posible encontrar informacin adicional sobre el tema del feed, y obtencin de beneficios de acuerdo al modelo de negocio del sitio (por ejemplo, anuncios publicitarios, productos o servicios que el proveedor ofrezca, etc.) Una motivacin comn para que el lector del feed se dirija a la fuente original es para leer los comentarios que han sido incluidos en el artculo, ya que en muchos casos estos

140

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico agregan informacin til (y estos incluso pueden ser agregados como un feed individual en muchos casos). Diferenciamos entonces dos tipos de links: el link que apunta al sitio principal (channel level) y el que apunta al artculo en particular (entry level). Este ultimo link es el que permite muchos de los efectos de la Web 2.0 y que hemos analizado en la prctica Direccionamiento granular de contenidos del patrn innovacin en el ensamblaje. Este tipo de vnculo debera mantenerse invariable para permitir al contenido ser encontrado siempre luego de su publicacin, y es por esto que estas URLs son denominadas permalinks. 3.8.8.3. Mashups basados en WPCs. Mientras que los Web feeds funcionan bien para los contenidos orientados a documentos, solo proveen un enfoque muy bsico en cuanto a la combinacin de contenidos orientados a datos. Veremos a continuacin como los WPCs y las APIs son una solucin para este tipo de contenidos. Como su nombre lo indica, los WPC (Web Procedure Calls) pueden ser utilizados para implementar cualquier tipo de llamada a procesos de Internet. Es posible al crear una aplicacin definir que se puede llamar, con que parmetros y en base a qu mtodos de acceso. Analizaremos ms adelante un ejemplo de mashups en base a Google Maps para acercarnos al concepto. Analizamos ahora brevemente como los WPCs son parametrizados. Existen alternativas que definen como un WPC interacta con un cliente y cuan extensible es. Volviendo al ejemplo analizado previamente, hemos utilizado el GET de HTTP para llamar a la funcin PHP que devuelve informacin adicional de un DVD, utilizando: http://www.juanortiz.com.ar/wpcserver.php?ASIN=B0000CABBW Este mtodo GET podra ser tambin usado para enviar solicitudes al servidor, pero esta cambiaria su estado y por tanto se considerara un mal uso. Podemos decir que este mtodo es seguro, en el sentido de que solo debe ser usado para recibir informacin. La mejor forma de enviar informacin a un servidor es mediante el mtodo POST, que incluye los parmetros no en la URL sino en el cuerpo de la solicitud. Cuando hablamos de SOAP como una forma natural de mejorar la formalizacin de los datos que se envan, ya que se utilizan sobres basados en XML para dar formatos a los mensajes. La definicin de interfaces de los servicios se realiza mediante XML Schemas (como ser el ya mencionado WSDL). Finalmente, SOAP funciona como base natural para otros estndares si se considera una estructura de capas y consecuentemente incremente la formalizacin, pero sin cambiar la imagen general de los WPCs. Debido a la forma en que hemos utilizado los procedimientos hasta ahora, la semntica de los mtodos GET y POST no han quedado del todo claras: Estas dependen del uso de los parmetros en el script que ha sido accedido. Cuando las semnticas de GET y POST y otros mtodos HTTP son definidos y utilizados de forma rgida obtenemos como resultado un estilo de arquitectura como

141

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico ser la del caso de REST (Representatonal State Transfer)51, que describe como las aplicaciones Web deben ser diseadas. A saber, como una red de pginas Web (una maquina de estado virtual) donde el usuario progresa a travs de una aplicacin al seleccionar links (transiciones de estado) que dan como resultado la siguiente pagina (representado el siguiente estado de la aplicacin) siendo transferido al usuario y presentados para su uso. Toda funcionalidad y estado de la aplicacin son considerados recursos. Estos son direccionados de forma nica tpicamente a travs de URIs. Tomando nuevamente el ejemplo del DVD, las siguientes URIs apuntan a recursos. http:// www.juanortiz.com.ar/DVD/ http:// www.juanortiz.com.ar/DVD/FindDVD http:// www.juanortiz.com.ar/DVD/B0000CABBW http:// www.juanortiz.com.ar/DVD/B00005U515 La primer alinea apunta a un recurso que contiene todos los DVDs, la secunda ofrece la posibilidad de buscar DVD, y la tercera y cuarta a DVDs especficos. Los mtodos que pueden ser usados en los recursos son GET, POST, PUT y DELETE nicamente, y estos corresponden a los mtodos HTTP de iguales nombres. Hemos explicado ya GET y POSTS, y podemos decir que PT agrega un recurso y los parmetros son dados en el cuerpo de la solicitud, y DELETE remueve una direccin dada. Cuando se utiliza GET en un recurso, una representacin del recurso de baja al cliente, y la forma en que esta representacin luce depende de la decisin del cliente y el servidor ya que no hay un mecanismo formal para expresar la interfaz de un servidor. Por ejemplo, observemos una pgina cargada en un navegador: La representacin e la pgina es devuelta al cliente debido a que ha sido llamado el mtodo GET. Esta representacin podra tomar la forma de paginas HTML, imgenes o documentos PDF por mencionar algunos casos. Cuando se devuelve una representacin con links como ser el caso de paginas HTML, los usuarios pueden moverse en la aplicacin seleccionando los links y desplazndose en los distintos estados de la aplicacin. Hemos visto dos implementaciones distintas de los WPCs: orientados a procedimientos y orientados a recursos. Ambos estilos son comunes en la Web y cada uno es el ms adecuado dependiendo de las caractersticas de la aplicacin donde sean utilizados. La eleccin es sencilla solo cuando una aplicacin debe ser integrada a una arquitectura de Web services, que depende fuertemente en estandartes de Web services. En dicho caso, la ventaja de utilizar SOAP es clara. Y para proyectos ms simples REST puede ser una opcin ya que la simplicidad es su punto fuerte: solo cuenta con cuatro mtodos aplicados a recursos que son identificados con URIs. Para analizar un ejemplo, la API de Google Maps permite integracin de los servicios de mapas en otros sitios web. El uso de la API implica registrarse al servicio para obtener una clave de desarrolladores (una prctica muy comn en los servicios de APIs) y el uso de un archivo Javascript provisto por Google. En realidad esto ltimo no es estrictamente necesario ya que uno puede construir las llamadas necesarias en cualquier lenguaje, pero la documentacin de la API provee solo soporte para esta clase de Javascript. Solicitudes a la API son procesadas cuando se utiliza la clave provista, habiendo sido relacionada esta con el sitio desde donde se realiza la peticin. La librera de la API consiste en un conjunto de objetos y escuchadores de Javascript. Los
51

El trmino fue definido en (143)

142

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico objetos por ejemplo representan un mapa, un marcador o un control. Los escuchadores permiten reaccionar a eventos especficos inicializados por objetos o por el usuario. Cada mapa es representado como una instancia de la clase GMap2. El constructor de un mapa recibe la locacin en el documento HTML que es definida mediante el uso de un elemento div como argumento. Es posible agregar al mapa botones de control para manejar la locacin y niveles de zoom aunque GMap2 ofrece interfaces y clases que pueden sobrescribir el comportamiento por defecto. La API ofrece un conjunto rico de funcionalidades para controlar los aspectos visuales del mapa. Para marcar lugares especficos se pueden incluir elementos GMarker en el mapa. Las locaciones son representadas mediante el objeto GLatng que contiene las latitudes y longitudes respectivas. Una instancia de GmMarker se miestra como un icono (GIcon) en el mapa, y es posible definir diversos iconos para representar diferentes objetos. Los Gmarker pueden contener un GInfoWindow que aparece al hacer click en el marcador o en otros eventos. Adems se pueden utilizar lneas o polgonos que pueden ser utilizados por ejemplo para mostrar el camino para llegar de un punto a otro. Podemos ver a continuacin como utilizando la se crea un mapa centrado en latitud -31.432975 y longitud -64.276317, y agregamos como agregar controles y un marcador con el texto IUA que se mostrara cuando hagamos click en el marcador.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"/> <title>Ejemplo de Google Maps :: IUA</title> <script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=ABQIAAAAW210_oqepJQ3TYK PtSmmzBQuV8JmhhAn8NQ9CV189HfU10cb5BQCcdUXLm6LW5gDngABsWOOjSkrXg" type="text/javascript"></script> <script type="text/javascript"> function load() { if (GBrowserIsCompatible()) { var map = new GMap2(document.getElementById("map")); var point = new GLatLng(-31.432975, -64.276317); map.setCenter(point, 16, G_HYBRID_MAP); map.addControl(new GLargeMapControl()); map.addControl(new GMapTypeControl()); map.addControl(new GScaleControl()); var marker = new GMarker(point); var html = "IUA"; GEvent.addListener(marker, 'click', function() { marker.openInfoWindowHtml(html, 100); }); map.addOverlay(marker); } } </script> </head>

143

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico
<body onload="load()" onunload="GUnload()"> <div id="map" style="width: 500px; height: 300px"></div> </body> </html>

La API de Google Maps tambin permite posibilidades de simplificar la comunicacin asincrnica con un servidor propio y el manejo de datos XML. Por ejemplo, la funcin FDownloadURL encapsula diferentes Ilustracin 60: Ejemplo de Google Maps. implementaciones del objeto XMLHttpRequest y reduce por tanto A travs de la API de Google Maps podemos insertar mapas en base a la carga de codificacin. Los mtodos parmetros que definimos. GXml y GXslt permiten el anlisis de archivos XML en su representacin DOM y por tanto permitir con el DOM resultante va XSLT. Como podemos ver es muy sencillo incluir mapas en un sitio Web, y seria increblemente costoso y complicado disear una aplicacin propia que tuviera algn tipo de funcionalidad similar. Y podemos imaginar el potencial de esto al generar el Javascript con scripts de servidor, en base a diferentes configuraciones de mapas tomando por ejemplo las longitudes y latitudes de centros comerciales en una ciudad desde una base de datos, junto a otros datos interesantes como ser una imagen del frente de los locales, sus telfonos y pginas web. En el lado tcnico, el desarrollo de nuevos mashups requiere que un servidor pueda trabajar junto a los datos de mapas provistos por Google Maps, y para esto el servidor debe proveer acceso a fuentes de datos adicionales sean locales o remotas. Parta esto los WPCs puede ser de la forma en que hemos visto en el ejemplo de Ajax, y esto permite que los lmites solo queden en la imaginacin de los desarrolladores. En los anlisis realizados en el despliegue del patrn de diseo innovacin en el ensamblaje hemos mencionado que una prctica Web 2.0 es la de ofrecer este tipo de APIs y a su vez ser los propios consumidores de estas. Es por ello que hoy en da es de suma importancia poder tener un panorama claro de las APIs existentes para poder basarnos en estas para por ejemplo, para el caso planteado de mapas o para cargar videos en nuestro sitio utilizando posiblemente la API de YouTube. Hoy en da muchos mashups son creados por individuos de manera privada y sin objetivos comerciales, aunque el nmero de empresas que crea mashups tambin est creciendo rpidamente. Estas organizaciones se enfrentan al problema de basar sus servicios en los servicios de otros, y por tanto se vuelven dependientes de estos. Claramente la dependencia de proveedores no es algo nuevo ni deseable, y en estos casos es algo muy directo: si las APIs cambian de interfaces sin previo aviso el mashup probablemente presente errores, y si las APIs dejan de proveer servicios el mashup dejara de funcionar.

144

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico En general los trminos y condiciones en base a los que las APIs son provistas incluyen el derecho del proveedor de discontinuar el servicio o de deshabilitar las solicitudes de algn sitio en particular en caso de algn tipo de uso que vaya en contra de estos trminos y condiciones. Ms aun, cuando los mashups se vuelven populares se encuentran con el problema de que el proveedor de la API puede considerar que se ha generado un nicho de mercado interesante y desarrollar una manera para proveer el mismo servicio que el mashup, y en este caso por ejemplo se vuelve muy importante el patrn de diseo de Los datos son el prximo Intel Inside, y generar en la operacin del mashup el enriquecimiento de datos que provienen de una API, y no simplemente reutilizar los contenidos de los servicios.

3.8.9. Tagging
Como mencionamos antes, los motores de bsqueda antes de la tendencia marcada por Google se basaban fuertemente en los metadatos o meta-tags incluidos en la cabecera de un documento HTML: para definir la temtica de la pgina el autor puede incluir el titulo, palabras claves y descripcin en forma de metadatos. Ya que esto puede ser claramente manipulable, la consideracin de estos metadatos fue drsticamente reducida al momento de generar un ranking de resultados. El mtodo de Google fue la utilizacin de PageRank y el anlisis de estructuras de vnculos en los sitios como meta-informacin, lo que dio como resultado un ranking mucho ms natural. Estos metadatos creados de forma manual han tomado una nueva forma y gracias a estos se estn convirtiendo en la nueva base para mejores bsquedas y resultados: El concepto de llama tagging, y en este los usuarios (y ya no solo los autores de un sitio) agregan adjuntan o aplican palabras claves a sitios u objetos de estos, es decir, sitios completos, imgenes, videos o links, con el objetivo de clasificarlos y simplificar su posterior bsqueda. Este concepto es uno de los pilares de la Web 2.0 y se presenta fuertemente en comunidades de contenidos, redes sociales, blogs y otros social media. A su vez, los tags pueden ser pblicos de tal manera que otros usuarios puedan verlos y utilizarlos para sus bsquedas. Este proceso es el mecanismo de creacin bsico para las llamadas folksonomias52: sistemas abiertos de etiquetas creadas de forma colaborativa. Este trmino hace contraste las taxonomas, que en general se basan en directorios rgidos de categoras. El publicar y compartir tags es un paso importante en lo que a socializacin de los contenidos generados por usuarios en Internet respecta; y aunque la definicin de tagging es tan simple como hemos visto, las consecuencias de esta prctica son muy poderosas y significativas. Podemos mencionar algunas dimensiones que definen las maneras en que los tags son creados y utilizados (aunque no todas son independientes del resto), detallando caractersticas referidas a los usuarios y al sistema para determinar la manera en que se comporta un sistema de tagging: Tipo de Objeto: Cualquier objeto que puede ser representado puede ser taggeado. Sin embargo, es esperado que el uso de los tags vare mucho dependiendo de la naturaleza del los objetos.
52

El trmino fue desarrollado por Thomas Vander Wal en 2004 (144).

145

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico Fuente del material: Cuando los objetos estn disponibles en un sistema, puede ser provistos por los usuarios o por el mismo sistema. Una alternativa es el caso de recursos fuera del sistema (por ej. en otros sitios) que son taggeados. Derechos de tagging: La decisin de quien puede (o incluso quien es alentado) a agregar, editar o borrar tags afecta directamente a los tags que pueden surgir y a los patrones de su surgimiento. Soporte al tagging: Los usuarios pueden recibir ayuda al momento de aplicar tags. Por ejemplo, en el caso de que los derechos de tagging permitan que muchos usuarios puedan aplicar tags a un objeto, al momento de aplicar un tag se puede mostrar las contribuciones de otros al usuario que este por realizar la accin dndole la opcin de aplicar quizs los mismos tags ya aplicados previamente. Modelo de agregacin: En esta dimensin podemos distinguir dos tipos bsicamente: en un caso se permite aplicar un tag a un objeto una nica vez (set-based), y en otro caso los tags pueden ser agregados ms de una vez (bag-based), lo que permite que se realicen evaluaciones de su frecuencia de uso para obtener anlisis. Conectividad de recursos: Los recursos pueden estar conectados de otras maneras adems de los tags, estando agrupados o vinculados entre s. Es de esperarse que los objetos interconectados compartan tags similares. Conectividad social: Esta dimensin hace referencia a las conexiones entre los usuarios de un sistema, y estos aspectos son similares a los que se presentan en las conectividades de los recursos. Tambin es posible analizar las motivaciones de los usuarios para la aplicacin de tags, encontrando dos tipos principales: los tags organizativos y los tags sociales. La primera categora puede ser dividida en formas de organizacin personal e interpersonal: Los usuarios desean organizar y encontrar sus propios tems, para poder utilizarlos en el futuro y quizs compartirlos y as permitir que otros usuarios puedan utilizar el mismo esquema de organizacin. Por otra parte, las motivaciones sociales para la aplicacin de tags incluyen la atraccin de atencin, la presentacin propia, la expresin de opiniones, y la creacin de tags como un subproducto para jugar y competir. En esta parte del marco terico notaremos repetidas instancias de las dimensiones y motivaciones que mencionamos, al analizar primero el caso de las comunidades de contenidos Flickr y Delicious, dos de los principales exponentes y pioneros en la generacin de folksonomias. 3.8.9.2. Tagging en Flickr Al analizar los social media y en particular las comunidades de contenidos, mencionamos el caso de Flickr que habiendo nacido en el 2004 se convirti en una de las comunidades ms grandes donde los usuarios pueden organizar y compartir imgenes, y que alcanzo este xito gracias a prcticas innovadoras. Uno de los pillares de este xito ha sido el tagging. Las imgenes pueden ser subidas al sitio mediante una interfaz web enriquecida o enviadas por correo electrnico a una cuenta de Flickr. A su vez, existen aplicaciones de terceros basadas en las APIs de Flickr que brindan un abanico ms amplio de posibilidades. Una vez que han sido subidas, las imgenes pueden ser incluidas en grupos. Flcikr tambin permite como mencionamos 146

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico anteriormente que el usuario defina si una imagen ser pblica o privada y tambin aplicar licencias de tipo Creative Commons a ellas, y siempre las imgenes se mantienen como propiedad del usuario. Para proveer ms informacin sobre las imgenes, es posible agregar una descripcin y aplicar tags (estos solo pueden ser aplicados por el autor). Analizaremos entonces a continuacin esta aplicacin de tags. Podemos ver aqu un tpico ejemplo de una imagen subida a Flickr, y de los elementos mencionados previamente: descripcin, titulo, y tags. A su vez se presentan otros elementos, como ser el usuario propietario de la imagen, los grupos a los que pertenece, los comentarios que ha recibido y algunos datos adicionales como ser el lugar donde fue tomada, la cmara que se utilizo, fecha, cantidad de personas que la incluyeron Ilustracin 61: Muestra de Imagen en Flickr. en su lista de favoritas y las Tpica presentacin de una imagen en Flickr con sus elementos. visualizaciones. Volviendo a los tags, existen muchos aspectos que los hacen especiales. Primero, son tratados de una forma distinta en la bsqueda: cuando se ingresan trminos en la bsqueda de Flickr, es posible que se realice la bsqueda en todos los campos existentes, pero tambin es posible especificar que solo se haga en base a los tags. Y para entender porque esto es til, debemos recordar las razones por las que los usuarios utilizan tags y para que los utilizan. Una de las motivaciones es el inters organizacional de encontrar o compartir contenidos con otros. Si observamos los tags utilizados en este ejemplo, encontramos algunas categoras: donde (Crdoba, Argentina), que (arco, piedra, ruta, torres) y quien (mherrero). Si bien estas categoras no estn especificadas de ninguna manera y por tanto no podran ser interpretados como tales por una maquina, son obvias para un usuario humano. Al leer estos tags el contenido que puede encontrarse en la imagen se hace claro. En contraste, el titulo no llega a ser del todo descriptivo a pesar de ser apropiado. La descripcin en el ejemplo es clara, pero contiene informacin que quizs no es completamente relevante a la descripcin de la imagen. Existen tcnicas de inteligencia artificial, como ser el procesamiento del lenguaje natural, que intentan entender el lenguaje humano en base a las cuales quizs sera posible extraer una descripcin igualmente apropiada del contenido de la imagen al analizar el titulo, la descripcin y 147

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico quizs tambin los comentarios de otros usuarios obteniendo as los beneficios provistos por los tags. Sin embargo, esto implicara un procesamiento complejo para lograr manejar la ambigedad que se presenta en los lenguajes naturales al considerar el significado de las palabras, la sintaxis, y las intenciones en las frases. Los tags por otra parte, son mucho ms simples de comprender. Dos tags son iguales solo si tienen la misma representacin de cadena de texto (aunque vale aclarar que esto no es completamente cierto, ya que los espacios en blanco y caracteres especiales son quitados al realizar bsquedas en muchos casos). Esto hace la bsqueda en base a tags una prctica ms trivial, pero tambin logra que la razn de porque una imagen es mostrada como el resultado de una bsqueda sea totalmente clara. Sin embargo, el impacto ms dramtico se presenta en el comportamiento de los usuarios frente a los tags: Ellos son intuitivamente consientes de la forma en que los tags pueden utilizarse y por tanto los utilizan de la forma apropiada. Por ltimo, es importante destacar que los tags en aplicados de forma especial en las URIs de flickr. Esto sigue los principios de REST y permite la navegacin del sitio de manera sencilla. Podemos observar algunas de las principales direcciones de la estructura de URIs en base a los links que se presentan en la interfaz previamente mostrada: Explorar: http://ickr.com/explore/ Grupos: http://ickr.com/groups/ Fotos: http://ickr.com/photos/ Explorar contiene imgenes que han sido seleccionadas y marcadas como interesantes por un algoritmo de Flickr explicado en www.ickr.com/explore/interesti ng/ de la siguiente manera: Hay muchas cosas que hacen que algo sea 'interesante' (o no) en Flickr. De dnde provienen los clics; quin hace un comentario sobre l y cundo; quin lo marca como favorito; sus etiquetas y muchas cosas ms que cambian constantemente. Lo interesantsimo cambia con el Ilustracin 62: Nubes de tags en Flickr. tiempo, a medida que se agregan ms y ms contenidos e historias Las Nubes de tags en Flickr facilitan la exploracin del usuario. fantsticas a Flickr. Es decir que Flickr est utilizando los datos agregados por los usuarios de manera colaborativa para agregar valor a las imgenes que almacena: hay que recordar que si bien las imgenes siguen

148

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico perteneciendo al usuario, Flickr es dueo de la informacin que se agrega a los objetos y de esta manera crea valor. Grupos son una forma de dar apoyo a la interaccin social en el sitio. Estos son controlados pro administradores que pueden hacerlos privados, pblicos o por invitacin. Los usuarios pueden asignar sus imgenes a estos grupos, y los miembros de los grupos pueden utilizar foros de discusin para su comunicacin. La URI de Fotos por su parte es el camino a todos los recursos de imgenes de Flickr, y las subcarpetas que se presentan en photos/tags es una forma en que puede estructurarse el acceso a estos recursos mediante los tags. Sobre esto podemos analizar el caso de la pagina de nube de tags, donde es posible encontrar los ms populares de todos los tiempos, del ltimo da o de la ltima semana, con el tamao del vinculo indicando la frecuencia de su uso (esto aplica la prctica de Facilitar la aparicin de los contenidos del patrn Aprovechar la inteligencia colectiva). Siguiendo estos vnculos los usuarios pueden explorar los tags y las imgenes que tiene aplicados dichos tags. Este tipo de exploracin es necesaria ya que existen en el sistema miles de tags y por lo tanto sera complicado y poco prctico mostrar la lista completa. Esto permite que los usuarios exploren en los recursos disponibles de una manera intuitiva y encontrando contenidos inesperados pero adecuados a su intencin. Al hacer click en alguno de los tags, la URI objetivo tendr la siguiente forma: http://ickr.com/photos/tags/<nombre del tag> Existen otros mecanismos para navegar a travs de los tags presentes en Flickr adems de la nube de tags, tanto provistos por Flickr como por terceros, pero nos limitamos a esta para limitar la extensin del marco terico. 3.8.9.3. Delicious y los marcadores sociales El software social introduce una nueva dimensin a la bsqueda y otras aplicaciones de Internet, como ser permitir a los usuarios agregar lgica personal a algoritmos de computadoras. Al analizar las comunidades de contenidos como parte de los social media mencionamos los casos de Delicious y Digg como comunidades para compartir vnculos y noticias respectivamente. Ambas son parte del fenmeno de marcadores sociales. Analizaremos el caso de Delicious para acercarnos al concepto. Como mencionamos anteriormente, en este servicio los usuarios pueden guardar los marcadores que consideran interesantes o tiles y clasificarlos en base a una serie de tags. Los algoritmos de bsqueda tradicionales (que no utilizan metadatos generados por usuarios como un factor de su bsqueda) basan sus resultados en la masa annima de usuarios de Internet y proveedores de contenidos. En contraste a esto, al basar una bsqueda en metadatos explcitamente creados y en relaciones presentes en las comunidades de servicios marcadores sociales como Delicious es posible conseguir resultados guiados en base al juicio o criterio de los contactos sociales del usuario.

149

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico En la informacin de su sitio el servicio indica que Delicious es un servicio de marcadores sociales que permite a los usuarios aplicar tags, guardar, administrar y compartir pginas web desde una fuente centralizada. Con nfasis en el poder de la comunidad, Delicious mejora ampliamente la manera en que la gente descubre, recuerda y comparte en Internet. El servicio est abierto al uso de cualquier persona para realizar bsquedas, pero sin embargo para poder crear marcadores es necesario hacerlo mediante una cuenta de usuario. La funcionalidad que Delicious ofrece gira en torno exclusivamente a marcadores, y si reducimos a sus conceptos de base ninguno es revolucionario, pero la combinacin de estos fue una gran novedad al momento de su desarrollo. Podemos hablar de dos elementos genricos: marcadores y metadatos. Los metadatos pueden ser clasificados en creados por el usuario y los de sistema. En el nivel ms bajo, los metadatos del usuario relacionados a un marcador abarcan meramente tres aspectos: descripcin, notas y tags. Estos junto a los metadatos sistmicos (como por ejemplo la cantidad de otros usuarios que han agregado un determinado Ilustracin 63: Ejemplo de pgina personal en Delicious. marcador y la fecha en la que el usuario Representacin de los marcadores de un usuario de Delicious. guardo el marcador) son mostrados como la representacin de un marcador. Al igual que en el caso mencionado de Flickr, los metadatos de descripcin y titulo son informativos y podran ser utilizables para bsquedas, pero nuevamente se repite el caso explicado de los tags. Primero, al agregar un marcador los tags son muy fciles de utilizar ya que se ingresan las palabras separadas por espacios, en una interfaz enriquecida que mediante el anlisis de contexto sugiere tags en base al comportamiento del usuario y de otros usuarios respecto al mismo marcador. Segundo, los tags son los elementos ms importantes a la hora de manejar un marcador, y para esto los tags son organizados en paquetes (o bundles) permitiendo as que los usuarios agregar composicin lgica a la composicin de sus tags. Por ltimo, los tags son el elemento crucial para la bsqueda de marcadores. La pgina principal de Delicious y otras de sus subpginas proveen formas de bsqueda y exploracin con diversas formas que aprovechan la inteligencia colectiva del servicio. Evitamos mencionar detalles para acotar la extensin, pero podemos analizar algunos que hacen un aprovechamiento interesante de los tags. Entre otras, la opcin de links for you incluye aquellos marcadores que han sido seleccionados por otros usuarios para un determinado usuario. Esto se logra mediante la aplicacin de tags estructurados. En este caso es el tag for:NOMBRE_DE_USUARIO. 150

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico A su vez el concepto de la bsqueda en base a nombres de usuarios se refleja tambin en la estructura del las URLs del sitio, que en caso de referirse a los marcadores creados por un usuario determinado utilizando un tag especfico tendra la forma: http://delicious.com/<nombre de usuario>/<nombre de tag> En la misma estructura, al incluir otros nombres de usuario podremos ver los marcadores realizados por otras personas (siempre y cuando sean marcadores pblicos), permitiendo conocer quien est viendo que cosa y quien est interesado en determinados trminos, la calidad de sus datos y la conectividad de su comunidad. 3.8.9.4. Folksonomias En general se entiende por clasificacin al resultado de clasificar en un sistema jerrquico y predefinido, lo cual est en desacuerdo con la aproximacin no jerrquica y no exclusiva de una folksonomia. Esta es la razn por la cual el uso del trmino en este contexto puede ser algo controversial. El neologismo tambin es definido como una clasificacin generada por el usuario, emergente del consenso de-arriba-hacia-abajo (106) y es destacado por sus namespaces tpicamente llanos y creados socialmente (107). En base a estas definiciones es claro que las folksonomias son sobre todo una forma de clasificacin, y por tanto se basan en metadatos. En general existen tres tipos de metadatos que pueden ser diferenciados: los metadatos creados de manera profesional (por ejemplo, un catalogo compilado por un grupo de profesionales), los metadatos creados por autores en sus propios documentos y por ltimo los metadatos creados por el usuario aplicados a un documento de su inters y compartidos mediante una comunidad. Una folksonomia utiliza este tercer tipo, admitiendo un vocabulario irrestricto para aplicar tags a objetos. Ms aun, se le atribuye a las folksonomias un conceso de-arriba-hacia-abajo y ser creadas de manera social debido a su enfoque democrtico () (evitando) muchos de las preocupaciones ticas y polticas de los sistemas centralizados y de arriba-hacia-abajo (108). Estas caracterizan un consenso que es obtenido a travs de la observacin de que a pesar del uso de un vocabulario sin control, un sistema de trminos en gran medida en comn evoluciona del tagging colaborativo, que coexiste junto a categoras de minoras o incluso personales. Finalmente, un namespace llano es otra caracterstica de una folksonomia, causando el desarrollo hacia una coleccin de tags no jerrquica y no exclusiva. Este concepto explota la percepcin general de que las jerarquas estn son subjetivas en su estructura y costosas en trminos de que es necesario crearlas y mantenerlas. Un artculo referido a Linux para PCs por ejemplo seria clasificado por ejemplo como PC en una capeta Linux por una persona, mientras que para otra podra ser clasificado como Linux dentro de un contexto de PC. Consecuentemente, la idea es despojar a las etiquetas de su interrelacin lgica y asignarlas en un nico nivel. Notamos que las folksonomias, a pesar de haber sido caracterizadas como de-abajo-hacia-arriba, creadas de manera social y no jerrquicas presentan igualmente varias limitaciones. En general, estas pueden ser agrupadas en base a tres construcciones lingsticas de homnimos, polisemias, y homnimos. 151

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico De manera similar a la que una palabra puede tener diferentes significados tambin puede suceder con un tag. Los tags homnimos (por ejemplo, aquellos que son iguales sentacticamente con distintos significados) afectan directamente los resultados de bsqueda, asi como tambin no filtran correctamente pero combinan los resultados relevantes a un grupo de diferentes connotaciones. Por ejemplo el tag apple devuelve resultados referidos a la empresa Apple Computer, Apple Records o incluso sino de la fruta. Pasa algo similar con los acrnimos (por ejemplo, el temino SOAP para referise a Simple Object Access PRotocol) corren el riesgo de referise a ideas totalmente distintas (como ser en este caso, un jabon). Estas ambigedades pueden reducirse al agregar tags adicionales e univocos al realizar la bsqueda. Polisemias sin embargo (describir teminos con significados diferentes pero ligeramente relacionados) presentan un mayor desafio. Los sinnimos por otra parte (se refieren a diferentes trminos con significados iguales) manipulan los resultados de las bsquedas al acotarlas de manera artificial. Volviendo al ejemplo de apple, al realizar una bsqueda sobre el trmino en el contexto de computadoras privara a los usuarios de otros tipos de resultados en los que otra gente se haya referido a por ejemplo mac o Macintosh. El ejemplo de apple muestra problemas que surgen de las formas singulares y plurales de los sustantivos. Cuestiones relacionadas con maysculas o minsculas al manejar teminos que consisten de muchas palabras complementa la imagen de desafos que enfrentan las folksonomias debido a su caracterstica de no tener un vocabulario controlado. Las folksonomias representan un desarrollo importante para la creacin de un entendimiento comn y quizs incluso la confianza en las comunidades de internet. Son formadas de una manera de abajo-hacia-arriba y es difcil saber de antemano la forma que tomara una folksonomia en particular.

3.8.10. Desarrollo de proyectos Web 2.0


En base a lo estudiado previamente en cuanto a patrones de diseo Web 2.0 y un esbozo del entorno de tecnologas y estndares de desarrollo analizado, es el momento de acercarnos al proceso de desarrollo de proyectos Web 2.0 Para esto podemos analizaremos metodologas que son posiblemente aplicables, as como tambin las plataformas y libreras que agregan simplicidad y abstraccin al desarrollo. Por ltimo, analizamos la posibilidad del uso de software ya existente como base de nuevos proyectos. 3.8.10.2. Metodologas de desarrollo tradicionales

Una distincin comn en las tareas de diseo (por ejemplo, el diseo de bases de datos, de sistemas de informacin, de procesos) es entre un modelo (como ser el diagrama entidadrelacin, diagramas de UML, diagramas de estado) y una metodologa para su aplicacin. Sobre esa ltima, podemos decir que existe una distincin entre el diseo arriba-hacia-abajo (de lo general a lo particular) y el diseo abajo-hacia-arriba (de lo particular a lo general). Las metodologas en general usan diversos modelos para estructurar los resultados de los diversos

152

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico pasos que se llevan a cabo, y favorecen ciertos tipos de modelos frente a otros. Por ejemplo, la metodologa iterativa Proceso Unificado depende fuertemente en modelos UML. Un ejemplo claro de una metodologa arriba-haciaabajo es la metodologa de cascada clsica, que comienza con un anlisis de requerimientos donde se identifica las necesidades del cliente que marca el desarrollo de las tareas del proyecto. Una vez disponibles estos requerimientos es Ilustracin 64: Metodologas tradicionales de desarrollo de software. posible hacer una detallada descripcin de lo que se supone que el software debe hacer. Cuando un sistema interacta con otros sistemas, es importante que la definicin de interfaces sea solida y que permanezca estable, para que los sistemas relacionados puedan generar componentes y conexiones exitosas. Al momento de trabajar sobre como una especificacin se transforma en un sistema vivo, una arquitectura de software define la estructura principal del software, y esto incluye la definicin de capas y escenarios. La implementacin luego toma la arquitectura y la transforma en cdigo, completando detalles que no han sido definidos en la arquitectura. Luego de que el cdigo ha sido desarrollado, debe ser probado de diferentes maneras, y en base a los resultados de estas pruebas se realiza el despliegue del sistema para dar lugar al uso y mantenimiento de este. En base a esta estructura se han desarrollado otras metodologas que aplicaron el concepto de iteracin, manteniendo este flujo de trabajo de forma constante a travs de la aplicacin de ciclos iterativos, constantemente repitiendo el anlisis, diseo, implementacin prueba e implementacin del software. El mencionado Proceso Unificado es un claro ejemplo de esto, que adems rompe la secuencia de los pasos del proceso al proponer que se puedan realizar en forma paralela, trabajando en base a hitos que distinguen los distintos pasos capturando el estado del proceso de desarrollo. 3.8.10.3. Desarrollo gil de software

El desarrollo de software en base a metodologas tradicionales y sus variaciones han sido criticados por algunas caractersticas que afectan directamente a un proyecto. Es inherente en todos los casos que la documentacin debe ser creada de tal manera que contiene los outputs de los diferentes pasos (por ejemplo, especificaciones escritas o en diagramas) que al mismo tiempo son el input para los pasos siguientes. Sucede a menudo que no es necesario en proyectos de software que no necesariamente un programa entero puede ser pre especificado por el cliente, ya que sus demandas se adaptan a la maduracin del proyecto.

153

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico Un nuevo enfoque fue el surgimiento del concepto de desarrollo gil de software. Este nombre fue dado por un grupo de figuras conocidas en la comunidad del desarrollo al publicar el Manifiesto para el desarrollo gil de software (109) que se basa en los siguientes valores: Individuos e interacciones sobre procesos y herramientas. Software funcionando sobre documentacin comprensiva. Colaboracin de los clientes sobre negociacin de contratos. Responder al cambio sobre seguir un plan. Podemos ver que los elementos de la derecha en cada frase son puntos fuertes de las metodologas tradicionales. Sin embargo, el manifest no descarta completamente a estos valores, sino que tambin los considera pero siempre danto prioridad a los elementos de la izquierda. Adems, el manifiesto indica el seguimiento de los siguientes principios: Nuestra principal prioridad es satisfacer al cliente a travs de la entrega temprana y continua de software de valor. Son bienvenidos los requisitos cambiantes, incluso si llegan tarde al desarrollo. Los procesos giles se doblegan al cambio como ventaja competitiva para el cliente. Entregar con frecuencia software que funcione, en periodos de un par de semanas hasta un par de meses, con preferencia en los periodos breves. Las personas del negocio y los desarrolladores deben trabajar juntos de forma cotidiana a travs del proyecto. Construccin de proyectos en torno a individuos motivados, dndoles la oportunidad y el respaldo que necesitan y procurndoles confianza para que realicen la tarea. La forma ms eficiente y efectiva de comunicar informacin de ida y vuelta dentro de un equipo de desarrollo es mediante la conversacin cara a cara. El software que funciona es la principal medida del progreso. Los procesos giles promueven el desarrollo sostenido. Los patrocinadores, desarrolladores y usuarios deben mantener un ritmo constante de forma indefinida. La atencin continua a la excelencia tcnica enaltece la agilidad. La simplicidad como arte de maximizar la cantidad de trabajo que no se hace, es esencial. Las mejores arquitecturas, requisitos y diseos emergen de equipos que se autoorganizan. En intervalos regulares, el equipo reflexiona sobre la forma de ser ms efectivo y ajusta su conducta en consecuencia. Los mtodos agiles consisten de elementos individuales llamados practicas. Las prcticas incluyen el uso de control de versiones, establecimiento de estndares de codificacin y dar muestras de avances a los interesados. Si bien la mayora de las practicas han existido durante muchos aos, los mtodos agiles realizan una combinacin nica de estas, acentuando las partes que dan soporte a la filosofa gil descartando al resto e integrando algunas ideas nuevas. El resultado es un paquete poderoso, solido y auto reforzado. 3.8.10.4. Extreme Programming

Consecuentemente se han creado metodologas de desarrollo que intentan eludir los problemas de las metodologas clsicas, tratando de ser ms livianas en lo que es necesario generar al 154

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico comienzo y durante el desarrollo. Un ejemplo es Extreme Programming (XP) 53, que centra sus valores alrededor de la simplicidad, la comunicacin, retroalimentacin y coraje con principios relevantes. Una de las ms sorprendentes premisas de XP es que es posible eliminar fases de requerimientos, diseo y prueba al igual que los documentos formales que las acompaan, aunque sin embargo no se descartan los requerimientos, diseos y pruebas ya que se trabaja sobre todas estas cada da del proyecto. Esta consigna resulta muy extraa debido a que los desarrolladores de software Ilustracin 65: Metodologa gil de desarrollo de software. siempre han aplicado formas tradicionales para el desarrollo, y si bien es algo complicado de aplicar es posible gracias a la base de la colaboracin cara a cara con el objetivo de eliminar demoras en la comunicacin y malentendidos de tal forma en que el equipo no necesita distinguir estas fases, por lo que es posible trabajar en todas las actividades cada da con fases simultaneas. Si bien este enfoque no implica que el equipo ser ms productivo, si da como consecuencia que se recibir retroalimentacin de una manera mucho ms frecuente. Como resultado de esto, el equipo de desarrollo puede conectar rpidamente los xitos y fracasos a sus causas. La cantidad de trabajo sin probar es muy poca, por lo que el equipo puede corregir errores en el desarrollo como ser cuando el cdigo presenta algn error de diseo o cuando una opinin u accin de un cliente demuestra que una interfaz es algo confusa. Este apretado ciclo de retroalimentacin tambin permite que equipos aplicando XP puedan refinar sus planes rpidamente. Es mucho ms sencillo que un cliente refina idea si puede dar su opinin y obtener un prototipo funcionando en pocos das. Este mismo principio se aplica para la prueba, diseo y polticas de equipo. Si surge algn defecto de diseo en la programacin o la prueba, es posible utilizar ese conocimiento cuando se analizan continuamente los requerimientos y el diseo del sistema en las siguientes iteraciones. Los equipos que aplican XP realizan prcticamente cada actividad del desarrollo de software de manera simultnea: Anlisis, diseo, codificacin, prueba y despliegue ocurren con una rpida frecuencia. Si bien es mucho para realizar de manera simultnea, XP logra esto al trabajar en iteraciones cortas, como ser de una semana. En esta semana el equipo hace un poco de cada actividad, focalizando su trabajo en stories: pequeos requerimientos o partes de requerimientos que son considerados relevantes, tratando de abarcar por ejemplo entre cuatro y diez de estas stories cada semana.
53

Podemos encontrar ms informacin sobre metodologas agiles y Extreme Programming en el libro The Art of Agile Development (145).

155

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico A continuacin podemos ver como las actividades tradicionales basadas en fases se corresponden con una iteracin de XP: Planificacin: Cada equipo de XP incluye varios expertos en el negocio (los clientes on-site) que son responsables de tomar decisiones de negocios. Estos apuntan al proyecto en la direccin correcta al clarificar la visin, crear historias, construyendo un plan de liberacin del proyecto y manejando riesgos. Los programadores proveen de estimaciones y sugerencias a estos expertos, que son combinados con las prioridades de los clientes en un proceso llamado El juego de la planificacin. De esta forma y trabajando como esquipo pueden lograr liberaciones pequeas y frecuentes que maximizan el valor. El esfuerzo de planificacin es ms intenso durante las primeras semanas del proyecto. Durante las siguientes semanas los clientes continan revisando y mejorando la visin y el plan de liberacin en base a nuevas oportunidades y eventos inesperados. Adems del plan general de liberacin, el equipo crea un plan detallado para la siguiente semana al comenzar cada iteracin. Mediante reuniones diarias y un lugar de trabajo compartido se mantiene a todo el equipo actualizado respecto al estado del proyecto. Anlisis: En lugar de utilizar una fase de anlisis para definir requerimientos, los clientes onsite trabajan a la par del resto del equipo todo el tiempo. Estos pueden o no ser clientes reales dependiendo del tipo de proyecto, pero son los mejores calificados para determinar que debera hacer el software. Los clientes on-site son responsables de definir los requerimientos, y para hacerlo utilizan la combinacin de su conocimiento como clientes combinado con tcnicas tradicionales de recoleccin de requerimientos. Cuando los programadores necesitan informacin, simplemente la preguntan. Los clientes son los responsables de organizar su trabajo de forma tal de estar listos cuando los programadores pidan la informacin. Definen requerimientos generales para las stories antes de que los programadores lo necesiten y los requerimientos detallados antes de que los programadores los implementen. Algunos requerimientos son complicados de entender, por lo que estos clientes deben formalizarlos con la asistencia de probadores creando as pruebas de clientes o customer tests: ejemplos detallados y ya probados. Los clientes y los probadores crean estos customer tests para una story casi al mismo tiempo que los programadores implementan la story. Para asistirlos en la comunicacin, los programadores utilizan un lenguaje general en su cdigo y diseo. El look and feel de la interfaz del usuario no se benefician de estas pruebas, sino que para trabajar sobre las interfaces los clientes trabajan con el equipo para generar bocetos de las pantallas de la aplicacin. En algunos casos, trabajan junto a los programadores mientras estos utilizan un software para la creacin de las interfaces. Por ltimo, algunos equipos incluyen un diseador de interacciones que es responsable de la interfaz de la aplicacin. Diseo y codificacin: XP utiliza diseo y arquitectura incrementales para crear de manera continua y mejorar el diseo en pasos pequeos. Este trabajo es manejado por un desarrollo 156

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico en base a pruebas o test-driven development (TDD), una actividad que combina pruebas, programacin, diseo y arquitectura. Para dar soporte a este proceso, los programadores trabajan en pares, lo que incrementa la atencin y creatividad para manejar cada tarea, y se asegura que una persona en cada par tenga tiempo de pensar en cuestiones de diseo a mayor escala. Los programadores tambin son responsables de administrar su entorno de desarrollo. Ellos usan un sistema de control de versin para configurar la administracin. Integran sus cdigos en intervalos de horas y se aseguran de que cada integracin es capaz de generar un despliegue. Para dar soporte a este esfuerzo, los programadores tambin siguen estndares de programacin y comparten la propiedad del cdigo. El equipo mantiene una esttica compartida del cdigo, y todos deben poder corregir problemas de cdigo sin importar quien haya sido el autor original. Prueba: XP incluye un sofisticado conjunto de prcticas de prueba. Cada miembro del equipo (programadores, clientes y probadores) realiza su propio aporte a la calidad del software. Equipos que aplican XP de buena manera producen solo unos pocos bugs por mes en trabajos completados. Los programadores proveen la primera lnea de defensa con TDD, que produce pruebas automticas de integracin y unidad. En algunos casos, los programadores pueden crear pruebas ms completas o end-to-end, que ayudan a asegurar que el software hace lo que ellos pretendan. Igualmente, las pruebas de clientes ayudan a asegurar que los programadores puedan alcanzar las expectativas de los clientes. Estos revisan el trabajo en el proceso para asegurar que las interfaces funcionan de la forma en que ellos esperan, y generan ejemplos para los programadores para reglas de negocio complicadas. Finalmente, los probadores ayudan a que el equipo entienda si sus esfuerzos estn consiguiendo generar cdigo de alta calidad. Utilizan pruebas exploratorias para buscar sorpresas y errores en el software. Cuando encuentran un error, el equipo conduce un anlisis de raz o root-analysis y considera como puede mejorar su proceso para prevenir bugs similares en el futuro. Los probadores a su vez exploran las caractersticas no funcionales del software, como ser la estabilidad y la performance. Los clientes usan esta informacin para decidir si es necesario crear stories adicionales. El equipo no realiza ninguna prueba manual de regresin. Las pruebas TDD y de clientes llevan a un sofisticado conjunto de pruebas de regresin automticas. Cuando se encuentran bugs, los programadores generan pruebas automticas que muestran que estos errores han sido solucionados. Cada vez que los programadores integran (cada algunas horas) hacen correr el conjunto de pruebas de regresin para comprobar si algo se ha roto en el cambio.

157

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico El equipo a su vez da soporte a sus esfuerzos de calidad a travs de la programacin de a pares, trabajo energizado e iteraciones con holgura. Estas prcticas potencian las capacidades que cada miembro del equipo posee para crear software de alta calidad. Despliegue: Los equipos de XP mantienen su software listo para ser desplegado al final de cada iteracin. Realizan despliegues para interesados internos cada semana en preparacin para una demo de iteracin semanal. El despliegue para clientes reales se organiza en base a las necesidades del negocio. Mientras el equipo se mantenga activo, provee de mantenimiento al software que ha liberado. Dependiendo de la organizacin, el quipo puede tambin dar soporte a su propio software y en otros casos se tiene un equipo separado para dar soporte a este. De forma similar, cuando el proyecto finaliza el equipo puede dar las tareas de mantenimiento a otro equipo. En este caso el equipo genera una documentacin y provee el entrenamiento necesario para el equipo entrante.
Practicas XP Thinking Pair Programming Energized Work Informative Workspace Root-Cause Analysis Retrospectives Collaborating Trust Sit Together Real Customer Involvement Ubiquitous Language Stand-Up Meetings Coding Standards Iteration Demo Reporting Releasing Done Done No Bugs Version Control Ten-Minute Build Continuous Integration CollectiveCode Ownership Documentation Planning Vision Release Planning The Planning Game Planificacin Anlisis Diseo y codificacin

Prueba

Despliegue

158

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico
Risk Management Iteration Planning Slack Stories Estimating Developing Incremental Requirements Customer Tests Test-Driven Development Refactoring Simple Design Incremental Design and Architecture Spike Solutions Performance Optimization Exploratory Testing Tabla 9: Practicas y etapas de Extreme Programing

Esta breve introduccin nos da una idea de cmo se desarrolla un proyecto de software en base a la metodologa gil XP. Sin embargo, como toda metodologa innovadora es complicada de implementar, siendo que su funcionamiento depende enteramente del equipo que la lleve a cabo, por lo que para su aplicacin se realizan sesiones de entrenamiento y adaptacin, realizando consideraciones sobre el equipo como un todo y sus actores como individuos: clientes on-site, administrador general, expertos en el negocio, diseadores de interaccin, analistas del negocio, programadores, diseadores y arquitectos, tcnicos especialistas, probadores, entrenadores entre otros. Es un proceso complejo que bien aplicado puede alcanzar su mayor objetivo, que es la simpleza. Claramente no es una metodologa que se pueda aplicar para todo tipo de proyecto, sino que se adecua mejor a determinadas situaciones, caractersticas y equipos de personas, pero definitivamente como hemos comprobado en base al anlisis de los patrones de diseo Web 2.0 este tipo de metodologa bien aplicada es la base para el desarrollo de software Web 2.0.

3.8.11. El desarrollo Web


En el libro Web Engineering: The Discipline of Systematic Development of Web Applications (110) se muestra como diferentes tipos de metodologas incluyendo las tradicionales pueden ser aplicadas al caso especial del desarrollo Web. Podemos decir que las RIAs son solo un caso especial de las aplicaciones web, y por tanto metodologas y sus modelos como ser diagramas de casos de uso, diagramas de clases e interacciones y otros pueden ser aplicados, aunque existe tambin una fuerte tendencia a la aplicacin de modelos agiles debido a sus caractersticas. La aplicacin de metodologas agiles se convierte en una necesidad en los proyectos Web 2.0, ya que permiten aprovechar los patrones de diseo y generar ventajas competitivas debido a la velocidad de reaccin y adaptacin a las necesidades de los usuarios a la hora de crear un proyecto. 159

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico En este punto debemos hacer referencia a dos patrones de diseo Web 2.0: beta perpetuo y Modelos ligeros y escalabilidad costo-efectiva y. Podemos ver que las prcticas de estos patrones se ajustan a lo planteado por el manifiesto del desarrollo gil de software en general. Si tomamos algunas de las prcticas del patrn beta perpetuo como ser liberar temprano y rpido, hacer participar a los usuarios como co-desarrolladores y probadores en tiempo real e instrumentar los productos podemos ve como claramente apuntan al valor de colaboracin de los clientes planteada por el manifiesto. En el caso de la mayora de los proyectos Web 2.0, inicialmente no existe una base de usuarios al comienzo, por lo que la implementacin de este valor tiene conlleva algunas consideraciones. Las prcticas mencionadas funcionan juntas para generar una base de clientes que utilicen el producto. Los clientes subsecuentemente dan retroalimentacin sobre el servicio permitiendo que los desarrolladores mejoren el producto, en forma de comentarios y como hemos mencionamos antes en base al uso real de los usuarios del sistema en base a monitorear sus acciones. En base a esta informacin se genera un datawarehouse de las acciones de los usuarios que puede ser explotado en futuros desarrollos. Uno de los ejemplos que hemos mencionado ya es el caso de Flickr, con su generacin gil de nuevas versiones de su servicio. La implementacin de este patrn gua el desarrollo de nuevas caractersticas, pero al mismo tiempo evita el desarrollo de funcionalidades que no son necesarias que quitan velocidad para entrar al mercado y pueden incrementar el riesgo de fracaso. Aqu es donde notamos que puede existir una contradiccin entre este concepto de no sobre-desarrollar y la aplicacin de metodologas tradicionales, ya que estas buscan definir los requerimientos desde un primero momento y pueden no tener la habilidad para adaptarse a cambios, y generar esfuerzos innecesarios al detectar las nuevas necesidades tarde. Es importante aclarar que la prevencin de este sobre-desarrollo no debe atentar a la creatividad, ya que esta es la base de los proyectos y empresas Web 2.0 en general. El segundo patrn mencionado Modelos ligeros y escalabilidad costo-efectiva se relaciona claramente al valor de responder al cambio. Algunas de las mejores prcticas que anal izamos en este caso son escalar en base a la demanda, escalar los modelos de precios e ingresos y sindicar los modelos de negocio. Las prcticas de este patrn apuntan al cambio: cambio en la demanda del propio servicio, cambio en las posibilidades de sacar rdito econmico a un servicio, y cambio en el ensamblaje del servicio a travs del uso de la sindicacin de contenidos y APIs. La ultima practica mencionada es una clara representante de los modelos ligueros, al tercerizar los servicios cuando es prctico y por tanto basarse en los modelos de negocios ya probados para maximizar las posibilidades de aprovechar la idea de negocio del proyecto. Podemos reconocer que en el caso del desarrollo de software para Internet en el contexto de proyectos con forma Web 2.0 las metodologas y modelos tradicionales en general traen una sobrecarga de trabajo innecesario que quita velocidad y adaptabilidad al proceso y que por tanto los mtodos agiles parecen aplicarse de mejor forma. 160

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico 3.8.11.2. Model-Driven Web Engineering con UWE UML

La ingeniera Web basada en UML (UWE)54 surgi a finales de los 90s con la idea de encontrar una forma estandarizada de construir modelos de anlisis y diseo de sistemas Web en base a los mtodos ya existentes en esa poca, con el objetivo de utilizar un lenguaje comn o al menos definir un mapeos basados en meta-modelos entre los lenguajes existentes. El Unified Modeling Languague (UML) era al parecer el lenguaje a ser elegido por su amplio uso como lenguaje base para modelos orientados a objetos. Una de las caractersticas de UML es que provee un conjunto de ayudas para la definicin de lenguajes para modelados de dominios especficos (DSL), a modo de mecanismos de expansin. En base a dichos mecanismos se genera UWE principalmente como una expansin de UML, aunque tambin es compatible con otras metodologas y lenguajes. El desarrollo de UWE es continuado hoy en da en bsqueda de asimilar nuevas capacidades de las aplicaciones Web, como ser transacciones, personalizaciones y aplicaciones asincrnicas. Sucede que el desarrollo de sistemas Web est en constante cambio como es notable en el desarrollo terico de Web 2.0. UWE est dirigido por la separacin de modelos de distintos asuntos describiendo las diferentes etapas de ingeniera de requerimientos, anlisis, diseo e implementacin del proceso de desarrollo con el objetivo de obtener diferentes vistas de la misma aplicacin Web correspondientes a dichas etapas o asuntos. El modelo de contenidos es utilidad para especificar los conceptos que son relevantes al dominio de la aplicacin y las relaciones entre dichos conceptos. La estructura de navegacin es modelada de manera separada del contenido (aunque claramente se deriva de este ltimo) y representa los diversos caminos de navegacin del sistema. El modelo de presentacin apunta a mostrar la representacin y los aspectos de comunicacin usuario-maquina mediante un esbozo de las interfaces. UWE propone al menos un tipo de diagrama UML para la visualizacin de dichos modelos buscando representar los aspectos estructurales de las diversas vistas. A su vez se utilizan frecuentemente diagramas de interaccin o de estado para representar aspectos de comportamiento del sistema Web. Podemos decir que se realiza una separacin considerando etapas de desarrollo, vistas del sistema y aspectos como ser la estructura y el comportamiento. Este tipo de separacin provee ventajas a la hora de realizar mantenimientos y reingenieras de sistemas web, y tambin en la generacin de sistemas Web para distintos contextos y plataformas. El enfoque del desarrollo dirigido por modelos (MDD) no solo indica el uso de modelos para el desarrollo, sino que tambin enfatiza en la necesidad de transformaciones en todas las fases del desarrollo. Dichas transformaciones proveen una cadena que permite la implementacin automatizada de un sistema en pasos sucesivos desde los diferentes modelos. El desarrollo de sistemas Web es un campo que se presta para la aplicacin de MDD.

54

Podemos encontrar ms informacin sobre UWE UML en http://uwe.pst.ifi.lmu.de/index.html

161

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico Podemos encontrar una ampliacin a esta introduccin en el captulo 7 del libro Web Engineering: Modelling and Implementing Web Applications (111). A continuacin se realiza un breve desarrollo terico para lograr acercarnos a los aspectos prcticos del modelado mediante UWE en base a presentaciones realizadas por los autores de UWE (112) y ejemplos que pueden ser encontrados en el sitio oficial de UWE (113). Se presuponen conocimientos bsicos de UML, ya que tiene el objetivo de ampliar dichos conocimientos agregando el perfil propuesto por UWE, sin profundizar en el tema de base. 3.8.11.3. Ejemplo de modelado de anlisis y diseo en UWE UML

El primer paso hacia el desarrollo de un sistema Web es la identificacin de los requerimientos de una aplicacin, y estos pueden ser especificados en UWE mediante un modelo de requerimientos contando con los actores del sistema, y una descripcin a manera de esbozo de las funcionalidades como parte de los requerimientos. Posteriormente se realiza el anlisis de tales requerimientos mediante el uso de: Casos de uso y sus descripciones. Diagrama de casos de uso. Anlisis de flujos mediante diagramas de actividades para la especificacin de los requerimientos funcionales (opcional en caso de considerarse necesario). Por otra parte para los desarrollo del diseo se propone el uso de: modelos de contenido para los aspectos de informacin. modelos de navegacin para la estructura de hipertextos y funcionalidades de navegacin. modelos de presentacin para el esquema de presentacin Modelos de proceso y diagramas de proceso para las funcionalidades. Desarrollamos ahora una explicacin sobre estos modelos y herramientas UML, acompaando dicho desarrollo con un ejemplo prctico: Una agenda de contactos con actualizaciones de contenidos55. A pesar de ser un caso muy sencillo el portal planteado nos servir para ver con ms claridad lo propuesto por UWE UML. Ya que el objetivo es mostrar los diferentes modelos de UWE IML, no incluimos la totalidad del modelo, sino que desarrollamos al menos un ejemplo de cada diagrama. El modelo completo puede ser observado en la referencia mencionada. En este caso se define como actor genrico al usuario de Internet que accede al sitio, bajo el nombre de user. A modo de esbozo de requerimientos, el portal constar con las siguientes caractersticas: Cada contacto tiene un nombre, dos nmeros de telfono, dos direcciones, y un correo electrnico. El usuario puede agregar, actualizar o borrar contactos.
55

Es una adaptacin de http://uwe.pst.ifi.lmu.de/exampleAddressBookWithContentUpdates.html

162

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico Despus de la creacin exitosa de un contacto, este debe ser mostrado. En caso de error, debe mostrarse un mensaje indicndolo. Es posible realizar bsquedas de contactos. Se realiza una visualizacin grafica mediante el uso de diagramas de caso de uso de UML para modelar las funcionalidades requeridas. Adicionalmente se pude agregar un listado de los casos de uso y una descripcin de cada uno con el nivel de detalle que sea necesario para el proyecto.

Ilustracin 66: Diagrama de Casos de Uso del ejemplo de UWE UML.

Modelo de Contenidos Se utiliza el modelo de contenidos en base a un modelo de dominio de UML utilizando un diagrama de clases sin necesidad de aplicar semnticas adicionales, con el objetivo de representar los requerimientos de datos del sistema propuesto, modelando los datos persistentes.

Ilustracin 67: Modelo de Contenidos del ejemplo de UWE UML.

163

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico Modelo de Navegacin El modelo de navegacin tiene como objetivo representar nodos y vnculos de la estructura de hipertextos, disear los caminos de navegacin y evitar desorientacin y cognitive overload. Este modelo es representado mediante el uso de diagramas de clase UML, utilizando semnticas adicionales para modelar elementos del contexto Web. Por una parte el modelo de navegacin representa la estructura de informacin esttica de una aplicacin Web accesible a un usuario, especificando las funcionalidades de navegacin a travs de los siguientes estereotipos. <<navigationClass> especifica un nodo de hipertexto visitado por un usuario a travs de la navegacin, y est relacionado a una clase de contenido. <<navigationLink>> especifica un hipervnculo o link utilizado para acceder a un objeto de navegacin objetivo desde el objeto de navegacin origen. Los nodos de estereotipo <<navigationClass>> cuentan con otros adicionales semnticos utilizados con el objetivo de modelar la estructura de navegacin de forma ms completa y clara: <<index>> para indicar los vnculos de navegacin que tienen una multiplicidad mayor a 1 en la asociacin direccionada <<men>> para todas las clases de navegacin que tienen ms de una asociacin de salida. Los mens son utilizados para estructurar los vnculos salientes de un nodo, generalmente asociados a una clase de navegacin mediante composicin, consistiendo en un grupo de vnculos a elementos heterogneos como ser index, queries, instancias de clases de navegacin u otros mens. << query>> para la seleccin de instancias de una clase de navegacin. {isHome} como una etiqueta en una determinada clase de navegacin para indicar el nodo inicial de una aplicacin. {isLandmark} como una etiqueta en una determinada clase de navegacin para indicar que el nodo es alcanzable desde cualquier lugar en la aplicacin, y que por tanto todos los otros nodos contienen un vinculo a dicho nodo. Por otra parte, es necesario tambin considerar por tanto el modelo de procesos, que representara los aspectos dinmicos de una aplicacin Web, especificando funcionalidades como ser transacciones y otras actividades. Es necesaria entonces la definicin de clases de proceso e integracin de dichas clases de proceso en el modelo de navegacin de nodos <<navigationClass>>, para lo cual se utilizan los siguientes agregados semnticos: <<processClass>> representa un proceso a travs del cual un usuario ser guiado. En casos de procesos complejos es posible realizar un modelo de procesos adicional. <<processLink>> es utilizado para modelar la asociacin entre un nodo de estereotipo <<navigationClass>> y un nodo de estereotipo <<processClass>>.

164

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico

Ilustracin 68: Modelo de navegacin del ejemplo de UWE UML.

Modelo de Estructura de Procesos y Flujo de Procesos El modelo de estructura de procesos contiene un grupo de clases de procesos que describen a los procesos correspondientes, mencionados previamente en el modelo de navegacin. Estos apuntan a mostrar mayormente la funcionalidad de los procesos necesarios.

Ilustracin 69: Modelo de Estructura de Procesos del ejemplo de UWE UML.

165

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico Con el objetivo de definir el comportamiento de un proceso en particular se utilizan adems diagramas de actividades UML asociados a una <<processClass>> del modelo de navegacin, posiblemente en base al refinamiento de diagramas de actividades utilizados para modelar las especificaciones de requerimientos, pudindose utilizar opcionalmente diagramas de actividad anidados. El flujo de un proceso consiste de la representacin mediante nodos de actividad conectado mediante vnculos de actividad, nodos de control que proveen el control del flujo como ser decisiones y sincronizaciones y nodos objeto que representan el flujo de datos a travs del flujo de actividades

Ilustracin 70: Ejemplo de Flujo de Procesos del ejemplo de UWE UML.

166

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico Modelo de Presentacin Este modelo funciona como alternativa a la clsica construccin de prototipos, y tiene como objetivo la representacin abstracta del la distribucin de elementos de interfaz para la los modelos de navegacin y procesos desarrollados previamente. Decimos que es una representacin abstracta en el sentido de que una representacin concreta definira a su vez detalles como colores, tamaos, y otros detalles definitivos de una interfaz, los cuales no se incluyen en este modelo para lograr una mayor claridad de diseo. Se utiliza un diagrama de clases UML para estructurar la presentacin, utilizando notaciones de contenedores UML, contando con el uso de diagramas de secuencia o interaccin UML para modelar el comportamiento de las clases de presentacin. Podemos considerar los siguientes elementos semnticos agregados al modelo de clases: <<presentationClass>> son estereotipos estructurales utilizados para representar pginas Web o porciones de pginas Web, contando con una composicin jerrquica de elementos de interfaz de usuario <<presentationGroup>> es otro elemento estructural de presentacin, y este estereotipo contiene un grupo de elementos <<presentacionClass>>. <<presentacionPage>> es el elemento de presentacin de mayor jerarqua, indicando una ventana de un navegador y por tanto conteniendo diversos <<presetationClass>> y <<presentationGroup>>. Como dijimos, estos estereotipos sirven para agrupar elementos de interface de usuario. Podemos mencionar los siguientes: <<anchor>> <<button>> <<text>> <<image>> <<texinput>> <<selection>> <<form>> Etc.

167

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico

Ilustracin 71: Modelo de Presentacin del ejemplo de UWE UML.

Como podemos ver UWE provee una solida y flexible expansin para el modelado UML de un sistema Web, permitiendo capturar en diversos grados de detalle los modelos de anlisis y diseo.

168

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico 3.8.11.4. Plataformas y libreras de desarrollo de cliente y servidor

Si bien hemos analizado y comprendido algunas de las tecnologas y estndares que son pilares del desarrollo de software para Internet (como ser HTML, XML, CSS, scripting de servidor y scripting de cliente, Web services, Web feeds, y Ajax), es importante reconocer que el desarrollo de proyectos no se realiza de la manera en que hemos analizado los ejemplos, sino que se agregan niveles de abstraccin en cada caso generalmente mediante la utilizacin de libreras y plataformas de desarrollo, ya que en caso de proyectos de complejidad considerable sera muy difcil generar resultados que mantengan la simpleza. En este marco terico no se profundiza sobre estos, sino que se hace un breve recorrido por algunas de las opciones que el mercado propone. Existe una gran cantidad de plataformas y libreras que apuntan tanto a trabajar sobre el cliente como sobre el servidor, e incluso hay muchas que cubren ambas partes, apuntando a aprovechar los diversos lenguajes de programacin para la generacin de sitios dinmicos. 2Por ejemplo existe una gran cantidad de plataformas que pueden ser consideradas a la hora de aplicar Ajax para el desarrollo. En el libro Ajax Design Patterns (114) donde el autor cubre diversos patrones de tecnologas de base, programacin, funcionalidad, usabilidad y desarrollo para disear aplicaciones con Ajax, indica que una explosin de libreras y plataformas ha sido una de las afortunadas consecuencias del fenmeno Ajax. Estas se presentan en todos los tamaos, formas y licencias. A travs del anlisis de patrones de Ajax se enfatiza la importancia de la utilizacin de libreras y plataformas conociendo los detalles de bajo nivel pero sin necesidad de implementar todo desde 0. El autor de este libro presenta un listado de estas en el libro y a su vez lo mantiene actualizado su sitio web (115) en base a una wiki. Estos manejan diversas necesidades, como ser la comunicacin de red incluyendo el XMLHttpRequest, los efectos visuales, integraciones con otras tecnologas y XML. Las plataformas apuntadas a servidor cubren lenguajes como ser C++, Coldfusion, .net, Java, Lisp, Perl, PHP, Pyton y Ruby. Algunos de los proyectos ms grandes cubren muchos de estos elementos, permitiendo as que los programadores puedan depender de estos y trabajar ms en la aplicacin del modelo de negocio. Podemos mencionar el caso de Script.aculo.us56, una plataforma con excelentes capacidades visuales basado en la librera Javascript Prototype57 que originalmente surgi de la mano de Ruby on Rails58, otra plataforma de Ajax muy utilizada. Tambin est el caso de la librera Zend para PHP, que es utilizada fuertemente para el desarrollo de las APIs de los diversos productos de Google en base a su clase Gdata 59.

56

Ms informacin sobre Script.aculo.us en http://script.aculo.us. Ms informacin sobre Prototype en http:// prototype.conio.net. Ms informacin sobre Ruby on Rails en http://www.rubyonrails.org/. Ms informacin sobre Zend y Gdata en http://framework.zend.com/download/gdata.

57

58

59

169

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico Por otra parte, es importante reconocer que no todo desarrollo Web 2.0 de RIAs se basa en la aplicacin de Ajax, ya que una porcin del mercado es manejado al ya mencionado Flash de Adobe, existiendo tambin plataformas para trabajar con este en el desarrollo de aplicaciones, como ser el caso de OpenLazlo60, que incluso a partir de su versin 4 tambin da soporte Ajax. Incluimos a continuacin un breve listado con algunas las opciones disponibles presentadas en el libro mencionado (y podemos encontrar otro listado de plataformas para proyectos web en la Wikipedia (116)). Recordamos que no profundizaremos en el desarrollo en base a estas para acotar el alcance del marco terico, pero podemos mencionar que existen en internet diversas comunidades y fuentes de informacin donde es posible indagar sobre cada una de las plataformas y libreras mencionadas: Grupo
Javascript Multipurpose Javascript Remoting Javascript Graphics and Effects Javascript Flash Javascript Logging Javascript XML Javascript Json Javascript Specialised C++ Ajax Coldfusion Ajax .Net Ajax Java Ajax

Plataformas / libreras
Prototype , AjaxFace , Bindows , DOJO, Framework for RESTful JavaScript, Mochikit, OpenRico, Script.aculo.us, Zimbra AjaxTK. Ajax Toolbox, AjaxCaller, Juice Lib, LibXMLHttpRequest, UniAjax, Dervish, AjaxGear, vcXMLRPC, AJFORM. Script.aculo.us, Bitjuice, InfiView, Open-jACOB Draw2D, Interface, Run Universal JavaScript Animation Framework. AMFPHP, Flash JavaScript Integration Kit, Stream. log4javascript, JSLog, Lumberjack, Log4Js, jsTracer, fvlogger. Google AJAXSLT, Sarissa. JSON classic ASP Utilities, JSONER, JKL.ParseXML. InfiView, CAPXOUS, GSV, Drag-Drop. Wt. AjaxCFC, JSMX, mxAjax. Atlas, Bitkraft, MonoRail, ajaxed, Ajaxium, FastPage , JSON ASP, Visual WebGUI, zumiPage, ComfortASP.NET AjaxAnywhere, Apache Struts 2, BACKBASE, BindowsFaces, SweetDEV, ADF Faces, AJAX JSP Tag Library, BZByte EZAjax Echo 2, Flexjson, Guise, Google Web Toolkit, IBM JSF Widget Library, Jaxcent, ItsNat, Light Portal, Java2Script Pacemaker, jMaki, Jayjax, ZK, Restlet, IFW2. SymbolicWeb, CL-Ajax. ZKAjax/XUL Web Framework, SAJAX, Rialto, JSRS, CPAINT. CGI::Ajax, HTML::Prototype. AjaxAc, AJASON, AjaxCore, NanoAjax, Simplicity PHP Framework, Zend, SimpleJax, Sybrain, PHPWebBuilder, phpAjaxTags, CrossBrowserAjax. Django, Turbo Gears, Nevow, Pyjamas, Web2Py, Porcupine. Ruby On Rails Aida/Web, Seaside. Aejaks.

Lisp Ajax Multi-Language Ajax Perl Ajax PHP Ajax Python Ajax Ruby Ajax Smalltalk Ajax Tcl Ajax

Tabla 10: Plataformas y libreras de Ajax y Javascript.

3.8.11.5.

Proyectos existentes como base.

Existen distintas aplicaciones que ya han alcanzado un alto nivel de desarrollo y que son las bases de muchos sitios Web 2.0 muy populares, siendo una clara opcin al momento de encarar el desarrollo de un sitio Web 2.0.
60

Ms informacin sobre OpenLazlo en http://www.openlaszlo.org/

170

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico Por ejemplo en el momento de generar un blog, si se quisiera construir una aplicacin desde cero utilizando incluso excelentes prcticas de software, estndares y metodologas sera muy costoso y complicado llegar a construir un software como es el caso del mencionado Wordpress. A su vez, algunas de estas aplicaciones pueden ser modificadas ya que en su mayora son de cdigo abierto, a dems de contar con APIs y posibilidades de generar plugins en base a ciertos estndares que plantean (es decir, son en s plataformas). A su vez existe el caso de los gestores de contenidos o Content Management Systems (CMS) que si bien originalmente pueden entrar en una clasificacin solo de publicacin, las versiones actuales de los ms populares poseen ciertas caractersticas que los hacen en cierta forma Web 2.0, como la posibilidad de realizar comentarios sobre artculos. Si extendernos demasiado en estos para acotar el alcance del marco terico, podemos mencionar algunos de los casos ms llamativos y utilizados en algunos de los grupos de social media analizados anteriormente. Bologs: Wordpress, Blogger. Foros: phpBB, vBulettin. Wikis: MediaWiki, TikiWiki, PhpWiki. CMS: Drupal, Joomla. Podemos decir que en los social media a los que pertenecen estos proyectos el software de base ha pasado a ser de tipo commodity, siendo ms importante preocuparse por el modelo de negocio, los contenidos y presentacin de estos. En el caso de otros social media como ser microboggin, comunidades de contenidos y redes sociales se presentan casos de programacin demasiado especficos debido a modelos de negocio innovadores que no son posibles de generalizar, como ser los casos de Facebook, Flickr y Youtube. Pero a su vez en estos ltimos social media mencionados, se da la posibilidad de su uso a travs de sus APIs utilizando las fortalezas de sus servicios como base para modelos de negocio propios como hemos analizado previamente en los patrones de diseo Web 2.0 Por tanto, es tambin una opcin el utilizar como base un proyecto de software existente y desarrollarlo una solucin Web 2.0 en base a este, ya sea utilizndolo de la forma genrica, o reutilizando su cdigo y arquitectura para generar nuevos proyectos.

171

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Marco Terico

3.9. Conclusin
Es posible considerar que el desarrollo efectuado en el presente marco terico logra abarcar los siguientes objetivos especficos: Estudiar y comprender el concepto Web 2.0 y las maneras en que se manifiesta a travs del anlisis de los social media. Estudiar y comprender la manera en que se relacionan usuarios y empresas con Internet. Estudiar y comprender los patrones de diseo Web 2.0 y las prcticas que implican su implementacin. Estudiar y comprender tecnologas y estndares que forman la base para el desarrollo de proyectos Web 2.0. El desarrollo del marco terico ha sido un proceso largo pero sumamente interesante. Llega entonces el momento de aplicar el conocimiento obtenido para desarrollar el modelo terico del proyecto.

172

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Modelo Terico

4.
4.1.

Modelo terico
Introduccin

En base al desarrollo del marco terico hemos logrado comprender los elementos que componen al concepto ambiguo de Web 2.0, entendiendo sus formas y tecnologas. Buscando alcanzar el objetivo del trabajo final de grado buscaremos ahora generar un modelo terico que permita generar un impacto en el contexto de criticas de productos, siendo la base para la implementacin de un sitio web que genere un espacio de dilogo entre consumidores y empresas. En esta seccin buscaremos cumplimentar los siguientes objetivos especficos: Definir requerimientos de un sitio web que tome la forma de comunidad de contenidos en torno al domino de las criticas de productos, en base a la aplicacin de los patrones de diseo mencionados en el campo de accin y el anlisis realizado sobre usuarios y empresas. Modelar dicho sitio y sus interfaces, en base a la aplicacin de los patrones de diseo mencionados en el campo de accin, considerando las tecnologas y estndares estudiados. Desarrollamos entonces un modelo terico en busca de la solucin de la solucin del problema planteado. De acuerdo a lo indicado en el campo de accin, desarrollaremos dicho modelo en base a los siguientes patrones de diseo: Aprovechar la inteligencia colectiva. Los datos son el prximo "Intel Inside. Experiencias de usuario ricas. Aprovechar la larga cola. Innovacin en el ensamblaje. Aunque como se vio en el marco terico, todos los patrones de diseo estn interrelacionados y por tanto, si bien no se har un fuerte enfoque en los patrones que quedan fuera del alcance, s se los mencionara o se har referencia a estos.

173

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Modelo Terico

4.2.

Planificacin

Las actividades que se consideran a continuacin sern realizadas por el autor del trabajo, no siendo necesaria por tanto una divisin de tareas.

4.2.1. Etapas, actividades y duracin.


Etapa Introduccin Actividad Definicin de la situacin problemtica Definicin del problema Declaracin de objeto de estudio y campo de accin Definicin de objetivos Definicin de alcance y limites Descripcin de aporte terico y practico Descripcin de metodologa Marco contextual Descripcin del entorno de objeto de estudio Definicin de la relacin entre tesista y el objeto de estudio Descripcin de anlisis de problemas observados Marco terico Modelo terico Investigacin y desarrollo del marco terico Desarrollo del diagnostico Planificacin Requerimientos Definicin de actores de negocio Anlisis de necesidades genricas del negocio Definicin de actores de sistema Aplicacin de patrones de diseo Web 2.0 Identificacin de requerimientos Anlisis del sistema Desarrollo de casos de uso Desarrollo de diagrama de casos de uso Diseo del sistema Desarrollo de modelo de contenidos Desarrollo de modelo de navegacin Desarrollo de modelo de presentacin Desarrollo de modelo de procesos Consideraciones adicionales Concrecin del modelo Implementacin del prototipo Adaptacion de phpBB y AjaxCORE Adaptacin de APIs YouTube y Picasa Generacin de interfaces web Revisin del sistema Descripcin de puesta en marcha Revisin Revisin de la documentacin Redaccin de conclusiones Correccin final de la documentacin Tabla 11: Etapas, actividades y duracin del proyecto. Duracin 1 da 1 da 1 da 1 da 1 da 1 da 1 da 1 da 1 da 1 da 82 das 6 das 3 das 1 da 1 da 1 da 10 das 4 das 3 das 2 das 3 das 6 das 10 das 10 das 2 das 14 das 6 das 15 das 8 das 6 das 14 das 2 das 9 das

174

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Modelo Terico

4.2.2. Diagrama Gantt

Ilustracin 72: Diagrama Gant del Proyecto.

175

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Modelo Terico

4.3.

Requerimientos

4.3.1. Definicin de actores de negocio


En base a lo planteado en el caso hipottico considerado en la introduccin y en los posteriores anlisis sobre los usuarios de internet como consumidores y las empresas en el marco terico de este trabajo, podemos definir como actores de negocio a los usuarios de Internet, que pueden estar cumpliendo el rol de consumidores o de empresa. En el primer caso trataremos de forma genrica al grupo de usuarios que podra considerarse como consumidores, teniendo en mente que dicho grupo plantea una enorme heterogeneidad si consideramos diferentes grupos de edades, capacidades econmicas, lugares de residencia, y otros factores de segmentacin. Respecto al segundo grupo, es claro que hablamos de un conjunto mucho mas segmentado pero que mantiene la caracterstica de heterogeneidad si consideramos por un lado el abanico de tipos de empresas existentes de variados rubros y mercados, y por otro lado y con un enfoque en el interior de las empresas, los diferentes roles que posiblemente se relacionan con la imagen de la empresa, la atencin a los clientes, los desarrollos de productos o servicios, las estrategias de mercadeo u otros de los posibles puntos en los cual el contacto con Internet resulta valioso, pero para simplificar el anlisis hablaremos de la empresa como una caja negra, sin identificar reas o roles. Si aplicaremos una limitacin geogrfica a ambos grupos, acotando el alcance solo a usuarios de Internet argentinos, debido a que el proyecto apunta a crear una solucin solo a nivel pas y no una global. Por tanto, tenemos a grandes rasgos dos actores identificables que se relacionaran con el proyecto Clientes Empresas

4.3.2. Necesidades genricas detectadas en los actores de negocio


Clientes: Realizar observaciones o reclamos respecto a empresas (y sus productos y servicios) de las cuales han recibido un servicio defectuoso y no han obtenido una respuesta satisfactoria ante el reclamo directo. Tener la posibilidad de llegar a odos de dichas empresas con sus reclamos mediante mensajes persistentes en el tiempo en un espacio neutral que permita la opinin libre. Poder valerse de informacin de otros consumidores para aportar a sus procesos de toma de descripcin frente a consumir determinados productos o servicios. Encontrar y vincularse con otros consumidores que presenten problemas similares para compartir opiniones y colaborar para llegar a posibles soluciones. Estar atentos a posibles fallas en productos o servicios que ya posean, aunque no hayan presentado problemas aun.

176

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Modelo Terico Empresas: Obtener un nuevo canal de comunicacin con sus clientes y posibles clientes, donde fortalecer su relacin con estos. Realizar un seguimiento de la opinin de la gente sobre sus productos o servicios.

4.3.3. Definicin de los actores de sistema


Si bien para el desarrollo del modelo de negocio y el anlisis de necesidades es necesario separar empresas y consumidores, al considerar el uso del sitio inicialmente solo se consideraran los usuarios de internet de manera genrica, pudiendo separarse principalmente los usuarios que estn registrados en el sistema y los que no. El comportamiento de empresas y consumidores indica las mismas necesidades genricas, ya que se consideran mayormente la carga de contenidos y la consulta de estos. Por tanto, no se realizara una distincin inicial de empresas y consumidores. En etapas futuras del desarrollo del proyecto podran buscarse funcionalidades especficas para cada grupo. Utilizaremos la distincin entre usuario y usuario registrado para describir las funcionalidades del sistema.

4.3.4. Aplicacin de los patrones de diseo al contexto del proyecto.


Con las necesidades genricas que hemos considerado y lo analizado en el marco terico en mente, recorreremos los patrones de diseo y las practicas recomendadas en busca de los requerimientos que el sistema deber cumplir. Recordamos que segn lo definido en el alcance del proyecto, buscaremos aplicar los siguientes patrones y prcticas, planteando cada uno de estos puntos sobre el contexto del problema que analiza este trabajo.

177

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Modelo Terico
Practicas Pagar al usuario primero. Activar los efectos de red por defecto. Involucrar a los usuarios implcita y explcitamente. Proveer un contexto significativo para la creacin. Confiar en los usuarios. Disear software que es mejor a medida que ms gente lo usa. Facilitar la emergencia de los contenidos Los datos son el prximo Buscar poseer fuentes de datos nicas y difciles de recrear. "Intel Inside. Mejorar los datos bsicos. Los usuarios controlan sus propios datos. Algunos derechos reservados, no todos. Definir una estrategia de pila de datos. Ser dueo del ndice o del formato. Disear los datos para su reutilizacin. Tercerizar o proveer administracin al acceso de datos. Innovacin en el Ofrecer APIs de los servicios. ensamblaje. Disear para la reutilizacin. Aplicar las mejores prcticas en APIs. Usar los estndares existentes. Construir los modelos de negocios en las APIs. Usar Web 2.0 para dar soporte a la plataforma. Ser cliente de su propia plataforma. Direccionamiento granular de contenidos. Utilizar su plataforma para construir la confianza y lealtad de los clientes. Aprender de cmo los clientes reutilizan los servicios. Experiencias de usuario Combinar lo mejor de las experiencias de escritorio y online. ricas. Usabilidad y simplicidad primero. Alcanzar los requerimientos de los usuarios. Priorizar la bsqueda sobre la estructura. Mantener el direccionamiento de los contenidos. Personalizacin profunda y adaptativa. Aprovechar la larga Construir en base a las fortalezas de la larga cola. cola. Usar administracin de datos algortmica para que oferta y demanda se igualen. Utilizar una arquitectura de participacin para que oferta y demanda se encuentren. Aprovechar el auto servicio de los clientes para alcanzar toda la red de manera costoefectiva. Aprovechar las ventajas del bajo costo de estar online. Tabla 12: Patrones y prcticas de diseo que seran aplicados en el proyecto. Patrn Aprovechar la inteligencia colectiva.

4.3.4.1.

Aprovechar la inteligencia colectiva

Crear una arquitectura de participacin que use los efectos de red y algoritmos para producir software que mejore a medida que ms gente lo utilice. Pagar al usuario primero: Sera necesario generar una interfaz de sistema que permita al usuario desenvolverse de manera intuitiva, permitiendo al usuario alcanzar objetivos de segundo orden, pero sin que estos dificulten los pasos para alcanzar los objetivos de primer orden. Podemos agruparlos a groso modo mencionando algunos de la siguiente manera: Primer orden: cargar un reclamo sobre una empresa o producto en particular, encontrar reclamos sobre una empresa o producto en particular, recibir actualizaciones sobre los reclamos de inters. 178

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Modelo Terico Segundo orden: participar en una comunidad de consumidores, opinar sobre los reclamos de otros miembros, comunicarse con otros miembros. Activar los efectos de red por defecto. Sera necesario perseguir funcionalidades que faciliten y promuevan la cooperacin y participacin de los usuarios. Se debe permitir que los usuarios puedan aportar a los reclamos de otros usuarios, potencindose as la informacin de base aprovechando los efectos de re. Sera importante que por defecto toda informacin de reclamos sea pblica, no siendo necesario estar registrado para obtener beneficios del sistema en la mayora de los casos. Esto es necesario debido a la tendencia de bajo porcentaje de usuarios de una comunidad que aporta contenidos. Sera importante sacar provecho de la tendencia por parte de los usuarios a aceptar las opciones por defecto. Involucrar a los usuarios implcita y explcitamente. El aprovechamiento de las participaciones explicitas e implcitas de los usuarios debe ser perseguido para potenciar la generacin de contenidos, la mejora de contenidos, las posibilidades de navegacin y por tanto el xito del sistema. Podemos considerar lo siguiente: Aprovechamiento de participaciones explicitas: la generacin de un nuevo reclamo, la valoracin sobre un reclamo, el comentario o agregado de informacin a un reclamo, la sugerencia de una nueva empres a o producto de una empresa. Aprovechamiento de participaciones explicitas: considerar como valiosos los comportamientos de los usuario y almacenando estos datos. Esto permitir clasificar contenidos y ordenarlos algortmicamente segn diversos criterios, como ser los reclamos ms vistos, los ms comentados, los mejor y ms valorados. A su vez sera posible seguir los caminos de navegacin realizados por los usuarios, indicando cuales son algunos de los reclamos vistos antes y despus de uno en particular. Proveer un contexto significativo para la creacin. Hay que tener en claro que el sistema no solo debe invitar a los usuarios a participar, sino que debe constituir un contexto coherente y consistente que promueva la generacin de contenidos. A un nivel alto nos referimos a la temtica o contexto de la comunidad. A nivel de plataforma, nos referimos a incluir mecanismos para la identidad, reputacin y relaciones entre los usuarios. Como veremos en otros patrones y prcticas, el correcto diseo de URLs, etiquetas y otros elementos sern necesarios para proveer una correcta identificacin de los datos. A su vez es importante la facilitacin de mecanismo de bsqueda sobre datos de reclamos y datos de usuarios. Es decir, el contexto debe considerar a los usuarios, a la plataforma, y a los datos.

179

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Modelo Terico Confiar en los usuarios. Con el objetivo de promover la participacin de los usuarios, es necesario mantener una apertura respecto a la generacin de contenidos y aportes sobre los contenidos ya existentes. A su vez, se debe dar gran valor a los resultados de dicha participacin. Una manera de lograr esto es cediendo parte del control a los usuarios, sin aplicar demasiadas restricciones a sus aportes, permitiendo que estos sean publicados de manera directa sin tener que ser supervisados por un moderador o administrador del sistema, ya que esto generara un paso ms en la generacin, as como tambin se volvera incomodo y costoso (en recursos de tiempos) al sobrecargar las tareas de los moderadores o administradores frente a un alto volumen de generacin de contenidos. Incluso una manera de contrarrestar los malos contenidos es delegar parte de la tarea de moderacin a los usuarios, permitiendo que estos reporten contenidos inadecuados a la temtica de la comunidad. Disear software que es mejor a medida que ms gente lo usa. El sistema debe orientarse al aprovechamiento de los efectos de red. En nuestro caso cuanto ms usuarios participen en la comunidad, esta tendr ms peso a nivel social y se har ms conocida, y por tanto ms peso tendrn los reclamos y opiniones individuales de cada usuario. A su vez, ser ms probable que al momento de querer realizar un reclamo el usuario encuentra ya cargado en el sistema la empresa o producto al cual desea referirse simplificando el proceso de carga. Incluso en este caso podr verificar si no existen situaciones similares a la suya, pudiendo quizs encontrar una solucin a su problema o sumar informacin a su proceso de toma de decisiones sobre el consumo de un producto o servicio. A medida que ms miembros de la comunidad compartan sus reclamos y opiniones, mejor lograra la comunidad sus objetivos. Facilitar la emergencia de los contenidos: Sera necesario definir medos flexibles de navegacin para los contenidos, tratando de no apegarse demasiado a estructuras jerrquicas y categorizadas, facilitando as la emergencia de contenidos al permitir el surgimiento de formas inesperadas e innovadoras de mostrar contenidos y realizar navegaciones. 4.3.4.2. Los datos son el prximo "Intel Inside.

Usar fuentes de datos nicas y difciles de recrear para convertirse en el siguiente "Intel Inside", en esta poca en la que la informacin se ha vuelto tan importante como la funcin. Buscar poseer fuentes de datos nicas y difciles de recrear. El sistema debe perseguir la generacin de una base de datos de opiniones genuinas sobre empresas y productos, cuyo valor provendr del aporte particular de cada usuario, tanto por 180

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Modelo Terico la generacin de sus propios reclamos o del aporque te realice al agregar informacin o valorar los de otros usuarios. Al ser generada por los usuarios, ser nica y difcil de recrear. Dicha base de datos tendr el potencial de volverse ms y ms valiosa a medida que se genere su crecimiento manteniendo la calidad de los contenidos, ya que lograra cumplir los objetivos planteados por este proyecto, como ser potenciar la voz individual de cada consumidor, proveer a soluciones e informacin valiosa para los procesos de toma de decisiones sobre consumos de los productos o servicios. Mejorar los datos bsicos. Podemos considerar como datos bsicos a una posible lista inicial de empresas y productos, ya que son datos simples y de pblico conocimiento, y a los datos agregados que puedan generar los usuarios. Esta debe ser la base para generar valor al aplicar las opiniones, valoraciones y otros aportes de los consumidores miembros de la comunidad de contenidos. Los usuarios controlan sus propios datos. Es importante recordar que el valor real proviene del contexto y no de los datos bsicos y que por tanto las bases de datos cerradas no llegan a aprovechar las fortalezas de Internet. Para lograr una apertura es necesario que los usuarios confen en el sistema y en la comunidad, y por tanto deben tener la capacidad de controlar sus propios datos. El sistema debe proveer formas de agregar y quitar sus datos de usuario y su cuenta, as como tambin controlar los contenidos que aporta. Algunos derechos reservados, no todos. Al ser una comunidad abierta que promueve la libre participacin y cooperacin, hay que considerar que muchos efectos potenciales provendrn de efectos virales de distribucin de los contenidos, suponiendo casos hipotticos en los cuales fuentes externas a la comunidad podran tomar reclamos que tengan alta relevancia y reproducirlas total o parcialmente en otros medios de Internet e incluso en medios tradicionales. Es importante considerar los derechos de autor de cada usuario hacindolo propietario de sus opiniones, pero buscar flexibilidad para que dichos derechos de propiedad intelectual no sean un obstculo para la distribucin y difusin de la informacin, por lo que ser necesario aplicar mecanismos apropiados. Definir una estrategia de pila de datos. Esta prctica no tiene alta relevancia en el contexto de este proyecto ya que la base de datos inicial seria un listado de empresas y productos, la cual se formara en gran parte por el aporte de los usuarios, aunque se podra considerar si a futuro se utiliza esta base de datos como fuente de datos para otro proyecto.

181

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Modelo Terico En dicho caso es importante considerar los visto anteriormente sobre la generacin de valor agregado sobre los datos de base. Ser dueo del ndice o del formato. Esta prctica debe ser perseguida, ya que si la base de datos toma un tamao considerable alcanzando los objetivos altos del proyecto, de tal forma que los contenidos de la comunidad puedan influenciar a empresas y otros consumidores. En tal caso la comunidad de contenidos apuntara a ser el lugar por defecto donde se planteen opiniones sobre productos y servicios. Disear los datos para su reutilizacin. As como consideramos la importancia de los datos, es importante tambin considerar la importancia de la reutilizacin de los datos, y que por tanto, el diseo de los datos debe estar preparado para dicha distribucin. Esto se manifiesta en los mecanismos de acceso a los datos, y por tanto ser necesario que el sistema cuente con mecanismos flexibles para proveer la sindicacin de contenidos y redistribucin de los datos. Tercerizar o proveer administracin al acceso de datos.

Sera necesario buscar formas de manejar los altos volmenes de contenidos de la comunidad, persiguiendo eficiencia y un bajo costo. Si bien cada da se vuelven ms accesibles los espacios de almacenamiento y capacidades de transferencia, los recursos con los que cuenta el proyecto y el potencial crecimiento que podra tener no muestra como una opcin conveniente administrar todos los datos en un servidor propio. Por tanto, ser necesario considerar servicios de terceros para los datos que potencialmente pueden consumir muchos recursos, como ser los contenidos multimedia de imagen y video de los reclamos y comentarios.
4.3.4.3. Innovacin en el ensamblaje.

Construir plataformas para fomentar la innovacin en el ensamblaje, donde la combinacin e interaccin de datos y servicios crea nuevas oportunidades y mercados. Ofrecer APIs de los servicios. Es necesario pensar no solo en una estrategia de aplicacin, sino tambin de plataforma. Para esto es necesario plantear el desarrollo de una API del servicio ofrecido por el sistema, permitiendo que terceros puedan tomar informacin de la base de datos de reclamos, empresas y productos.

182

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Modelo Terico Si bien cada da se vuelve ms sencillo la generacin de dichas APIs y su distribucin, posiblemente deba ser relegado para una etapa futura del proyecto debido a la escasez de recursos con los que se contara para un primer lanzamiento, buscando otras formas alternativas de aprovechar los efectos de Web 2.0 como ser la sindicacin de contenidos. Disear para la reutilizacin. El principio de generar contenidos que puedan ser analizados, desarmados y reutilizados debe aplicarse en el planteamiento del sistema, algo que se haba planteado en otras prcticas anteriores, lo cual es posible alcanzarse mediante el desarrollo de APIs y la sindicacin de contenidos. De esta forma se permitira que terceros tomen los reclamos del sistema y los usen de base para sus propios proyectos de maneras inesperadas y creativas, e indirectamente potenciando el xito de la comunidad d contenidos. Aplicar las mejores prcticas en APIs. Al considerar el desarrollo futuro de una API para este servicio es importante seguir los estndares ms utilizados, y por tanto ser necesario profundizar en los conocimientos especficos de las tcnicas analizadas en el marco terico, al momento de considerar el desarrollo Web 2.0. Es necesario tambin buscar el desarrollo de tcnicas que potencien su uso y por tanto su xito. Estas podran incluir la generacin de tutoriales que fomenten su uso y el desarrollo de comunidades de desarrolladores que utilicen dicha API, mediante diversas herramientas como ser foros, wikis y blogs. Usar los estndares existentes. Sera necesario profundizar sobre los estndares ms utilizados, como ser JSON, microformats, SOAP, REST, y otros para la generacin futura de la API. Por otra parte, el anlisis realizado en el marco terico sobre sindicacin de contenidos nos llevo al conocimiento y entendimiento de estndares RSS y Atom, y estos sern las bases para la aplicacin la sindicacin al sistema. En ambos casos ser necesario profundizar sobre los conocimientos tericos, ya que el trabajo realizado aqu no busca abarcar los temas en profundidad tcnica. Construir los modelos de negocios en las APIs. En este trabajo se plantea un modelo de negocio que abarca a los usuarios y a su forma de publicacin de contenidos sobre empresas y productos aplicando consideraciones vistas en otros proyectos Web 2.0. Dicho modelo es la esencia del proyecto y por tanto al momento de generar una API ser necesario buscar la aplicacin del modelo de negocio sobre esta, sin perder claridad de objetivos.

183

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Modelo Terico Esto permitir conseguir contribuciones y distribuciones en sitios de terceros, potenciando as el efecto generado por la comunidad de contenidos. Usar Web 2.0 para dar soporte a la plataforma. Al momento de disear la API no solo se debe aplicar el modelo de negocio, sino que se deben considerar todos los patrones de diseo planteados en el desarrollo de la plataforma, persiguiendo la aplicacin de principios Web 2.0 como ser bajas barreras de adopcin, herramientas en base a efectos de red y tcnicas para construir y dar soporte a un ecosistema de colaboracin. Hemos considerado muchas formas de aplicar estos principios mediante herramientas y servicios Web 2.0 de terceros, como ser la generacin de wikis colaborativas, blogs y otras. Ser cliente de su propia plataforma.

Una vez desarrollada la API en una etapa futura del proyecto, ser recomendable que el sitio principal de la comunidad internamente utilice los servicios de la API, buscando as incrementar la calidad y reducir los costos a travs de la reutilizacin.
Direccionamiento granular de contenidos. Cara reclamo, empresa, producto, comentario, usuario y otros elementos que surjan deben poder tener un direccionamiento nico y claro, siendo necesaria la generacin de URLs claras, legibles y simples para el sitio, lo que potenciara luego la redistribucin de contenidos pudiendo realizarse referencias a elementos individuales de los datos que contenga el servicio, aportando efectos positivos para los usuarios del sitio, desarrolladores de otros sitios y motores de bsquedas. Utilizar su plataforma para construir la confianza y lealtad de los clientes. En busca de apertura y confianza por parte de los usuarios, es necesario que as como planteamos la posibilidad de agregar y eliminar sus datos a travs del sistema, tambin puedan hacerlo a travs de una futura API. Esto va de la mano con lo planteado sobre la aplicacin del modelo de negocio usado en el sitio sobre la API. De tal manera en un escenario futuro los usuarios podran utilizar sus opiniones sobre productos y servicios en servicios de terceros de forma libre y flexible. Aprender de cmo los clientes reutilizan los servicios. Los usuarios reutilizaran los servicios de formas inesperadas y creativas ya sea mediante sindicacin de contenidos o mediante API, por tanto ser importante mantener la atencin en las acciones de estos, ya que podran encontrarse nuevos elementos para ser agregados al propio modelo de negocio del sistema.

184

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Modelo Terico 4.3.4.4. Experiencias de usuario ricas.

Ir ms all de los conceptos tradicionales de lo que es una pgina web, para entregar experiencias al usuario mucho ms ricas, combinando lo mejor del software online y de escritorio. Combinar lo mejor de las experiencias de escritorio y online. Debemos buscar una experiencia de usuario sin los lmites planteados por Internet en los aos anteriores a la tendencia Web 2.0, acercndonos a las caractersticas de las mejores interfaces de escritorio. Las tecnologas actuales como ser el caso analizado de AJAX permiten generar interfaces de usuario en un navegado altamente interactivas y rpidas a travs de la aplicacin de cambios dinmicos en una pgina. A su vez el aspecto de un sitio puede ser mejorado tendiendo a una simpleza de diseo con la aplicacin de estilos CSS sobre estructuras de XHTML. Adems, los crecientes anchos de banda, espacios de almacenamiento y capacidades de servicios de terceros permiten obtener capacidades multimedia antes impensadas. Por su parte Internet provee caractersticas como ser la independencia de una plataforma o sistema operativo, el acceso independiente del lugar y por tanto posibilidades de colaboracin. Por tanto se debe buscar que en el lado del cliente se utilice una aplicacin liviana con las caractersticas mencionadas anteriormente y aprovechando las cualidades del concepto del software como servicio, apuntando siempre a enriquecer la experiencia de los usuarios del sistema y considerando esto como un requerimiento funcional, y no solo complemento. Usabilidad y simplicidad primero. Es importante no permitir que en busca de una innovacin o aplicacin de una tecnologa se pongan en riesgo la usabilidad y la simpleza, ya que estas son las caractersticas que necesita el usuario. En este caso se debern priorizar las mejoras en los procesos del sistema, como ser las cargas de reclamos, comentarios, contenidos multimedia de estos ltimos dos, administracin de cuentas de usuario y sobre todo la navegacin del sistema, dejando de lado quizs efectos grficos que llamen la atencin pero que puedan poner trabas a los primeros puntos. En el rea de multimedia sera interesante buscar el servicio de terceros como ser el caso de YouTube para los contenidos de video, ya que su servicio da seguridad sobre los aspectos de usabilidad, simpleza y disponibilidad tanto en el proceso de carga de videos como en el consumo de estos. A su vez los servicios que se utilicen de terceros debern contar con las caractersticas de ser fcilmente integrables como componentes del sistema. El diseo de la interfaz debe basarse fuertemente en estilos CSS con la menor cantidad posible de grficos para lograr maximizar la velocidad de carga.

185

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Modelo Terico Buscar que el uso coincida con los requisitos. La aplicacin de tecnologas como ser Ajax, JavaScript, CSS y otras tecnologas brinda un gigantesco abanico de posibilidades a la hora de plantear interfaces, por esto es importante siempre buscar el objetivo planteado por el modelo de negocio del sistema, brindando un servicio claro para administrar y acceder a reclamos y opiniones de los usuarios, y por tanto hacer que el uso del sistema no se aleje de lo planteado en los requerimientos. Bsqueda sobre la estructura. Las formas de acceder a contenidos e incluso de crearlos pueden ser guiadas por algoritmos internos del sistema, aprovechando la estructura y contenido del sistema para mejorar los servicios y predecir algunos comportamientos del usuario, sobre todo considerando que a medida que la naturaleza y estructura de contenidos se vuelve menos predefinida y emerge de la dinmica de los comportamientos y participacin de los usuarios, aumenta la necesidad de algoritmos ms inteligentes y poderosos. Sera importante permitir este tipo de efectos, asegurando que sea posible realizar bsquedas en base a trminos, empresas y productos sobre los contenidos de la base de datos de reclamos A su vez, seria ptimo que en base al comportamiento de bsqueda de un usuario, se le sugiera parte de los datos necesarios para cargar un nuevo contenido. Por ejemplo, en caso de estar viendo contenidos referidos a un producto determinado, al elegir cargar un nuevo reclamo debera salir como seleccionado dicho producto, ya que probablemente quiera referiste a este mismo. Preservar el direccionamiento de los contenidos. No se debe poner en riesgo el direccionamiento de los contenidos en pro de minimizar el numero de recargas del navegador o de simplificar la interfaz del usuario, ya que hemos considerado anteriormente la importancia de poder acceder individualmente y de forma clara y simple a cada contenido del sistema. Cada elemento debe ser equivalente a una URL. Esto permitir que los usuarios puedan encontrar los contenidos (agregndolos a marcadores, recibiendo actualizaciones de sindicacin de contenidos, etc.), as como tambin las maquinas (buscadores, herramientas de terceros por mencionar ejemplos). Personalizacin profunda y adaptativa. Hay que tener en mente al momento de desarrollar las aplicaciones componentes del sistema que se debe generar un entorno que aprenda dinmicamente del comportamiento del usuario, anticipando sus necesidades, recordando sus preferencias y adaptndose a medida que es ms y ms utilizado.

186

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Modelo Terico Sera necesario generar interfaces con detalles especficos para cada usuario, con elementos que brinden una sensacin de personalizacin, recordando los datos de usuario y sus comportamientos, como por ejemplo poniendo a su disposicin sus ltimas colaboraciones o sugirindole empresas o productos que puedan ser de su inters en base a su interaccin histrica con contenidos del sistema. 4.3.4.5. Aprovechar la larga cola.

Capturar nichos de mercado rentables a travs economas de bajo costo y alcance amplio permitidas por la Internet. Construir en base a las fortalezas de la larga cola. La produccin democratizada de contenidos ser aprovechada en base a las capacidades de libre opinin de los consumidores con el bajo costo de generacin de contenidos tanto de texto como multimedia que presentan los escenarios actuales. La distribucin democratizada y la conexin entre oferta y demanda sern aprovechada debido a la gran variedad de empresas y productos que potencialmente se encontraran en la base de datos del sistema, pudiendo cada uno de estos ser encontrado mediante besucadores cuando los usuarios de internet busquen informacin sobre dichas empresas y productos. A su vez, puede profundizarse ms aun el nicho al sumar un problema determinado sobre una empresa o producto en el proceso de bsqueda. De esta forma se alcanzara a cubrir contantemente mltiples micro-mercados, ofreciendo en cada bsqueda elementos de valor como lo son las opiniones reales de los consumidores de la comunidad. As sin necesariamente contener trminos que sean altamente buscados de manera individual, la suma de todas las bsquedas sobre los contenidos del sistema proveer de un potencial trfico al sitio y por tanto se potenciara el xito de la comunidad. En particular se debe proveer medios de distribucin aprovechando las caractersticas de la sindicacin de contenidos, para mantener actualizado a aquellos usuarios que ya han encontrado al sitio como una fuente de informacin valiosa. Usar administracin de datos algortmica para que oferta y demanda se igualen. Sera necesario sugerir contenidos a los usuarios en base a consideraciones algortmicas sobre el comportamiento de otros usuarios del sistema, por ejemplo, indicando que reclamos fueron visitados luego de visualizar un determinado reclamo que el usuario pueda estar consultando. De esta forma buscaremos aprovechar la inteligencia colectiva sugiriendo contenidos al usuario que probablemente sean de su inters utilizando algortmicamente los datos obtenidos previamente. Utilizar una arquitectura de participacin para que oferta y demanda se encuentren. El aprovechamiento de los comportamientos de los usuarios y de la arquitectura de participacin del sistema puede buscar la sabidura de las multitudes. Esto debe aportar 187

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Modelo Terico medios de filtrado de informacin, sugiriendo por ejemplo las informaciones ms comentadas o valoradas por los otros usuarios del sistema. Aprovechar el auto servicio de los clientes para alcanzar toda la red de manera costoefectiva. Sera necesario permitir la auto administracin por parte de los usuarios para reducir costos de soporte y tiempos de espera por parte del usuario, minimizando as las barreras para la adopcin del sistema y el crecimiento escalable. Aprovechar las ventajas del bajo costo de estar online. Los costos de mantener a un sistema online han bajado considerablemente ao a ao, y podemos considerar que se tendr un costo marginal mnimo a medida que la comunidad tome un tamao mayor. Sera necesario buscar un servicio de alojamiento web con buenas prestaciones de espacio en disco, ancho de banda y capacidades de soporte para las tecnologas que el sistema utilizara, como ser el lenguaje de programacin y la base de datos que se elija.

4.3.5. Requerimientos del Sistema


Las consideraciones realizadas anteriormente aplicando los patrones de diseo Web 2.0 al dominio planteado por este trabajo nos da una visin general sobre la forma que deber tomar el sistema para poder lograr el objetivo planteado. Si bien es complicado sintetizar dichas necesidades, podemos realizar un listado de requerimientos manteniendo en cuenta los anlisis generales de los patrones en todo momento al realizar los procesos de anlisis, diseo e implementacin de la aplicacin. Podemos considerar como requerimientos del sistema a los siguientes: Los usuarios registrados deben poder cargar reclamos referidos a empresas o productos. Los nuevos reclamos y comentarios deben publicarse de manera directa en el sitio, sin ser supervisados. Los reclamos y opiniones deben ser de acceso pblico (no deben requerir registracin para ser accedidos). Los contenidos deben publicarse bajo algn tipo de licencia que por un lado preserve los derechos de autora, pero que a su vez permita una distribucin y reutilizacin flexible. Los usuarios registrados deben poder reportar reclamos o comentarios si los consideran inapropiados, para que estos sean revisados por un administrador del sistema. Los usuarios registrados deben poder sugerir nuevas empresas y productos, siendo estas aprobadas por un administrador de sistema posteriormente. Los usuarios registrados deben poder aportar informacin adicional, opiniones y valoraciones sobre reclamos de otros usuarios. Los usuarios deben poder enviar mensajes privados a otros usuarios. Cada miembro de la comunidad debe poder generar una cuenta de usuario en el sistema. Los usuarios registrados deben poder eliminar sus propios datos. 188

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Modelo Terico Los usuarios deben poder realizar bsquedas en el sistema sobre reclamos, empresas, productos y usuarios. Se debe sugerir contenidos a los usuarios de a cuerdo a sus acciones en el sistema. Se debe ayudar a los usuarios en el proceso de carga de acuerdo a sus acciones en el sistema. Los usuarios deben poder recibir actualizaciones sobre nuevos reclamos y comentarios sobre empresas y productos. El usuario debe poder realizar sus objetivos en la menor cantidad posible de pasos. Se debe minimizar la cantidad de recargas del navegador al efectuar un proceso en el sistema, sin poner en riesgo la simplicidad, los objetivos del usuario ni el direccionamiento de contenidos. Las interfaces deben disearse flexibles, livianas y con tiempos de carga bajos, pero manteniendo un aspecto simple, intuitivo y agradable. Se debe monitorear la manera en que los usuarios navegan el sistema, almacenando dichos datos. Se deben generar estadsticas y rankings en base al comportamiento de los usuarios considerando diversos criterios. Los usuarios deben contar con una mtrica sobre su reputacin en base a la opinin de otros usuarios sobre sus colaboraciones en la comunidad (reclamos y comentarios). Cada elemento de contenido del sistema debe tener un direccionamiento claro y simple contando con URLs nicas, simples y legibles para cada reclamo, comentario, empresa, producto y usuario. El sistema debe permitir la emergencia de contenidos buscando formas alternativas e inesperadas de navegacin, por ejemplo mediante la generacin de nubes de tags. El sistema debe contar con mecanismos que permitan la redistribucin y reutilizacin de contenidos y servicios del sitio, como ser APIs o sindicacin de contenidos. El sistema debe facilitar a los usuarios el agregado de los contenidos a marcadores sociales. El sistema debe aprovechar los servicios ofrecidos por terceros para reducir la utilizacin de recursos cuando sea posible, como ser el caso de los contenidos multimedia de los reclamos y comentarios. Sera necesario contar con un servicio de alojamiento web con caractersticas suficientes para ser la base del sistema. El sistema deber contar con un panel de control brinde a administradores capacidades para editar, desactivar y eliminar reclamos y comentarios; agregar, editar y eliminar empresas y productos; revisar empresas y productos sugeridos por los usuarios; agregar, editar, suspender y eliminar usuarios; y realizar tareas pertinentes a la administracin del sistema como por ejemplo realizar respaldo de la base de datos.

189

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Modelo Terico

4.4.

Anlisis y Diseo

En base a la bsqueda de requerimientos realizada en la etapa anterior, desarrollaremos el anlisis y el diseo del sistema considerando como herramienta a lo planteado por UML UWE. No se profundizara en la arquitectura interna ni en detalles de programacin del sistema debido a que ese no es el foco principal del trabajo, sumado al hecho de que tal enfoque ya ha sido aplicado en el trabajo de pre grado realizado por el autor del proyecto. Se desarrollara principalmente los aspectos del sistema orientados a los usuarios en general como consumidores y su relacin con empresas y productos61, dejando de lado las especificaciones relacionadas al las tareas de administradores ya que podemos considerar a estas en su mayoras como triviales siendo principalmente ABM de datos del sistema, y siendo otras intrnsecas al sistema open source que se elija para ser la base del proyecto. Para lograr una comprensin del anlisis y diseo del sistema, utilizaremos las siguientes herramientas: Anlisis Listado de casos de uso. Descripcin de los casos de uso. Diagrama de casos de uso. Diseo Modelo de Contenidos Modelo de Navegacin Modelo de Presentacin Modelo de Estructura de Procesos. Diagramas de Flujo de Procesos. Decisiones de diseo de sistema.

61

Cuando usamos el trmino productos estamos hablando tanto de productos como de servicios.

190

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Modelo Terico

4.4.1. Anlisis del sistema


4.4.1.1. Listado de casos de uso de sistema

Podemos considerar los siguientes casos de uso del sistema en base a lo analizado previamente: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. Ingresar al Sistema. Recuperar Password. Registrar Usuario. Salir del Sistema. Ver Cuenta de Usuario. Editar Cuenta de Usuario. Eliminar Cuenta de Usuario. Ver Mensajes Privados. Enviar Mensaje Privado a Usuario. Ver Reclamo. Ver Comentarios. Otorgar Valoracin. Reportar. Agregar Social Bookmark. Cargar Reclamo. Editar Reclamo. Cargar Comentario. Cargar Imagen. Cargar Video. Sugerir Empresa. Sugerir Producto. Buscar Reclamos. Ver ltimos Reclamos. Ver Ranking de Reclamos. Ver Lista de Empresas. Ver Reclamos de Empresa. Ver Lista de Productos. Ver Reclamos de Producto. Ver Reclamos de Usuario. Sindicacin de Contenidos. Tour Guiado

191

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Modelo Terico 4.4.1.2. Descripcin de casos de uso de sistema

C.U: Ingresar al Sistema Actor: Usuario N 1 Descripcin: El usuario puede ingresar al sistema utilizando su nombre de usuario o e-mail y su password. Si los datos que ingrese son validos, el usuario es ahora un usuario registrado.

C.U: Recuperar Password Actor: Usuario N 2 Descripcin: En caso de no recordar su password, el usuario puede ingresar su direccin de e-mail. Si es una direccin ya existente en el sistema, el usuario recibir en su casilla de e-mail su nombre de usuario y su password.

C.U: Registrar Usuario Actor: Usuario N 3 Descripcin: El usuario puede ingresar sus datos como ser nombre, apellido, e-mail, password y ciudad para crear una cuenta de Usuario. Una vez realizado el proceso recibir sus datos en su casilla de e-mail.

C.U: Salir del Sistema Actor: Usuario Registrado N 4 Descripcin: El usuario registrado puede seleccionar la opcin Salir para salir del sistema, dejando de ser un Usuario Registrado.

C.U: Ver Cuenta de Usuario Actor: Usuario, Usuario Registrado N 5 Descripcin: Un usuario puede ver los datos de otro usuario y los propios en caso de ser un usuario registrado. Se visualizan los datos bsicos del usuario y es posible acceder al listado de los reclamos realizados por este as como tambin los reclamos en los cuales ha realizado algn comentario. Si se es un usuario registrado tambin es posible enviar un mensaje privado al usuario, y en caso de ver los datos propios es posible acceder a los mensajes privados, editar los datos de usuario y borrar la cuenta de usuario.

C.U: Editar Cuenta de Usuario Actor: Descripcin: El usuario registrado puede modificar sus datos de usuario.

Usuario Registrado

C.U: Eliminar Cuenta de Usuario Actor: Usuario Registrado N 7 Descripcin: El usuario registrado puede eliminar su cuenta de usuario del sistema. No se eliminaran sus reclamos ni comentarios, pero si todos sus datos privados.

192

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Modelo Terico
C.U: Ver Mensajes Privados Actor: Usuario Registrado N 8 Descripcin: El usuario registrado puede ver un listado de mensajes privados que le han sido enviados por otros usuarios del sistema.

C.U: Enviar Mensaje Privado a Usuario Actor: Usuario Registrado N 9 Descripcin: El usuario registrado puede enviar un mensaje privado a otro usuario registrado del sistema, indicando un asunto y un contenido del mensaje.

C.U: Ver Reclamo Actor: Usuario, Usuario Registrado N 10 Descripcin: El usuario o usuario registrado visualiza un reclamo, conteniendo empresa, producto si tuviera, tags, fecha, titulo, texto, imgenes, videos, valoracin general y datos del autor. A su vez visualiza el listado de comentarios realizados por otros usuarios. Visualiza las opciones de agregar el reclamo a marcadores sociales y de adherirse a la sindicacin de contenidos de los comentarios del reclamo. En caso de ser un usuario registrado podr realizar una valoracin sobre el reclamo, enviar un mensaje privado al usuario autor, reportar el reclamo como inapropiado (en caso de haber sido reportado ya por otro usuario puede estar en espera indicando tal situacin, y si ya fue aprobado no podr ser reportado nuevamente.), realizar un comentario sobre el reclamo y cargar un nuevo reclamo o un nuevo reclamo sobre la misma empresa y producto (si tuviera el reclamo un producto).

C.U: Ver Comentarios Actor: Usuario, Usuario Registrado N 11 Descripcin: Al visualizar un reclamo el usuario o usuario registrado visualiza un listado de todos los comentarios realizados por usuarios en referencia a dicho reclamo, obteniendo fecha, texto, imgenes, videos, valoracin general y datos del autor. En caso de ser un usuario registrado visualiza las opciones de enviar un mensaje privado al autor del comentario, realizar una valoracin sobre el comentario y reportarlo como inapropiado (en caso de haber sido reportado ya por otro usuario puede estar en espera indicando tal situacin, y si ya fue aprobado no podr ser reportado nuevamente.).

C.U: Otorgar Valoracin Actor: Usuario Registrado N 12 Descripcin: El usuario registrado realiza una valoracin sobre un reclamo o un comentario, valuando su calidad en la escala del 1 al 5. Esto puede ser realizado una nica vez por parte del usuario registrado sobre un mismo reclamo o comentario.

C.U: Reportar Actor: Usuario Registrado N 13 Descripcin: El usuario registrado puede reportar un reclamo o comentario para que sea revisado por un administrador, indicando el motivo por el cual lo considera inapropiado. El reclamo o comentario no podr ser reportado por otros usuarios en caso de estar en espera (mostrando un texto que indique su situacin) o en caso de ya haber sido reportado y habiendo luego sido aprobado por un administrador.

193

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Modelo Terico
C.U: Agregar Social Bookmark Actor: Usuario, Usuario Registrado N 14 Descripcin: El usuario o usuario registrado podr utilizar diversos links para agregar el reclamo a marcadores sociales, buscando facilitar y encaminar la tarea enviando el titulo y la url del reclamo a la ventana de carga del servicio de marcador social que se utilice (externo al sistema).

C.U: Cargar Reclamo Actor: Usuario Registrado N 15 Descripcin: El usuario registrado podr cargar un reclamo seleccionando mediante una interfaz enriquecida la empresa (y si lo deseara, el producto) sobre la cual desea realizar un reclamo (estos datos podran estar preseleccionados en algunos casos si el camino elegido para llegar a la carga del reclamo sugera tal cosa) Tambin ser posible realizar la sugerencia de una empresa y/o producto. A su vez el usuario registrado deber ingresar un asunto y una descripcin, pudiendo ingresar opcionalmente tags, imgenes y videos. Una vez completada la informacin se realizara la carga del reclamo. El usuario registrado visualizara en todo momento un texto con sugerencias sobre como redactar el reclamo con el objetivo de que este se ajuste a las normas de la comunidad.

C.U: Editar Reclamo Actor: Usuario Registrado N 16 Descripcin: El usuario registrado puede editar sus propios reclamos, pudiendo modificar todos sus datos, contando con una interfaz similar a la desarrollada para la carga de reclamo. Sin embargo se mantendr una copia de las versiones anteriores del reclamo, pudiendo un administrador volver a colocar una copia anterior.

C.U: Cargar Comentario Actor: Usuario Registrado N 17 Descripcin: El usuario registrado puede cargar un comentario al visualizar un reclamo, incluyendo texto, imgenes y videos. El usuario registrado visualizara en todo momento un texto con sugerencias sobre como redactar el comentario con el objetivo de que este se ajuste a las normas de la comunidad.

C.U: Cargar Imagen Actor: Usuario Registrado N 18 Descripcin: Al visualizar la carga de un reclamo o comentario el usuario registrado puede seleccionar un archivo valido de imagen desde su disco duro o ingresando una URL de una imagen valida. Esta se cargara en un servicio de terceros. Una vez realizada la carga el usuario registrado podr continuar la carga del reclamo o comentario, visualizando un thumbnail de la imagen cargada.

C.U: Cargar video Actor: Usuario Registrado N 19 Descripcin: Al visualizar la carga de un reclamo o comentario el usuario registrado puede seleccionar un archivo valido de video desde su disco duro o ingresando una URL de una video valida. Esta se cargara en un servicio de terceros. Una vez realizada la carga el usuario registrado podr continuar la carga del reclamo o comentario, visualizando un thumbnail del video cargado.

194

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Modelo Terico
C.U: Sugerir Empresa Actor: Usuario Registrado N 20 Descripcin: Al visualizar la carga o edicin de un reclamo, el usuario registrado puede sugerir una nueva empresa en caso de no encontrar una de su inters en el sistema. El usuario registrado podr realizar la carga sobre dicha empresa e incluso sugerir productos de la empresa, pero sta marcada como pendiente hasta que sea aprobada por un administrador no pidiendo ser utilizada por otros usuarios hasta que se realice tal accin.

C.U: Sugerir Producto Actor: Usuario Registrado N 21 Descripcin: Al visualizar la carga o edicin de un reclamo, el usuario registrado puede sugerir un nuevo producto dentro de una empresa en caso de no encontrar uno de su inters en el sistema. El usuario registrado podr realizar la carga sobre dicho producto, pero ste ser marcado como pendiente hasta que sea aprobado por un administrador no pidiendo ser utilizado por otros usuarios hasta que se realice tal accin.

C.U: Buscar Reclamos Actor: Usuario, Usuario Registrado N 22 Descripcin: El usuario o usuario registrado podr realizar una bsqueda en el servicio ingresando palabras clave de su preferencia, y obteniendo visualizando posteriormente un listado de reclamos que se ajusten a dichas palabras claves. Contara con la opcin de visualizar el detalle de un reclamo en particular y en caso de ser un usuario registrado podr acceder a la carga de un nuevo reclamo.

C.U: Ver ltimos Reclamos Actor: Usuario, Usuario Registrado N 23 Descripcin: El usuario o usuario registrado visualizara una lista de los ltimos reclamos ingresados al sistema. Contara con la opcin de visualizar el detalle de un reclamo en particular y en caso de ser un usuario registrado podr acceder a la carga de un nuevo reclamo.

C.U: Ver Ranking de Reclamos Actor: Usuario, Usuario Registrado N 24 Descripcin: El usuario o usuario registrado visualizara una lista de los reclamos con mejores valoraciones por parte de los usuarios del sistema y de los reclamos ms comentados por los usuarios del sistema. Contara con la opcin de visualizar el detalle de un reclamo en particular y en caso de ser un usuario registrado podr acceder a la carga de un nuevo reclamo.

C.U: Ver Lista de Empresas Actor: Usuario, Usuario Registrado N 25 Descripcin: El usuario o usuario registrado podr visualizar una nube de tags con los nombre de las empresas cargadas en el sistema, estando ordenadas alfabticamente y con tamaos variables dependiendo de la cantidad de reclamos que las referencien. Cada elemento de la nube ser un link que llevar al usuario a visualizar el listado de reclamos realizados sobre una empresa.

195

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Modelo Terico
C.U: Ver Reclamos de Empresa Actor: Usuario, Usuario Registrado N 26 Descripcin: El usuario o usuario registrado visualizara una lista de los reclamos ingresados al sistema en referencia a una empresa en particular. Contara con la opcin de visualizar el detalle de un reclamo en particular, subscribirse por sindicacin de contenidos a los reclamos que se generen sobre la empresa y en caso de ser un usuario registrado podr acceder a la carga de un nuevo reclamo sobre la misma empresa (mostrndose ya seleccionada esta empresa al iniciar el proceso de carga) o sobre otra empresa.

C.U: Ver Lista de Productos Actor: Usuario, Usuario Registrado N 27 Descripcin: El usuario o usuario registrado podr visualizar una nube de tags con los nombre de los productos cargados en el sistema, estando ordenados alfabticamente y con tamaos variables dependiendo de la cantidad de reclamos que los referencien. Cada elemento de la nube ser un link que llevar al usuario a visualizar el listado de reclamos realizados sobre un producto de una empresa.

C.U: Ver Reclamos de Productos Actor: Usuario, Usuario Registrado N 28 Descripcin: El usuario o usuario registrado visualizara una lista de los reclamos ingresados al sistema en referencia a un producto de una empresa en particular. Contara con la opcin de visualizar el detalle de un reclamo en particular, subscribirse por sindicacin de contenidos a los reclamos que se generen sobre el producto y en caso de ser un usuario registrado podr acceder a la carga de un nuevo reclamo sobre el mismo producto de la empresa (mostrndose ya seleccionada esta empresa y el producto al iniciar el proceso de carga), sobre otro producto de la misma empresa (mostrndose ya seleccionada esta empresa al iniciar el proceso de carga) o sobre otra empresa.

C.U: Ver Reclamos de Usuario Actor: Usuario, Usuario Registrado N 29 Descripcin: El usuario o usuario registrado visualizara una lista de los reclamos ingresados al sistema por un usuario en particular. Contara con la opcin de visualizar el detalle de un reclamo en particular, subscribirse por sindicacin de contenidos a los reclamos que realice el usuario y en caso de ser un usuario registrado podr acceder a la carga de un nuevo reclamo.

C.U: Sindicacin de Contenidos Actor: Usuario, Usuario Registrado N 30 Descripcin: El usuario o usuario registrado podr realizar una subscripcin a sindicacin de contenidos de los reclamos referidos a una empresa en particular, un producto de una empresa en particular o aquellos realizados por un usuario en particular, as como tambin a los comentarios realizados sobre un reclamo en particular. Se proveer una URL especfica para cada uno de estos casos, para que el usuario o usuario registrado pueda ingresarla en su servicio de sindicacin de contenidos de preferencia.

C.U: Tour Guiado Actor: Usuario N 31 Descripcin: El usuario es guiado a travs de un tutorial con textos e imgenes que explica el concepto de la comunidad de contenidos y las acciones que puede realizar en el sistema.

196

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Modelo Terico 4.4.1.3. Diagrama de casos de uso del sistema

Ilustracin 73: Diagrama de casos de uso del sistema.

197

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Modelo Terico

4.4.2. Diseo del sistema


4.4.2.1. Modelo de Contenidos

Ilustracin 74: Modelo de Contenidos.

El modelo de contenidos permite esbozar la necesidad de datos persistentes en el sistema. El modelo planteado anteriormente captura las necesidades bsicas de datos para el modelo planeado hasta el momento. Este modelo ser de suma utilidad al avanzar sobre la implementacin del sistema y la adaptacin de un proyecto open source al formato necesario para generar la comunidad de contenidos.

198

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Modelo Terico 4.4.2.2. Modelo de Navegacin

Ilustracin 75: Modelo de Navegacin.

199

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Modelo Terico 4.4.2.3. Modelo de Presentacin

Incluimos los siguientes diagramas para generar el modelo de presentacin: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Ventana principal. ndices de reclamos, empresas y productos. Visualizacin de un reclamo. Agregar y modificar un reclamo. Reportar reclamo y comentario. Registrar Usuario, Ingresar al sistema y Recuperar password. Visualizacin de datos del usuario. Modificacin de datos de usuario. Mensajes privados de usuarios. Carga de imgenes y videos.

200

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Modelo Terico

Ventana principal

Ilustracin 76: Modelo de Presentacin - Ventana principal.

La presentationPage MainWindow modela la ventana del navegador en la cual se mostrara el sistema. Esta contiene elementos genricos para todo el sitio, considerando que HomeLink, StatusMenu y MainContet se mantendrn disponibles para el usuario en todo momento. Como podemos notar MainContent es de tipo presentationGroup, y ser el contenedor donde se realizaran la mayora de las acciones sobre el sitio. Por su parte NavMenu solo se mostrar en ciertos casos, permitiendo a MainContent una expansin que ocupe el ancho total de MainWindow.

201

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Modelo Terico

ndices de reclamos, empresas y productos.

Ilustracin 77: Modelo de Presentacin - ndices de reclamos, empresas y productos.

Los ndices de reclamos sern el paso previo al acceso a un reclamo en particular como lo denota el modelo de navegacin. Estos contendrn un listado de reclamos y sus principales datos en base a diversos filtros que se denotan de las consideraciones de casos de uso del anlisis.

202

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Modelo Terico

Visualizacin de un reclamo

Ilustracin 78: Modelo de Presentacin - Visualizacin de un reclamo.

203

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Modelo Terico

La interfaz considerada en Reclamo es una muestra de la simplicidad de diseo que se busca en el sistema, integrando mltiples componentes de una manera intuitiva para el usuario. Al visualizar un reclamo el usuario rpidamente tiene alcance a todos los contenidos de este, como ser texto, imgenes, videos y comentarios. A su vez se le presentan opciones de accin: reportar el reclamo como inapropiado, realizar una valoracin sobre este y subscribirse a actualizaciones de sus comentarios mediante sindicacin de contenidos. Algo importante de destacar es la unin de interfaces para la visualizacin de un reclamo y la carga de un comentario, eliminando pasos innecesarios para poder adjuntar una opinin personal a un reclamo de otro usuario.

204

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Modelo Terico

Agregar y modificar un reclamo

Ilustracin 79: Modelo de Presentacin - Agregar y modificar un reclamo.

205

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Modelo Terico

La interfaz de carga requerir el desarrollo de una iteracin enriquecida con el usuario, utilizando tecnologa AJAX para facilitar el proceso de eleccin de empresa y producto al cual se referir un reclamo. La eleccin de la empresa se desarrollara sugiriendo al usuario nombres de empresa a medida que se escriben letras. Adems, en caso de no encontrar la empresa deseada, podr sugerirla al ya haber escrito el nombre de la empresa. Una vez seleccionada una empresa se llenara dinmicamente y sin recargar la pagina un combo de opciones que contendr los productos de la empresa. En caso de que la empresa no tenga productos cargados o de que ninguno sea el elegido por el usuario, se podr realizar una sugerencia mediante un campo de texto. La carga de imgenes y videos se abrirn en una ventana auxiliar, permitiendo desarrollar los procesos de manera independiente sin impedir al usuario seguir trabajando sobre otras partes del formulario. Una vez terminados los procesos el usuario vera un thumbnail de los contenidos pudiendo incluso eliminar imgenes que haya agregado, por lo que ser necesario trabajar con Javascript en la ventana principal y las auxiliares para poder lograr estos efectos. Las acciones de valoracin y agregado a marcadores sociales tambin ocurrirn en la misma ventana, siendo el proceso de la primera desarrollado con AJAX. Por su parte, la interfaz de modificacin no presenta grandes diferencias, excepto que ya traer cargados los datos y se realizaran modificaciones sobre estos de forma similar a lo explicado para la carga.

206

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Modelo Terico

Reportar reclamo y comentario

Ilustracin 80: Modelo de Presentacin - Reportar reclamo y comentario.

Ambas interfaces son similares, y surgen tras elegir la opcin de reportar ya sea al visualizar un comentario o un reclamo. En estas el usuario debe seleccionar de un combo una razn por defecto, y agregar algunos detalles que le parezcan necesarios.

207

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Modelo Terico

Registrar Usuario, Ingresar al sistema y Recuperar password.

Ilustracin 81: Modelo de Presentacin - Registrar Usuario, Ingresar al sistema y Recuperar password.

El registro del usuario busca simpleza y rapidez, por lo que se incluyen los datos indispensables para la creacin de la cuenta. El acceso al sistema tambin se realiza por una interfaz clsica y simple, permitiendo al usuario acceder a la recuperacin de su contrasea.

208

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Modelo Terico

Visualizacin de datos del usuario

Ilustracin 82: Modelo de Presentacin - Visualizacin de datos del usuario.

Los datos de los usuarios, as como tambin el acceso a los mensajes de este estn vinculados por un mismo contenedor y un men de opciones especifico. Al visualizar los datos del usuario es posible acceder a los reclamos que el usuario ha realizado previamente, as como tambin a los reclamos en los que el usuario ha realizado comentarios.

209

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Modelo Terico

Modificacin de datos de usuario

Ilustracin 83: Modelo de Presentacin - Modificacin de datos de usuario.

El usuario podr acceder a la modificacin simple y rpida de sus datos de cuenta. Existen datos secundarios que no fueron necesarios al momento de crear la cuenta ya que no son bsicos para el funcionamiento del sistema, pero que si aportan la creacin de la comunidad de usuarios como ser la provincia y la edad.

210

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Modelo Terico

Mensajes privados de usuarios

Ilustracin 84: Modelo de Presentacin - Mensajes privados de usuarios.

El sistema permite un sistema de mensajes interno entre usuarios, dando un soporte a la vinculacin entre estos y por lo tanto generando sensacin de comunidad.

211

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Modelo Terico

Carga de imgenes y videos

Ilustracin 85: Modelo de Presentacin - Carga de imgenes y videos.

Los procesos de carga de imgenes y videos actuaran sobre ventanas auxiliares, y no sobre la principal donde se realiza todo el resto de despliegue de interfaces. Esto permite una independencia de procesos pudiendo el usuario continuar sobre la carga del formulario de reclamo o comentario Primero el usuario deber seleccionar un archivo de su disco duro o de otro sitio web. Una vez hecho esto comenzara el proceso de carga que podra demorar una cantidad variable de tiempo dependiendo del tamao del archivo y de las caractersticas del servicio de terceros. Al finalizar la carga se realizara una modificacin mediante Javascript en la ventana principal, mostrando un thumbnail y opciones para el usuario.

212

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Modelo Terico 4.4.2.4. Modelo de Procesos y Diagramas de flujo de proceso.

Hasta ahora hemos logrado modelar muchas caractersticas del sitio que plantea el proyecto. Para agregar ms detalles vamos a describir como sern las acciones de las clases de proceso planteadas. El Modelo de Procesos abarca: El Modelo de Estructura de Procesos: describimos las relaciones entre las clases de procesos. Diagramas de Flujo de Procesos: Especificamos las actividades conectadas con cada clase de proceso. Se incluyen los siguientes diagramas: 1. Agregar reclamo. 2. Modificar Reclamo. 3. Elegir Empresa. 4. Elegir Producto. 5. Agregar Imagen. 6. Agregar Video. 7. Agregar Comentario. 8. Reportar Reclamo. 9. Reportar Comentario. 10. Valorar Reclamo. 11. Valorar Comentario. 12. Social Bookmarks. 13. Comentarios RSS. 14. Empresas RSS. 15. Productos RSS. 16. Registrar Usuario. 17. Modificar Usuario. 18. Eliminar Usuario.. 19. Enviar Mensaje Usuario 20. Login. 21. Recuperar Password. 22. Logout.

213

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Modelo Terico

Modelo de Estructura de Procesos

Ilustracin 86: Modelo de Estructura de Procesos - 1.

214

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Modelo Terico

Ilustracin 87: Modelo de Estructura de Procesos - 2.

215

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Modelo Terico

Diagramas de Flujo de Procesos Agregar reclamo

Ilustracin 88: Diagrama de Flujo de Proceso - Agregar reclamo.

216

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Modelo Terico

Modificar Reclamo

Ilustracin 89: Diagrama de Flujo de Proceso - Modificar Reclamo.

217

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Modelo Terico

Elegir Empresa

Ilustracin 90: Diagrama de Flujo de Proceso - Elegir Empresa.

218

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Modelo Terico

Elegir Producto

Ilustracin 91: Diagrama de Flujo de Proceso - Elegir Producto.

219

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Modelo Terico

Agregar Imagen

Ilustracin 92: Diagrama de Flujo de Proceso - Agregar Imagen.

220

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Modelo Terico

Agregar Video

Ilustracin 93: Diagrama de Flujo de Proceso - Agregar Video.

221

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Modelo Terico

Agregar comentario

Ilustracin 94: Diagrama de Flujo de Proceso - Agregar comentario.

222

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Modelo Terico

Reportar Reclamo

Ilustracin 95: Diagrama de Flujo de Proceso - Reportar Reclamo.

Reportar Comentario

Ilustracin 96: Diagrama de Flujo de Proceso - Reportar Comentario.

223

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Modelo Terico

Valorar Reclamo

Ilustracin 97: Diagrama de Flujo de Proceso - Valorar Reclamo.

Valorar Comentario

Ilustracin 98: Diagrama de Flujo de Proceso - Valorar Comentario.

224

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Modelo Terico

Social Bookmarks

Ilustracin 99: Diagrama de Flujo de Proceso - Social Bookmarks.

Comentarios RSS

Ilustracin 100: Diagrama de Flujo de Proceso - Comentarios RSS.

225

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Modelo Terico

Empresas RSS

Ilustracin 101: Diagrama de Flujo de Proceso - Empresas RSS.

Productos RSS

Ilustracin 102: Diagrama de Flujo de Proceso - Productos RSS.

226

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Modelo Terico

Registrar Usuario

Ilustracin 103: Diagrama de Flujo de Proceso - Registrar Usuario.

Modificar Usuario

Ilustracin 104: Diagrama de Flujo de Proceso - Modificar Usuario.

227

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Modelo Terico

Eliminar Usuario

Ilustracin 105: Diagrama de Flujo de Proceso - Eliminar Usuario.

Enviar Mensaje Usuario

Ilustracin 106: Diagrama de Flujo de Proceso - Enviar Mensaje Usuario.

228

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Modelo Terico

Login

Ilustracin 107: Diagrama de Flujo de Proceso - Login.

Recuperar Password

Ilustracin 108: Diagrama de Flujo de Proceso - Recuperar Password.

Logout

Ilustracin 109: Diagrama de Flujo de Proceso - Logout.

229

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Modelo Terico 4.4.2.5. Decisiones de diseo del sistema Para complementar la metodologa propuesta por UWE UML, podemos aadir las siguientes consideraciones de diseo. Recordamos que este trabajo no busca profundizar en los aspectos de programacin y arquitectura del sistema. Modelo: Se elige el modelo cliente servidor ya que el sistema debe ser necesariamente un sitio web de Internet. Sera necesario considerar los anlisis realizados en el marco terico sobre tecnologas de scripting especificas para cada componente del modelo. Tipo de social media: Se buscara construir una comunidad de contenidos que tomara como foco las opiniones y experiencias de consumidores sobre empresas y productos. Se elije el nombre de MonoFurioso.com: La comunidad de reclamos sobre empresas, productos y servicios, con la intencin de generar un ambiente relaja do en la comunidad. Como hemos visto en los ejemplos analizados en el marco terico (Google, Flickr, YouTube, etc.) muchos nombres relajados son utilizados sin afectar la seriedad de un proyecto. Plataforma base del sistema: Se utilizara como base del sistema al proyecto open source phpBB2 mencionado en el marco terico de este trabajo. Brevemente podemos decir que se ajusta por su simpleza y eficiencia interna de programacin. Desarrollado en el lenguaje PHP y con libreras propias, esta optimizado para el manejo de foros y posts en foros, contando con un slido panel de control que permite la administracin de usuarios y la incorporacin de mdulos que potencialmente podran adaptarse a necesidades como ser la sindicacin de contenidos. Si bien ser necesario realizas numerosas modificaciones internas y de interfaces, podemos considerarlo como una base solida para el desarrollo del sistema. Base de Datos: Se elige trabajar sobre una base de datos MySQL por su probada eficiencia y eficacia en numerosos proyectos existentes en Internet. Es importante destacar que el proyecto open source phpBB2 tiene una excelente adaptabilidad al uso de bases de datos de este tipo. Aplicaciones de interfaz AJAX: Al considerar opciones de plataformas y libreras para el desarrollo de aplicaciones AJAX en cliente y servidor, se elige el proyecto AjaxCORE debido a su flexibilidad y adaptabilidad con proyectos PHP, y a la experiencia previa del autor de este trabajo prctico con la librera y su aplicacin a desarrollos en base a phpBB2. Desarrollo de interfaces: Se realizaran interfaces XHTML con hojas de estilo CSS buscando la menor cantidad posible de grficos para lograr interfaces agradables, simples y rpidas. Otras funcionalidades: adems de mltiples modificaciones al cdigo original de phpBB2 ser necesario buscar MODs adicionales y realizar modificaciones sobre estos de tal manera que faciliten la implementacin de funcionalidades como ser la generacin de nube de tags, sindicacin de contenidos y el agregado a marcadores sociales. Direccionamiento de contenidos: Se generaran URLs nicas que permitan el direccionamiento granular de los contenidos de la comunidad de contenidos. Estas seguirn la siguiente estructura:

230

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Modelo Terico Elemento Empresa Producto Reclamo Estructura {sitio}/{empresa}/ {sitio}/{empresa}/{producto}/ {sitio}/{empresa}/{producto}/{reclamo}

Tabla 13: Estruturas de URLs de los elementos del sitio.

Administracin de Imgenes: Se utilizara el servicio de Picasa a travs de sus APIs de desarrollo, ya que provee un soporte amplio, confiable y de costo nulo para la administracin de imgenes. Administracin de Videos: Se elige el servicio brindado por YouTube a travs de sus APIs de desarrolladores, siendo este uno de los exponentes en lo referido a videos en Internet. El servicio resulta simple de usar e incorporar, sumado a que la gran mayora de los usuarios de Internet ya se encuentra familiarizada con su uso. Servicio de Hosting: se utiliza inicialmente una cuenta de ASmallOrange.com, eligiendo un plan que se adecue a las necesidades que se planteen en la etapa de implementacin. Blog: Se creara un blog de comunicacin externa mediante Wordpress 2.7.1. Este no se incluye en los modelos de diseo ya que no se realizaran modificaciones a sus funcionalidades. Integracin con Delicious: Como se modelo en el diseo se facilita la publicacin de reclamos en cuentas de usuarios de Deliciuos, pudiendo estos aplicar tags a los contenidos de la comunidad. Esto no implicara la creacin de una cuenta en el servicio de marcadores sociales. Integracin con Facebook: Como se modelo en el diseo se facilitar la publicacin de reclamos a las cuentas de usuarios de Facebook, funcionando esto como un marcador social interno de dicha red social. Adicionalmente se creara una Facebook Page. Integracin con Twitter: Para aprovechar lo analizado sobre microbbloging se creara una cuenta en Twitter, aprovechado a este social media tambin como medio de comunicacin externa.

231

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Modelo Terico

4.5.

Conclusin

Podemos considerar que hemos logrado cumplir los dos objetivos planteados para esta etapa del proyecto: Definir requerimientos de un sitio web que tome la forma de comunidad de contenidos en torno al domino de las criticas de productos, en base a la aplicacin de los patrones de diseo mencionados en el campo de accin y el anlisis realizado sobre usuarios y empresas. Modelar dicho sitio y sus interfaces, en base a la aplicacin de los patrones de diseo mencionados en el campo de accin, considerando las tecnologas y estndares estudiados. El anlisis terico realizado anteriormente y la aplicacin de los patrones de diseo Web 2.0 a la situacin problemtica nos han brindado requerimientos para el desarrollo de una aplicacin de software que se ajuste al objetivo principal del trabajo. Posteriormente el uso de UWE UML nos ha brindado una manera de expresar el sistema distinta al uso de UML tradicional, de una manera que se ajusta mejor al enfoque que este trabajo mantiene. Podemos considerar que tenemos una claridad suficiente en lo que respecta al anlisis del sistema y las acciones que el usuario podr realizar a travs el anlisis y descripcin de casos de uso. Y por su parte la etapa de diseo brinda rpidamente una comprensin sobre las necesidades de navegacin sobre el sitio mediante el modelo de navegacin y sobre cada una de las interfaces del sistema mediante los modelos de presentacin. Adems., las decisiones tomadas y los detalles brindados nos dan la base para el desarrollo de la ltima etapa del proyecto, donde abarcaremos la concrecin del modelo terico.

232

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Concrecin del modelo

5. Concrecin del modelo


5.1. Introduccin
Llegamos a la parte final de trabajo final de grado, en la cual buscaremos lograr la ultima parte del objetivo general concretando la implementacin de un sitio web que genere un espacio de dilogo entre consumidores y empresas, en base a lo desarrollado en el modelo terico y el marco terico. En esta seccin buscaremos cumplimentar el siguiente objetivo especfico: Implementar el sitio en base a la aplicacin de los patrones de diseo mencionados en el campo de accin, utilizando como base desarrollos open source y APIs de terceros. En busca de este objetivo analizaremos primero los desarrollos open source y servicios elegidos para la base del desarrollo. Realizaremos una descripcin de estos e indicaremos como obtener una informacin ms detallada de cada uno. Posteriormente nos aproximaremos a la solucin de software implementada, mapeando los modelos desarrollados en el marco terico a los archivos creados y/o modificados para obtener la aplicacin, y una descripcin del modelo de despliegue necesario. Adems podremos observar interfaces actuales de la versin funcional del proyecto. Por ltimo, analizaremos la puesta en marcha considerando las necesidades tcnicas que presenta el modelo de despliegue elegido, as como tambin la capacitacin de los usuarios y la prefactibilidad del proyecto.

233

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Concrecin del modelo

5.2.

Implementacin

5.2.1. Proyectos open source y servicios de base


5.2.1.1. phpBB 2.0.23

Este software es la base de muchos foros actualmente existentes en Internet. Experiencias previas del autor de este trabajo con dicho software proveen un conocimiento suficiente para realizar modificaciones que permiten que phpBB sea utilizado como base para la creacin de una comunidad de contenidos con un formato claramente diferente al de un foro, pero aprovechando todas las funcionalidades y optimizaciones para interacciones sociales que brinda phpBB, convirtindolo en una excelente plataforma para una solida construccin y posterior crecimiento del proyecto. Sera necesario agregar capacidades adicionales mediante la busque da de mdulos existentes y la modificacin de estos para adaptarlos al desarrollo de la comunidad. Es importante destacar que si bien las funcionalidades de base servirn para lograr una plataforma solida, ser necesario modificar ampliamente el proyecto para lograr generar la solucin de social media que persigue este trabajo. El proyecto de base est desarrollado con PHP y si bien puede asociarse a diversas bases de datos, cuenta con una comprobada compatibilidad con MySQL, que es la base de datos elegida. Sitio principal del proyecto: Http://www.phpbb.com El cdigo fuente puede ser obtenido en: http://sourceforge.net/projects/phpbb/ 5.2.1.2. AjaxCORE 1.4

El proyecto open source AjaxCORE provee una librera flexible y simple que permite generar interacciones AJAX con los usuarios del sitio, lo cual ser necesario para generar las interfaces enriquecidas. El proyecto contempla claramente la teora analizada en el marco terico sobre AJAX. El proyecto se ha desarrollado en PHP y se basa fuertemente en la librera Prototype de JavaScript tambin mencionada previamente. Se manifiesta como una clase que contiene las funcionalidades necesarias a la cual se debe extender generando las aplicaciones especficas. Estas debern ser incluidas en el proyecto de base phpBB 2.0.23. Sitio principal del proyecto: http://www.ajaxcore.org/ El cdigo fuente puede ser obtenido en: http://sourceforge.net/projects/ajaxcore/ 5.2.1.3. YouTube API PHP Gdata

La comunidad de contenidos YouTube analizada previamente provee una API que permitir la integracin directa del proyecto con las capacidades que brinda el servicio de videos. Ser utilizada para permitir la carga directa de videos desde la carga de un reclamo o comentario, as como tambin integrar los videos al visualizar videos o comentarios.

234

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Concrecin del modelo La API se encuentra disponible en diversos lenguajes de programacin y entre ellos se encuentra PHP. Las clases disponibles extienden a la librera Zend Framework de PHP mencionada en el marco terico, que permite el manejo de los recursos necesarios a travs de la clase Gdata de Google. Sera necesario integrar este servicio al proyecto de base para lograr las funcionalidades planteadas en el modelo terico. Sitio principal del proyecto: http://code.google.com/intl/es-ES/apis/youtube/developers_guide_php.html El cdigo puede ser obtenido en: http://framework.zend.com/download/gdata/ 5.2.1.4. Picasa API PHP Gdata

La funcionalidad de imgenes del proyecto ser basado en el servicio de Picasa, quien provee APIs que permitirn la integracin directa tanto para la carga de imgenes en reclamos y comentarios, as como tambin para la visualizacin de estas en los reclamos y comentarios de la comunidad de contenidos. Al igual que la API de YouTube, esta API est disponible en diversos lenguajes de programacin, incluyendo a PHP. Y a su vez, tambin est basada en la mencionada librera Zend Framework y Gdata. Sera necesario integrar las clases que la componen al proyecto de base para lograr los recursos de imgenes planteados en el modelo terico. Sitio principal del proyecto: http://code.google.com/intl/es/apis/picasaweb/developers_guide_php.html El cdigo puede ser obtenido en: http://framework.zend.com/download/gdata

5.2.2. Esbozo de la arquitectura del sistema.


Al ser un proyecto basado en Internet utilizaremos el modelo cliente servidor mencionado en el marco terico. Es necesario utilizar los conceptos sobre tecnologas de scripting en cliente y scripting en servidor que hemos desarrollado en dicho marco terico. El proyecto phpBB 2.0.023 sienta las bases de la arquitectura del sistema. Utiliza una estructura tpica de proyectos de ese tipo, basndose en archivos PHP, HTML, CSS, JS y base de datos. En el lado del servidor se utiliza a grandes rasgos el procedimiento mostrado en el marco terico, con el agregado de separar generar una separacin de funcionalidad y presentacin no utilizando HTML con PHP embebido, sino separando los archivos PHP para la funcionalidad y los archivos HTML, CSS y JS para la presentacin. Estos son unidos para generar la respuesta al cliente utilizando la clase template incluida en el proyecto de base. 62

62

La clase template puede ser encontrada en el archivo includes/template.php.

235

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Concrecin del modelo La conexin a la base de datos se realiza de forma similar a la analizada en el ejemplo del marco terico, utilizando los mecanismos planteados por el proyecto de base. Ante una respuesta del servidor el cliente recibir un archivo HTML relacionado a un archivo de estilo CSS para la presentacin de los contenidos segn lo analizado en el marco terico al respecto de la separacin de estructura, presentacin y contenidos. A su vez, contara con diversos archivos de JavaScript necesarios para las funcionalidades del scripting en el cliente. Se hace aprovechamiento a su vez de los conceptos desarrollados sobre Web Services y APIs de servicios. En este caso utilizaremos las provistas por YouTube y Picasa para dar capacidades de audio y video al sitio. El aprovechamiento de dichos servicios es lo que provee la calificacin de mashup al proyecto de tesis, al reutilizar fuertemente los servicios provistos por terceros potenciando fuertemente el nuevo servicio planteado en la comunidad de contenidos. La sindicacin de contenidos por su parte es desarrollada mediante RSS 2.0 aprovechando funcionalidades agregadas de componentes adicionales disponibles para el sistema de base, y realizando modificaciones sobre dichos componentes para adaptarse a la forma del nuevo servicio. Las interfaces enriquecidas son generadas con aplicaciones AJAX, otro concepto analizado en el marco terico. AjaxCORE 1.4 es el proyecto que provee dichas capacidades siguiendo los esquemas planteados al desarrollar el concepto. De acuerdo a lo planteado en los objetivos de este proyecto y con el objetivo de mantener acotada la longitud del presente trabajo, no explicaremos en detalle la arquitectura de la solucin de software ya que esto implicara desarrollar documentacin para explicar los productos y servicios en los cuales se basa este. Dichos desarrollos pueden ser encontrados en las referencia planteadas sobre cada uno anteriormente, por lo cual nos limitamos a indicar el mapeo de lo modelado en la etapa de diseo mediante UWE UML sobre los archivos y tablas especificas que han sido modificados y/o agregados para lograr el funcionamiento de la versin actual del sistema. Vale recordar que el cdigo fuente y el modelo relacional estarn disponibles para la consideracin del proyecto al presentar la documentacin final. 5.2.2.1. Dependencia de traza entre modelo relacional y modelo de contenidos

Se mantiene la estructura bsica del proyecto phpBB 2.0.23, pero se modifican algunas tablas y se agregan otras para acoplar el modelo de contenidos planteado en el desarrollo del modelo terico. A continuacin se muestran las dependencias de traza entre las clases planteadas en dicho modelo de contenidos y la estructura del modelo relacional del sistema.

236

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Concrecin del modelo

Ilustracin 110: Dependencia de traza entre Modelo Relacional y Modelo de Contenidos.

5.2.2.2.

Dependencia de traza entre archivos PHP y clases de procesos.

Las funcionalidades y procesos diseados mediante el modelo de estructura de procesos y diagramas de flujos de procesos en la etapa de diseo son implementados en archivos PHP. Se reutilizan las funcionalidades existentes en el sistema de base cuando es posible, realizndose modificaciones en los archivos necesarios y crendose nuevos archivos para ampliar la funcionalidad hasta cubrir lo planteado en el diseo del sistema. Si bien solo se mencionan los archivos indispensables, hay que considerar que el proyecto mantiene una alta complejidad involucrando otros archivos que no son mencionados ya que no tienen un mapeo directo con el modelo. Estos pueden ser analizados al observar el cdigo fuente que acompaa el proyecto. A continuacin se detalla la dependencia de traza entre las clases de proceso y los archivos PHP que contemplan dichas funcionalidades.

237

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Concrecin del modelo

Ilustracin 111: Dependencia de traza entre archivos PHP y Clases de Procesos.

238

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Concrecin del modelo 5.2.2.3. Dependencia de traza entre archivos HTML y clases de presentacin.

El modelo de navegacin y el modelo de presentacin analizados en la etapa de diseo explican en detalle el funcionamiento de la aplicacin y su forma de relacionarse son el usuario. Se han utilizado fuertemente las clases de presentacin para lograr modelar las interfaces necesarias. Todos los archivos HTML son utilizados por diversos archivos PHP para generar una respuesta al pedido de un cliente. Estos estn diagramados fuertemente mediante XHTML y se combinan con un archivo de estilo CSS que contiene los detalles de presentacin de los datos. A su vez, diversos archivos JS son invocados dependiendo de las necesidades del sistema. A continuacin se detalla la dependencia de traza entre los archivos HTML y las clases de presentacin planteadas en la etapa de diseo.

239

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Concrecin del modelo

Ilustracin 112: Dependencia de traza entre archivos HTML y clases de presentacin.

240

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Concrecin del modelo

5.2.3. Modelo de despliegue


Como se menciono anteriormente se utiliza el modelo cliente servidor para este proyecto. Hemos desarrollado este concepto previamente en el marco terico, analizando el modelo con el detalle suficiente para el desarrollo del proyecto al considerar tecnologas de scripting en ambas partes. En el nodo servidor Web se encontrara la aplicacin que implementa este proyecto de grado conteniendo archivos PHP, HTML, CSS, JS y la base de datos. Este nodo se conectar con un navegador del nodo cliente. Los detalles y especificaciones tcnicas de ambas partes sern comentados posteriormente en este trabajo al desarrollar la puesta en marcha. Adicionalmente, se utilizaran servicios de terceros pero no implicaran la generacin o modificacin de cdigo fuente, y se mantendrn externos a la aplicacin y por tanto externos al modelo de despliegue.

Ilustracin 113: Modelo de despliegue.

241

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Concrecin del modelo

5.2.4. Prototipos de Interfaces


Para acercar esta documentacin al desarrollo obtenido, incluimos algunas capturas de pantalla de de las interfaces principales diseadas en el modelo terico, sin llegar a cubrir toda la implementacin actual. Estas pertenecen a una versin funcional y publicada de manera online, aunque se seguirn agregando elementos para aproximar del desarrollo aun ms al modelo planteado.

Home

Ilustracin 114: Prototipo de Interfaz - Home.

La pgina principal contiene los elementos principales planteados en el diseo. Se ha buscado generar un diseo CSS simple y claro como el observado en otros proyectos Web 2.0. Provee una distribucin intuitiva para el usuario, tanto para visualizar contenidos como para acceder a la carga de estos.

242

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Concrecin del modelo

Carga de Reclamo

Ilustracin 115: Prototipo de Interfaz - Carga de Reclamo.

EL proceso de carga de un reclamo ha sido implementado de la manera diseada en el modelo terico. Utiliza una interfaz enriquecida mediante la aplicacin de AJAX para ayudar en la seleccin de la empresa (1) y el producto (2). A su vez la carga de imgenes (3) y videos (4) se realiza mediante las APIs de los servicios de Picasa y YouTube respectivamente. Una vez ingresados todos los campos necesarios el usuario solo debe seleccionar la opcin enviar (5), logrando su objetivo de carga de reclamo en muy pocos pasos y de manera intuitiva.

243

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Concrecin del modelo

Visualizacin de un reclamo y carga de comentario.

Ilustracin 116: Prototipo de Interfaz - Visualizacin de un reclamo y carga de comentario.

La visualizacin de un reclamo ha sido implementada de la manera diseada en el modelo terico. Es posible visualizar rpida y claramente los contenidos del reclamo, pudiendo realizarse acciones como ser compartir en la red social Facebook, agregar a una cuenta marcadores sociales de Delicious, valorar el reclamo, reportarlo, y acceder a la sindicacin de contenidos de los comentarios del reclamo. En la misma interfaz se muestran los comentarios de otros usuarios, y se permite la carga de nuevos comentarios incluyendo texto, imgenes y videos.

244

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Concrecin del modelo

5.3.

Puesta en Marcha

5.3.1. Infraestructura necesaria


Especificamos a continuacin los requerimientos de infraestructura necesarios para los nodos mencionados en el modelo de despliegue. 5.3.1.1. Tecnologa y requerimientos del nodo Cliente.

El software desarrollado debe ser utilizable en cualquier entorno web que sea ampliamente utilizado en la actualidad. Esto incluye diversos navegadores funcionales en una amplia variedad de sistemas operativos y entornos de hardware. Incluimos entonces los navegadores en los que es posible utilizar el sistema debido a que ha sido implementado cuidado su correcto funcionamiento en ellos. Microsoft Internet Explorer 6.0 o superior Mozilla Firefox 2.0 0.1 o superior. Opera 9.1 o superior. Por tanto los requerimientos de sistemas operativos y hardware dependen directamente del navegador que se utilice para acceder al servicio. 5.3.1.2. Tecnologa y caractersticas del nodo Servidor.

Como se comento en las decisiones de diseo, se ha optado por tercerizar el servicio de hosting Web. Se ha seleccionado el servicio provisto por la empresa A Small Orange eligiendo el servicio Small Shared Web Hosting63, contando el servidor actual con las siguientes caractersticas: Capacidad de almacenamiento en disco de 400 MB. Transferencia (bandwith) mensual de 10 GB. Soporte de PHP y MySQL. Acceso FTP. Servicios de POP3 y SMTP. Garanta de disponibilidad del 99.5%. Ante un eventual crecimiento de las necesidades del nodo servidor ser posible cambiar fcilmente por un servicio que se adecue a nuevos requerimientos. Una primera versin del sitio ha sido implementada y puede ser encontrada en http://www.monofurioso.com. A su vez, encontramos las siguientes funcionalidades mencionadas en las decisiones de diseo: Blog: http://blog.monofurioso.com Facebook Page: http://www.facebook.com/pages/MonoFuriosocom/40177294497 Twitter: http://twitter.com/monofuriosocom
63

Podemos encontrar ms detalles sobre el servicio en http://asmallorange.com/hosting/shared/ 245

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Concrecin del modelo

5.3.2. Capacitacin de los usuarios


La capacitacin de los usuarios en el caso de este proyecto requiere mtodos diferentes a los utilizados en proyectos tradicionales de software. Como hemos visto uno de los pilares del concepto Web 2.0 apunta a la usabilidad del software, y dentro de esta usabilidad se encuentra implcita la necesidad de generar aplicaciones intuitivas. Como hemos visto en el modelo terico, se ha buscado simplificar al mximo las interfaces y minimizar los pasos que el usuario necesita para lograr sus objetivos. Por tanto, es necesario mantener el esfuerzo en dichos puntos, y aportar solo una ayuda general a los usuarios del servicio. Esto se logra generando el tour guiado que se ha definido como uno de requerimientos en el modelo terico. El desarrollo de dicha interfaz apunta a una comprensin de lo que es la comunidad de contenidos, y del potencial uso que podran dar los usuarios en su rol de empresas o consumidores, y no tanto al uso especifico del software que se muestra. Es decir que para lograr los objetivos del proyecto Web 2.0 es necesario que los usuarios comprendan el valor que la comunidad de contenidos puede darles. Se genera adems un apoyo al tour guiado mediante el desarrollo de una serie de preguntas frecuentes, y una explicacin de los trminos, condiciones y polticas de privacidad de datos. Todos estos contenidos estarn disponibles de manera permanente en el sitio, tanto para usuarios registrados como aquellos no registrados. Por otra parte, no se abarca en el desarrollo de este trabajo las tareas administrativas del servicio, que deberan ser llevadas a cabo en el backend por un usuario con perfil de administrador y consecuentemente no se contempla la capacitacin de dicho tipo de usuarios en esta documentacin. Por tanto no ser necesario generar formas de capacitaciones adicionales a las ya planteadas en la etapa de diseo.

246

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Concrecin del modelo

5.4.

Prefactibilidad

El tesista considera que el desarrollo del tema propuesto es factible de ser llevado a cabo, considerando los aspectos tcnicos, operativos y econmicos:

5.4.1. Prefactibilidad tcnica


En base a la bibliografa disponible y los conocimientos previos adquiridos por el autor de este trabajo, es posible considerar que el proyecto es factible en su aspecto tcnico. La mayor dificultad presentada por el tema elegido es lograr sintetizar la informacin disponible en libros, artculos y blogs sobre la tendencia Web 2.0, para moldear el marco terico de una manera apropiada y comprensiva. En este punto la publicacin de los patrones de diseo mencionados ha simplificado considerablemente este desafo, por tanto es necesario lograr una comprensin de estos y analizar los medios necesarios para su aplicacin a proyectos. En cuanto a la implementacin de la solucin online, se basa en desarrollos open source existentes, as como tambin en los servicios provistos por terceros en base a APIs. La documentacin en estos elementos es amplia por lo que sumado a los conocimientos previos del alumno ser posible desarrollar la implementacin de un primer prototipo funcional que busque modelar la solucin al problema.

5.4.2. Prefactibilidad operativa.


Como se menciono anteriormente, el proyecto ser diseado para lograr alcanzar a los usuarios de Internet, encontrando entre estos los subgrupos comprendidos por empresas y consumidores de sus servicios. El sitio online que surge como resultado del desarrollo estar disponible de forma pblica y ser difundido a pequeos grupos de usuarios inicialmente, esperando que los mismos efectos de red permitan intensificar su uso rpidamente. En un principio se espera obtener la atencin de los usuarios de Internet como consumidores, para en base a los reclamos de estos alcanzar a los usuarios de Internet empresas.

5.4.3. Prefactibilidad econmica.


El proyecto es econmicamente factible debido a que la investigacin se realizar sobre fuentes de informacin y publicaciones disponibles en bibliotecas, las cuales se efectan mayormente de manera online y se caracterizan por ser gratuitas. La implementacin de la solucin de software ser programada sobre entornos, proyectos y servicios open source y gratuitos, provistos por terceros. Software NetBeans PHP IDE MagicDraw 1.51 MagicUWE 1.2 Microsoft Project 2003 Microsoft Word 2007
Tabla 14: Costos de software

Costo de licencia Gratuita open source Gratuito por licencia de estudiante Gratuita por licencia de estudiante Obtenida a travez de convenio con IUA Obtenida a travez de convenio con IUA 247

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Concrecin del modelo Proyecto / API phpBB 2.0.23 AjaxCORE 1.4 YouTube API PHP Gdata Picasa API PHP Gdata
Tabla 15: Costos de proyectos y APIs de base

Costo de licencia Gratuita open source Gratuita open source Gratuita open source Gratuita open source

En cuanto a costos de infraestructura se ha considerado el servicio Small Shared Web Hosting de A Small Orange (ms detalle de esto puede ser encontrado en el apartado Tecnologa y caractersticas del nodo Servidor.) que tiene un costo anual de USD$60, aunque este costo es despreciable ya que el tesista ya cuenta con dicho servicio para otros proyectos personales. A continuacin consideramos los costos de recursos humanos por hora para la generacin del modelo teorico y la concrecin del modelo. Las horas se calculan considerando 4 horas laborales por da incluido en cada actividad, sin analizar en detalle las subactividades que incluyen64 y el costo por hora del tipo de personal se basa en los honorarios publicacos por el Consejo Profesional de Ciencias Informticas de la Provincia de Crdoba (CPCIPC)65. Actividad Planificacin Anlisis de requerimientos Anlisis de sistema Diseo de sistema Implementacin Tipo de personal
Jefe de Proyectos Analista Analista Analista Programador de Pginas Web

Costo-hora 85 55 55 55 45

horas 12 68 20 124 172

Costo de la actividad 1020 3740 1100 6820 7740

Costo total: 20420


Tabla 16: Costos de recursos humanos

Por tanto, si bien el proyecto no posee apoyo econmico de terceros, la inversin principal ser de tiempo, y el costo principal ser el costo oportunidad que presente la situacin. Igualmente, los resultados esperados del proyecto y sus posibles aplicaciones futuras presentan un justo balance a esta inversin.

64

Las subactividades y sus duraciones pueden ser claramente apreciadas en el diagrama Gantt incluido en la planificacin del proyecto.
65

Los honorarios considerados por el CPCIPC pueden encontrarse en http://www.cpcipc.org.ar/portal/index.php?option=com_content&task=view&id=17&Itemid=33

248

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Concrecin del modelo

5.5.

Conclusin

Al llegar al final de la etapa de concrecin del modelo, es posible considerar que se ha alcanzado el objetivo especfico planteado: Implementar el sitio en base a la aplicacin de los patrones de diseo mencionados en el campo de accin, utilizando como base desarrollos open source y APIs de terceros. Este es el ltimo de los objetivos especficos que este trabajo de grado persigue, por lo cual podemos dar por finalizado el desarrollo de las etapas de documentacin del proyecto. Se ha alcanzado una implementacin de software que debera ser la solucin planteada al problema analizado en un primer momento. Es importante destacar que sta implementacin es solo parcial, ya que el software desarrollado deber ser mantenido y actualizado permanentemente, como plantea el patrn de diseo de beta perpetuo.

249

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Conclusiones

6. Conclusiones
Se ha llegado a la conclusin de este trabajo final de grado. Es posible considerar que se han alcanzado tanto el objetivo general como los objetivos particulares planteados en la introduccin del proyecto, destacndose los siguientes resultados: Se tiene una solida base terica sobre la tendencia Web 2.0, conociendo de manera general los diferentes tipos de social media en los cuales se manifiesta dicha tendencia. A su vez conocemos la forma en que los usuarios de Internet (tanto en su rol de consumidores como de empresas) se relacionan actualmente con esta red, y las tendencias futuras consideradas por diversas fuentes. Para canalizar estos conocimientos, el autor de este trabajo ha analizado patrones de diseo que surgen de la observacin de diversos social media, obteniendo un conocimiento ms profundo de las prcticas que permiten aprovechar el potencial de Internet como base para el desarrollo de soluciones a una gran variedad de situaciones. Posteriormente, se han considerado los aspectos tcnicos, tecnolgicos y metodolgicos necesarios para llevar a cabo el desarrollo de dicho tipo de proyectos completando as la investigacin terica del proyecto de grado, y contando el tesista con los conocimientos necesarios para desarrollar una solucin al problema planteado. Como implementacin practica se ha desarrollado un sitio online en base a un desarrollo de requerimientos considerando la situacin problemtica a los ojos de los patrones de diseo Web 2.0, y llevando a cabo el anlisis y diseo de la aplicacin mediante UWE UML, y aprovechando servicios de terceros y proyectos open source para maximizar las fortalezas del servicio. La mencionada aplicacin se encuentra funcional en la actualidad, con el compromiso del autor del trabajo de dedicar esfuerzo personal en el desarrollo y crecimiento futuro de la comunidad de contenidos que ha surgido del desarrollo del proyecto, ya que considera que genuinamente es la base para un lugar de participacin, abierto a la retroalimentacin y generacin de libre de contenidos, que facilite la conversacin de una comunidad de consumidores y empresas aprovechando el factor de conectividad y alcance cada vez ms amplio de Internet. Este trabajo demuestra el potencial que se encuentra en Internet hoy en da habiendo pasado de ser una revolucin tecnolgica a una revolucin social al convertirse en un medio libre y descentralizado de creacin y distribucin de contenidos, a medida que surgen ms y ms ejemplos a nivel global y local de la realidad planteada en The Cluetrain Manifesto.

250

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Bibliografa

7. Bibliografa
1. Ortiz de Zrate Tercero, Alberto. Manual de uso del blog en la empresa - Cmo prosperar en la sociedad de la conversacin. Barcelona : Zero Factory, S. L., 2008. 978-84-612-1535-5. 2. Arrington, Michael. TechCrunch. [En lnea] 6 de Abril de 2008. http://www.techcrunch.com/2008/04/06/comcast-twitter-and-the-chicken-trust-me-i-have-apoint/. 3. Garfield, Bob. Comcast Must Die. [En lnea] http://www.comcastmustdie.com. 4. McGregor, Jena. BusinessWeek. Consumer Vigilantes. [En lnea] http://www.businessweek.com/magazine/content/08_09/b4073038437662.htm. 5. BikeForums.net. [En lnea] http://www.bikeforums.net/video/ . 6. CNNMoney.com. Kryptonite scrambles to find solution. Recall of flawed U-shaped locks could cost firms tens of millions of dollars, experts say. [En lnea] 17 de 10 de 2004. http://money.cnn.com/2004/09/17/news/midcaps/kryptonite/. 7. Havenstein, Heather. COMPUTERWORLD. Customer Service 2.0: Clients become brand managers. [En lnea] 28 de 5 de 2008. http://www.computerworld.com/action/article.do?command=viewArticleBasic&articleId=909039 8. 8. Pirulee y Albert, Pere. Manifesto Cluetrain en Espaol. [En lnea] http://tremendo.com/cluetrain/. 9. John Musser, Tim OReilly and the OReilly Radar Team. Web 2.0 Principles and Best Practices. Sebastopol, CA, USA : OReilly Media, Inc., 2007. 0-596-52769-1. 10. Mayfield, Antony. What is Social Media? [En lnea] 8 de Enero de 2008. http://www.icrossing.co.uk/fileadmin/uploads/eBooks/What_is_Social_Media_iCrossing_ebook.p df. 11. Tabak, Alan. Hundreds Register for New Facebook Website. The Harvard Crimson. [En lnea] 9 de Febrero de 2004. http://www.thecrimson.com/article.aspx?ref=357292. 12. Facebook. Facebook Statistics. [En lnea] [Citado el: 24 de Octubre de 2008.] http://www.facebook.com/press/info.php?statistics. 13. Its Official: Google + MySpace = OpenSocial. Mashable. [En lnea] 1 de Noviembre de 2007. http://mashable.com/2007/11/01/myspace-google-2/. 14. Orkut. Orkut Demografia. [En lnea] [Citado el: 24 de Octubre de 2008.] http://www.orkut.com/Main#MembersAll.aspx.

251

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Bibliografa 15. Riley, Duncan. Google Opens OpenSocial Site And Provides Orkut Support. TechCrunch. [En lnea] 2 de Noviembre de 2007. http://www.techcrunch.com/2007/11/02/google-opensopensocial-site-and-orkut-support/. 16. Nash, Adam. LinkedIn & Open Social. The LinkedIn Blog. [En lnea] 31 de Octubre de 2007. http://blog.linkedin.com/blog/2007/10/linkedin-open-s.html. 17. TARGET Nos vemos en la Web. Cannilla, Flavio y Garzn de la Rosa, Toms. Edicion especial, Buenos Aires : El Cronista Comercial S.A, 2008. ISSN 0328-6401. 18. Experian Integrated Marketing. Discussion paper - Social Networking in 2008. [En lnea] Enero de 2008. http://www.experianim.com/download/the_impact_of_social_networking_white_paper__final.pdf. 19. Blogger. [En lnea] http://www.blogger.com. 20. Wordpress. [En lnea] http://wordpress.com/. 21. Technorati. State of the Blogosphere 2008. [En lnea] http://technorati.com/blogging/stateof-the-blogosphere/. 22. Ebersbach, Anja, y otros. Wiki: Web Collaboration. s.l. : Springer, 2008. ISBN-10: 3540351507. 23. Cunningham, Ward y Leuf, Bo. The Wiki Way: Quick Collaboration on the Web. s.l. : AddisonWesley Professional, 2001. ISBN-10: 020171499X. 24. Wikipedia: About - Wikipedia, the free encyclopedia. [En lnea] [Citado el: 27 de Octubre de 2008.] http://en.wikipedia.org/wiki/Wikipedia:About. 25. Giles, Jim. Internet encyclopaedias go head to head. Nature Publishing Group. [En lnea] 15 de Diciembre de 2005. http://www.nature.com/nature/journal/v438/n7070/full/438900a.html. 26. Javapedia. [En lnea] http://wiki.java.net/bin/view/Javapedia/WebHome. 27. Clarin.com Podcast Informativos. [En lnea] http://www.clarin.com/shared/v8/podcasting.html. 28. Forum Discussion Search With BoardTracker.com. [En lnea] http://v2.boardtracker.com/. 29. O'Keefe, Patrick. Managing Online Forums. New York, USA : Amacom, 2008. ISBN 978-0-81440197-2. 30. phpBB - Creating Communities Worldwide. [En lnea] http://www.phpbb.com/. 31. Flickr Services. [En lnea] http://www.flickr.com/services/api/. 32. Schonfeld, Erick. The Flickrization of Yahoo! CNNMoney.com. [En lnea] 1 de Diciembre de 2005. http://money.cnn.com/magazines/business2/business2_archive/2005/12/01/8364623/.

252

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Bibliografa 33. Ins and Outs: Does YouTube fit on the boob tube? Engadged. [En lnea] 18 de Julio de 2007. http://www.engadget.com/2007/07/18/ins-and-outs-does-youtube-fit-on-the-boob-tube/. 34. YouTube Developer APIs. [En lnea] http://www.youtube.com/dev. 35. Google buys YouTube for $1.65bn. BBC News. [En lnea] 10 de Octubre de 2006. http://news.bbc.co.uk/1/hi/business/6034577.stm. 36. Digg - Overview. [En lnea] http://digg.com/about/. 37. Mename. [En lnea] http://meneame.net/. 38. Twitter. [En lnea] http://twitter.com/home. 39. Hopkins, Heather. Twitter Gaining Momentum But Still Niche. Hitwise. [En lnea] 29 de Abril de 2008. http://weblogs.hitwise.com/us-heatherhopkins/2008/04/twitter_gaining_momentum_but_s_1.html. 40. Dougherty, Heather. Twitter growth continues despite outages. Hitwise. [En lnea] 8 de Julio de 2008. [Citado el: 23 de Octubre de 2008.] http://weblogs.hitwise.com/heatherdougherty/2008/07/twitter_growth_continues_despi_1.html. 41. Tancer, Bill. Even Gen X is aTwitter. Time. [En lnea] 20 de Agosto de 2008. http://www.time.com/time/business/article/0,8599,1834131,00.html. 42. Hirsch, Adam. CNN Heavily Promoting Twitter On Air, Making Big Moves in Social Media. Mashable. [En lnea] 4 de Septiembre de 2008. http://mashable.com/2008/09/04/cnn-twitter/. 43. Laube, Natalia y Pacho, Mariana. El huracn Twitter. Clarin.com. [En lnea] 31 de Agosto de 2007. http://www.clarin.com/diario/2007/08/31/conexiones/t-01488847.htm. 44. Musser, John. Twitter API Traffic is 10x Twitters Site. ProgrammableWeb. [En lnea] 10 de Septiembre de 2007. http://blog.programmableweb.com/2007/09/10/twitter-api-traffic-is-10xtwitters-site/. 45. Twitter API wiki. [En lnea] http://apiwiki.twitter.com/. 46. Bloglines - Stay up to-the-minute on all your favorites. [En lnea] https://www.bloglines.com/. 47. Yee, Raymond. Pro Web 2.0 Mashups: Remixing Data and Web Services. Febrero : Apress, 2008. ISBN-10: 159059858X. 48. Grossman, Lev. Time. Time's Person of the Year: You. [En lnea] 13 de 12 de 2006. http://www.time.com/time/magazine/article/0,9171,1569514,00.html. 49. DAlessio IROL. Internet en Argentina 2005-2006. [En lnea] http://www.digikol.com.ar/recursos/pdfs/internetargentina.pdf. 50. Price & Cooke. Perfil del Usuario de Internet en Argentina 2007. [En lnea] Diciembre de 2007. http://www.princecooke.com/estudios/usuario_internet_2007.asp. 253

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Bibliografa 51. International Telecomunication Union. Internet indicators: subscribers, users and broadband subscribers. [En lnea] http://www.itu.int/ITU-D/ICTEYE/Reports.aspx. 52. Carrier y Asoc. Internet es banda ancha. [En lnea] 27 de Junio de 2008. http://www.carrieryasoc.com/index.php?option=com_content&task=view&id=413. 53. The GSM Association. Worldwide cellular connections exceeds 2 billion. GSM World. [En lnea] 15 de Septiembre de 2005. http://www.gsmworld.com/news/press_2005/press05_21.shtml. 54. BuddeComm. 2007 Latin America - Telecoms, Mobile and Broadband in Mercosur, Guyana, Suriname, Venezuela. [En lnea] 28 de Marzo de 2007. http://www.budde.com.au/buddereports/4218/2007_Latin_America__Telecoms_Mobile_and_Broadband_in_Mercosur_Guyana_Suriname_Venezuela.aspx?sub=EXEC UTIVE. 55. Tedesco, Pablo. Mercado mvil en Argentina 3G. Prince & Cooke. [En lnea] Diciembre de 2007. http://www.spkrsbr.com/biblioteca/htm/telefonia_movil.PDF. 56. Rainie, Lee y Horrigan, John. Pew Internet & American Life Project. A decade of adoption: How the internet has woven itself into American life. [En lnea] 25 de Enero de 2005. http://www.pewinternet.org/pdfs/Internet_Status_2005.pdf. 57. Sifry, David. The State of the Live Web, April 2007. Sifry's Alerts. [En lnea] 5 de Abril de 2007. http://www.sifry.com/alerts/archives/000493.html. 58. Gonsalves, Antone. InformationWeek. Social Networks Attract Nearly Half Of All Web Users. [En lnea] 12 de Mayo de 2006. http://www.informationweek.com/news/internet/ebusiness/showArticle.jhtml?articleID=187202 878. 59. Carrier y Asoc. ArgenWeb 2.0. [En lnea] 11 de Abril de 2008. http://www.carrieryasoc.com/index.php?option=com_content&task=view&id=339&Itemid=1. 60. Dans, Enrique. La empresa y la Web 2.0, artculo en Harvard Deusto. El blog de Enrique Dans. [En lnea] 4 de Junio de 2007. http://www.enriquedans.com/2007/06/la-empresa-y-la-web-20articulo-en-harvard-deusto.html. 61. Celaya, Javier y Herrera, Pablo. Los blogs en la comunicacin empresarial en Espaa: ltimas tendencias. Madrid : Grupo BPMO Ediciones, 2006. ISBN-10: 84-611-0074-3. 62. TARGET Blogs, por ahora una ola verde. Valleboni, Cecilia. Edicion especial, Buenos Aires : El Cronista Comercial S.A, 2008. ISSN 0328-6401. 63. Jarvis, Jeff. Dell Hell. BuzzMachine. [En lnea] 2005. http://www.buzzmachine.com/archives/cat_dell.html. 64. Dell. About. Ideastorm. [En lnea] http://www.ideastorm.com/ideaAbout?pt=About+IdeaStorm.

254

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Bibliografa 65. Zanoni, Leandro. Medios Sociales. eBlog. [En lnea] 16 de Octubre de 2008. http://eblog.com.ar/4916/medios-sociales/. 66. O'Reilly, Tim. What Is Web 2.0. Design Patterns and Business Models for the Next Generation of Software. [En lnea] 30 de Septiembre de 2005. http://www.oreillynet.com/pub/a/oreilly/tim/news/2005/09/30/what-is-web-20.html. 67. Metcalfe, Bob. Metcalfes Law Recurses Down the Long Tail of Social Networking. [En lnea] [Citado el: 31 de Octubre de 2008.] http://vcmike.wordpress.com/2006/08/18/metcalfe-socialnetworks/. 68. Reed, David P. That Sneaky ExponentialBeyond Metcalfe's Law to the Power of Community Building. [En lnea] [Citado el: 31 de Octubre de 2008.] http://www.reed.com/gfn/docs/reedslaw.html. 69. Koman, Richard. Stewart Butterfield on Flickr. O'Reilly Media. [En lnea] 2 de Abril de 2005. http://www.oreillynet.com/pub/a/network/2005/02/04/sb_flckr.html. 70. Statistics . Wikipedia, the free encyclopedia. [En lnea] [Citado el: 2 de Noviembre de 2008.] http://en.wikipedia.org/wiki/Special:Statistics. 71. Stewart, Sharla A. Can behavioral economics save us from ourselves? Theuniversity of Chicago Magazine. [En lnea] Febrero de 2005. http://magazine.uchicago.edu/0502/features/economics.shtml. 72. NAVTEQ. [En lnea] http://www.navteq.com/. 73. Haughey, Matt. Flickrs Creative Commons area back, grown way over a million images licensed. Creative Commons. [En lnea] 29 de Abril de 2005. http://creativecommons.org/weblog/entry/5425. 74. Schutzberg, Adena. The Technology Behind Google Maps. Directions Magazine. [En lnea] 19 de Febrero de 2005. http://www.directionsmag.com/article.php?article_id=760&trv=1. 75. deCarta. Telcontar Unveils Framework and Fluid Maps . Directions Magazine. [En lnea] 8 de Mayo de 2008. http://www.directionsmag.com/press.releases/index.php?duty=Show&id=14216&trv=1. 76. Prescott, LeeAnn. PhotoBucket Leads Photo Sharing Sites; Flickr at #6. Hitwise Intelligence. [En lnea] 21 de Junio de 2006. http://weblogs.hitwise.com/leeannprescott/2006/06/photobucket_leads_photo_sharin.html. 77. Frommer, Dan. Your Tube, Whose Dime? Forbes. [En lnea] 28 de Abril de 2006. http://www.forbes.com/intelligentinfrastructure/2006/04/27/video-youtubemyspace_cx_df_0428video.html. 78. Musser, John. eBay Opens Platform to 3rd Party Developers. ProgrammableWeb. [En lnea] 16 de Junio de 2008. http://blog.programmableweb.com/2008/06/16/ebay-opens-platform-to-3rdparty-developers/. 255

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Bibliografa 79. ProgrammableWeb. Flickr API Mashups. [En lnea] [Citado el: 4 de Noviembre de 2008.] http://www.programmableweb.com/api/flickr/mashups. 80. . YouTube API Mashups. [En lnea] [Citado el: 4 de Noviembre de 2008.] http://www.programmableweb.com/api/youtube/mashups. 81. Musser, John. 1,000 Web APIs. ProgrammableWeb. [En lnea] 3 de Noviembre de 2008. http://blog.programmableweb.com/2008/11/03/1000-web-apis/. 82. Using JSON (JavaScript Object Notation) with Yahoo! Web Services. Yahoo! Developer Network. [En lnea] http://developer.yahoo.com/common/json.html. 83. Twitter Technology Blog. [En lnea] http://dev.twitter.com/. 84. Eventful API and Services. [En lnea] http://api.eventful.com/. 85. Yahoo! Tech. [En lnea] http://tech.yahoo.com/. 86. Yahoo! Shopping Web Services. [En lnea] http://developer.yahoo.com/shopping/. 87. Hardy, Quentin. Why Google Loves The Little Guys. Forbes. [En lnea] 18 de Agosto de 2006. http://www.forbes.com/business/2006/09/17/mashup-search-google-techcz_qh_0918google.html. 88. TiVo - Most Popular: Actor, Directo and Show WishLists. [En lnea] [Citado el: 7 de Noviembre de 2008.] http://www3.tivo.com/tivo-tco/top25.do?show25=seasonpass. 89. Kincaid, Jason. Exclusive Look at Plazes for iPhone. TechCrunch. [En lnea] 15 de Mayo de 2008. http://www.techcrunch.com/2008/05/15/exclusive-look-at-plazes-for-iphone/. 90. Biggs, John. ScanLife: Barcode Scanning for the 21st Century and Beyond. TechCrunch. [En lnea] 8 de Julio de 2008. http://www.techcrunch.com/2008/07/08/scanlife-barcode-scanningfor-the-21st-century-and-beyond/. 91. Raymond, Eric S. The Cathedral & the Bazaar. s.l. : O'Reilly, 1999. ISBN 1-56592-724-9. 92. Fried, Jason. Web 2.0 Review: Don't forget there's another kind of scaling. 37signals. [En lnea] 9 de Octubre de 2004. http://www.37signals.com/svn/archives/000881.php. 93. Anderson, Chris. The Long Tail : Why the Future of Business Is Selling Less of More. New York : Hyperion, 2006. ISBN 1-4013-0237-8. 94. Hornik, David. Where's The Money In The Long Tail? VentureBlog. [En lnea] 13 de Diciembre de 2005. http://ventureblog.com/articles/2005/12/wheres_the_mone.php. 95. Surowiecki, James. The Wisdom of Crowds. s.l. : Anchor , 2004. ISBN-10: 0385721706. 96. Godin, Seth. Small is the new big. Seth Godin's Blog. [En lnea] 5 de Junio de 2005. http://sethgodin.typepad.com/seths_blog/2005/06/small_is_the_ne.html.

256

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Bibliografa 97. Stern, Allen. Future of Web Apps - Kevin Rose. CenterNetworks. [En lnea] 13 de Septiembre de 2006. http://www.centernetworks.com/future-of-web-apps-kevin-rose. 98. Amazon S3. [En lnea] http://aws.amazon.com/s3/. 99. Cloud Computing For Web Applications - 3Tera. [En lnea] http://www.3tera.com/. 100. Vossen, Gottfried y Hagemann, Stephan. Unleashing Web 2.0: From Concepts to Creativity. s.l. : Morgan Kaufmann , 2007. ISBN-10: 0123740347. 101. Science, Nature International Weekly Journal of. The web is a bow tie . Vol. 405, pgina 113. [En lnea] 11 de Mayo de 200. http://www.nature.com/nature/journal/v405/n6783/pdf/405113a0.pdf. 102. Levene, M. An Introduction to Search Engines and Web Navigation. s.l. : Addison Wesley Publishing Compan, 2005. ISBN-10: 0321306775. 103. Page, Lawrence y Brin, Sergey. The Anatomy of a Large-Scale Hypertextual Web Search Engine. [En lnea] 1998. http://infolab.stanford.edu/~backrub/google.html. 104. Amazon eCommerce API. ProgrammableWeb. [En lnea] [Citado el: 19 de Noviembre de 2008.] http://www.programmableweb.com/api/amazon-ecommerce. 105. Asleson, Ryan y Schutta, Nathaniel. Foundations of Ajax. s.l. : Apress, 2009. ISBN-10: 1590595823. 106. Wright, Alex. Folksonomy. Ale Wright.org. [En lnea] 23 de Agosto de 2004. http://www.alexwright.org/blog/archives/000900.html. 107. Shirky, Clay. Folksonomy. Many-to-Many. [En lnea] 25 de Agosto de 2004. many.corante.com/archives/2004/08/25/folksonomy.php. 108. Sturtz, David N. Communal Categorization: The Folksonomy. [En lnea] 16 de Diciembre de 2004. http://davidsturtz.com/drexel/622/communal-categorization-the-folksonomy.html. 109. Manifesto for Agile Software Development. [En lnea] 2001. http://www.agilemanifesto.org/. 110. Kappel, Gerti, y otros. Web Engineering: The Discipline of Systematic Development of Web Applications. s.l. : Wiley, 2006. ISBN-10: 0470015543. 111. Rossi, Gustavo, y otros. Web Engineering: Modelling and Implementing Web Applications. Londres : Springer, 2007. ISBN-10: 184628922X. 112. Koch, Nora. Model-Driven Web Engineering: UWE Approach. [En lnea] 28 de Mayo de 2008. http://www.pst.ifi.lmu.de/projekte/uwe/publications/MDWE-UWE_URJC_280508.pdf. 113. UWE UML-based Web Engineering. Model Examples. [En lnea] http://www.pst.ifi.lmu.de/projekte/uwe/examples.html.

257

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Bibliografa 114. Mahemoff, Michael. Ajax Design Patterns. Sebastopol, CA : O'Reilly Media, Inc., 2006. ISBN: 0-596-10180-5. 115. Frameworks. Ajax Patterns. [En lnea] [Citado el: 25 de Noviembre de 2008.] http://ajaxpatterns.org/Ajax_Frameworks. 116. List of web application frameworks. Wikipedia. [En lnea] http://en.wikipedia.org/wiki/List_of_web_application_frameworks. 117. Locke, Christopher, Searls, Doc y Weinberger, David. The Cluetrain Manifesto. s.l. : Basic Books, 6 de Enero del 2000. ISBN-13: 978-0738202440. 118. Hagemann, Stephan y Vossen, Gottfried. Unleashing Web 2.0: From Concepts to Creativity. s.l. : Morgan Kaufmann, 2007. ISBN-10: 0123740347. 119. Locke, Christopher,Searls, Doc y Weinberger, David. The Cluetrain Manifesto. [En lnea] Abril de 1999. http://www.cluetrain.com/.. 120. Arrington, Michael. TechCrunch. End Of Speculation: The Real Twitter Usage Numbers. [En lnea] 28 de Abril de 2008. http://www.techcrunch.com/2008/04/29/end-of-speculation-the-realtwitter-usage-numbers/. 121. Wikipedia. List of social networking websites. [En lnea] http://en.wikipedia.org/wiki/List_of_social_networking_websites. 122. Facebook. Facebook Developers. [En lnea] http://developers.facebook.com/. 123. Google Code. OpenSocial. [En lnea] http://code.google.com/apis/opensocial/. 124. Plugin API WordPress Codex. [En lnea] http://codex.wordpress.org/Plugin_API. 125. Blogger Data API. Google Code. [En lnea] http://code.google.com/apis/blogger/. 126. GNU General Public License. Free Software Foundation (FSF). [En lnea] http://www.gnu.org/copyleft/gpl.html. 127. (FSF), Free Software Foundation. GNU General Public License. [En lnea] http://www.gnu.org/copyleft/gpl.html. 128. RSS 2.0 Specification. [En lnea] http://www.rssboard.org/rss-specification. 129. Bennett, Keith, y otros. Service-Based Software: The Future for Flexible Software. [En lnea] 1999. http://www.bds.ie/Pdf/ServiceOriented1.pdf. 130. Association, Software & Information Industry. Software as a Service: Strategic Backgrounder. [En lnea] Febrero de 200. http://www.siia.net/estore/ssb-01.pdf. 131. Prensky, Marc. Digital Natives, Digital Immigrants. On the Horizon - MCB University Press. Octubre, 2001, Vol. 9, 5. 132. 3G. Wikipedia. [En lnea] http://en.wikipedia.org/wiki/3G. 258

TFG: Anlisis de la tendencia Web 2.0, y su aplicacin a la relacin cliente-empresa IUA Ingeniera de Sistemas Bibliografa 133. Bricklin, Dan. Cornucopia of the Commons: How to Get Volunteer Labor. [En lnea] http://www.bricklin.com/cornucopia.htm. 134. Meyer, Carl D. y Langville, Amy N. Google's PageRank and Beyond: The Science of Search Engine Rankings. Princeton, New Yersey : Princeton University Press, 2006. IDBN-13: 978-0-69112202-1. 135. Musciano, Chuck y Kennedy, Bill. HTML & XHTML: The Definitive Guide. s.l. : O'Reilly Media, Inc., 2006. ISBN-10: 0596527322. 136. Harold, Elliotte R. XML 1.1 Bible. Indiana : Wiley Publishing Inc., 2004. ISBN: 0-7645-4986-3. 137. W3C. XHTML 1.0 The Extensible HyperText Markup Language (Second Edition). [En lnea] 26 de Enero de 2000. http://www.w3.org/TR/xhtml1/#dtds. 138. Meyer, Eric. CSS: The Definitive Guide. s.l. : O'Reilly Media, Inc., 2006. ISBN-10: 0596527330. 139. Melton, Jim y Buxton, Stephen. Querying XML, : XQuery, XPath, and SQL/XML in context. San Francisco, California : Morgan Kaufmann, 2006. ISBN-10: 1558607110. 140. Dublin Core Metadata Element Set Version 1.1. [En lnea] 14 de Enero de 2008. http://dublincore.org/documents/dces/. 141. DeWitt, Clinton. Specifications - OpenSearch - 1.1 - Draft 3. [En lnea] http://www.opensearch.org/Specifications/OpenSearch/1.1. 142. Allaire, J. Flash MX - A Next Generation Rich Client. s.l. : Macromedia, 2002. 143. Fielding, Thomas. Architectural Styles and the Design of Network-based Software Architectures. Irvine, CA : Ph.D. Thesis, University of California, 2000. 144. Vander Wal, Thomas. Folksonomy. VanderWal.net. [En lnea] 2 de Febrero de 2007. http://www.vanderwal.net/folksonomy.html. 145. Shore, James y Warden, Shane. The Art of Agile Development. s.l. : O'Reilly Media, Inc., 2007. ISBN-10: 0596527675.

259

También podría gustarte