Modelo de uma aplicação cliente servidor

Boa tarde galera.

Recebo informações de clientes via Socket, essas informações atualmente são armazenadas no banco de dados e posteriormente consultadas. Necessito que essas informações sejam entregues a uma aplicação web em tempo real.

Os clientes iram se conectar ao Socket e enviar informações, a aplicação web vai receber essas informações do Socket em tempo real sem consulta o banco de dados. Pelo que andei lendo, não posso usar um cliente WebSocket para se conectar a um ServerSocket.

Como faço isso?

@Raphaell ao que eu entendi, você precisa de um middleware para este caso, um bem simples, diga-se de passagem. O que você fará é simples. Dentro do sistema que tem os Sockets que são consumidos pelos clientes, você vai criar um novo cliente, este, por sua vez, irá consumir o sistema WEB, seja por Websocket, WebService, REST ou o que ele dispor à você.

Sendo assim, seu middleware será sim um cliente-servidor. Será o servidor para seu cliente, expondo o Socket que ele consome e cliente para o servidor WEB. Espero ter colaborado.

Obrigado pela resposta @nel.

Não sei se compreendi muito bem. Vou criar um cliente-servidor usando Socket e esse cliente-servidor vai se comunicar com o ServerSocket. As informações que chegar ao ServerSocket são enviadas para o cliente-servidor e este de alguma forma as encamina para o sistema web.

Seria mais ou menos isso?

Imagina ! Sem problemas.
O seu middleware será no modelo cliente-servidor. Ele terá um Socket, que será consumido por determinados clientes (como é feito hoje). Quando o cliente enviar dados para este Socket, o teu middleware passar a assumir, além da “função” servidor a de cliente. Ou seja, tu terá neste middleware, além da implementação do Socket, a implementação do cliente que vai enviar estas informações para o servidor WEB, como tu citou que tem de ser.

Se esse servidor WEB será SOAP, RESTful, WebSocket e etc, não é importante, tu vai implementar o cliente de acordo com a necessidade. Consegui ser mais claro ?

Abraços.

Ficou mais claro agora.

Vou implementar um exemplo de teste, conforme as duvidas for surgindo, vou postando.

Mais uma vez obrigado pela resposta.

1 curtida