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?)