No entiendo SOA (Arquitectura orientada a servicios) y bases de datos. Aunque me atrae el concepto SOA (encapsulando la lógica comercial reutilizable en servicios) no puedo entender cómo se supone que debe funcionar si otros servicios/sistemas requieren tablas de datos encapsuladas en un servicio, o si es SOA adecuado en absoluto en este escenario?SOA y bases de datos compartidas
Para ser más concretos, supongamos que tengo dos servicios:
CustomerService
: contiene mi mesaCustomers
base de datos y la lógica de negocio asociada.OrderService
: contiene mi tabla y lógicaOrders
.
Ahora lo que si necesito JOIN
los Customers
y Orders
tablas con una instrucción SQL? Si las tablas contienen millones de entradas, se produciría un rendimiento inaceptable si tuviera que enviar los datos a través de la red usando SOAP/XML. Y cómo realizar el JOIN
?
Investigando un poco, he encontrado algunas soluciones propuestas:
- Use replication para hacer una copia local de los datos requeridos cuando sea necesario. Pero luego no hay encapsulamiento y entonces ¿para qué sirve SOA? Esto se discute en on StackOverflow pero no hay un consenso claro.
- Configure un Master Data Service que encapsula todos los datos de la base de datos. Supongo que sería monstruoso (con esencialmente una llamada API para cada procedimiento almacenado) y requiere actualizaciones todo el tiempo. Para mí, esto parece estar relacionado con el concepto enterprise data bus.
Si tiene alguna información al respecto, háganmelo saber.
Editar: Ha pasado un año, y mi interés en SOA ha disminuido, al igual que la popularidad del concepto en general. Hoy en día, las personas parecen querer enfocarse en los servicios RESTful en su lugar.
Tu edición hace absolutamente ningún sentido. Los servicios RESTful son una cuestión de diseño de API, y tener servicios individuales en realidad empuja las cosas hacia SOA. Entonces, su comentario acerca de pasar de SOA a REST es similar a decir pasar de comer plátanos a usar relojes de alarma. – Max
Gracias por la entrada, pero no estoy seguro de estar de acuerdo con usted. Desde los albores de la evolución de la arquitectura orientada a servicios (SOA), SOA se ha comparado y contrastado con el modelo de la interfaz RESTful. [SearchSOA] (http://searchsoa.techtarget.com/tip/SOA-and-RESTful-interfaces-When-why-they-sould-beould-combined) - Gruber hace 24 minutos – Gruber
También verifique esto: http: // martinfowler.com/articles/enterpriseREST.html#bounded-contexts –