<br><br><div class="gmail_quote">On 21 February 2012 09:46, Klaas Freitag <span dir="ltr"><<a href="mailto:freitag@owncloud.com">freitag@owncloud.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im">On 20.02.2012 21:58, Melvin Carvalho wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On 20 February 2012 21:56, Thomas Wanderer<<a href="mailto:newsabos@nurfuerspam.de" target="_blank">newsabos@nurfuerspam.<u></u>de</a>>  wrote:<br>
</blockquote></div>
Hi,<br>
<br>
you come up with really interesting thoughts here, but for me thats still to unspecific to really understand.<div class="im"><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
So you're suggesting a kind of REST whatever interface? This would be<br>
defenetely nice but I think the API mentioned here should be an set of PHP<br>
interfaces which are stable and can be used by app programmers...or?<br>
</blockquote>
<br>
Both are possible.<br>
</blockquote></div>
I think we have three interface levels we have to consider here:<br>
1) the interface between ownCloud core to applications<br>
2) the interface between apps and the world<br>
3) the interface between different apps, as they will depend on each other<br>
<br>
For which of the level are you suggesting REST architecture? I agree that for 2) REST is often the right choice, even if it depends on the data a bit.<br>
<br>
For 1) it might be more difficult, I have experience with another big system I helped to design where we went the REST for internal interfaces way. Over the time we had to make excuses to the paradigm more and more.<br>
<br>
3) will often be the same as 2) probably.</blockquote><div><br>It's often said that the hardest problem in computer science is naming. <br></div><div><br>Before you can talk about interfaces, such as REST, you need to talk about identifiers.  What you need in order to scale highly is a consistent way of identify a resource across file systems, protocols and a servers.  The level your system will scale is depending on the scope of that identifer.  If it's a local identifier the system will scale locally, if it's a universal identifier (URI) it will scale to the whole web and even across protocols.  <br>
<br>Once things have identifiers you can talk about interfaces.  Based on above the strength of your architecture is roughly equivalent to the the strength of your identifiers.   REST is the architecture of the Web it's based on HTTP.  WebDAV is kind of an extension of this using the HTTP verbs to read and write.<br>
<br>So it's possible to have 3 completely different interfaces between the scenarios you outline.  OR you can have a common interface based on well designed identifiers and HTTP that is the same across all 3 interfaces, and longer term to make connections across the whole web.  This is the most modular way to do things.  So I would advocate good scalable naming of the underlying resources.  Then an HTTP based interface roughly consistent across resources, but extensible to other protocols such as FTP etc.<br>
<br>Sorry, that's a bit light on technical details, I've only been playing with owncloud a few days, but as I learn more hopefully I can give some more concrete ideas, code patches etc.<br> </div><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div class="im"><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
But for maximum scalability there should be helper<br>
methods to find the data sources, for example, without having to use<br>
firebug.  Doesnt need to be done right away, but long term this is a really<br>
great way to scale.<br>
</blockquote></div>
Can you give a concrete example on base of what ownCloud provides nowadays?<br>
<br>
Thanks,<br>
<br>
Klaas<div class="HOEnZb"><div class="h5"><br>
______________________________<u></u>_________________<br>
Owncloud mailing list<br>
<a href="mailto:Owncloud@kde.org" target="_blank">Owncloud@kde.org</a><br>
<a href="https://mail.kde.org/mailman/listinfo/owncloud" target="_blank">https://mail.kde.org/mailman/<u></u>listinfo/owncloud</a><br>
</div></div></blockquote></div><br>