[dais-wg] Telcon Minutes from 19/04/05.

Mario Antonioletti mario at epcc.ed.ac.uk
Wed Apr 20 06:00:57 CDT 2005


DAIS Telcon - 19/04/05
======================

Chair: Norman Paton
Notes: Mario Antonioletti

Attendees:
----------
	   Dave Pearson, Oracle
	   Norman Paton, University of Manchester
	   Mario Antonioletti, EPCC
	   Simon Laws, IBM
	   Savas Parastatidis, University of Newcastle
	   Amy Krause, EPCC
	   Dave Berry, NeSC
	   Susan Malaika, IBM
	   Allen Luniewski, IBM

Agenda:
-------
	Specification Issues; 
	OGSA Data Architecture; 
	Mappings

Actions:
--------

[Norman] Create a list of options for update of disconnected data sets.

[Simon] Write up the top level IO operation to go in the core spec.

[Mario/Simon/Amy] Look at DAIS issue 1200 and either decide what needs
                  to done to resolve this and respond accordingly on
                  Grid Forge or flag it as an issue that needs to be
                  discussed at some future telcon.

[Mario] Continue working on the DAIS contribution to the data
        architecture.

[Susan] Look the names and what influence the DMTF have on the XML
	attributes and elements being used for the resource properties
	in the CIM model and report back to the group.

Completed Actions
-----------------

[Simon] Post note to list on refined GGF13 proposal and relationship to 
        mapping approach (4).

	Done.

[Norman] Seek to ensure that relevant OGSA/WSRF people are following the 
         process.

	 Done.

+---

Specification Issues:

Want to ensure that there are no big open issues that we are failing
to address. There are 6 weeks to the document submission deadline.

In WS-DAI have 3 issues worthy of discussion:

977: Semantics of disconnected data sets

also 1370 - can you push data back in to the data resource. With
disconnected data sets we do not provide a mechanism to write back to
them.

Simon: that's not necessarily true. We don't prevent people from
       implementing any old interface.

Norman: ok, people can use extensibility but we don't specify
	operations for pushing data.

Dave Pearson: but we don't allow disconnected data sets to be reflected
	     back on to the data resource.

Norman: that's fair enough as that could be complicated. The other
	thing that we don't provide is the opportunity to push it
	somewhere else - as in a SaveInTableOfGivenName type of
	operation, or to save itself in a given location.

	The ability to write to a disconnected data set - can we
	specify operations analogous to the the get data or should we
	leave as is and allow other things to write to the data
	resource?

Simon: in theory - in the way you construct disconnected data sets -
       you could create an interface that could do this ...

Norman: but then it will not be standardised...

Simon: you could extend the service and use what ever you like or you
       could use interfaces that we already provide - you could use
       SQLExecuteFactory that allows you to pose a SQL select which is
       then disconnected but that would also have a SQLExecute on that
       that which would then provide you with the ability to do an
       update.

Dave Pearson: I was thinking along the lines... 

Mario: can we express the source of data that is separate from the
       messages?

Norman: no, we can't.

Simon: yes, we do not have a way of specifying this.

Dave Pearson: so we cannot support a bulk load procedure then?

Norman: yes, you could send a collection of insert operations - now,
	if we are seeing the disconnected data sets as a way of doing
	bulk transfer out of a data service then the obvious solution
	is to use this the other way round.  In which case what does
	one do? We allow data to go out but we don't provide any way
	of moving that data to the database. As a client you would
	have to extract the data and then do a bunch of inserts which
	is not very satisfactory.

Susan: JSR 114 specifies a way of updating a disconnected data set
       and to send them back. When people want to do major bulk loads
       they will generally use comma-separated-values so there are two
       or three ways that one could go about doing this.

Simon: I think we should note it and not put it in, as it's linked in
       with a bunch of stuff that we've looked at in the past...

Norman: there is the question about disconnected data sets and then
	there is another question about pushing the data back. Let's
	look at these.  A solution for some of these may be
	straightforward ... there is a lack of symmetry at the moment.

...

	We can let people use whatever they want - that's there
	already or we provide operations to put tuples into the data
	resource - that would be quite an easy thing ....

Susan: might be easy if you don't allow deltas, otherwise it might be
       difficult.

