SOAP, 부 풀기, XML 및 REST와 같은 대체 메커니즘에 대해서는 이미 많은 논의가있었습니다.네트워크 프로그래밍 : SOAP과 XML 라이브러리로 DIY 마샬링?
여기 상황이 있습니다. 새로운 팀 구성원은 실제로 프로토콜을 구현하는 데 따르는 어려움에 따라 SOAP을 사용하고 있습니다. 그는 gSOAP (프로젝트는 모두 C++입니다.) 그는 WSDL이 C++로 코딩 된 지저분한 손을 정리하는 것과 같은 것을 말합니다.
지금은 XML 기반 텍스트 메시지 및 expat XML 라이브러리를 사용하는 대부분의 네트워킹을 처리하고 있습니다. 따라서 메시지 형식을 수정하거나 매개 변수 목록을 추가하는 것과 관련된 프로그래밍 노력이 많이 (많지 않음) 있습니다. 보낸 사람 끝에서 XML 요청을 패키지로 만들어 일반 TCP 소켓으로 보냅니다. 수신기에서 DOM 또는 SAX를 사용하여 XML을 구문 분석합니다. 지금까지 괜찮 았어. XML 메시지는 매우 작고, 최대 2 백개의 문자를 평균적으로 가지고 있습니다. 그리고 나는 그 메시지의 모든 항목을 이해합니다.
우리는 제품 (서버)의 일부가 PHP를 사용하여 코딩 된 웹 사이트에 액세스 할 수있게하려고합니다. 이것이 SOAP 작성자가 SOAP 인터페이스를 "더 쉽게"사용할 수 있다는 생각을 부분적으로 이끌고 있습니다. 이 프로젝트의 모든 사람들은 SOAP가 그들의 구원이라고 믿습니다.
성숙한 프로젝트의 추진력에 큰 혼란을주는 gSOAP와 같은 새로운 대형 라이브러리의 소개를 봅니다.
SOAP이 제공하는 것과 다른 작고 간결한 방법이 있다면 궁금합니다. 그리고 gSOAP 또는 다른 SOAP 도구의 요구 사항을 어떻게 균형 잡아서 개발 현실을 어려운 현실에 쉽게 맞 춥니 다.
IE, XML 라이브러리를 사용하여 C++ 코딩을 손으로 코딩하는 것보다 WSDL이 더 좋고, 더 쉽고, 직공이 더 좋다는 말을 듣고 있습니다. 즉, C++ 객체의 의미를 네트워크 메시지 선언에 넣습니다. 사실, 내가 정의한 많은 XML 메시지는 하나를 위해 하나를 하나의 구별되는 객체로 수신 측에서 매핑하지 않는다.
또는 아무것도 걱정할 필요가 없습니다.
그러나 여기에서 메시지를 스캔하는 현실은 내가 현지에서 말한 것을 모순하는 것처럼 보입니다.
SOAP의 오버 헤드/bloating에 대해 매우 우려하고 있다고 할 수 있습니까? 그리고 이러한 단점없이 어떻게 SOAP을 구현할 수 있는지 알아 내려고 노력하고 있습니까? –
전에는 SOAP을 고려해 본적이 없습니다. 팀의 새로운 사람은 두 가지 명백한 이유 때문에 SOAP를 권장하고 있습니다. 1) 작업 한 사람과 2) 문자열을 찢어서 데이터 값으로 파싱하는 손으로 코딩하는 XML 코드 아이디어가 마음에 들지 않습니다. –
다른 사용자가 사용할 수있는 채널을 열려면 SOAP를 사용할 필요는 없지만 이미 필요한 것이 있고 필요에 맞게 선택해야합니다. –