¿Cómo se hace la arquitectura de software de Google+? ¿Hay algún diagrama UML sobre este tema?

Según los detalles tecnológicos de Google+

Google+ usa Java con Guice en el lado del servidor y un montón de JavaScript en el lado del cliente para la interfaz de usuario basada en el marco de cierre de navegador cruzado de código abierto. Closure es un conjunto de herramientas para desarrolladores de JavaScript que desean escribir aplicaciones web enriquecidas, y Google lo utiliza para GMail, Maps y Docs. Es interesante que Google no eligió emplear GWT, que se utiliza para Wave y AdWords, una tecnología que se dirige más a los desarrolladores de Java que a los de JavaScript. La API de historial HTML5 se agrega para “mantener URLs bonitas aunque sea una aplicación AJAX (recurriendo a fragmentos hash para navegadores antiguos)”, y las plantillas de cierre a menudo se muestran en el servidor para que “la página se muestre antes de que se cargue cualquier JavaScript, entonces JavaScript encuentra los nodos DOM correctos y conecta los controladores de eventos, etc. para que responda “.

El back-end se basa en BigTable y Colossus, el sistema de archivos de Google utilizado para la búsqueda en tiempo real.

Hangouts requiere el mismo complemento que Google Talk, pero están trabajando para trasladarlo a WebRTC, un marco basado en JavaScript para la comunicación de video, siendo de código abierto y respaldado por Google, Mozilla y Opera. Cuando WebRTC se integrará en Chrome, no será necesario descargar un complemento para Hangouts si se ejecuta dentro de Firefox, Opera o Chrome. En ese momento, Hangouts utilizará el códec VP8 que está integrado en WebRTC en lugar de H.264 que está utilizando en este momento.

A2A

No tengo nada que agregar, así que solo enumeraré los enlaces que podrían ser de ayuda.

Google+ está construido con herramientas que también puede usar: Closure, Java Servlets, JavaScript, BigTable, Colossus, Quick Turnaround – Alta escalabilidad –

La tecnología detrás de Hangouts de Google+

Detalles tecnológicos de Google+

se actualizará si encuentro algo interesante. Espero eso ayude.

Aquí hay algo antiguo sobre el tema:
http://ilpubs.stanford.edu:8090/361/1/1998-8.pdf

More Interesting

¿Cómo sería para los programadores / programadores si no hubiera www.stackoverflow.org?

¿Qué debe saber después de graduarse como ingeniero de software para obtener un trabajo fácilmente?

¿Cuándo debo usar Awk, Sed o Grep?

¿Cuál es el estado actual de la técnica con respecto al porcentaje de cobertura de código óptimo para las pruebas unitarias?

¿Qué cosas debe tener en cuenta antes de optar por un software de recursos humanos?

¿Cuáles son algunas aplicaciones SaaS que desearías que existieran?

¿Cuál es el aspecto más desafiante de ejecutar las pruebas de regresión, así como parte de su control de calidad?

Soy un ingeniero eléctrico. ¿Cuáles son los programas de computadora que debo aprender para poder obtener un trabajo decente en la industria del software?

¿Cuál es el propósito del aseguramiento de la calidad del software y qué importancia tiene en cada negocio?

¿Vale la pena trabajar como ingeniero de software en Accenture en Letonia?

¿Existe un software de computadora que clasifique las acciones de acuerdo con un criterio dado?

Cómo trabajar fuera de India en grandes multinacionales siendo un ingeniero de software más reciente de la universidad Tier III

¿Cuál es el procedimiento para aplicar a las compañías de software mejor clasificadas como Google, Microsoft, Facebook, etc., si soy un graduado de ECE?

¿Qué es la gestión del conocimiento en el desarrollo de software?

¿Cuál es la mejor herramienta de prueba de software?