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]

Reply via email to