Middleware layer
Component: A piece of code closely related can be seen as a component
Connector: For CORBA case, IIOP is a kind of connector
Interface:
Link:
Example: Take our earlier simplified example, a client buying a book from amazon.com:


<!- - Namespace declaration -->
<?xml version = “1.0” encoding = “UTF-8” ?>
<xArch xmlns = “http://www.ics.uci.edu/pub/arch/xArch/instance.xsd”
xmlns:instance = “http://www.ics.uci.edu/pub/arch/xArch/instance.xsd”
xmlns:types = “http://www.ics.uci.edu/pub/arch/xArch/types.xsd”
xmlns:xlink = “http://www.w3.org/1999/xlink”
xmlns:xsi = “http://www.w3.org/2000/10/XMLSchema-instance”>
<types:archStructure xsi:type = “types:ArchStructure”>
<! - - Component: Client Description - - >
<types:component instance:id = “ClientComp” xsi:type = “types:Component”>
<types:description xsi:type = “instance:Description”>Client</types:description>
<types:interface instance:id = “ClientCompBottom” xsi:type = “types:Interface”>
<types:description xsi:type = “instance:Description”>Client.Bottom </types:description>
<types:direction xsi:type = “instance:Direction” >inout</types:direction>
<types:type xlink:type = “simple” xlink:href = “ #tBottomType”/>
</types:interface>
<types:type xlink:type = “simple” xlink:href = “#tClient” />
</types:component>
<! - - Component: amazon.com Description - - >
<types:component instance:id = “HelloServerComp” xsi:type = “types:Component”>
<types:description xsi:type = “instance:Description”>amazon.com</types:description>
<types:interface instance:id = “amazoncomCompBottom” xsi:type = “types:Interface”>
<types:description xsi:type = “instance:Description”>amazoncom.Bottom </types:description>
<types:direction xsi:type = “instance:Direction” >inout</types:direction>
<types:type xlink:type = “simple” xlink:href = “ #tBottomType”/>
</types:interface>
<types:type xlink:type = “simple” xlink:href = “#tamazon.com” />
</types:component>
<! - - Component: ORB1 Description - - >
<types:component instance:id = “ORB1Comp” xsi:type = “types:Component”>
<types:description xsi:type = “instance:Description”>ORB1</types:description>
<types:interface instance:id = “ORB1CompTop” xsi:type = “types:Interface”>
<types:description xsi:type = “instance:Description”> ORB1.Top </types:description>
<types:direction xsi:type = “instance:Direction” >inout</types:direction>
<types:type xlink:type = “simple” xlink:href = “ #tTopType”/>
</types:interface>
<types:interface instance:id = “ORB1CompBottom” xsi:type = “types:Interface”>
<types:description xsi:type = “instance:Description”> ORB1.Bottom </types:description>
<types:direction xsi:type = “instance:Direction” >inout</types:direction>
<types:type xlink:type = “simple” xlink:href = “ #tBottomType”/>
</types:interface>
<types:type xlink:type = “simple” xlink:href = “#tORB1” />
</types:component>
<! - - Component: ORB2 Description - - >
<types:component instance:id = “ORB2Comp” xsi:type = “types:Component”>
<types:description xsi:type = “instance:Description”>ORB2</types:description>
<types:interface instance:id = “ORB2CompTop” xsi:type = “types:Interface”>
<types:description xsi:type = “instance:Description”> ORB2.Top </types:description>
<types:direction xsi:type = “instance:Direction” >inout</types:direction>
<types:type xlink:type = “simple” xlink:href = “ #tTopType”/>
</types:interface>
<types:interface instance:id = “ORB2CompBottom” xsi:type = “types:Interface”>
<types:description xsi:type = “instance:Description”> ORB2.Bottom </types:description>
<types:direction xsi:type = “instance:Direction” >inout</types:direction>
<types:type xlink:type = “simple” xlink:href = “ #tBottomType”/>
</types:interface>
<types:type xlink:type = “simple” xlink:href = “#tORB2” />
</types:component>
<! - - Connector: IIOP Description - - >
<types:connector instance:id = “IIOPConn” xsi:type = “types:Connector”>
<types:description xsi:type = “instance:Description>IIOP</types:description>
<types:interface instance:id = “IIOPTop” xsi:type = “types:Interface”>
<types:description xsi:type = “instance:Description”> IIOP.Top</types:description>
<types:direction xsi:type = “instance:Direction:>inout</types:direction>
<types:type xlink:type = “simple” xlink:href = “#tTopType”/>
</types:interface>
<types:type xlink:type = “simple” xlink:href= “#tIIOP” />
</types:connector>
<! - - Connector: API1(Client-ORB1) Description - - >
<types:connector instance:id = “API1” xsi:type = “types:Connector”>
<types:description xsi:type = “instance:Description>API1</types:description>
<types:interface instance:id = “API1Top” xsi:type = “types:Interface”>
<types:description xsi:type = “instance:Description”>API1.Top</types:description>
<types:direction xsi:type = “instance:Direction:>inout</types:direction>
<types:type xlink:type = “simple” xlink:href = “#tTopType”/>
</types:interface>
<types:interface instance:id = “API1Bottom” xsi:type = “types:Interface”>
<types:description xsi:type = “instance:Description”>API1.Bottom</types:description>
<types:direction xsi:type = “instance:Direction:>inout</types:direction>
<types:type xlink:type = “simple” xlink:href = “#tBottomType”/>
</types:interface>
<types:type xlink:type = “simple” xlink:href= “#tAPI1” />
</types:connector>
<! - - Connector:API2(amazon.com – ORB2) Description - - >
<types:connector instance:id = “API2” xsi:type = “types:Connector”>
<types:description xsi:type = “instance:Description>API2</types:description>
<types:interface instance:id = “API2Top” xsi:type = “types:Interface”>
<types:description xsi:type = “instance:Description”>API2.Top</types:description>
<types:direction xsi:type = “instance:Direction:>inout</types:direction>
<types:type xlink:type = “simple” xlink:href = “#tTopType”/>
</types:interface>
<types:interface instance:id = “API2Bottom” xsi:type = “types:Interface”>
<types:description xsi:type = “instance:Description”>API2.Bottom</types:description>
<types:direction xsi:type = “instance:Direction:>inout</types:direction>
<types:type xlink:type = “simple” xlink:href = “#tBottomType”/>
</types:interface>
<types:type xlink:type = “simple” xlink:href= “#tAPI2” />
</types:connector>
<! - - Link: Client – API1-ORB1 Description - - >
<types:link instance:id = “link1” xsi:type = “types:Link”>
<types:description xsi:type = “instance:Description”>Client-API1</types:description>
<types:point xsi:type = “types:Point”>
<instance:anchorOnInterface xlink:href = “#ClientBottom” xsi:type = “instance:XMLLink” xlink:type = “simple”/>
</types:point>
<types:point xsi:type = “types:Point”>
<instance:anchorOnInterface xlink:href = “#API1Top” xsi:type = “instance:XMLLink” xlink:type = “simple”/>
</types:point>
</types:link>
<types:link instance:id = “link2” xsi:type = “types:Link”>
<types:description xsi:type = “instance:Description”>API1-ORB1</types:description>
<types:point xsi:type = “types:Point”>
<instance:anchorOnInterface xlink:href = “#API1Bottom” xsi:type = “instance:XMLLink” xlink:type = “simple”/>
</types:point>
<types:point xsi:type = “types:Point”>
<instance:anchorOnInterface xlink:href = “#ORB1Top” xsi:type = “instance:XMLLink” xlink:type = “simple”/>
</types:point>
</types:link>
<! - - Link: IIOP – ORB1 Description - - >
<types:link instance:id = “link3” xsi:type = “types:Link”>
<types:description xsi:type = “instance:Description”>ORB1-IIOP</types:description>
<types:point xsi:type = “types:Point”>
<instance:anchorOnInterface xlink:href = “#ORB1Bottom” xsi:type = “instance:XMLLink” xlink:type = “simple”/>
</types:point>
<types:point xsi:type = “types:Point”>
<instance:anchorOnInterface xlink:href = “#IIOPTop” xsi:type = “instance:XMLLink” xlink:type = “simple”/>
</types:point>
</types:link>
<! - - Link: amazon.com – API2 – ORB2 Description - - >
<types:link instance:id = “link4” xsi:type = “types:Link”>
<types:description xsi:type = “instance:Description”>amazon.com-API2</types:description>
<types:point xsi:type = “types:Point”>
<instance:anchorOnInterface xlink:href = “#amazoncomBottom” xsi:type = “instance:XMLLink” xlink:type = “simple”/>
</types:point>
<types:point xsi:type = “types:Point”>
<instance:anchorOnInterface xlink:href = “#API2Top” xsi:type = “instance:XMLLink” xlink:type = “simple”/>
</types:point>
</types:link>
<types:link instance:id = “link5” xsi:type = “types:Link”>
<types:description xsi:type = “instance:Description”>API2-ORB2</types:description>
<types:point xsi:type = “types:Point”>
<instance:anchorOnInterface xlink:href = “#API2Bottom” xsi:type = “instance:XMLLink” xlink:type = “simple”/>
</types:point>
<types:point xsi:type = “types:Point”>
<instance:anchorOnInterface xlink:href = “#ORB2Top” xsi:type = “instance:XMLLink” xlink:type = “simple”/>
</types:point>
</types:link>
<! - - Link: IIOP – ORB2 Description - - >
<types:link instance:id = “link6” xsi:type = “types:Link”>
<types:description xsi:type = “instance:Description”> ORB2-IIOP</types:description>
<types:point xsi:type = “types:Point”>
<instance:anchorOnInterface xlink:href = “#ORB2Bottom” xsi:type = “instance:XMLLink” xlink:type = “simple”/>
</types:point>
<types:point xsi:type = “types:Point”>
<instance:anchorOnInterface xlink:href = “#IIOpTop” xsi:type = “instance:XMLLink” xlink:type = “simple”/>
</types:point>
</types:link>
</types:archStructure>
… …