XML срещу SOAP
XML означава Extensible Markup Language. Тя е дефинирана в спецификацията XML 1.0, която е разработена от W3C (World Wide Web Consortium). XML предоставя стандартен начин, който също е прост, да кодира данни и текст, така че съдържанието да може да се обменя в хардуер, операционни системи и приложения с малко човешка намеса. SOAP (Simple Object Access Protocol) е комуникационен протокол, базиран на XML. SOAP също е препоръка на W3C. SOAP се използва за комуникация между приложения чрез изпращане на масажи между тях чрез интернет.
Какво е XML?
XML е език за маркиране, който се използва за прехвърляне на данни и текст между хардуер на драйвери, операционни системи и приложения с малко човешка намеса. XML предоставя тагове, атрибути и структурни елементи, които могат да се използват за предоставяне на контекстна информация. Тази контекстна информация може да се използва за декодиране на смисъла на съдържанието. Това дава възможност за разработване на ефективни търсачки и извършване на извличане на данни. Освен това традиционните релационни бази данни са подходящи като XML данни, тъй като те биха могли да бъдат организирани в редове и колони, но XML предоставя по-малко поддръжка на данни с богато съдържание като аудио, видео, сложни документи и др. XML бази данни съхраняват данни в структурирана, йерархична форма което позволява обработването на заявките по-ефективно. XML таговете не са предварително дефинирани и потребителите могат да определят нови тагове и структури на документи. Също така, нови интернет езици като RSS, Atom, SOAP и XHTM бяха създадени с помощта на XML.
Какво е SOAP?
Както споменахме по-рано, SOAP е комуникационен протокол, базиран на XML, който се използва за комуникация между приложения чрез изпращане на съобщения през интернет. Следователно той е независим от платформата и от езика и позволява да комуникира между приложения, които работят на различни операционни системи и използва различни езици за програмиране. W3C препоръча SOAP през юни 2003 г. SOAP съобщението е XML документ, съставен от следните основни компоненти: плик, който известява, че XML документът е SOAP съобщение и инструкциите за обработката му, елемент на Header, съдържащ информация за заглавката, която е специфична към приложението, като подробности за удостоверяването, елемент на тялото, който съдържа действителното съобщение, получено от получателя, и незадължителен елемент на повреда, съдържащ грешки и информация за състоянието. Въпреки че SOAP се използва главно с HTTP като транспортен протокол, той може да се използва с други протоколи (например JMS, SMTP). SOAP може да премине през защитни стени и прокси сървъри, тъй като може да работи с HTTP.
Каква е разликата между XML и SOAP?
XML е език за маркиране, който се използва за прехвърляне на данни между драйвер на хардуер, операционни системи и приложения с малко човешка намеса, докато SOAP е протокол, базиран на XML, който се използва за комуникация между приложенията чрез интернет. XML - RPC (XML - Отдалечени процедурни обаждания) също може да се използва за комуникация между приложения чрез извършване на процедурни разговори по интернет. Но XML - RPC не може да се справи със сложни дефинирани от потребителя типове данни като SOAP. Освен това SOAP има възможност да дава инструкции как да обработва съобщението, което не може да се направи в XML - RPC.