1 / 20

Горещите технологии в web – SOAP, XML-RPC и AJAX

Горещите технологии в web – SOAP, XML-RPC и AJAX. Георги Пенков, Марин Маринов. www.devbg.org. Въведение. “ Само този, който знае от къде идва, знае на къде отива” – корейска поговорка Целите Да припомним къде бяхме Да припомним през какво преминахме Да видим къде сме сега

nitesh
Télécharger la présentation

Горещите технологии в web – SOAP, XML-RPC и AJAX

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Горещите технологии в web – SOAP, XML-RPC и AJAX Георги Пенков,Марин Маринов www.devbg.org

  2. Въведение • “Само този, който знае от къде идва, знае на къде отива” – корейска поговорка • Целите • Да припомним къде бяхме • Да припомним през какво преминахме • Да видим къде сме сега • SOAP и XML-RPC • AJAX • … за да знаем на къде отиваме…

  3. Историята • ARPAnet поставя началото на бъдещият Интернет през 1968 • Действащите лица са военните и университетите • Архитектурата има значение • Mainframes & UNIX • Софтуерните компоненти - Douglas McIlroy – 1968, Гармиш, Германия • RPC – 1976 и началото на “модерните” разпределени архитектури

  4. Историята • Микрокомпютрите стават PC-та с IBM и Apple през 1981 • “WWW” akaWeb – началото е през 1989-1992 (HTTP, HTML, URL – Tim Berners-Lee и WWW Consortium) • Browser Wars - стандартите се развиват бързо, но хаотично • Архитектурата все така има значение • DCOM/COM+, Java RMI, CORBA • SOA

  5. Клиент-сървър архитектура • 2-слойна архитектура • The Fat Client Problem • Клиентът съдържа бизнес логиката и презентацията, сървъра се грижи само за запазването и получаването на данните • Много зависи от платформата • The Thin Client Problem • Бизнес логиката е изнесена в stored procedures в базата данни • Трудно се променя • Натоварвания на сървъра и мрежата

  6. Трислойна архитектура • Front-end – представяне и потребителски интерфейс • Back-end – съхранение на данните • Middle-tier – бизнес логика, Application Server • Решава много от проблемите на клиент/сървър архитектурата • Логиката и презентацията са разделени • Минимизира мрежовите проблеми • Минимизира DB проблеми • Различни технологии

  7. “Старият” Web • Старият Web – “организиран хаос”през 1998 • Съдържанието е богато, добавя се трудно • Множество различни стандарти и технологии • Програмистите “говорят” различни езици • Машините “говорят” различни езици • Enterprise системите не са готови за интернет

  8. Common Gateway Interface (CGI) – стандартния начин за реализиране на server-side web базирани приложения Разчита на проста схема за предаване на данните между web-server-а и CGI приложението Първата стъпка към “оживяването” на Интернет страниците (около 85% CGI скриптовете са Perl базирани) Стандартен поток на данните при CGI CGI – добрите стари дни CGI server side stdin / stdout Web Server HTTP/ HTML Browser

  9. Web Services – нова надежда • W3C def: software system designed to support interoperable machine-to-machine interaction over a network

  10. Service Transport HTML, SMTP, BEEP, Jabber… Messaging SOAP, XML-RPC, REST, … Service Description WSDL Service Discovery UDDI WS Protocol Stack Web Services Protocol Stack Service Transport Messaging Service Description Service Discovery Extensions: Security, Management, Bussines Processes

  11. XML-RPC накратко • Опростен протокол • Създаден от Dave Winer, на базата на ранен draft на SOAP • Стандартни, лесно разбираеми типове данни • Множество имплементации на различни езици • ws-xmlrpc – Apache имплементация за Java • JAX-RPC – Sun имплементация за Java • XML-RPC for PHP • XML::RPC – Perl модул • XML-RPC.NET

  12. XML-RPC пример XML-RPC request <?xml version="1.0"?> <methodCall> <methodName>examples.getStateName</methodName> <params> <param><value><i4>41</i4></value></param> </params> </methodCall> XML-RPC response <?xml version="1.0"?> <methodResponse> <params> <param> <value><string>South Dakota</string></value> </param> </params> </methodResponse>

  13. SOAP накратко • Преживява много сериозен процес на анализ и дизайн • Много по-сложен, сравнение с XML-RPC, но пък е направен по всички правила на W3C • Съобщението се разделя на header и body • Routing и roles • Security • User Defined Types • По-сложен модел на processing

  14. SOAP message пример SOAP message <env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <n:alertcontrol xmlns:n="http://example.org/alertcontrol"> <n:priority>1</n:priority> <n:expires>2001-06-22T14:00:00-05:00</n:expires> </n:alertcontrol> </env:Header> <env:Body> <m:alert xmlns:m="http://example.org/alert"> <m:msg>Pick up Mary at school at 2pm</m:msg> </m:alert> </env:Body> </env:Envelope>

  15. AJAX • AJAX = Asynchronous JavaScript and XML • AJAX не е конкретна технология, а е подход на реализация • Наречен е така от Jesse James Garrett, February 2005 в статията му “Ajax: A New Approach to Web Applications” • Google го налага в почти всички свои продукти, поради което придобива огромна популярност • Gmail го изстрелва на върха

  16. AJAX • AJAX комбинира следните технологии • HTML/XHTML + CSS за форматиране на презентацията • DOM + Client Side Script (JavaScript) – за динамичен достъп до отделните елементи на документа • XMLHttpRequest object и/или IFRAME за динамичен достъп до сървъра • XML за пакетиране на данните, но също JSON (JavaScript Object Notation)

  17. Предимства Доближава desktop experience-а до web Премахва досадното изчакване да се зареди страницата Ускорява разработката Сайтовете “проговарят” на езика на WS Недостатъци Съвместимост с различните browser-и Network Latency обработка Промяна на стандартния browse модел Bookmarking Поток на данни при AJAX AJAX Web Service server side Web Server HTTP(S)/ XML AJAX framework Browser

  18. Изводите • Новите технологии помагат на Web да еволюира • WS вече се използват стабилно както в интернет, така и в Enterprise решенията • AJAX довежда desktop модела в уеб браузъра • Комбинацията WS базиран на SOAP + AJAX ще позволи на компаниите да капитализират ресурсите отделени за WS и в частта “краен потребител”

  19. Контакти Sofia.pmhttp://sofia.pm.org Perl @ Sofia University http://perl.phreedom.org Bulgarian Association of Software Developers http://www.devbg.org gpenkov@phreedom.org mmarinov@phreedom.org

  20. Въпроси и отговори ;) Въпроси?

More Related