On Sun, May 2, 2010 at 8:15 PM, Amila Suriarachchi <am...@wso2.com> wrote:
>
>
> On Sun, May 2, 2010 at 4:23 PM, Anjana Fernando <anj...@wso2.com> wrote:
>>
>> Hi,
>>
>> > The current implementation has written as an above layer to data
>> > services
>> > which generates the .dbs file.
>>
>> Actually this tool, as u mentioned, is intended to be working on a
>> higher layer. Because, the simple purpose of this tool is to quickly
>> create a data service with the basic functionality given a RDBMS data
>> source. Where it is actually expected that the user will customize the
>> generated data service by adding new queries/operations and removing
>> existing ones.
>
> yes. If the idea of this tool is to generate a scratch dbs file then even we
> don't have to think
> much about operation names etc ... Then you can think of what I have
> suggested as a new feature.
>

Yeah.

>>
>> And also to notice is, relational database based data
>> sources is only one of the possibilities that data services can
>> handle, where others are excel, csv, gspread etc.. and also can be
>> easily extended to support other data sources.
>
> I am not clear about what you try to point out. I assume the tool already
> written is rational db specific.
>

Here I was actually meaning to refer to the idea of introducing
special syntax for the RDBMS based data services, i.e. <tableService
tableName="..">, where it is not a generic function common to all type
of data sources.

>>
>> > But instead if we can improve the dbs file (hence data services) to add
>> > some thing as follows to have this feature.
>> > <tableService tableName="table" serviceName="tableService">
>> > </tableService>
>>
>> If we give such special syntax in the dbs for RDBMS, in my opinion, it
>> will basically undermine the data sources abstraction we have. And
>> also, by adding such an option, the user will not be able to control
>> the operations automatically created by the data services deployer,
>> and also it will make the current dbs syntax complex, where we now
>> have a very simple syntax and easy to manage. Also about having many
>> services in one dbs file, it may create some subtle problems like, how
>> to manage hot-deployment, because the dbs file was changed, so even if
>> only a single service is actually changed, all the services will be
>> re-deployed. And as I see, having one dbs file per service seems
>> logical.
>
> Letting users to define multiple services in one file is an addition hence
> it is always advantages.
> Here it is not a must to have more than one service. They can still deploy
> one per dbs. They can
> define multiple services in one file only if it is useful to their scenario.
> Same as axis2 services.xml.
>

Yeah, true .. I was thinking along the lines of, if it would be worth
the trouble of implementing such a thing, considering that, this was
not part of the initial design of data-services, to expose multiple
services in a single dbs file .. anyways . I agree with your point :)
..

> Having different types of services has its pros and corns.
>
> As you have mentioned it won't allow to have a data-source abstraction and
> can lead to different configuration format for different type services. On
> the other hand it may make simple thing complex.
>

Yeah.

> for an example if a user wants to expose a table as a service with default
> operations still he has to write all the queries by hand. ( this is why you
> need to provide the tool)

If I understand what you meant here correctly, yeah that is the
objective of the tool. It just creates a basic data service for the
user to start with, this option will most probably be integrated in
the DS Wizard, where a user is selecting a RDBMS data source, and he
will be presented with the option to immediately create a data service
with the default operations (that is without going through the rest of
the steps in the wizard).

