none
Mensajes encolados en sql server. RRS feed

  • Pregunta

  • Hola, buenos dias, actualmente estoy trabajando con una base sql server version Microsoft SQL Server 2012 (SP1) - 11.0.3128.0 (X64).

    Lo que necesito hacer y ver si es tecnicamente viable es:

    Escenario

    Desde un front-end se genera un evento de negocio que termina insertando un registro en una tabla creada en sql server.

    Se necesita

    1. A partir de un trigger definido en la tabla, que cada vez que se inserta un registro llame a un stored procedure.

    2. la logica del stored procedure es tomar los datos de entradas y encolarlo en una cola de base de datos. (tiene colas de base de dats sql server? deberia ser como son las colas aq en oracle)

    3. Desde una aplicacion externa, definir un adaptador que poolee la cola de base de datos definida en la base sql server y a partir de nuevas instancias se disparia otro proceso o  servicio externo fuera del ambito de sql server.

    Mi experiencia es con Oracle, y en este nuevo proyecto se trabaja con sql server, por tal motivo consulto si es posible realizar lo descripto arriba.

    muchas gracias

    saludos,


    viernes, 18 de marzo de 2016 13:29

Respuestas

Todas las respuestas

  • Existe SQL Server Service Broker, y también existe en Windows Server el MSMQ.  Si quiere ver un poco acerca de cuál tomar, aquí encontré una respuesta popular.  Le dejo la decisión a usted.


    Jose R. MCP
    Code Samples

    viernes, 18 de marzo de 2016 14:04
  • Efectivamente tienes SQL Server Service Broker tal como menciona Jose, sin embargo tambien puedes perfectamente combinar tu escenario con Rabbit MQ, en lo personal la prefiero como solución en lugar de MSMQ, pero ya eso es algo que debes evaluar, por el momento de lo que planteas es perfectamente viable.

    "Oh, the wind, the wind is blowing,through the graves the wind is blowing,Freedom soon will come; then well come from the shadows".The Partisan(Leonard Cohen) Email: me[at]geohernandez.net Blog:www.geohernandez.net

    viernes, 18 de marzo de 2016 14:30
  • Gracias Geovanny, tenes algun ejemplo?
    viernes, 18 de marzo de 2016 18:23
  • No tengo un ejemplo a nivel de todo el Pipeline, pero de hecho los pasos 1 y 2 cuentan con amplia documentación en la red, por lo que no tendrías inconveniente, ahora el tema  del paso tres para la aplicación externa, yo que tu buscaría ejemplos puntuales a nivel de colas MQ que son consumidas desde aplicaciones, yo en lo particular te recomiendo abordar el tema a nivel de arquitectura por componentes, para el ultimo componente que seria un Broker en tu caso yo buscaría ejemplos como el siguiente:

    https://www.rabbitmq.com/dotnet-api-guide.html

    Y espero el foro te sea de apoyo.  Saludos


    "Oh, the wind, the wind is blowing,through the graves the wind is blowing,Freedom soon will come; then well come from the shadows".The Partisan(Leonard Cohen) Email: me[at]geohernandez.net Blog:www.geohernandez.net

    domingo, 20 de marzo de 2016 17:05
  • sin rabbitmq, existe otra tecnología que permita desencolar desde sql server e invocar a un web service en el mismo flujo?
    martes, 22 de marzo de 2016 15:47
  • Rabbit MQ era una alternativa, tambien lo puedes hacer con SQL Server Service Broker, te mencionaba Rabbit MQ porque es perfectamente manejable a nivel de .Net, pero me atrevo a decir que cualquier de las opciones anteriores estan lo suficientemente maduras para emprender con ellas un nuevo proyecto.

    "Oh, the wind, the wind is blowing,through the graves the wind is blowing,Freedom soon will come; then well come from the shadows".The Partisan(Leonard Cohen) Email: me[at]geohernandez.net Blog:www.geohernandez.net

    martes, 22 de marzo de 2016 15:50