Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[corona-dev] A format for repository.

The problem I mentioned at the of conference is how we distinguish a specific format of a repository.

Lets take for an example a team member repository based on JDBC. We have a way of selecting users in team by a resource subset. After running the query each row is a single team member. Now, I need a name of a user. How do I know which column contains this information? We can assume that the column is called "name". But some company X may have a database with column "user_name". They won't change name just to make Corona work.

I find two possible solutions:
1) We try to create generic access to database and provide a mapping between required data and columns. So in our database "user name column" would be mapped to "name", while in company X environment it would be mapped to "user_name". In this case, access type would be simply "JDBC". 2) The access type carry information about a format. So in first case, the access type "corona_team_jdbc" while in second "companyX_team_jdbc". Then the "access type" attribute is more about format. It is easy, but new deployments require more effort - some code must be written instead of just configuration.

There is definitely one argument for the second approach. While it is easy to make a generic repository reader for JDBC or XML, it is impossible for Web Services, RMI, etc. The access type set to "WebService" says nothing how to use a service. Additionally there no easy way to describe how to interact with a web service (what is a request). The only way I know that may be used for this is semantic web services (OWL-S: http://www.w3.org/Submission/OWL-S/), but implementation wouldn't be easy.

The reason it bothers me is that I need to implement an access to a team repository and I don't know which approach should I take.

Marcin

P.S.
I won't reply for your comments until tomorrow, since I'm finally going home :) The contents of this e-mail are intended for the named addressee only. It contains information that may be confidential. Unless you are the named addressee or an authorized designee, you may not copy or use it, or disclose it to anyone else. If you received it in error please notify us immediately and then destroy it.

Back to the top