JOLIE and Plasma: status and discussion

Fabrizio Montesi famontesi at gmail.com
Sun Nov 23 23:03:03 CET 2008


On Saturday 22 November 2008 02:49:57 Aaron J. Seigo wrote:
> something else i just remembered:
>
> we're going to want to think about the full round trip "experience":
>
> use case: widget wants to use a web service
>
> * it says "give me this web service" -> that should be a one liner with no
> jargon in it, just the URL of the service and return a Plasma::Service
> ready to go

That's not possible in all cases with our current API, because web services 
have quirks and quirks require protocol parameters to be passed to Jolie 
(there are always quirks not automatically deducible by the interpreter).
In our company development process we defer this problem to a Jolie script, 
making the solution a one liner for the interface and introducing kind of a 
"Jolie service adapter". We could add this feature to Plasma::Service::load, 
so that Jolie scripts are automatically loaded via MetaService through the 
loadEmbeddedJolieService operation.

Pros:
- access to full Jolie capabilities if someone needs a complex service backend 
(service orchestration);
- more separation between the service problems and the interface;
- you can decide the interface and then make adapters to services that provide 
the same thing with different interfaces (operation names, protocol quirks, 
etc.);
- if a quirk or even the interface (operation names, etc.) of the external web 
service changes you don't need to recompile the plasmoid, just update the 
Jolie script.

Cons:
- you need to write some more LOCs (the desktop entry? how does plasma find the 
service plugins?), but they're damn easy. Making an adapter is straightforward 
and doesn't require to really know the Jolie language, just a simple tutorial 
(you need always the same 4 keywords and the pattern never changes..).


More information about the Plasma-devel mailing list