2009-07-10 6 views

답변

2

약 4 년 전 C++ 기반 웹 서버에서 gSOAP을 사용했습니다. 전반적으로 잘 작동했습니다. 유일하게 중요한 문제는 인터페이스가 C 및 절차 적 (절차없는 인터페이스)이라는 것입니다 (좋은 비 절차 적 인터페이스를 설계하는 것이 어렵다는 것을 알고 있습니다). 매크로를 사용해야 할 수도있는 인터페이스를 구현하는 동안 많은 반복 코드가있을 수 있습니다 (우리는 템플릿 옵션을 너무 멀리 탐색하지 않았습니다).

1

gSoap을 사용하여 ARM MX 프로세서를 실행하는 embedde Linux 장치에 웹 서비스를 배포합니다.

1

우리는 gSOAP를 사용하여 ARM 프로세서에서 실행되는 Linux 장치에 배포 된 응용 프로그램에서 WCF 기반 웹 서비스를 사용합니다. 경험은 대단히 훌륭합니다.

3

AXIS 웹 서비스 서버와 통신하기 위해 수많은 ARM 클라이언트에 gSOAP를 사용했습니다. gSOAP의 장점 :

  • 매우 강력한, WS 자사의 추상화 함수를 호출, 거의 모든 웹 서비스는 사용하기
  • 쉽게 구축 지원은 프로그래머에 C와 모두
  • 우아한 인터페이스를 모든 웹 서비스의 복잡성을 제거 사용하는 경우

    • : C++

    그러나, 우리는 몇 가지 개발 병목 현상에 달렸다 지도 또는 세트와 같은 사용자 정의 데이터 유형을 처리하려면 gSOAP 컴파일러에서 마샬링/언 마샬링을 처리하는 데 상당한 해킹이 필요합니다. 동적 데이터 구조에 특히 좋지 않습니다.

  • 내장 된 복잡한 네트워크, 구문 분석 및 메모리 할당 부분 때문에 디버깅이 어렵습니다. 정적 메모리 할당을 유지하려면 가능한 한 모든 작업을 수행하십시오.
  • 메일 링리스트는 살아 있지만 개발자들은 그다지 활발하지 않습니다. 간단한 질문에 신속하게 답변 할 수는 있지만 가장 어려운 문제는 종종 답을 얻지 못합니다.
  • 최적화에 대해 잊어 버려야합니다. gSOAP에서 링크하면 런타임시 약 1MB의 메모리를 사용합니다 (-Os). 32MB Linux 기반 ARM 보드에서는 런타임 성능이 뛰어나지 만, 필요하다면 최적화에 관해서는 거의 할 수 없습니다.
0

ARM ARM9 400MHz 장치의 웹 서버에서 gSOAP를 사용했습니다. gSOAP 데몬이 동일한 장치에서 실행되는 zeromq 라이브러리를 통해 데이터베이스 데몬에 연결되었습니다.

데이터베이스에 다시 연결하지 않는 1000 가지 이상의 기본 요청을 지원합니다.

WITH_NOIDREF 정의로 다중 참조 SOAP 옵션을 지원하지 않도록 설정하면 다수의 직렬화 노드가있는 큰 요청에서 직렬화 시간을 약 4 배 더 단축 할 수있었습니다.