Please disable Adblockers and enable JavaScript for domain CEWebS.cs.univie.ac.at! We have NO ADS, but they may interfere with some of our course material.
PHP Bindings for RIDDL
(Supervisor Peter Beran)
The goal is create a language bindings from RIDDL to PHP. See Hello World for examples.
A Client should work according to the following example:
$t = new Riddl("http://www.pri.univie.ac.at/communities/riddl/helloworld/description.xml", "http://localhost/des.php");
$hellos = $t->hellos->get();
$hello = $t->hellos['1']->get();
This includes:
- Reading the remote declaration
- Generating an object tree on the fly
- a method for each relative, returning an object with the respective post, get, put, delete operations
- when a resource without relative exists, allow array access to ids, return object with the respective post, get, put, delete operations.
The second alternative includes:
$t = new Riddl("http://www.pri.univie.ac.at/communities/riddl/helloworld/declaration.xml","http://localhost/dec.php");
$hellos = $t->helloworld->hellos->get();
$hello = $t->hellos['1']->get();
For a declaration the following functionality have to be available:
- resolve all definitions
- handle the message flow through the declaration transparently.
- Only the first and last siblings inside a interface are to be exposed outside.
- e.g. when calling $t→helloworld→hellos→get(); the call should be redirected to the right server, the result delivered back.
Requirements
- Necessary:
- Strong PHP skills
- Know your way around DOM XML
- Know XML RelaxNG Schema
Of course all missing requirements (even necessary ones) can be offset by enthusiasm.
Deliverables for BAC Seminar/BAC Thesis
- Working Prototype
- A set of test to validate the functionality
- A in-depth description and documentation of the prototype
Letzte Änderung: 16.03.2009, 12:20 | 235 Worte