2. Webservice:
⢠data-exchange with a webserver
⢠often in XML-format
3. Alternative: ODBC
directly calling the database from client-application
ânormalâ, indirect call, e.g. via direct call to database,
webpage or webservice: ODBC:
8. connecting
Joomla! to:
⢠desktop applications
(RIAs), Java, Flex,
Delphi, VS, Titanium,
MS Office, etc.
⢠other webapplications:
as a server or client
⢠browser: Ajax, Flash
⢠any other computer
program...
9. Example uses:
â˘connecting to multiple Joomla!-
sites for backup and upgrading.
(e.g.: Akeeba Remote)
â˘using external services (e.g.
Google Docs, Amazon S3, etc.)
â˘bridges with other applications
(e.g. MageBridge)
10. Protocols:
â˘your own...
â˘a binary protocol like AMF
â˘using some XML or JSON (Ajax)
â˘one way XML: feed (Atom/RSS)
â˘XML-RPC
}
when we talk about
webservices
â˘SOAP we mostly talk about
â˘REST those 3 ways
11.
12.
13. Remote Procedure Calls
(XML-RPC and SOAP)
â˘call a method on the server
â˘DO something (procedure, verb)
vs REST
â˘get/put/post/delete a resource
on the server
â˘resource (object, noun)
15. Webservice and MVC
â˘model: is the âheartâ of application
(use same model for webservice)
â˘controller decides what to do
based on the input
â˘view: renders the output
16. XML-RPC in Joomla! 1.6
â˘no plugin anymore
â˘new JController
(might use a strategy pattern?)
â˘controllername.xmlrpc.php
â˘idem: controllername.json.php
â˘index.php?....&protocol=xmlrpc
â˘http://docs.joomla.org/Xml-rpc
17. SOAP
â˘evolved from XML-RPC
â˘heavily used in .NET
â˘meta-data:
WSDL and SOAP-envellope
â˘SOAP-header:
a.o. for authentication
â˘WSDL:
description in XML-format
26. REST in Nooku Framework:
â˘KControllerBread + KRequest works
out of the box!
â˘authentication and http status messa-
ges not yet 100% (planned for 0.9)
Joomla! RESTful thoughts:
â˘www.alltogetherasawhole.org/profiles/
blogs/restful-api-for-joomla
28. SSL or other encrypting
â˘SSL (https://) can be used to encrypt
the credentials (and data)
â˘or you can define encryption of cre-
dentials (and data) yourself:
- basic (base64: no real encryption)
- digest
- WSSE, OAuth, your own variation
29. Get Joomla! connected
â˘providing standard, easy to use con-
nections is essential for further deve-
lopment of Joomla!
â˘letâs provide XML/RPC, SOAP and
REST within the MVC framework in a
uniform way
(Zend has it all, why not we too?)