My initial thoughts on this are simple: the converter mechanism that I
began in fall but haven't been able to complete should likely be dropped
in favor of an approach based on the StreamWriter/StreamBuilder
mechanism. The Adapter and CollectionProvider mechanisms should be
merged. We should use the Adapter interface name for the merged result.
The CollectionProvider accepts a RequestContext in order to allow
requests to be parameterized. This is a good thing and needs to be
preserved.
The CollectionProvider also provides methods for transactional
semantics. These could be pushed to a subclass, e.g.
TransactionalAdapter, in order to simplify things a bit.
We need to figure out how to make it easier to extend the functionality
of this stuff. The Provider interface is set up to make it possible to
use extension HTTP methods (e.g. MOVE, PATCH, etc) but this is not
passed on to either CollectionProvider or Adapter. There needs to be an
elegant extension mechanism.
The fact that CollectionProvider returns ResponseContext objects makes
it possible for us to use StreamWriter to write out the responses. The
Adapter interface is currently only capable of returning FOM objects.
While this certainly does simplify things, it limits the flexibility and
performance.
The Adapter interface should become part of the server project.
Specific Adapter implementations can also be added to server or they
could go into their own module. It would be extremely valuable to have
a number of stock Adapter implementations available.
- James
Dan Diephouse wrote:
Agreed. I have some thoughts on the feedserver bits and I'll write them
up tomorrow. I'll get Jim Ancona's changes integrated as well then.
James M Snell wrote:
We could do a phone meeting, but I think it would help more helpful if
we had the discussion here on the list. I know it could take a bit
longer, but doing so ensures that everyone will have a better chance
of being able to weigh in.
- James
David Primmer wrote:
I don't know if everyone has had time to digest the code we posted
but I'd
like to setup a phone conference where we can go over some of the issues
around integrating FeedServer code into Abdera. I'd especially like to
discuss the design differences between Dan's implementation and ours (so
Dan, you'd be the guest of honor). I don't know if merge will be
possible
but we should discuss it. Let me know if you're interested.
thanks.
davep