Soy un novato total en el mundo de SOA. Como tal, estoy buscando algunos "frameworks/tecnologías SOA" y tratando de entender cómo utilizarlos para construir un sitio web altamente escalable (clase de Facebook).Práctica SOA para un novato
hay varios "dolores" Estoy tratando de resolver aquí:
(dependencias + gestión, Pub/Sub)- Compuestabilidad
- independencia de lenguaje de los servicios
- Escalabilidad & Rendimiento
- Alta disponibilidad
Analicé algunas tecnologías que responden a un subconjunto de los criterios anteriores:
- Thrift - multiplataforma plataforma de Facebook RPC
- WCF - soporta SOAP, REST JSON &, por lo que puede considerarse un lenguaje interoperables. Genera archivos WSDL que se pueden usar para generar proxies Java.
- Microsoft DSS - solo lo incluí en mi encuesta, pero no parece relevante, ya que es altamente impulsado por el estado y específico de .NET.
- Servicios Web
Ahora, entiendo cómo consigo algunos aspectos de componibilidad e independencia de lenguaje de lo anterior. Pero, no he encontrado mucha información concreta (no zumbido) sobre cómo usar las herramientas anteriores/otras para escalabilidad y alta disponibilidad. Así que finalmente llego a mi pregunta:
¿Cómo se pueden aprovechar las tecnologías SOA para resolver los problemas que he definido anteriormente? ¿Dónde puedo encontrar guías técnicas para eso? Estoy buscando algo más que solo diagramas de sistema, sino bibliotecas reales, ejemplos de código, APIS ...
WCF también admiten la creación de lo que se llama servicios RESTful, no solo SOAP. Estos son servicios basados en URI que se pueden llamar desde cualquier otro idioma, y envían representaciones XML de datos en formato AtomPub. Muy interoperable. –
@ ripper234: Minor nit - WCF _is_ Web Services, además de mucho más. Es el reemplazo de los servicios web ASMX. –