[Mailman-Developers] Login / User Identification Issues in MM3

Richard Wackerbarth richard at NFSNet.org
Mon Jul 16 13:10:38 CEST 2012


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



More information about the Mailman-Developers mailing list