Estrutura de serviço da web C++
-
09-06-2019 - |
Pergunta
Estamos procurando uma estrutura de serviços web C++ Soap que suporte RPC, de preferência de código aberto.Alguma recomendação?
Solução
WSO2 Web Services Framework para C++ (WSO2 WSF/C++), uma ligação do WSO2 WSF/C em C++ é uma extensão C++ para consumir serviços da Web em C++.
http://wso2.org/projects/wsf/cpp
Apache Axis é uma estrutura de serviço da Web de código aberto baseada em XML.Ele consiste em uma implementação Java e C++ do servidor SOAP e vários utilitários e APIs para gerar e implementar aplicativos de serviços da Web.
Outras dicas
http://code.google.com/p/staff/
A equipe é Web Service Framework para C++ (serviço/componente e lado do cliente)/JavaScript (lado do cliente) baseado em Apache Axis2/C.
Código aberto, lançado com licença Apache V2.0.
Tente o ffead-cpp framework, ele fornece suporte integrado a serviços da web, rest, json e muitos outros recursos úteis.
Estamos usando EasySoap (http://easysoap.sourceforge.net/)
Embora não seja FOSS, outra biblioteca é Servidor ATL biblioteca da Microsoft.É um modelo C++ baseado em alguns atributos proprietários da Microsoft.ou sejanão é C++ padrão
Você pode conferir xmlbeansxx.Este é um tipo de solução leve e de baixo nível, em comparação com frameworks completos.Isto tem vantagens em alguns casos.
Invocando WebServices SOAP usando xmlbeansxx Artigo
O exemplo de código está aqui:WsClient.cpp.
Você poderia tentar gSOAP.Disponível sob GPL e licenças comerciais.
Eu tenho usado GOLE para fazer uma interface de C++ para Java ou Python e então usar o suporte típico de interface web para essas linguagens.
Como Java e Python têm reflexão, as estruturas de serviços da web que existem para eles têm muito mais facilidade para transmitir dados.
Em termos de threading, se o seu código C++ for thread-safe, você pode deixar o servidor Java gerenciar a criação de threads para solicitações simultâneas, etc.e basta chamar seu código C++ usando JNI.
Como bônus, você pode testar seu código C++ em Python usando essas mesmas interfaces SWIG.
Acho que o caminho a seguir é escrever seu serviço em C++ (presumo que você fez todo o dever de casa e há um bom motivo para querer escrever em C++) e, em seguida, frontá-lo usando um servidor RPC.Use algo como Thrift ou Protobufs para uma implementação rápida de RPC.
Agora escreva seu frontend web na linguagem de sua escolha - python seria o meu - e faça chamadas RPC para fazer todo o trabalho pesado.
Remoção POCO oferece uma maneira muito simples de criar serviços da Web em C++ apenas anotando as definições de classe C++ com comentários especiais e executando um gerador de código sobre eles.É comercial, mas entregue com código-fonte completo.Uma versão de avaliação gratuita está disponível.Funciona em Windows, Linux, Mac OS X, etc.
Concordo com a resposta de imjorge e acrescento que existe uma versão C/C++ da estrutura Axis2 (um Axis mais flexível e extensível) que faz SOAP via RPC e todo tipo de coisa, incluindo várias especificações WS-*.
Eixo Apache-c:Simples de usar, mas parece abandonado.nem mesmo as páginas de download estão funcionando há vários meses
WSOF WSFCPP:Desenvolvimento de início rápido rápido, implementação vinculada ou não vinculada, baseado em Apache AxisC e parece que a maioria dos desenvolvedores atuais do Apache Axis é da empresa WSOF.Além do grande potencial, detectei um vazamento de memória.
Atualmente estou usando o Gsoap e ele tem um desempenho muito bom.A "notação mista" do Gsoap entre o estilo c antigo e algumas práticas (ruins?) Para C++ me incomoda um pouco.mas isso é apenas mobiliário de código.
POCO:É uma biblioteca moderna e completa (java?).É um software de código aberto, licenciado sob a Boost Software License 1.0.Você terá que escrever algumas coisas do scrach, mas com ótimo suporte, classes utilitárias e etc ótima biblioteca..Inovações do c++ 11+ com todas as iniciativas de boost + POCO + um novo sistema Build/Dependency mais "gradle like" certamente trarão o c++ para novas áreas de desenvolvimento.