On Jul 15, 2012, at 12:35 AM, Stephen J. Turnbull wrote:

> Richard Wackerbarth writes:
> 
>> We should not be required to repeat this in the future. Therefore,
>> we need to have a service level interface for ALL inter-service
>> interactions, even if we do not require the RESTful implementation
>> of those interactions at this time.
> 
> I guess I think of "components" as "interfaces with implementations
> *potentially independent* of other components", and would argue that
> these could (and will) be implemented as separate processes, even as
> remote processes.  These require RESTful implementations AIUI.

I think that "require" is too strong. What is REQUIRED is AN implementation 
that supports separate processes.
Don't mis-understand, I fully expect that the implementation which we develop 
will be a RESTful one. However, I could, just as well, develop one that used, 
for example, SNMP. A specification provides REQUIREMENTS. Since there is no 
fundamental requirement that the inter-service communication be RESTful, that I 
object to describing the service-level interface in terms of a RESTful 
implementation. The service level specification should be more general.

> I would certainly expect that authentication services, the user
> database, the mailflow handlers, owner/site webUI, and user webUI
> would be (conceptually) five separate components, although Postorius
> might provide both owner/site UI and user UI.

Even here, I would start by describing the "site admin UI" and the "user UI" as 
separate services.
>From there, we might describe a "service group" wherein a group of services 
>are implemented in a manner intended to run on a single host. Within this 
>service group, we could allow intra-group communications that bypass the 
>inter-service interface. However, if we do so, we need to be careful that such 
>communications are only alternate implementations for efficiency and do not 
>represent fundamental communications that could not be handled strictly 
>through the inter-service interface. 

> Intracomponent APIs might be defined as zope.interfaces, and even
> "more internal" APIs might be simply Python classes, etc.  But it
> seems to me requiring RESTful interfaces for all intercomponent
> communication is the way to go.

As I indicated above, I consider RESTful interfaces to be only one 
implementation of a conceptual interface.

Richard

_______________________________________________
Mailman-Developers mailing list
[email protected]
http://mail.python.org/mailman/listinfo/mailman-developers
Mailman FAQ: http://wiki.list.org/x/AgA3
Searchable Archives: 
http://www.mail-archive.com/mailman-developers%40python.org/
Unsubscribe: 
http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org

Security Policy: http://wiki.list.org/x/QIA9

Reply via email to