Sunday, July 28, 2013

To Minimize Integration Costs, Make Your Application a "Native Speaker" of MISMO

If you've ever been to a foreign country where the predominant language is unfamiliar to you and English is not widely understood, you probably experienced some frustration in trying to communicate. Doing something that is ordinarily simple, such as asking for directions, becomes a challenge when you must rely on your own limited knowledge of the foreign language to formulate your question, and then struggle to understand a response.

Ideally, you would like to find a local who also speaks English in order to have an easier time, but even the task of trying to locate that person takes time and effort. Imagine how much easier and enjoyable your trip would be if you could speak the foreign language fluently? No one speaks a given language more easily that a true native speaker - someone who learned the language during their formative years.

Software applications often struggle with similar translation issues when they must communicate with other systems. Commonly used integration methodologies such as REST or SOAP web services only address the mechanics of communicating, not the semantics. This would be akin to foreign speakers agreeing to communicate by forming distinct sounds with their vocal cords, lips, and tongues, but saying nothing about words and phrases.

For two applications to communicate, they must also agree upon semantics. One application must be able to send data (formulate a sentence) or request some data (ask a question) from the other application using terms (words) understood by both parties. If the two applications use different terminology or have different expectations on how to communicate, then extra effort development effort is typically required to build some sort of translator or adaptor layer. This adds to both the cost and the length of time required to make two applications talk to each other.

Ideally both applications would have been designed from the beginning to speak a common language, meaning that the underlying data model, service calls, and protocols for "talking" would be similar and no translation effort would be needed. The two applications could just converse - as easily as you might have a conversation with a neighbor.

For the mortgage industry and affiliated service providers, such as title insurance underwriters and appraisers, this common language exists in the form of the MISMO reference model. MISMO defines a common set of industry terms (words) as well as XML standards for common data exchange scenarios (questions and sentences).

An application that is a true "native speaker" of MISMO stores its data internally in a form similar to the MISMO reference model. In other words, the table names and relational structure mirrors the XML structure of MISMO. The column names are also aligned with common terminology from what MISMO calls its Logical Data Dictionary.

When coupled with a service layer that uses MISMO standards for forming the "sentences" of requests and responses to other systems, an application is ready for easy, low-cost integrations with other compliant systems. No translator required.

Since MISMO is rapidly become the de facto standard for mortgage and real estate transaction data, building new applications as "native speakers" will enable them to interact and adapt both now and in the future.