Title: ???????? ?????????? ? web
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 aka Web ???????? ? ???? 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 ????????? ?? ?? ?????? ?? ????????
8CGI ??????? ????? ???
- Common Gateway Interface (CGI) ???????????
????? ?? ??????????? ?? server-side web ????????
?????????? - ??????? ?? ?????? ????? ?? ????????? ?? ???????
????? web-server-? ? CGI ???????????? - ??????? ?????? ??? ??????????? ?? ????????
?????????? (????? 85 CGI ??????????? ?? Perl
????????)
- ?????????? ????? ?? ??????? ??? CGI
CGI
server side
stdin / stdout
Web Server
HTTP/ HTML
Browser
9Web Services ???? ???????
- W3C def software system designed to support
interoperable machine-to-machine interaction over
a network
10Web Services Protocol Stack
- Service Transport
- HTML, SMTP, BEEP, Jabber
- Messaging
- SOAP, XML-RPC, REST,
- Service Description
- WSDL
- Service Discovery
- UDDI
Service Transport
Messaging
Service Description
Service Discovery
Extensions Security, Management, Bussines
Processes
11XML-RPC ????????
- ???????? ????????
- ???????? ?? Dave Winer, ?? ?????? ?? ????? draft
?? SOAP - ??????????, ????? ?????????? ?????? ?????
- ????????? ????????????? ?? ???????? ?????
- ws-xmlrpc Apache ????????????? ?? Java
- JAX-RPC Sun ????????????? ?? Java
- XML-RPC for PHP
- XMLRPC Perl ?????
- XML-RPC.NET
12XML-RPC ??????
XML-RPC request
lt?xml version"1.0"?gt ltmethodCallgt
ltmethodNamegtexamples.getStateNamelt/methodNamegt
ltparamsgt ltparamgtltvaluegtlti4gt41lt/i4gtlt/valu
egtlt/paramgt lt/paramsgt lt/methodCallgt
XML-RPC response
lt?xml version"1.0"?gt ltmethodResponsegt
ltparamsgt ltparamgt ltvaluegtltstringgtSouth
Dakotalt/stringgtlt/valuegt lt/paramgt
lt/paramsgt lt/methodResponsegt
13SOAP ????????
- ????????? ????? ???????? ?????? ?? ?????? ?
?????? - ????? ??-??????, ????????? ? XML-RPC, ?? ??? ?
???????? ?? ?????? ??????? ?? W3C - ??????????? ?? ??????? ?? header ? body
- Routing ? roles
- Security
- User Defined Types
- ??-?????? ????? ?? processing
14SOAP message ??????
SOAP message
ltenvEnvelope xmlnsenv"http//www.w3.org/2003/05
/soap-envelope"gt ltenvHeadergt
ltnalertcontrol xmlnsn"http//example.org/alertc
ontrol"gt ltnprioritygt1lt/nprioritygt
ltnexpiresgt2001-06-22T140000-0500lt/nexpiresgt
lt/nalertcontrolgt lt/envHeadergt
ltenvBodygt ltmalert xmlnsm"http//example.or
g/alert"gt ltmmsggtPick up Mary at school at
2pmlt/mmsggt lt/malertgt lt/envBodygt lt/envEnv
elopegt
15AJAX
- AJAX Asynchronous JavaScript and XML
- AJAX ?? ? ????????? ??????????, ? ? ?????? ??
?????????? - ??????? ? ???? ?? Jesse James Garrett, February
2005 ? ???????? ?? Ajax A New Approach to Web
Applications - Google ?? ?????? ? ????? ?????? ???? ????????,
?????? ????? ????????? ??????? ??????????? - Gmail ?? ????????? ?? ?????
16AJAX
- AJAX ????????? ???????? ??????????
- HTML/XHTML CSS ?? ??????????? ?? ?????????????
- DOM Client Side Script (JavaScript) ??
????????? ?????? ?? ????????? ???????? ??
????????? - XMLHttpRequest object ?/??? IFRAME ?? ?????????
?????? ?? ??????? - XML ?? ?????????? ?? ???????, ?? ???? JSON
(JavaScript Object Notation)
17AJAX
- ??????????
- ????????? desktop experience-? ?? web
- ???????? ????????? ????????? ?? ?? ??????
?????????? - ???????? ????????????
- ????????? ?????????? ?? ????? ?? WS
- ???????????
- ???????????? ? ?????????? browser-?
- Network Latency ?????????
- ??????? ?? ??????????? browse ?????
- Bookmarking
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 _at_ Sofia University http//perl.phreedom.org
Bulgarian Association of Software
Developers http//www.devbg.org
gpenkov_at_phreedom.org mmarinov_at_phreedom.org
20??????? ? ???????? )