The WSDL for the Specific Interface changes depending on the rulebase, meaning that at design time, a strong contract for inputs and outputs is exposed by the WSDL.
Client applications using the WSDL are tightly coupled to the data model and any changes to the rules, results in a change to the interface. However, as the rulebase data model is fully exposed in the WSDL, graphical mapping and transformation tools can be used, meaning that hand coded integration is not necessary.
<xsd:complexType name="household">
<xsd:all>
<xsd:element name="household_location" type="AttributeText"
minOccurs="0" maxOccurs="1"/
>
<xsd:element namehousehold_shelter_situation" type="AttributeText"
minOccurs="0" maxOccurs="1"/
>
<xsd:element name="household_disabled_members" type="AttributeBoolean"
minOccurs="0" maxOccurs="1"/
>
<xsd:element name="relationships" minOccurs="0" maxOccurs="1">
</xsd:complexType>
</xsd:all>
<xsd:element name="household_members" type="RelationshipInstance"
minOccurs="0" maxOccurs="1"/>
</xsd:all>
</xsd:complexType>
</xsd:element>
</xsd:all>
<xsd:attribute name="id" type="xsd:ID" use="required"/>
</xsd:complexType>
...
<typ:household_location>
<typ:text-val>Alabama</typ:text-val>
</typ: household_location>