Dave Pearson: have to be careful as to what we mean by updates and
	     inserts - there may be issues about referential
	     integrity. The underlying data may be changed in the
	     meantime ... I don't think we should go down the path of
	     updates ....

Norman: this is one of the reasons why I'm trying to deal with things
	separately. Given that we are interacting with a disconnected
	artifact what are the analogues of the get operations - the
	put tuples? ...then there's the question, assuming that is
	fairly straightforward, how do you associate that with the
	database.  You can reflect back ... Susan says that JR114
	provides a way of doing this.

Susan: you can tell which are inserts/changes/deletes ... you can
       implement it how you like - how you lock is your business.

Norman: we could provide a reflect back operation which merely states
	that the reflect operation has the semantics as in JSR114 and
	then not specify much else. Then there is the StoreInSomePlace
	type of operation that effectively does a bunch of inserts -
	you give it the collection name and the table name ... that's
	another possibility and that too does not sound too difficult

Simon: so you are taking one data resource and tell it to combine
       itself with another data resource?

Norman: yes, avoids unnecessary communication.

Simon: it sounds like a simple and general operation that would
       provide real value. Not sure how we do it in DAIS - whether we
       do something specific to DAIS or propose something more
       general. It's tied into the transport mechanism....

Norman: so my take is that it should not be tied to the transport
        mechanism.
	
...

       We have a number of possibilities. The relevant functionalities
       are missing. Have looked at this before but shied away because
       the bulk loads tend to be database specific but maybe we can
       use the disconnected data set idea ....

Dave Pearson: if you wanted to do an update on disconnected data sets
	     you might use a bulk update ... you would want to have
	     the same update to be consistent across the whole data
	     set.

Norman: if one supports change on a derived artifact then you want to
	know what those are like ... if you use predicates then it
	begins to become a more sophisticated interface ... another
	approach is to have something quite simple. ... then that
	raises the question about delete as well.....

Dave Pearson: if people want to update data then they should do it
	     within the context of SQL within a database at least for
	     this initial release and if you want to do updates then
	     you should use the update syntax.

Norman: we could leave as is or look at the different
	capabilities. Can post issues to the list .....

*Norman takes an action to do this*

Susan: one of the things that compounds this is that any
       implementation would not have to parse the request and in this
       case we would have to do that ...

Norman: I did not have it in mind to do any parsing ...

Simon: if we came up with a list of the options then that would be
       useful.

Norman: next one is, top level default access... are we going to try
	to put the operation in the spec?

Simon: I think we should write it up. That would then go on the top
       level spec.

*Simon takes an action to do this*

Norman: Issue 1200 - inconsistent representation of properties in the
        specs.

Simon: the answer is probably yes, and we should have done it before.

* Simon, Mario and Amy take an action on this*

Norman: there are other things in the relational context there are two
	that we should touch base on ... 1997 the nature of the
	properties as place holders for the CIM name .... what is
	there may not eventually go in the DAIS specs.

Mario: We could specify the name space and not enumerate as we are
       beginning to do this ...

Susan: the XML for the CIM model is currently being generated...

Mario: we could just use the name space ...

Susan: that might work.

*Susan takes an action on this*

Norman: 1198 ... we can just fix this. On the XML spec there are 5
	outstanding issues .... are any of these closed?

Amy: ... there is 1086

Mario: this was me ... what are the semantics when you associate an
       XML schema with an existing collection of XML documents - do
       these have to validate? Moreover if this type of functionality
       is not supported by the underlying data resource do you then
       have to support it at the service level? The get out clause is
       that these operations are optional ...

Norman: it could fault if that capability is not provided. So it just
	needs to be added to the document and the issue closed. What
	about XUpdate?

Amy: we decided to keep that ...

Norman: inconsistent factory portTypes ...

Amy: that can be closed now.

Norman: any other issues Amy?

Amy: No.

Norman: Moving on to data architecture. Is there anything that DAIS
        can do for the data architecture? Dave Berry has asked for
        some text on DAIS.

Mario: I wrote some text which may have been too DAIS specific...

Dave Berry: would like to see something about the patterns used - what
	   interfaces are required for reading/writing - an overview
	   and then the specifics.


Norman: maybe you could use DAIS as a case study for identifying the
	level of detail that you require for the data architecture
	... it has properties identifying some of the semantics but
	not operations ...

