RPC vs Serviço da Web
A criação de serviços da Web usando o protocolo SOAP requer que uma das duas alternativas seja empregada. Pode-se seguir o protocolo SOAP do documento ou o protocolo de mensagens RPC SOAP. RPC refere-se à Chamada de Procedimento Remoto e é um protocolo que pode ser usado por um determinado programa para solicitar um determinado serviço em outro programa localizado em outro computador remoto. Ao usar o RPC, não há necessidade de conhecer os detalhes de rede do programa. Uma chamada de procedimento específica é chamada de sub-rotina ou mesmo de função..
Ao empregar o uso de RPC, há um uso intenso do modelo cliente / servidor. O programa que está solicitando a execução de um serviço está no lado do cliente e o computador que fornece a execução de um determinado programa está no lado do servidor. A ação RPC pode ser denominada síncrona, na medida em que exige que um programa que está solicitando ação tenha a ação especificada suspensa até o momento em que os resultados de um procedimento remoto são fornecidos.
Para garantir que o dispositivo não demore muito tempo quando houver ações diferentes pendentes, o RPC permite o processamento de vários encadeamentos que compartilham um determinado endereço e, portanto, as respostas podem ser fornecidas à medida que chegam, e não em série onde uma ação deve ser concluído para o próximo começar.
Um serviço da Web criado usando o controle SOAP pode, portanto, seguir o estilo de mensagem RPC ou documento. O estilo do documento pode, portanto, indicar o documento .xml específico que pode ser validado com relação ao esquema XML especificado. Como o Java RPC é usado na comunicação de plataformas como a EJB, aplicativos similares são executados em Java. O Serviço da Web, por outro lado, é usado principalmente sempre que há um aplicativo que não é executado em Java e procura se conectar ao Serviço da Web..
O desempenho entre o RPC e os serviços da Web é bastante distinto, com uma enorme variação entre os serviços da Web e o RPC sendo bastante variável. Em alguns casos, a variação pode ser bem pequena, com a consideração da resiliência entrando em ação. O RPC vem com o desafio de ter um ambiente de servidor congestionado, o que dificulta o trabalho com vários clientes.
Por outro lado, o Serviço da Web permite a implantação múltipla do serviço, com a única necessidade de ser atendido: o Serviço da Web é invocado por um HTTP. Isso permite a exploração das técnicas normais de pulverização e roteamento de rede empregadas em locais maiores. Também é importante observar que o Serviço Web não precisa de nenhuma codificação especial para funcionar com o servidor ou mesmo o cliente.
A resiliência do RPC e do serviço da Web pode ser comparada igualmente, embora seja importante observar que o RPC exige que os intermediários de uso funcionem conforme o esperado. É aqui que EE EJB e estruturas como Spring entram em cena. Para o melhor serviço, é aconselhável trabalhar com o Java EE EJB antes de trazer o ambiente RPC. A exposição ao serviço da Web nesse ambiente e ao RPC também facilita a configuração.
Sumário
RPC refere-se à chamada de procedimento remoto.
O uso de RPC é recomendado quando houver um uso intenso do modelo cliente / servidor.
O RPC permite o processamento de vários threads que compartilham um determinado endereço.
RPC empregado em uma plataforma que usa EJB.
Serviço da Web usado em plataformas não Java quando um aplicativo deseja acessar.
O serviço da Web também é usado para sincronização de comunicação assíncrona.