>
> thanks,
> Amila.
>
>>
>> On the topic of having whttp location details for a service, in data
>> services, we have a separate section on creating "resources" for a
>> data service, where we can give the resource name and the HTTP method
>> of accessing those resources.
>>
>> Cheers,
>> Anjana.
>>
>> On Sun, May 2, 2010 at 11:08 AM, Amila Suriarachchi <am...@wso2.com>
>> wrote:
>> > Let me say some thing I was thinking about this.
>> >
>> > Actually I got a similar idea after reading this article[1]. Here Keith
>> > keeps some Student data
>> > in memory which should have kept in a data base table. So if we write a
>> > data
>> > service which generates
>> > a service as he has given by looking at a database table that would
>> > given a
>> > practical example to Axis2 restful services. Of cause this can be
>> > accessed
>> > with soap as well.
>> >
>> > The current implementation has written as an above layer to data
>> > services
>> > which generates the .dbs file.
>> >
>> > But instead if we can improve the dbs file (hence data services) to add
>> > some
>> > thing as follows to have this feature.
>> >
>> > <tableService tableName="table" serviceName="tableService">
>> >
>> > </tableService>
>> >
>> > I assume dbs deployer can generate the service with whttp location
>> > details
>> > for this kind of service.
>> >
>> > And also this solves the problem samisa has mentined. Now DBA don't have
>> > to
>> > copy the generated dbs files but just have to put an entry for the
>> > tables he
>> > need to generates the services.
>> >
>> > thanks,
>> > Amila.
>> >
>> > [1] http://wso2.org/library/3726
>> >
>> > On Sun, May 2, 2010 at 10:29 AM, Amila Suriarachchi <am...@wso2.com>
>> > wrote:
>> >>
>> >>
>> >> On Sun, May 2, 2010 at 9:26 AM, Samisa Abeysinghe <sam...@wso2.com>
>> >> wrote:
>> >>>
>> >>>
>> >>> On Sun, May 2, 2010 at 9:20 AM, Amila Suriarachchi <am...@wso2.com>
>> >>> wrote:
>> >>>>
>> >>>>
>> >>>> On Sun, May 2, 2010 at 7:28 AM, Samisa Abeysinghe <sam...@wso2.com>
>> >>>> wrote:
>> >>>>>
>> >>>>> Some comments on generated DBS file:
>> >>>>> 1. Query IDs: Are we using camel case? e.g.
>> >>>>> selectAll_jk_test_table_1Query. I understand the table name
>> >>>>> is jk_test_table_1 (and yes we can have anything here, as it comes
>> >>>>> from the
>> >>>>> DB). But why do we have "selectAll_" as prefix and "Query" as suffix
>> >>>>> and not
>> >>>>> "_Query". Same applied to other query types as well.
>> >>>>> 2. Should we have "select_all_" as prefix and "_query" as suffix?
>> >>>>> Basically, all lower case. Same applied to other query types as
>> >>>>> well.
>> >>>>> 3. "selectAll" vs "selectFrom". I do not think "selectFrom" is the
>> >>>>> correct prefix. Because, even "selectAll" uses "SELECT * FROM" in
>> >>>>> the query.
>> >>>>> The main difference between them is "WHERE". So why not use
>> >>>>> "selectWhere",
>> >>>>> (or "select_where" as per 2) here? "selectFrom" confused me when I
>> >>>>> had a
>> >>>>> first look at the dbs, and I had to look back at select all, to
>> >>>>> understand
>> >>>>> the difference. We should also consider something like
>> >>>>> "select_with_key" as
>> >>>>> prefix for this, as that makes it more readable
>> >>>>> 4. Why use "add_" for INSERT and not "insert_" as the prefix. That
>> >>>>> looks out of the bunch as all other operations use the same SQL
>> >>>>> keyword as
>> >>>>> operation prefix
>> >>>>> 5. The same concerns raised from 1 to 4 above apply to operation IDs
>> >>>>> as
>> >>>>> well, except for the operation name suffix
>> >>>>> 6. Why not use "_operation" or at least "_op" as suffix for
>> >>>>> operation
>> >>>>> name?
>> >>>>
>> >>>> First I think no need to use the table name either in dbs/query or
>> >>>> wsd/operation since these operations under the service which has the
>> >>>> table
>> >>>> name.
>> >>>
>> >>> But the point is, that we can have the user first generate this and
>> >>> then
>> >>> customize it to suite their needs. What if the DB had only 5 tables,
>> >>> and the
>> >>> user generated the DBS files and copied all those into one to make one
>> >>> service?
>> >>
>> >> For this problem my suggestion is to improve the data services dbs file
>> >> to
>> >> have many services like in services xml.
>> >>
>> >> My point is we should not think a service as an arbitrary collection of
>> >> operations. Operations of a service should be related. I think that
>> >> improve
>> >> the readability of the both wsdl and dbs.
>> >> Anyway this depends on the scope we going to define for a service.
>> >> table
>> >> or a whole database.
>> >>>
>> >>> I think it is not a good idea to assume that the generated file would
>> >>> be
>> >>> used as it is... and it is good to have the table name in that case.
>> >>>
>> >>>>
>> >>>> What we have is a standard five queries/operations. This can either
>> >>>> be
>> >>>> select/selectAll/insert/delete/update or get/getAll/put/delete/post
>> >>>> if
>> >>>> thinking in REST way.
>> >>>> All operation names can be suffixed as Query in dbs and Operation in
>> >>>> wsdl.
>> >>>>
>> >>>> For select operation I think it is enogh to say select becuse both in
>> >>>> dbs and wsdl it implies this opeation takes an input parameter.
>> >>>
>> >>> Well, we are assuming Web services knowhow in this case I guess - it
>> >>> is
>> >>> good to have that info in there for the sake of folks who do not
>> >>> understand
>> >>> Web services like DBAs.
>> >>
>> >> Anyway there is no harm adding some suffix for select operation.
>> >>
>> >> What I think of in the web service consumers point of view. The only
>> >> thing
>> >> the see is the wsdl. Therefore the generated wsdl should be self
>> >> descriptive
>> >> and better to follow the common patterns.
>> >>
>> >> For DBAs they kind of know what type of service they generate and what
>> >> type of operations they should expect. (May be reading the
>> >> documentation :)
>> >> )
>> >>
>> >> thanks,
>> >> Amila.
>> >>
>> >>>>
>> >>>> eg. when there is a method select(int i) or get(int i) it implies
>> >>>> that
>> >>>> the parameter passing is some thing unique to return object.
>> >>>>
>> >>>>
>> >>>>>
>> >>>>> 7. Why not use "_data_service" or at least "_ds" as suffix for
>> >>>>> service
>> >>>>> name rather than just the table name? For e.g. if table name was
>> >>>>> "wes_client" make the service name "wes_client_data_service"
>> >>>>
>> >>>>
>> >>>> For this we can have an option to let users to define the service
>> >>>> name
>> >>>> as well.
>> >>>
>> >>> +1
>> >>>
>> >>>>
>> >>>> For default case I think it is enogh to have the Service suffix. What
>> >>>> web service consumer sees is the wsdl, for him no need to show how
>> >>>> the
>> >>>> service is generated.
>> >>>
>> >>> However, if you look at the service manager's service linsting page,
>> >>> it
>> >>> would be easy to have it say it is "data_service" so that it tells you
>> >>> at a
>> >>> glance that it is a DS.
>> >>>
>> >>> Thanks,
>> >>> Samisa...
>> >>>
>> >>>>
>> >>>> thanks,
>> >>>> Amila.
>> >>>>>
>> >>>>> In summary, we need consistency and also focus on readability, for
>> >>>>> the
>> >>>>> sake of maintainability, of the DBS. We cannot rule our someone
>> >>>>> trying to
>> >>>>> read this and understand what it is all about. I presume users will
>> >>>>> use this
>> >>>>> as the first step and then customize this manually to suite their
>> >>>>> needs.
>> >>>>> May be we should define some best practices to be followed when
>> >>>>> implementing DBS files, in general, and follow those guidelines in
>> >>>>> the
>> >>>>> generated file as well.
>> >>>>> Not sure if we already have guidelines on how to write a good DBS -
>> >>>>> if
>> >>>>> not we can make that part of this effort.
>> >>>>> Thanks,
>> >>>>> Samisa...
>> >>>>>
>> >>>>> On Sat, May 1, 2010 at 10:16 PM, Jasintha Dasanayaka
>> >>>>> <jasin...@wso2.com> wrote:
>> >>>>>>
>> >>>>>> Hi
>> >>>>>>  Here I attached both wsdl and dbs  which generated  for one table
>> >>>>>> service.
>> >>>>>> Thanks
>> >>>>>>  Jasintha
>> >>>>>>
>> >>>>>> On Sat, May 1, 2010 at 1:49 PM, Amila Suriarachchi <am...@wso2.com>
>> >>>>>> wrote:
>> >>>>>>>
>> >>>>>>> hi,
>> >>>>>>>
>> >>>>>>> Can you please send the generated wsdl for one table service?
>> >>>>>>>
>> >>>>>>> I am not sure how you have done it. Here you can nicely map
>> >>>>>>> insert,
>> >>>>>>> delete, update, select to four operations called put, delete, post
>> >>>>>>> and get.
>> >>>>>>> Then expose it as restful service[1].
>> >>>>>>>
>> >>>>>>> [1] http://wso2.org/library/3726
>> >>>>>>>
>> >>>>>>> thanks,
>> >>>>>>> Amila.
>> >>>>>>>
>> >>>>>>>
>> >>>>>>>
>> >>>>>>> On Fri, Apr 30, 2010 at 2:48 PM, Jasintha Dasanayaka
>> >>>>>>> <jasin...@wso2.com> wrote:
>> >>>>>>>>
>> >>>>>>>> Hi All
>> >>>>>>>>
>> >>>>>>>> I have finished the development of  all the basic functionality
>> >>>>>>>> of
>> >>>>>>>> the UI  wizard.  Some screen shots are attached.
>> >>>>>>>> Thanks
>> >>>>>>>> Jasintha
>> >>>>>>>> On Fri, Apr 23, 2010 at 2:50 PM, Jasintha Dasanayaka
>> >>>>>>>> <jasin...@wso2.com> wrote:
>> >>>>>>>>>
>> >>>>>>>>> It's a wizard. Following are the usage scenarios.
>> >>>>>>>>> Create
>> >>>>>>>>> 1. Select a data source
>> >>>>>>>>> 2. Select set of database objects of this data source
>> >>>>>>>>> 3. Generate data services for selected objects
>> >>>>>>>>> View/Edit
>> >>>>>>>>> 1. Select a data source & view existing data services created
>> >>>>>>>>> for
>> >>>>>>>>> it's objects.
>> >>>>>>>>> thanks
>> >>>>>>>>> Jasintha
>> >>>>>>>>>
>> >>>>>>>>> On Fri, Apr 23, 2010 at 2:33 PM, Samisa Abeysinghe
>> >>>>>>>>> <sam...@wso2.com> wrote:
>> >>>>>>>>>>
>> >>>>>>>>>>
>> >>>>>>>>>> On Fri, Apr 23, 2010 at 2:20 PM, Jasintha Dasanayaka
>> >>>>>>>>>> <jasin...@wso2.com> wrote:
>> >>>>>>>>>>>
>> >>>>>>>>>>>  Hi All
>> >>>>>>>>>>>
>> >>>>>>>>>>>  I am developing a new feature for data-service  .It can uses
>> >>>>>>>>>>> to generate data services for given database. It
>> >>>>>>>>>>>  generates data services
>> >>>>>>>>>>> for whole database.
>> >>>>>>>>>>>
>> >>>>>>>>>>>  It generates one service per one table that service has basic
>> >>>>>>>>>>> database operations(Insert, Delete, Update, Select by key and
>> >>>>>>>>>>> Select all).
>> >>>>>>>>>>>
>> >>>>>>>>>>>  This feature basically has two parts ,UI part and the back
>> >>>>>>>>>>> end
>> >>>>>>>>>>> part.The back end part of the feature I have already developed
>> >>>>>>>>>>> now i am
>> >>>>>>>>>>> developing the UI part of the feature.
>> >>>>>>>>>>>  I expect to complete this UI part with in the next week
>> >>>>>>>>>>
>> >>>>>>>>>> What does the UI do? I mean does it allow configuring, or
>> >>>>>>>>>> viewing,
>> >>>>>>>>>> or is it a Wizard??
>> >>>>>>>>>> Samisa...
>> >>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> thanks
>> >>>>>>>>>>> Jasintha
>> >>>>>>>>>>> --
>> >>>>>>>>>>> Jasintha Dasanayaka
>> >>>>>>>>>>> email: jasin...@wso2.com
>> >>>>>>>>>>> cell: +94 772 916 596
>> >>>>>>>>>>> blog: http://jasintha.org
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> _______________________________________________
>> >>>>>>>>>>> Carbon-dev mailing list
>> >>>>>>>>>>> Carbon-dev@wso2.org
>> >>>>>>>>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev
>> >>>>>>>>>>>
>> >>>>>>>>>> --
>> >>>>>>>>>> Samisa Abeysinghe
>> >>>>>>>>>> Director, Engineering - WSO2 Inc.
>> >>>>>>>>>>
>> >>>>>>>>>> http://wso2.com/ - "lean . enterprise . middleware"
>> >>>>>>>>>>
>> >>>>>>>>>> _______________________________________________
>> >>>>>>>>>> Carbon-dev mailing list
>> >>>>>>>>>> Carbon-dev@wso2.org
>> >>>>>>>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev
>> >>>>>>>>>>
>> >>>>>>>>>
>> >>>>>>>>>
>> >>>>>>>>>
>> >>>>>>>>> --
>> >>>>>>>>> Jasintha Dasanayaka
>> >>>>>>>>> email: jasin...@wso2.com cell: +94 772 916 596
>> >>>>>>>>> blog: http://jasintha.org
>> >>>>>>>>>
>> >>>>>>>>
>> >>>>>>>>
>> >>>>>>>>
>> >>>>>>>> --
>> >>>>>>>> Jasintha Dasanayaka
>> >>>>>>>> email: jasin...@wso2.com cell: +94 772 916 596
>> >>>>>>>> blog: http://jasintha.org
>> >>>>>>>>
>> >>>>>>>>
>> >>>>>>>> _______________________________________________
>> >>>>>>>> Carbon-dev mailing list
>> >>>>>>>> Carbon-dev@wso2.org
>> >>>>>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev
>> >>>>>>>>
>> >>>>>>>
>> >>>>>>>
>> >>>>>>> _______________________________________________
>> >>>>>>> Carbon-dev mailing list
>> >>>>>>> Carbon-dev@wso2.org
>> >>>>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev
>> >>>>>>>
>> >>>>>>
>> >>>>>>
>> >>>>>>
>> >>>>>> --
>> >>>>>> Jasintha Dasanayaka
>> >>>>>> email: jasin...@wso2.com cell: +94 772 916 596
>> >>>>>> blog: http://jasintha.org
>> >>>>>>
>> >>>>>>
>> >>>>>> _______________________________________________
>> >>>>>> Carbon-dev mailing list
>> >>>>>> Carbon-dev@wso2.org
>> >>>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev
>> >>>>>>
>> >>>>> --
>> >>>>> Samisa Abeysinghe
>> >>>>> Director, Engineering - WSO2 Inc.
>> >>>>>
>> >>>>> http://wso2.com/ - "lean . enterprise . middleware"
>> >>>>
>> >>> --
>> >>> Samisa Abeysinghe
>> >>> Director, Engineering - WSO2 Inc.
>> >>>
>> >>> http://wso2.com/ - "lean . enterprise . middleware"
>> >>
>> >
>> >
>> > _______________________________________________
>> > Carbon-dev mailing list
>> > Carbon-dev@wso2.org
>> > https://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev
>> >
>> >
>>
>>
>>
>> --
>> Anjana Fernando
>> Software Engineer
>> WSO2, Inc.; http://wso2.com
>> lean.enterprise.middleware
>
>



-- 
Anjana Fernando
Software Engineer
WSO2, Inc.; http://wso2.com
lean.enterprise.middleware

_______________________________________________
Carbon-dev mailing list
Carbon-dev@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev

Reply via email to