Bom, o problema é que provavelmente a sua regra de negócio está nos clientes. Para trabalhar num ambiente Java, você pode:
- Fazer tudo o que faz via estes sockets da Borland em Java, sem mudar muito seus clientes
ou
- Passar a ter a regra de negócio no sue servidor de aplicações
O recomendado é 2. Provavelmente você vai ter que alterar muitas coisas nos seus clientes e SGBD, porque está numa arquitetura de duas camadas e você precisa separar melhor as responsabilidades.
Suas regras de negócio seriam colocadas em Um container Web ou EJBs, por exemplo, e seus clietnes Delphi se comunicariam com este serviço. Isto [a conexão] pode ser feito de várias maneiras, o Luca deu a idéia de utilziar sua aplicação Delphi como se fosse um browser, mandando e recebendo mensagens HTTP [nada de HTML]. Eu pessoalmente já vi isto funcionando e muito bem.
Outra solução, mais robusta, também baseada em HTTP é ustilizar WebServices, que são mensagens no protocolo SOAP passando por HTTP. Você também pode utilizar CORBA, que tem uma linguagem binária intermediária que Delphi e Java podem entender, assim você consegue trocar mensagens binárias entre os programas [HTTP seria apenas texto/XML].
A questão é: você não tem um Servidor de Aplicações hoje, você tem um servidor de conexões com o banco de dados. Sua regra de negócio, pelo visto, está nos clientes Delphi ou no banco de dados, você precisa centralizá-las em um Servidor de Aplicações. Isto é ttrabalhoso, mas vale o esforço. O problema não é concetar o cliente ao servidor, apra isto existem diversas maneiras, o problema é que você vai ter que mudar a sua arquitetura de 2 camadas para 3/n camadas.
[]s