Webservices: connecting Joomla! with other programs.
Prochain SlideShare
Chargement dans... 5

Vous aimez ? Partagez donc ce contenu avec votre réseau


Webservices: connecting Joomla! with other programs.

  • 35,782 vues
Transféré le

Webservices: connecting Joomla! with other programs....

Webservices: connecting Joomla! with other programs.

XML-RPC, SOAP and REST with Joomla!

Plus dans : Technologies
  • Full Name Full Name Comment goes here.
    Êtes-vous sûr de vouloir
    Votre message apparaîtra ici
  • These slides were made in 2010, when Joomla 1.6 had just been released. A lot of the information in these slides is relevant for Joomla 1.5, but not anymore for 2.5+. For instance the native PHP5 SOAP possibilities are bettter available than 4 years ago. However, the main opinion I had then is still relevant: you should only have to change your view a little bit, but not your model.
    Êtes-vous sûr de vouloir
    Votre message apparaîtra ici
  • Hi Parth! Unfortunately I could not be at JAB12. Nice to hear Ashwin is participating in this workgroup too.

    Let's do further discussions about the workgroup on https://groups.google.com/forum/?fromgroups#!topic/joomla-dev-cms/dtSZxuwShAo
    Êtes-vous sûr de vouloir
    Votre message apparaîtra ici
  • Also Ashwin is taking part in the Joomla Web Services working group & was in the JAB12 working group session there. He will be able to shed some light on how this will eventually be part of the project.
    Êtes-vous sûr de vouloir
    Votre message apparaîtra ici
  • Hey guys, if you want to take a look at how the Techjoomla REST webservice works, you can see this http://www.slideshare.net/coolparth/rest-api-for-joomla

    We are already using this for multiple enterprise level projects as well as Mobile apps like http://reportoise.com
    Êtes-vous sûr de vouloir
    Votre message apparaîtra ici
  • YW, but this is from last year. In the mean time several new things have occurred with webservices and Joomla!, for example:

    * TechJoomla has a REST-API for Joomla: http://techjoomla.com/joomla-extension-news/joomla-rest-api.html

    * look at Seblod 2 for a SOAP-webservice!

    Please let me know if you have your app done; I'm curious!
    Êtes-vous sûr de vouloir
    Votre message apparaîtra ici
Aucun téléchargement


Total des vues
Sur Slideshare
À partir des ajouts
Nombre d'ajouts



Ajouts 89

http://www.slideshare.net 42
http://localhost 26
http://paper.li 7
http://www.primexdesign.nl 4 3
http://iprefeitura.localhost 2
http://www.techgig.com 2
https://fsiconsulting.centraldesktop.com 1 1
http://www.linkedin.com 1

Signaler un contenu

Signalé comme inapproprié Signaler comme inapproprié
Signaler comme inapproprié

Indiquez la raison pour laquelle vous avez signalé cette présentation comme n'étant pas appropriée.

    No notes for slide


  • 1. Webservices connecting Joomla! with the rest Herman Peeren June 1st 2010
  • 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:
  • 4. now: Webservices
  • 5. Joomla! as a system on its own
  • 6. connecting Joomla!
  • 7. connecting Joomla!
  • 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. 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)
  • 12. XML-RPC •define I/O types •phpxmlrpc-library •in Joomla!: as a plugin... •better: use MVC •changed in J! 1.6
  • 13. 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
  • 14. 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
  • 15. 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
  • 16. SOAP-envellope:
  • 17. WSDL: •description of a webservice •automatic code generation! •easy to use in e.g. Delphi, Flex, etc.
  • 18. sample SOAP-calls and WSDL
  • 19. importing WSDL in Delphi 2010:
  • 20. importing WSDL in Flex Builder 3:
  • 21. SOAP in Joomla!, some possibilities: •JMSOAP and com_connector: J!1.0 (vBulletin-connection) •VM SOA: SOAP for VirtueMart •other PHP libraries and Frameworks: NuSoap, PearSoap, Zend, PHP5 SOAP module... $server = new soap_server; require_once(“nusoap.php”); •JSOAP coming soon! (based on PHP5-SOAP)
  • 22. REST •“representational state transfer” •architecture, not a protocol •linking to recourses, not methods •resource = object + URI •stateless communication •uniform interface (CRUD) •using HTTP-headers and methods
  • 23. 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
  • 24. Authentication/Authorization •with XML/RPC credentials are para- meters in the remote procedure call. •with SOAP credentials are in the SOAP-header. •with REST the credentials are in HTTP-headers.
  • 25. 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
  • 26. 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?)
  • 27. let’s connect Joomla!
  • 28. let’s connect Joomla!
  • 29. Questions? Contact info: Herman Peeren herman@yepr.nl