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
