| Discussion leader: Bruce Toback
Revised RETS 2.0 schedule The initial item on the agenda was to set the schedule for introduction and mainstreaming of RETS 2.0. The initial suggestion from Bruce Toback was that a working draft of RETS 2.0 be put out in time for the March 2005 meeting and that the RETS 1.8 final period (starting in November 2005) run alongside the RETS 2.0 draft period. RETS 2.0 would then become final at November 2006.
Nearly everybody in the group thought that this proposed schedule was stretched out much too far. There was a short discussion on whether a RETS 2.0 draft could be published in time for the December meeting, including an initial implementation (as is desired for RETS 2.0). Steve Verba said that he believed his company could in fact write an implementation on that schedule provided that the initial draft could be published incrementally and starting no later than mid-September. There was also discussion of whether the RETS working group, with its limited resources, should even be publishing a RETS 1.8, which would dilute developer resources and might cause confusion in the marketplace. As the alternative, key changes for 1.8 should be incorporated in 1.7, and the November 2005 "final" draft should be version 2.0, standing alone. There was general assent to this schedule revision, and the discussion leader quickly switched to leading the group in the direction that it was obviously going to go anyway. The issue of making a late-cycle modification to RETS 1.7 is to be put before the full group on Thursday.
The group then created a short list of high-level architectural decisions that need to be made:
- Transport
- Security model
- Query language
- Metadata architecture
- COMPACT format
- Rule metadata for UPDATE
- Update architecture in general
- Expansion of the transaction set
Discussion was begun on making these decisions. Some discussion took place during the regular workgroup session, with more work time scheduled for after the plenary session on Thursday.
Transport Since the group had already decided on using SOAP in earlier conference call discussions, and since it was desired to use WS-Security to implement the security requirements of the standard, the group decided to use all of web services. There was no consensus on whether a UDDI registry was required: while it would not be of much use for the MLS part of RETS, it would certainly be of use in other parts of the transaction. The group agreed to postpone the discussion of UDDI pending further investigation and determination of the initial transaction scope.
Metadata Architecture The initial suggestion for a RETS 2.0 metadata architecture was to use XML Schema to describe the data, and this sentiment persisted throughout the discussion. Several participants pointed out that schema by itself is insufficient to provide all of the metadata now present in RETS -- the update metadata was mentioned particurly. The group discussed the suggestion that there be multiple metadata types, as now, with transactions to retrieve the additional parallel metadata. There was brief discussion of incorporating some of the additional metadata into the schema document itself, but several members pointed out that there may be no way to get to this "embedded" metadata using standard tools so the discussion point was not followed up.
The issue of retaining tool support was also discussed with respect to lookups: lookups need to be accessible to rich clients in order to construct a user interface. However, if lookups are moved out of the schema, then schema loses its value for validation. So it looks like there might have to be redundant specification of lookups in order to fulfill both requirements.
A motion to use schema for metadata representations passed 20-0.
COMPACT Retention There was a lively discussion on whether or not to keep COMPACT. The arguments against keeping the included:
1. Double-escaping requirement
2. No possibility of structure information
3. Securing individual fields, a key goal of RETS 2.x, would require inventing an entirely new security apparatus
4. No standard tools to handle COMPACT
5. Requires that server vendors maintain two different methods to do the same thing
The primary arguments in favor of keeping it included simplicity and particularly, performance. It was pointed out that perhaps the performance issue was really a symptom of another issue: either improper pricing, meaning that users downloaded large fractions of a data base simply because it was easy to do; or lack of any other way of effectively maintaining a distributed data base. Part of the group thought that if these two problems were fixed, then performance on large downloads wouldn't be an issue because there would be fewer of them. This was disputed by the other part of the group, and no consensus developed on the issue.
Binary XML was suggested as one solution to the performance problem, and Steve Verba noted that there was already an implementation of WBXML in the Sandbox. The group agreed that we should look at the updated Binary XML standard to see if it could meet the needs for better performance.
A vote was taken on a motion to elminate COMPACT in 2.0. The motion passed with 26 in favor and 2 opposed.
Query Language The group briefly reviewed the information produced by the group investigating query languages. The short summary was that of the languages reviewed, three seem to meet some of the criteria: an SQL dialect, the W3C standard Xquery and a revision to DMQL2, to which the group gave a working name of "DMQL3". Sergio Del Rio, who coordinated the query language investigation, noted that SQL had two flaws for purposes of RETS: first, that the RETS specification would have to include many restrictions on SQL features -- in effect defining its own dialect of SQL -- so that the language's value as a "standard query language" would be considerably reduced. Second, SQL does not function well in a schema environment both because of its name syntax and because of problems mapping deep structure back to relational tables. This means that we would have to put extensions into our restricted SQL.
Xquery also received considerable attention. Initially, the main concern was the state of toolkit support, allowing Xquery queries against common data base systems. It was stated that Microsoft and Oracle were both "working on" Xquery support, but that neither had a finished product. Later in the discussion, concern was expressed that Xquery would not function well at least in an MLS environment and perhaps more generally because of the difficulty of mapping Xquery, which is partly procedural, onto a relational model.
Avantia suggested that in the absence of hard data, an experimental implementation might go a long way toward answering some of these questions, and the group agreed to defer the question of query language until after a more detailed investigation of Xquery. A motion to defer the decision until after we have hard data on Xquery and a revised DMQL was made.
Wantao Zhou of Interealty proposed a subsidiary motion to add an XML representation of DMQL to the two languages mentioned in the motion. He will provide a specification for an XML version of DMQL3 (Xdmql?) that can also be tested. The subsidiary motion passed 15-0, and the full motion passed 20-0.
Update The discussion of update covered several issues. Some of these were resolved without dissent: there should be a schema for each update type, the business rules (other than simple type validation) should be encoded in extended documents, and that after an investigation of BPEL as an alternative for validation, we should stick with something close to the existing grammar for expressing field validation (modified, obviously, for using Xpath instead of simple names). Several of these issues were discussed in the Update workgroup session which took place earlier in the day.
There was a brief discussion of the issue of locking. It was suggested that the client be required to send the entire old and new records to the server on an update so that the server could better perform optimistic locking. There was some dissent on this point since either the server or the client might choose to make different decisions (abandon, merge, overwrite) depending on what had changed in the record. No resolution was reached.
Security Paul Stusiak did a brief walk-through of the proposed security model, both the use case and object model. Avantia's Real Estate Object Model, available in the RETS Sandbox also addresses security in terms of roles and permissions. It was noted that the early MISMO drafts had a comprehensive party model, as does ebXML.
Heard during the discussion: "I make a call and poof-voila, you have authentication!"
There was a question as to whether the specification actually needs the ideas of roles, rather than individuals. The consensus was that roles are required for many different potential use cases. Many of the examples centered around delegation: a listing secretary who is delegated the authority to change certain things on certain listings, for example, or filling out a listing contract. There was also a question of whether the specification needed to include one-time delegation.
Leo Bijnagte also pointed out that roles are required even in read-only applications: a role defines what can be seen on a record. This is especially true in a transaction system.
Another issue in the delegation area comes up, again using the example of a listing secretary, when an individual may be delegated different roles for different people.
The concensus was that the group needs additional use cases and additional and more detailed information on roles. Paul Stusiak will generate some additional use cases, and Steve Verba will check with transaction vendors on additional well-known roles that should be included in the specification.
Session Management There was a brief discussion on session management: is there a standard? It was noted that the Jakarta Project has links to infrastructure classes. [Ed: I have been unable to find a definitive link to use for these notes.]
Further Discussion The group agreed to biweekly calls starting Wednesday, August 18, at 8:30 AM Pacific/11:30 AM Eastern; the first call will deal with the additional information to be presented on security. A full agenda will be posted on the RETS 2.0 workgroup page |