Resumen
La presente investigación aborda la aplicación de técnicas de la Ingeniería de Software, básicamente aquellas relacionadas con Ingeniería de Requerimientos, Patrones de Diseño y Arquitectura, que permitan la creación de un modelo en función del modelo de calidad FURPS+ y patrones arquitectónicos comunes dentro de las plataformas de redes sociales mencionadas a continuación: Facebook, Twitter, Linkedin, Flickr y Myspace. Dicha investigación estará enmarcada dentro del ámbito de los Requerimientos no Funcionales (RNF) de las plataformas anteriormente mencionadas, considerando las posibles relaciones con los requerimientos funcionales (RF).
El análisis y búsqueda de patrones comunes en esta investigación, propondrá buscar la solución (es) temprana (s) a los problemas identificados tales como: persistencia de los datos, problemas asociados al almacenamiento y caching de la información, problemas de seguridad, problemas de escalabilidad de arquitectura, problemas de usabilidad y problemas de desempeño [1]; para crear un modelo en función de FURPS+ que aporte en el diseño arquitectónico de nuevas plataformas relacionadas con los requerimientos no funcionales y sus posibles conexiones con los requerimientos funcionales. Rescatando de esta investigación, las prácticas actuales utilizadas en el diseño de este tipo de plataformas.
Abstract
This investigation focuses on the application of techniques of software engineering, primarily those relating to Requirements Engineering, Design Patterns and Architecture, enabling the creation of a model based on the quality model FURPS + and architectural patterns common in platforms social networks listed below: Facebook, Twitter, Linkedin, Flickr and Myspace. This investigation is framed within the scope of non-functional requirements (NFR) of the platforms mentioned above, considering the possible relationships with the functional requirements (FR).
The analysis and search for patterns in this research, propose to find the solution (s) early (s) to the identified problems such as data persistence, problems associated with storage and caching of information security problems, problems scalable architecture, usability and performance problems [1], to create a model based on FURPS + to provide the architectural design of new platforms related to non-functional requirements and their possible connections with the functional requirements. Recovering from this research, current practices used in the design of such platforms.
Introducción
El auge de las redes sociales [2] y el gran impacto que tienen en el mundo de la Internet nos hace pensar que su popularidad hace que cada vez crezcan más y abarquen contenidos especializados y acorde a las tendencias tecnológicas y capacidades de la nueva Web 2.0.
Las nuevas tecnologías, más allá de aportar la más potente herramienta de comunicación conocida, están configurando una nueva forma de entender y organizar la sociedad, con las posibilidades y los riesgos que ello conlleva. Esta evolución de la tecnología, genera cambios radicales en el comportamiento del usuario tales como: la disminución del uso del teléfono fijo, el contacto más abierto con personas de otras nacionalidades, entre otros; con un sostenido crecimiento que provoca que los mismos usuarios creen, compartan y distribuyan contenido en la web. Este paradigma social, esta conducido por la popularidad surgida de las llamadas redes sociales de la Internet [3], las cuales permiten al usuario construir y compartir sus propios contenidos. Sitios como Flickr [4,5] donde los usuarios pueden compartir fotos, y Facebook [6,7], donde los usuarios intercambian información, videos, intereses, entre otros; son parte de la popularidad y el paradigma social.
De acuerdo a la información proporcionada por Nielsen/NetRatings1, el aumento del tráfico de las redes sociales ha tenido un crecimiento del 47% en el último año, alcanzando el 45% de todos los usuarios activos de la Web [8], estos niveles confluentes de usuarios son posibles gracias a las bajas barreras de entrada (un simple registro) que proporcionan estas comunidades. Muchos de estos servicios que ofrecen las redes sociales están diseñados de forma tan simple como iniciar sesión, ver el contenido y comenzar a subir datos a la plataforma. Esto permite al usuario que no está calificado técnicamente, participar con aquellos usuarios más experimentados.
Los patrones de acceso y recursos ofrecidos por estas plataformas se caracterizan por la variabilidad e imprevisibilidad de las interacciones sociales (p.e. los llamados slashdot effects [9]), además de la naturaleza propia de lectura y escritura a través de mensajes multimedia que ocurre dentro de estos servicios, los cuales generan una significativa cantidad de operaciones de carga con respecto a los tradicionales Web Services [10]. Siguiendo con esta línea, se observa que los servicios de redes sociales presentan una amplia gama de contenido multimedia, desde blogs hasta sitios donde la interacción ocurre con las imágenes y videos, estos factores determinan un cambio radical en el tipo y cantidad de datos que son transferidos.
La combinación de estos tipos de interacción con el usuario y los propios contenidos multimedia introducen nuevos requerimientos tanto de servidores como de infraestructura que agregan nuevas características a las tradicionales aplicaciones basadas en la Web. Si bien, existen varios estudios relacionados con el rendimiento y análisis de los cuellos de botella para aplicaciones web tradicionales [11,1], no se encontraron estudios que profundicen aún más sobre los requerimientos arquitectónicos y patrones comunes existentes en las plataformas de redes sociales.
La principal contribución de esta investigación es:
- Buscar los lineamientos arquitectónicos y de diseño comunes entre cinco grandes plataformas de redes sociales: Facebook, Flickr, Myspace, Linkedin y Twitter, los cuales se caracterizan por tener diferentes cantidades de contenidos multimedia,
- considerar para cada una de las redes sociales mencionadas anteriormente, los requerimientos no funcionales, buscando las posibles conexiones que existan con los requerimientos funcionales,
- encontrar denominadores comunes en los patrones y el diseño de este tipo de plataformas,
- de forma tal de poder rescatar de todo ello, las buenas prácticas actuales.
Referencias
[1] Q. Zhang, A. Riska, E. Riedel, and E. Smirni, “Bottlenecks and their performance implications in e-commerce systems,” in In Proc. of 9th International Workshop on Web Content Caching and Distribution, Beijing, China, 2004.
[2] Andrew Lipsman. (2007, July) http://www.comscore.com. [Online]. http://www.comscore.com/Press_Events/Press_Releases/2007/07/Social_Networking_Goes_Global
[3] A. C.Weaver and B. B. Morrison, “Social Networking,” IEEE Computer Magazine, pp. 41(2):97-100, 2008.
[4] (2008) Flickr. [Online]. http://www.flickr.com/
[5] N. Van House, “Flickr and public image sharing: distant closeness and photo exhibition,” in Conference on Human Factors in Computing Systems (CHI’07), San Jose, CA, 2007.
[6] Facebook. (2004) [Online]. http://www.facebook.com
[7] Instituto de Maquina Herramienta. (2009) Manual sobre Facebook: redes sociales para usuario y para empresa. [Online]. http://www.imh.es/dokumentazio-irekia/manuales/manual-facebook-redes-sociales-para-usuario-y-para-empresa
[8] S. Bausch and L. Han, “Social Networking Sites Grow 47 Percent, Year over Year, Reaching 45 Percent of Web Users,” Nielsen/NetRatings Research Report, 2007.
[9] Alexander M Campbell Halavais, “The Slashdot effect : analysis of a large-scale public conversation on the World Wide Web,” University of Washington, Washington, Thesis (Ph. D.) 2001. [Online]. http://en.wikipedia.org/wiki/Slashdot_effect
[10] Francisco Curbera, Matthew Duftler, Rania Khalaf, and William Nagy, “Unraveling the Web Services Web,” IBM T.J.Watson Research Center, Research 2002.
[11] E. Cecchet, A. Chanda, S. Elnikety, J. Marguerite, and W. Zwaenepoel, “Performance comparison of middleware architectures for generating dynamic Web content,” in In Proc. of ACM/IFIP/USENIX International Middleware Conference (Middleware 2003), Rio de Janeiro, Brazil, 2003.
Autor: Juan José González F.
Docente medio tiempo y consultor en I2J SpA
Magister en Ingeniería Informática con mención en Ingeniería de Software
jjegonzalezf@gmail.com