1 / 25

2007 ASR end of studies project The Integration of Web Services

2007 ASR end of studies project The Integration of Web Services. Supervision: Christian Bac, Olivier Berger By Ilf Moussa & Asako Nakano February 7. 2007. Outline. Introduction Main issues Step by step Problem analysis Solution Progress Technical problems Taking things further

jack
Télécharger la présentation

2007 ASR end of studies project The Integration of Web Services

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 2007 ASR end of studies projectThe Integration ofWeb Services Supervision: Christian Bac, Olivier Berger By Ilf Moussa & Asako Nakano February 7. 2007

  2. Outline • Introduction • Main issues • Step by step • Problem analysis • Solution • Progress • Technical problems • Taking things further • Conclusion

  3. Introduction • Needs of developers for a project management • Independence of each tool but no harmonization “Picolibre project” • Uses PhpGroupWare as a basis • Merges free applications: SVN, Sympa, Twiki • Goal  A single interface with a “single sign-on” system

  4. Main issues – part 1/3 • Open source mailing list software • Data stored in database (MySql, Oracle…) • Archives • Mail • Focused on customization possibilities • Scalable: small working groups, newsletter… • Web interface What is Sympa?

  5. Sympa Web interface : Picolibre PhpGroupWare Sympa DATABASE - SVN - Sympa - Twiki … DIRTY ACCESS SENDING QUERIES Daemon Queries for Sympa DATABASE Main issues – part 2/3 HOST 1

  6. Sympa Web interface : Picolibre ACCESS by Sympa application PhpGroupWare Sympa DATABASE - SVN - Sympa - Twiki … Daemon Queries for Sympa DATABASE Main issues – part 3/3 HOST 1 The ideal version of Picolibre

  7. Outline • Introduction • Main issues • Step by step • Problem analysis • Solution • Progress • Technical problems • Taking things further • Conclusion

  8. Step by Step - Problem analysis • Search in Sympa • Only a SOAP server available • Many SOAP functions to control remotely • Search in Picolibre • Possibility of a SOAP client to send requests • A “nusoap” library  Choice of the SOAP solution

  9. Step by Step – Solution – part 1/2 • What is SOAP? • Simple Object Access Protocol • Exchange XML based messages • Existence different types of messaging patterns • RPC (Remote Procedure Call) • Exchange messages between Client  Server

  10. Web interface : Picolibre PhpGroupWare REQUEST SOAP Server Sympa vers. 5.x - SVN - Sympa - Twiki … SOAP Client ANSWER Sympa DATABASE Step by Step – Solution – part 2/2 HOST 1

  11. Outline • Introduction • Main issues • Step by step • Problem analysis • Solution • Progress • Technical problems • Taking things further • Conclusion

  12. Step by step - Progress • Configuration • Testing the SOAP server • Building a generic function • Search for functions to add/modify in Picolibre • Integration of the SOAP version in the project • Final integration tests • Documentation

  13. Step by step – Progress – Part 1/7 • Configuration • Sympa update: Version 4.X to 5.3a.10 • SOAP server startup in Sympa • SOAP client (“NuSOAP”) update in Picolibre File : /etc/httpd.conf FastCgiServer /home/sympa/bin/sympa_soap_server.fcgi -processes 1 ScriptAlias /sympasoap /home/sympa/bin/sympa_soap_server.fcgi <Location /sympasoap> SetHandler fastcgi-script </Location>

  14. Step by step – Progress – Part 2/7 • Testing the SOAP server Sympa Independent scripts SOAP_server SOAP:add add SOAP:which which SOAP:info info … …

  15. Picolibre Sympa Sympa Picolibre Sympa_bo SOAP_server SOAP_server Sympa_bo createList SOAP:createList SOAP:createList closeList SOAP:closeList SOAP:closeList generic subscribe SOAP:subscribe SOAP:subscribe Step by step – Progress – Part 3/7 • Building a generic function Operation1 & param. Operation2 & param. Operation3 & param.

  16. Step by step – Progress – Part 4/7 • Search for functions to add/modify in Picolibre • Subscribe • Addlist • Closelist • And other minor changes concerning the cookie setting, the creation of objects…

  17. After functionaddlist($email,$s_title,$list_name){ $commands= createobject('picolibre_current.write_commands'); $sympa_scripts_path = 'sympa_scripts'; $sep = filesystem_separator(); return $commands->append("$sympa_scripts_path$sep".'sympa_addlist.sh '."$email $s_title $list_name"); } functionaddlist($email,$s_title,$list_name){ $parameters_sent = array('list'=>"$s_title-$list_name",'topics'=>$s_title,'template'=>'discussion_list', 'subject'=>$list_name,'description'=>$list_name); $ret = $this->sympa_soap->generic_reception_treatment("createList",$parameters_sent); return $ret; } Before Step by step – Progress – Part 5/7 • Integration of the SOAP version in the project • Generic_sympa_soap • Modified sympa_bo class: • Correct display

  18. START Test:function Function work? No Yes END Step by step – Progress – Part 6/7 • Final integration tests • Create a list • Close a list • Subscribe a user to a list • Verify return information • Verify return errors • …

  19. Step by step – Progress – Part 7/7 • Documentation • Comment on source codes • Create a joint report  Source codes available and usable by all developers

  20. Outline • Introduction • Main issues • Step by step • Problem analysis • Solution • Progress • Technical problems • Taking things further • Conclusion

  21. Technical problems • Configuration of the computer system to use Sympa (and SOAP) with Picolibre • Addition of missing functions in Sympa SOAP • Configuration of the single sign-on Function : add/del/closeList <operation name="%Name_of_the_function%"> <soap:operation soapAction="urn:sympasoap#%Name_of_the_function%"/> <input> <soap:body use="encoded" namespace="urn:sympasoap" encodingStyle="…"/> </input> <output> <soap:body use="encoded"  namespace="urn:sympasoap" encodingStyle="…"/> </output> </operation>

  22. Host PICOLIBRE Sympa Twiki … Host 2 SOAP server SYMPA Taking things further – part 1/2 Toward distributed applications ? Host 1 PICOLIBRE Internet / LAN SOAP client Twiki …

  23. Current - Picolibre Possible evolution - Picolibre Sympa Sympa Picolibre Picolibre class soap for sympa Twiki Twiki class for twiki Generic Soap Class … … Taking things further – part 2/2 • Expand the generic function to all the applications using SOAP server

  24. Conclusion • Asynchronous to synchronous communication • New: • Acquiring knowledge about SOAP protocol • Learning more about Picolibre platform • Managing the project in a collaborative manner

  25. Thank you for your attention Questions ?

More Related