XML Protocols
Standards in the Real Estate Industry
Standards in the Real Estate Industry
Oct. 3, 2003 12:00 AM
The fever for new XML specifications for almost anything
imaginable has hit the real estate industry. Companies that are
actively pursuing some niche in this industry have realized the need
to create and adopt standards for communication. As in other
industries, however, competing XML standards are emerging, keeping
any one standard from reaching a critical mass of adoption and
fruition.
This article explores the Real Estate Transaction Standard
(RETS) for the real estate industry. I'll talk about how some of
these standards can leverage Web services technologies such as SOAP
and WSDL. I'll begin by taking a look at the landscape and various
XML standards in the real estate industry.
Industry Landscape
Adoption of XML standards will provide a common vocabulary
and increase the interoperability of the Multiple Listing System
(MLS) data and the different users that access this data on a daily
basis, such as realtors, title companies, home insurance companies,
and end users looking to buy or sell a house. This will also foster
an increase in competition among software vendors seeking to serve
the real estate industry. The emerging XML standards are intended to
be used over the Internet and can leverage various Web services
standards such as SOAP and WSDL for increased interoperability. A
critical aspect of these standards is safeguards to protect
intellectual property (IP) and the privacy of all involved in a real
estate process.
The National Association of Realtors (NAR) is the largest
professional association for people involved in all aspects of the
real estate industry, with more than 730,000 current members. In
1999, together with several technology leaders, the NAR began an
effort to make access to MLS information easier. The Real Estate
Transaction Standard (RETS) is an open standard for accessing and
exchanging real estate information between all the players involved
in the real estate process.
There are several other standards in this space. The RELML
specification was first announced in the summer of 1998. This version
of the draft is currently implemented in OpenMLS's Real Estate
Listing Management system.
The Data Consortium is an open- membership group of more than
50 companies and associations whose goal is an open source standard
namespace for the commercial real estate industry. They have posted a
namespace with 13 key elements to support XML streams and Create,
Read, Update, Delete (CRUD) operations to a relational database. This
includes an explanatory guide and dictionary.
The Alliance for Advanced Real Estate Transaction Technology
(AARTT) announced an initiative to create open standards for data
exchange within the real estate industry in order to streamline the
residential real estate industry; this initiative is called CRTML
(Comprehensive Real Estate Transaction Markup Language).
The increasing number of standards leads to the lack of
adoption of a single standard. XML is a great technology that
provides the opportunity to develop several standards. However, if
the industry does not adopt one standard, XML can't be used to its
full potential.
Real Estate Transaction Standard (RETS)
RETS is the standard gaining the most momentum and it appears
to be the most comprehensive standard that can influence the real
estate industry. RETS is a collection of several documents and tools.
Real Estate Transaction Standard Protocol Specification,
version 1.5 (draft 2): This document describes the RETS protocol and
transaction set. RETS defines a series of computer interactions
called "transactions" and serves as the definitive reference for
developers who implement them. It establishes the parameters for each
specified transaction, both upload and download, as well as the
expected behaviors and results that compliant hosts and clients must
be able to manage, including error codes. The specification also
includes developer notes to explain technical details and a change
process document to define how the standard will be administered.
Real Estate Transaction Standard XML DTD (RETML): Version 1.5 of the XML DTD for working with the Real Estate Transaction Specification.
Real Estate Transaction Standard Metadata DTD: The XML DTD
for exchanging metadata between systems or between clients and servers.
RETS Reference Implementation: A complete implementation of a client and server written in Java.
RETS IDX Client: An implementation written in Visual Basic.
RETS Compliance Tool: A scriptable compliance testing tool in Java. The tool accepts scripts written in XML that test the interaction of a client or server against predefined responses.
RETS Dissected
Let's take a closer look at RETS. RETS defines two major
components - a RETS server and a RETS client. A user accesses a RETS
client to access MLS data. This client could be a Web site that is
accessed through HTTP, a thick VB client, or another client or server
system that uses Web services as the RETS client. The RETS client
initiates the appropriate request to the RETS server, usually over
the Internet. The RETS server responds with data formatted to the
RETS specification. There are open source implementations of RETS
clients and servers available. Figure 1 shows the architecture of a
typical RETS request-response cycle.
I recommend downloading and installing the reference
implementation of RETS from the RETS Web site (see references). The
Java version is relatively easy to use and very well documented. It
runs on top of Apache Tomcat and uses MySQL as the database. However,
you could adapt this to your environment and run it on top of an
application server such as JBoss, BEA WebLogic, or WebSphere. Once
you get this implementation up and running and go through the steps
in the install guide that comes with the download, you will see the
Property search screen (see Figure 2).
After clicking on the search button, you will see a search
results page as shown in Figure 3.
Underneath these simple JSP screens the reference
implementation is using the RETS standard to exchange data. Listing 1
(available at www.sys-con.com/xml/sourcec.cfm) shows an example of an XML listing that is returned through the search function.
RETS and Web Services
RETS can be used in the context of Web services. Wrapping a
RETS request or response in a SOAP message is trivial. Exposing the
services in WSDL that some niche company in the real estate space
provides is also a straightforward task. What's more interesting is
what the concept of Web services brings to the real estate industry
in addition to the standardization of the data exchange format.
Web services provide the communication endpoints to a
service. They enable a transaction to be run asynchronously and a
service to automatically discover and interact with new services
without prior negotiation. Okay, there you have the buzzwords and
phrases for Web services.
The adoption of Web services allows realtors to automatically
find and understand how to interact with several of the MLSs in their
area. They can use Web services to upload their listings in a simple
and consistent way to all the MLSs that have exposed their interfaces
using WSDL, and support the SOAP and RETS standards.
Complete Web services implementation has been targeted for RETS 2.0.
Summary
I've discussed the current state of XML technologies and
standards for the real estate industry, including a deeper look into
the real estate transaction standard, and talked about the reference
implementation provided with the RETS. I've discussed at a conceptual
level the application of Web services with the RETS specification.
There is tremendous potential and need for standardization of
communications and data exchange formats to enable greater
interoperability of different real estate systems.
References
Mittal, K. "Web Services and the Real Estate Industry," Web Services Architect:
www.webservicesarchitect.com/
content/articles/mittal01.asp
Real Estate Transaction Protocol: www.rets.org/
About Kunal MittalKunal Mittal is a consultant for implementation and strategy for Web services and services-oriented architectures. He has co-authored and contributed to several books on Java, WebLogic and Web services.