Patrones de diseño y modelo del negocio para Web 2.0

La nueva generación de aplicaciones y negocios en la web comienza a agruparse bajo el término web 2.0.
Estos son algunos puntos a tener en cuenta para todo aquel que se plantee abrir o mantener un negocio dentro del nuevo escenario de la Red:

1. La Larga Cola (The Long Tail)
Los sitios web pequeños constituyen la gran mayoría del contenido del Internet; los nichos reducidos constituyen la gran mayoría de las posibles aplicaciones de Internet. Por tanto: Saque ventaja del uso del autoservicio por parte del cliente y de la gestión algorítmica de los datos para llegar a la web entera, a los extremos y no sólo al centro, a la larga cola y no sólo a la cabeza.

2. Los Datos son el siguiente Intel Inside
Las aplicaciones se basan cada vez más en los datos. Por tanto: Para obtener la ventaja competitiva, busque ser el dueño de una fuente de datos única y difícil de reproducir.

3. Los Usuarios Añaden Valor
La clave de la ventaja competitiva en las aplicaciones de Internet es el grado en el que los usuarios añadan sus propios datos a los que usted ya proporciona. Por tanto: No limite su "arquitectura de participación" al desarrollo del software. Implique a sus usuarios implícita y explícitamente en la adición de valor a su aplicación.

4.Externalidades de Red por Defecto
Solo un pequeño porcentaje de usuarios se tomará la molestia de añadir valor a su aplicación. Por tanto: Establezca parámetros por defecto incluyentes para permitir la agregación de datos de usuario como efecto lateral del uso de la aplicación.

5. Algunos Derechos Reservados
La protección de la propiedad intelectual limita la reutilización e impide la experimentación. Por tanto: Cuando los beneficios provienen de la adopción colectiva, no de la restricción privada, asegúrese de que las barreras de adopción sean bajas. Siga los estándares existentes, y utilice licencias con las mínimas restricciones posibles. Diseñe para la “hackeabilidad” y la “remezclabilidad”.

6.El Beta Perpetuo
Cuando los dispositivos y los programas están conectados a Internet, las aplicaciones ya no son ningún artefacto software, son servicios en curso. Por lo tanto: No empaquete nuevas funcionalidades en versiones monolíticas del paquete, sino que por el contrario agréguelas regularmente como parte de la experiencia de usuario normal. Involucre a sus usuarios como probadores en tiempo real, y diseñe el servicio de modo que usted sepa cómo utiliza la gente esas nuevas funcionalidades.

7. Coopere, No Controle
Las aplicaciones Web 2.0 se construyen a partir de una red de servicios de datos que cooperan. Por tanto: Ofrezca interfaces de web services y sindicación de contenidos, y reutilice los servicios de datos de otros. Apoye los modelos de programación ligeros que permitan sistemas débilmente acoplados.

8. Software no limitado a un solo dispositivo
El PC ya no es el único dispositivo de acceso para las aplicaciones de Internet, y las aplicaciones que se limitan a un solo dispositivo son menos valiosas que las que están conectadas. Por tanto: Diseñe su aplicación desde el principio para integrar servicios a través de dispositivos portátiles, PCs, y servidores de Internet.

Estos puntos han sido extraídos de una traducción de un artículo de Tim O'Reilly realizada por el equipo del Boletín de la Sociedad de la Información de Telefónica
En el artículo se define lo que engloba el término Web 2.0, al menos bajo la visión de uno de sus creadores, Tim O'Reilly, y se justifican las conclusiones aquí expuestas.

Puedes acceder al artículo original en la web O'Reilly Network o a la traducción completa en el Boletín de Telefónica

A reciclarse con la web 2.0 en términos de seguridad

Se comenta que la Web 2.0 dará trabajo al protocolo SOAP, es decir, a los WebServices (alguien que tu y yo sabemos, Carlos, estará contento con ésto de los WebServices). Resulta que éste protocolo junto al uso de Ajax está proporcionando cada vez más nuevas vulnerabilidades que tendran que tenerse en cuenta. Todo ello viene dado al cambio radical de HTML por XML a nivel de presentación y por tanto SOAP cómo protocolo de comunicación.

Los métodos de ataque que ofrece 2.0 són:
-Cross-site scripting in AJAX
-XML poisoning
-Malicious AJAX code execution
-RSS / Atom injection
-WSDL scanning and enumeration
-Client side validation in AJAX routines
-Client side validation in AJAX routines
-Parameter manipulation with SOAP
-XPATH injection in SOAP message
-RIA thick client binary manipulation

Podeis leer en detalle aquí:
http://www.net-security.org/article.php?id=949&p=1

Web 2.0 y las aplicaciones distribuidas

Efectivamente, estamos viendo cómo la utilización de los Servicios Web, y XML para el transporte de datos entre aplicaciones, gracias a la facilidad de implementación, flexibilidad y portabilidad que ofrecen cada vez se extiende más, y sobretodo tras la puesta en escena de AJAX.
Pero no hemos de olvidar que son tecnologías de reciente aparición y que, como tales, aún han de evolucionar bastante antes de representar una alternativa completa para el desarrollo de componentes y aplicaciones distribuídas (las que más veremos con Web 2.0) a la utilización de tecnologías o plataformas más maduras como CORBA, J2EE o .NET
Supongo que por algo Gmail sigue siendo una versión beta ;)

De todas maneras, ya se están realizando esfuerzos en mejorar estos y otros puntos débiles de los servicios web, como la especificación de estándares para:
- Mensajería fiable: WS-Reliable Messaging
- Transacciones: WS-Atomic Transactions, WS-Busines Activity
- Seguridad: WS-Security, WS-Trust, WS-Authorization, WS-Privacy
- Composición de servicios: BPEL

Por cierto, se puede encontrar una buena recopilación de APIS Web 2.0 y servicios web en
APIs Web 2.0

AJAX versus Flash

Continuando con el tema de Web 2.0 y las tendencias tecnológicas que se están imponiendo dentro de este entorno, podemos consultar un ilustrativo artículo de la e-revista Mosaic de la UOC, en el que se compara la tecnología AJAX con la tecnología Flash, siempre pensando en los nuevos requerimientos del desarrollo web.
Recomiendo especialmente la última parte del artículo, en la que se desarrolla una supuesta y acalorada discusión entre el 'yo Ajax' y el 'yo Flash' de un supuesto desarrollador web obsesionado por la idea de 'llevar el escritorio a la web'.

  • La dualidad en el desarrollo de interfaces web: ¿Ajax o Flash?
  • Google