Dave Berry: have an action to give more guidance on how to do
	   this. There are various people working on this at the
	   moment. So not quite accurate that WS-DAI would be the
	   template ....

Norman: ... just trying to be helpful. The fact that DAIS is silent on
	third party delivery means that there is a hook there that
	needs to be filled ... the data architecture document only has
	text and the only point where it is specific is that it lists
	properties but it does not clump behaviours in a diagrammatic
	fashion ... could use our experience for that ...

Dave Berry: that would be useful ...

Norman: that would require more detail in the DAIS section - to what
	level of depth you describe the properties and what do you do
	for the messages and the WSDL ....

Dave Berry: would be helpful to go round the loop a couple of times...

Allen: we do not want to copy masses of text from the other specs...

Norman: and there are specs that are missing, need to establish the
	level of detail that is going to be used .... Mario can keep
	the token ... Mario will evolve that and circulate round the
	usual suspects ... 

*Mario takes an action on this*

	are there any other things that should be doing?


Dave Berry: need people to contribute to the sections and then get
	   people to comment ... there's a meeting in London on May
	   26th - we can get more people to attend - a follow-on from
	   OGSA working group ... if anyone is interested please come
	   along.

...

Norman: move on to mappings ... since last week Simon posted a more
	detailed description between options 3 and 4 and Savas cobbled up
	some WSDL ... when I look through the WSDL I was looking for
	the relationship between option 3 and 4 but I did not see
	resource names being made available as opeartion parameters ...

Savas: there is a message called SQLQueryStorebyref .... this returns
       a string which is a reference to the stored web rowset. there
       webrowsetcount which accepts a name which is a name for the web
       rowset which was previously stored ....

Norman: there is no explicit name for the data resources though...

Savas: you could do that ....

Norman: what I'd like to get is an understanding the extent to which
	we can write the same spec for options 3 and 4 with the
	variation of where you put the MUSTs and SHOULDs in the specs
	so that they have largely the same message body .... with
	option 3 imposing some prioritisation on what you do in the
	implementation.

	If we were to do a type 3 proposal and did it in such a way
	that you could have type 4 - people preferring
	interoperability to flexibility - then this would mean a
	minimum change in the MUSTs and SHOULDs...


Simon: this hinges of the availability of the name in the message and
       whether you make this optional .... Savas can map a name to an
       EPR - have called this the conduit before. ...  These things
       used in combination could solve the problem but we've not put
       that in the same WSDL ....

Dave Berry: this notion of getting together at the ogsa face-to-face on
	   May 25th ... use WSRF and DAIS folks to discuss this topic.

Norman: we will need to decide very soon so we are likely to have made
	a decision before May but aspects of detail could be looked at
	in mid-May.  ...  It would be a good opportunity to air our
	approach.

*Discussion as to who could make it and whether this could be done*

...

        The question: given the explicit naming of resource how close
	can we make the message bodies.

Savas: all the DAIS messages can be identical whether you are using a
       WSRF/non-WSRF solution. The difference is in how you identify
       the resources in these messages. The name is going to be
       optional....

Norman: understand the name optionality ... but let's take the
	response in the factory case - you have defined it to be a
	string but in reality it is a choice of something - a string
	in one context or an EPR in another ...

Savas: you could have a choice or you could have an extra set of
       messages to convert the name into an EPR.

Norman: or the other way round ...

Savas: but if you do the other way round you break the WS-I Basic
       Profile assumption.

...

Norman: you are drawing the line further up stream by not including
        ws-addressing than I thought... what is the status of
        ws-addressing?

Savas: they are in the last call. Will become a recommendation in
       weeks or a couple of months if there are not major last call
       issues ... a recommendation and not a standard
       .... recommendations are considered stable in W3C.

Norman: have been slightly careless, there is the WSRF people and the
	non-WSRF people but I assumed the latter people would also use
	WS-Addressing ....

Savas: don't get me wrong - I like WS-Addressing but WS-I Basic
       Profile does not have WS-Addressing.

Norman: so we have pure WS-I, WS-I + WS-Addressing or WS-RF.

Simon: there is a subtlety in that point as we are returning something
       to return a disconnected data set ... we need something to
       abstract away ...

Dave Pearson: Tom Maguire suggested that you might need 2 trips to do
	     that resolution ... even if you are using WSRF.

