You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tuscany.apache.org by Amita Vadhavkar <am...@gmail.com> on 2008/01/04 13:13:02 UTC

Re: [DAS] DAS as web service

I am checking impl-data-pojo from the sandbox and also can see the generic
org.apache.tuscany.sca.implementation.data.collection.Collection from
impl-data-api.
I guess this interface is generic and can be used as the starting point for
any sample
implementations like what is there in impl-data-pojo. Just one question, why
do we need
to copy Collection interface in
org.apache.tuscany.sca.implementation.openjpa.collection?

>From the below from Collection interface -
Map<K, D> getAll();
Map<K, D> query(String queryString);
K post(D item);
D get(K key) throws NotFoundException;
void put(K key, D item) throws NotFoundException;
void delete(K key) throws NotFoundException;

getAll(), query(), get(), delete() will have a straight implementation using
sdo+das.

For post() - it can be forming complete INSERT using the input D - i.e.
property->column mapping
and grabbing all values from D.

For put(i.e. update), is a place in DAS, where it uses Change Summary
effectively. Here D will
have the changes on the top of the result obtained by some get(), so will be
DataGraph having ChangeSummary.

I am right now trying to get the get() working and will put the working code
in my sandbox.

Please give suggestions, comments on this initial approach and anything
else.

Regards,
Amita

On Dec 14, 2007 7:01 PM, Luciano Resende <lu...@gmail.com> wrote:

> Sure, maybe a good first step would be to agree on a "data" interface
> to be used.
>
> On Dec 14, 2007 4:52 AM, Amita Vadhavkar <am...@gmail.com>
> wrote:
> > Thanks Luciano, I will give a try to implementation-data-sdo.
> > -Amita
> >
> >
> > On Dec 13, 2007 5:18 PM, Luciano Resende <lu...@gmail.com> wrote:
> >
> > > Looks like you are starting to face some of the same issues I had in
> > > the past... I can see two issues here : Passing Data Graphs and Change
> > > Summary, and ensuring the client (e.g a web 2.0 application) would be
> > > SDO Enabled to handle this data representation and maintain it.
> > >
> > > Maybe a better alternative would be to leverage SCA to expose Data
> > > Service CRUD + Query interface utilizing SCA bindigns. We could
> > > leverage some of the work we have been doing on implementation.data
> > > for this and define a interface for SDO or for regular Pojos and use
> > > that interface as the main interface for the Data components.This
> > > would also give us some more flexibility in terms of what
> > > communication protocols would be supported (e.g ws, rmi, jsonrpc, etc)
> > >
> > > Well, these are only some initial thoughts, and I'd appreciate input
> > > from others on the community.
> > >
> > >
> > > On Dec 12, 2007 11:58 PM, Amita Vadhavkar <am...@gmail.com>
> > > wrote:
> > > > I could see that static and dynamic DOs (using xsd:anyType) can be
> > > passed
> > > > using web service, but when it comes to DataGraph containing
> > > ChangeSummary
> > > > is there a way to pass it as parameter?
> > > >
> > > > -Amita
> > > >
> > > >
> > > > On Nov 14, 2007 6:34 PM, Amita Vadhavkar <am...@gmail.com>
> > > wrote:
> > > >
> > > > > There is an old thread -
> > > > >
> http://www.mail-archive.com/tuscany-user@ws.apache.org/msg01951.html
> > > > > I am just trying to continue the discussion here to come up with
> > > > > requirement, use cases and a basic implementation.
> > > > >
> > > > > Standalone DAS can be used by client by having the required jar in
> > > > > classpath. By exposing DAS as WebService
> > > > > it will be able to
> > > > > - have remote multiple clients using same DAS Web Service.
> > > > >
> > > > > As first attempt - can try to have a basic cycle -
> > > > >  ...1) initDAS (), 2) create Command, 3) exec Command(), 4) let
> > > > > client modify DO, 5) applyChange
> > > > > with having the DAS web service tied to one database access.
> > > > >
> > > > > Later based on use cases, requirements, can make things more
> flexible.
> > > > >
> > > > > It may be needed to have session/conversation management - as the
> > > > > above steps make meaning in the same session
> > > > >
> > > > > For this implementation.das type component can have a wsdl
> binding.
> > > > > das config.xsd as well as other static model xsds (like
> company.xsd..)
> > > > > can be refed in the wsdl.
> > > > >
> > > > > 1> initDAS - based on impl.das component's <ConnectionInfo> can
> help
> > > > > in getting the DB Connection to DAS runtime.
> > > > > Also, static model xsds can be made known to DAS at this time.
> > > > >
> > > > > 2> as <Command> structure is known in config.xsd - it can be used
> as
> > > > > return type of response of createCommand()
> > > > >
> > > > > 3> command.executeQuery() in DAS returns a DO. It may need to be a
> > > > > particular DO Type array like Company[].
> > > > >
> > > > > 4> There can be problems in Dynamic DAS approach(i.e. DAS without
> > > > > model xsds), as the model is not know before runtime,
> > > > > wsdl can not know the complex type to expect as return of
> > > > > executeCommand(). There can be workarounds like form model
> > > > > based on DB SChema beforehand and use it. But what is the
> usability of
> > > > > this? i.e. Dynamic DAS as Web Service?
> > > > >
> > > > > 5> like in executeQuery() return type is a known type DO, in
> > > > > applyChanges(DO) a known type can be passed to DAS for persisting
> in
> > > > > DB.
> > > > >
> > > > > All the above will need some wrapping around the existing APIs to
> > > > > support specific model types passing back and forth.
> > > > >
> > > > > Please share your thoughts.
> > > > >
> > > > > Regards,
> > > > > Amita
> > > > >
> > > >
> > >
> > >
> > >
> > > --
> > > Luciano Resende
> > > Apache Tuscany Committer
> > > http://people.apache.org/~lresende<http://people.apache.org/%7Elresende><
> http://people.apache.org/%7Elresende>
> > > http://lresende.blogspot.com/
> >
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: tuscany-dev-unsubscribe@ws.apache.org
> > > For additional commands, e-mail: tuscany-dev-help@ws.apache.org
> > >
> > >
> >
>
>
>
> --
> Luciano Resende
> Apache Tuscany Committer
> http://people.apache.org/~lresende <http://people.apache.org/%7Elresende>
> http://lresende.blogspot.com/
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tuscany-dev-unsubscribe@ws.apache.org
> For additional commands, e-mail: tuscany-dev-help@ws.apache.org
>
>

Re: [DAS] DAS as web service

Posted by Jean-Sebastien Delfino <js...@apache.org>.
Amita Vadhavkar wrote:
> I am checking impl-data-pojo from the sandbox and also can see the generic
> org.apache.tuscany.sca.implementation.data.collection.Collection from
> impl-data-api.
> I guess this interface is generic and can be used as the starting point for
> any sample
> implementations like what is there in impl-data-pojo. Just one question, why
> do we need
> to copy Collection interface in
> org.apache.tuscany.sca.implementation.openjpa.collection?
> 

+1 to use the Collection interface from implementation-data-api, hoping 
that we keep it as slim as it currently is.

[snip]
-- 
Jean-Sebastien

---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-dev-help@ws.apache.org