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

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

Partager

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

Vues

Total des vues
35,782
Sur Slideshare
35,693
À partir des ajouts
89
Nombre d'ajouts
10

Actions

Partages
Téléchargements
319
Commentaires
8
J'aime
7

Ajouts 89

http://www.slideshare.net 42
http://localhost 26
http://paper.li 7
http://www.primexdesign.nl 4
http://192.168.1.200 3
http://iprefeitura.localhost 2
http://www.techgig.com 2
https://fsiconsulting.centraldesktop.com 1
http://10.1.11.35 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.

Annuler
    No notes for slide

Transcript

  • 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