...

Norman: the likely definition of a response type - what is that likely
        to be?

Simon: good question, we need to do some work. Dangerous to specify a
       new type - will take you a long time to standardise it. Don't
       want something arbitrary either though ...

Savas: the issue that Simon identified - given an EPR not knowing the
       underlying data resource, if you want to identify that, whether
       you use an EPR or a name, requires additional semantics - could
       use a URI that specifies the type but then you will have to
       identify the type - this is not possible with an EPR as that is
       opaque. You can however do it by having an additional message
       exchange ....

Simon: also attracted by having a structure that allows you to hold
       other things such as the type ... to avoid the naming scheme
       .... maybe that is something that we should revisit.

Savas: as it is a DAIS spec then you can do what you like as long as
       you don't expect other services to use it.

Norman: our hope is to produce a model that others feel comfortable
        with - on the way in we can define messages bodies with
        optional names - that seems ok ....  then can you have as
        little pain in the results in the context of the factory
        pattern ...

Savas: have my proposal, then you have your possibility with the
       compound element and then there is the choice but choices 
       are tricky programmatically ...

...

Dave Pearson: does the top level operation produce complications?

Simon: if we include the name as optional then we would have to
       ... this is a message which is generic across lots of different
       types of data resources .... it's not the same as your resolve
       operations - accept lots of messages to access the data ...

...

Norman: we need to get ourselves into a position where we understand
	the implications of the specs for defining a type but have a
	prioritisation for these messages - Savas has generated some
	WSDL and has shied away about putting in the optional names in
	the body ... now we are exploring the factory pattern - the
	result types for the factory pattern.

Simon: and how we can handle the optional names. Easy to put these
       into the specs if we know what these look like or how we avoid
       using a structure for them...

Savas: if it's a URI ....

...

Norman: a URI sounds ok for me ...

Savas: but it still does not give you any semantics ..

Norman: but we don't need any semantics ...

Savas: but if you don't need semantics you can just have a string ...

Simon: if we accept the name then it's resolving whether we have a two
       call structure for the factory or we have a complex
       data structure...

Savas: you could have something from a name space that is not
       standard...

Simon: my concern is about the 2 call operation is where you call to
       perform the resolve operation - the same service> ....

Savas: I assume that there is only one service .... I want to indicate
       that there is only one service and all you have to know the end
       point ....

Simon: I don't agree with that ... have to take into account where
       these do not have the same end point ... resilience for
       instance...

Savas: but then you have replication ...

Simon: or you could have versioning ....

Savas: I don't understand ... 

Norman: but the factory pattern allows flexibility as to which end
	point handles your results ...

Simon: or which interface handles your results... the end point
       required to handle the disconnected data resource could be
       different from that which was used to generate it ...

Norman: that sounds sensible......

Dave Pearson: does WSRF not require you to have a different end point?

Simon: you could have a different end point but the same service - it
       depends on what you mean by service.

...

Simon: it sounds like the thing to do is to work these issues into the
       WSDL and go round the loop again ... there is a danger in
       extending the WSDL into something that you cannot understand
       but then you can then reduce it to something you can understand
       ....

Savas: can add things to the WSDL - I can produce the WSDL if you let
       me know what you want ...

Norman: optionality and then whether you are dealing with a bridge or
	a complex type. This affects the types and what the bridging
	operations are

Savas: also the issue of resource properties ...

Norman: don't think that is tricky - when you are in WSRF you use the
	ResourceProperties and you use analogous messages when you are
	not ... in WS-I case you have to define some extra messages
	for lifetime and managing the resource properties ....

Simon: useful to use the same terminology ...

Norman: if DAIS is going to have a twin track want to make them as
	similar as possible.

        It would be useful to have examples the extended WSDL and to
	have a note of what the options are in the WSDL.

*Savas and Simon will continue the evolution of the WSDL and options
with Norman in the loop*


+-----------------------------------------------------------------------+
|Mario Antonioletti:EPCC,JCMB,The King's Buildings,Edinburgh EH9 3JZ.   |
|Tel:0131 650 5141|mario at epcc.ed.ac.uk|http://www.epcc.ed.ac.uk/~mario/ |
+-----------------------------------------------------------------------+





More information about the dais-wg mailing list