Great. I would like to help with this. I have been thinking for awhile
about how to best integrate the RDB DAS within SCA. For example, the
current BBank scenario uses the RDB DAS as a utility but it would be
nice if it could "wire in" a RDB DAS service or be injected with a
configured DAS. Another thing we want to eventually explore is exposing
a DAS as REST-oriented services. As we have seen from the parent thread
there are almost too many possible approaches.
My first thought is to model the DAS as a service and create a new
implementation kind (implementation.rdbdas). The main reason has to do
with the potential declarative aspect of DAS that Jeremy mentioned which
is all about creating data access services declaratively. A new
component type and a service that we build by hand would be a good step
in this direction.
We might want to expose a DAS service with an interface like this:
public interface RDBDASService
void applyChanges(DataObject graphRoot);
DataObject execute(String commandName);
DataObject executeSQL(String abitrarySQL);
}
The service would be initialized with an optional RDB DAS config file
that defines connection properties, a set of commands, etc. So,
different services implementing the same interface could be initialized
from separate config files.
Eventually, we might want to build services like this:
public interface Customers_RDBDASService
void applyChanges(DataObject graphRoot);
DataObject getAllCustomersWithLastName (String lastName);
DataObject getAll CustomersAndOrdersForID (int customerId);
}
But, for this to be very useful would probably require some code
generation tooling.
Thoughts?
--Kevin
Luciano Resende wrote:
I'm starting to look in ways we could have a declarative DAS and will be
posting my progress into the list / wiki soon...
- Luciano
On 10/3/06, Jeremy Boynes <[EMAIL PROTECTED]> wrote:
On Oct 3, 2006, at 5:26 PM, Jim Marino wrote:
>> This sounds like having cake, eating it, and also being able to
>> give it to a friend :-) We provide the flexibility for users:
>> 1) to access infrastructure services through properties
> Yes for things like JPA, JDBC, etc.
>> 2) to reference infrastructure services through inclusion in their
>> assembly
> If we do 1 I don't think we should do 2 (that doesn't stop someone
> from extending Tuscany to do it though). See my comments below.
"Thanks for volunteering" :-)
If someone wants to contribute these, I think we should welcome it
like we would any other contribution.
>> 3) to access data through an application service with declarative
>> implementation by DAS
> Yes, that's the value I see in DAS
I think this is already on the DAS folks radar.
--
Jeremy
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]