Login  

Blog Stats

                

                   E-mail | Twitter

Web 2.0 University Week in Las Vegas in October, 2009

New: Subscribe via e-mail

Enter your email address:

Delivered by FeedBurner

Follow Dion Hinchcliffe on Twitter

follow dhinchcliffe at http://twitter.com

Dion's Speaking Calendar:

Dion Hinchcliffe Speaking at NKU on Web 2.0 and Mobility

Dion Hinchcliffe Speaking at CeBIT 2009 on the Future Enterprise Workplace

Dion Hinchcliffe Speaking at QCon London 2009 on Web Architecture

Dion Hinchcliffe Speaking at Web 2.0 Expo San Francisco 2009

Dion Hinchcliffe Instructor at Web 2.0 University Week in Las Vegas in October, 2009

Dion Hinchcliffe Presents the IMI 2009 Webinar Series on Web 2.0, Cloud Computing, Enterprise Social Networking, and Mobile Web 2.0

Sponsored Advertising


Your Ad Here

Post Categories

Archives

Blogs Read By Me

Building Blocks of Great Systems

Consulting

Contact

Tech News Read By Me


Web 2.0 Architectures Book by Duane Nickull, Dion Hinchcliffe, and James Governor

Web 2.0 Architectures

by Duane Nickull, Dion Hinchcliffe, and James Governor

Listed on BlogShares

Dion Hinchcliffe's Blog - Musings and Ruminations on Building Great Systems

Agile Methods, Enterprise Architecture, 2.0 Services, and Web Development

Contract pliability is one of the things I'm looking forward to experimenting with when all the service descriptions are written for our survey. Particularly when we have both REST and and SOAP services and we then make some contract changes that technically shouldn't affect existing clients. Seeing how well the clients withstand the changes will be extremely interesting and hopefully revealing. This is one area we're anticipating we'll learn the most about how service description languages (SDLs) assist clients in dealing with a service over a sustained period of time. In fact, understanding how an SDL encourages suppleness and the graceful evolution of a web service is a primary goal of this effort.

Note: The Java, C#, and Ruby comparison client source code is at the bottom of this post.  All three clients are identical in function as precisely as it was possible for me to make them.

I've had a few folks comment that checking for contract changes shouldn't be required. Certain schools of thought believe that if a service changes its contract, the new version should be deployed at a new endpoint and the existing service remain in place and scheduled for eventual phase out. IMHO, this is only a good idea in certain circumstances for SOAP services and is rarely, if ever, a good idea for REST.

There are at least two reasons why you'd want to change a web service contract in-place. One: Services will inevitably change, especially ones that are successful and have many clients. Constantly moving these services to new endpoints whenever a fix or improvement is made is ultimately impractical and disruptive. And largely unnecessary with open-ended contracts and properly modified services. Two: Well-defined endpoints are important in their own right, particularly with REST, to make sure systems stay in communication and to reflect the fact that protocols like REST identify universally addressed resources and not invocation points. A good model to think of is the Internet name server, with two or three endpoints usually identified and which never change to ensure that name resolution services are easy to find and aren't subsequently lost.

Figure 1: Well-Designed Web Services/Contracts Promote Loose Coupling and Service Evolution

For those of you who may just be joining us, keep in mind that the worldview of SDLs we're using for the comparison is biased towards highly heterogenous environments. Not only does that create the most extreme service conditions you will find inside or outside your firewall, it makes sure that SDLs properly deal with worst case situations instead of ideal situations. From this, we can identify the most robust and practical model for service description.

Note that I don't have many issues with the WSDL/SOAP combo when they're used in truly homogenous environements and there's little chance they will be used by clients outside someone's control. Unfortunately, the world is certainly trending away from this narrow view of siloed services. Web services are increasingly becoming part of strongly federated service-oriented architectures (SOAs), enterprise service buses (ESBs), and IT Infrastructure Libraries (ITIL) that cross organization, political, geographic, and technological boundaries.

And I'm certainly not alone in the burgeoning realization that the (necessarily) naive view of web services that emerged in 2000 has evolved tremendously since then, and our assumptions and requirements have evolved along with it. Jeff Schneider's recent post about about The WSDL is the Offshore Contract is just one tiny example of the continued evolution of web services thinking and its implications.

In that vein, a fascinating new paper on this subject emerged from HP last month and has been getting a fair amount of blog play recently. I read it over the weekend at the urging of IONA's Eric Newcomer and it's quite a detailed send up of JAX-RPC, the current Java SOAP stack. What is fascinating is where the criticism is levelled, and it's not just at JAX-RPC. The paper eschews the RPC-centric view that JAX-RPC encourages as "fundamentally flawed" in world headed directly towards loosely coupled XML messaging. Authors Steve Loughran and Edmund Smith go on to enumerate a very impressively researched list of exactly why WSDL and XML Schemas are the wrong format for web service description, particularely when combined with a method invocation model like JAX-RPC. They classify the problems uncovered as various forms of the Object to XML (O/X) mapping mismatch.

It's worth going into the details of their analysis since our SDL comparison should use their specific observations to validate the features of the SDLs in the list as the comparison goes along. I've paraphrased some of the flaws they've enumerated to be less Java-centric when approriate. Here's what Steve and Edmund specifically have to say is wrong with the view of web service interaction represented by the collaboration of JAX-RPC/WSDL/XSD/SOAP:

Fundamental Flaws of JAX-RPC Summary
1) Binding XML Elements to Classes It's almost impossible to accurately represent an XSD type hierarchy in most programming language type hierarchies.
2) Mapping XML Names to Language Identifiers Avoiding the keywords of even your typical OO programming languages can be a challenge.
3) Enumeration Mapping Is Brittle Changes to enumerations cause subtle defects in both client and service code. Reserved words in the enumeration also can break things.
4) Programming Languages Have Unportable Types This is a specific criticism of contract-last development of web services. Unportable types like DataSet, Hashtable, and others don't make sense on the interface of interoperable services. Even something as simple as datetimes have significant problems between well known web service stacks.
5) Serializing Graphs of Objects Is Problematic, If Not Broken XML is a hierarchical structure and can only describe lists and trees. Object graphs can be cyclic. This causes a litany of issues when mapping between OO<->XML.
6) XML Metadata and Namespaces There is no reliable way to map between OO constructs and XML namespaces without it being contrived.
7) Message Validation Isn't Performed Contract checking of messages generally isn't done either at the client or the service. This optimistic view of interoperability will cause problems.
8) Inadequate Mixing of XML and Serialized Data It's easy for an XML message to "sail off the edge of the world" when mapping from XML to OO.
9) Fault Processing is Platform Dependent
Fault handling in OO web services stacks tend to be representations of the programming languages exception structure instead of implementation and platform independent fault information.
Figure 2: Loughran and Smith's OO-XML Mapping Issues for SOAP Web Services

These points generally mesh fairly well with the position that XML itself should be the abstraction level a developer uses when interacting with services. Unlike the difficulty often involved with storing or retrievng data in a SQL database from a programming language even today, direct interaction with XML from a programming language is relatively straightforward at this point, and improving all the time. As the loosely coupled WSDL/SOAP client showed from my last post, contract checking and service invocation using bare XML without a SOAP stack is quite easy to do properly in a fairly compact amount of readable code.

As for the actual SDL comparison, our construction of the WSDL 1.1 clients is now complete. I did update the C# WSDL client to check if any unexpected mustUnderstand attributes are present in the service contract. This was an important and obvious oversight. Then I rolled the contract checks into Java and Ruby versions of the SOAP client.

Everything done so far with the SDL comparison can be found here:

SDL Comparison Service SOAP Order Service
SDL Comparison WSDL Order Service WSDL
Current List of Placed Orders (HTML) Order List
WSDL 1.1 C# Client oc.cs Source Executable
WSDL 1.1 Java Client oc.java Source Executable
WSDL 1.1 Ruby Client oc.rb Source
Next up is our SSDL description for the Order Service. I've contacted Savas Parastatidis and Jim Webber to make sure I use SSDL correctly and we'll start constructing clients from it once we have a good SSDL description for the Order Service worked out. I will probably post a more detailed tour soon of how contract checking is performed.

Technorati: , , ,

posted on Tuesday, June 21, 2005 8:52 AM

AddThis Social Bookmark Button

What People Are Saying About This Post...

# re: WSDL 1.1 Service Description Comparison for SOAP Finishing UP; SSDL Up Next 6/21/2005 10:03 AM Christian Weyer
All dead links above for the downloads ;(
Thanks!

# re: WSDL 1.1 Service Description Comparison for SOAP Finishing Up; SSDL Up Next 6/21/2005 11:54 AM Dion Hinchcliffe
Thanks Christian,

I had the URL references relative instead of absolute.

Having problems getting the Java/Ruby clients uploaded but they should be up shortly. Everything else seems to work now.

# re: WSDL 1.1 Service Description Comparison for SOAP Finishing Up; SSDL Up Next 6/22/2005 9:32 AM Brad Smith
Java and Ruby clients still seem to be missing.

# re: WSDL 1.1 Service Description Comparison for SOAP Finishing Up; SSDL Up Next 6/22/2005 7:04 PM Dion Hinchcliffe
I double checked everything, all SDL comparison files and up-to-date and downloadable.

Please try it out and place some orders....

:-)

# Backlog 6/29/2005 1:29 PM Stefan Tilkov's Random Stuff
I don&#8217;t read blogs for three days, and this is what happens &#8230; 785 messages, where probably are worth bookmarking and 50 actually merit closer reading. Damn. The last time I tried to somehow work through the backlog of messages that had accumulated, I ended up just hitting &#8220;Mark all read&#8221; on a thousand or so &#8230; inducing a...

# Debating the Performance of SOAP, REST, HTTP, and Other Distributed Computing Toolkits 8/10/2005 4:43 PM Dion Hinchcliffe's Blog - Musings and Ruminations


# Debating the Performance of SOAP, REST, HTTP, and Other Distributed Computing Toolkits 8/10/2005 4:44 PM Dion Hinchcliffe's Blog - Musings and Ruminations


# Abstraction Impedance: Hidden Barriers and Explicit Boundaries 9/22/2005 8:37 AM Dion Hinchcliffe's Blog - Musings and Ruminations


# Abstraction Impedance: Hidden Barriers and Explicit Boundaries 9/22/2005 8:42 AM Dion Hinchcliffe's Blog - Musings and Ruminations


# Pragmatic Service-Oriented Architecture: Introducing the WOA/Client 8/5/2006 2:12 PM Dion Hinchcliffe's Blog - Musings and Ruminations


# Pragmatic Service-Oriented Architecture: Introducing the WOA/Client 8/5/2006 2:15 PM Dion Hinchcliffe's Blog - Musings and Ruminations


# re: WSDL 1.1 Service Description Comparison for SOAP Finishing Up; SSDL Up Next 9/25/2006 5:14 AM levan
http://www.to-pio-kryo-diplo.gamisi69.com ^^^ http://www.erasitehnis-kontos.gamisi69.com ^^^ http://www.fornimmelse-amator-dubbel-rovpuling.knulla69.com ^^^ http://www.val-vald-asiatisk-tillverkningen-alska.knulla69.com ^^^ http://www.nympho-piss-op-de-trap.grotepik.info ^^^ http://www.fantastisch-lesbisch-beffen.grotepik.info ^^^ http://www.uhyggelig-ryper-fitte-puling.kukk.info ^^^ http://www.sjenert-cowboyjente-kjonnet.kukk.info ^^^ http://www.affection-blondes-prostituer.torsenue.info ^^^ http://www.emotion-filles-pute.torsenue.info ^^^ http://www.synesthima-erasitehnis-proktiko.tsoula.info ^^^ http://www.pio-drosero-mathitis-avnanismos.tsoula.info ^^^ http://www.piacente-asiatiche-spogliarello.vacche.info ^^^ http://www.intenso-fighette-gruppo.vacche.info ^^^ http://www.korkealuokkainen-tarjoilijatar-vaimea-pulahtava.huora.info ^^^ http://www.fantastisesti-sihteeri-toiminta.huora.info ^^^ http://www.praktfull-ryper-kjonnsliv.knulle.info ^^^ http://www.tiltalende-amator-whack.knulle.info ^^^ http://www.beroemd-smeris-dronken.neuker.info ^^^ http://www.griezelig-leerling-striptease.neuker.info ^^^ http://www.snut-gruppen-i-badrummet.spermiedos.info ^^^ http://www.skolflicka-tjejer-asna-till-mun.spermiedos.info ^^^ http://www.robienie-loda-erotyka-murzynki.ah.xsx.pl ^^^ http://www.golenie-napalonych-wegierek.uh.xsx.pl ^^^

# re: WSDL 1.1 Service Description Comparison for SOAP Finishing Up; SSDL Up Next 1/7/2008 12:52 PM snowman
http://starlesbiche.akirluoan.com/
http://sexiscolarette.akirluoan.com/
http://gravideporn.akirluoan.com/
http://fighedidiveinpose.akirluoan.com/
http://fotoporcellegratis.akirluoan.com/
http://studentessevoglioseolbia.akirluoan.com/
http://bambinenudeconpiediecalzesufiga.akirluoan.com/
http://sripteasevideogratuiti.akirluoan.com/
http://figarottadamani.akirluoan.com/
http://babeilmaiolinocoraggioso.akirluoan.com/
http://wwwbagtradecom.akirluoan.com/
http://lux.akirluoan.com/
http://dorudiamore.akirluoan.com/
http://p0ornogratis.akirluoan.com/
http://fotomodella.akirluoan.com/
http://vieste.akirluoan.com/
http://solleticoglandevideo.akirluoan.com/
http://troieimperia.akirluoan.com/
http://cutelesbichegruppo.akirluoan.com/
http://sessoconasiatichetelefono.akirluoan.com/
http://videopornoragazzediciottenni.akirluoan.com/

# re: WSDL 1.1 Service Description Comparison for SOAP Finishing Up; SSDL Up Next 1/7/2008 12:52 PM snowman
http://immaginihilaryduffsexy.gjurdednia.com/
http://sexaaa.gjurdednia.com/
http://casalingatroiaannoiata.gjurdednia.com/
http://animalscondonne.gjurdednia.com/
http://videodonnematuregratisamatoriale.gjurdednia.com/
http://paingatepasswort.gjurdednia.com/
http://suoraprostituta.gjurdednia.com/
http://bevitriciipipa.gjurdednia.com/
http://videosessoconcavallietroie.gjurdednia.com/
http://pornoidromassaggio.gjurdednia.com/
http://rosseinculateincollant.gjurdednia.com/
http://donnaperbukkake.gjurdednia.com/
http://freebiondexxx.gjurdednia.com/
http://sessoconcavallimpeg.gjurdednia.com/
http://sexyrussianladiesformet.gjurdednia.com/
http://donneporchedaconosceregratis.gjurdednia.com/
http://hentaidreams.gjurdednia.com/
http://gratissexyculi.gjurdednia.com/
http://wwwhamtongscom.gjurdednia.com/
http://occhialidasoleemporioarmanibono.gjurdednia.com/
http://fotogratisdelculopiulargodelmondo.gjurdednia.com/
http://uominivillosi.gjurdednia.com/
http://tappetimoderni.gjurdednia.com/
http://fotoculiinperizoma.gjurdednia.com/

# re: WSDL 1.1 Service Description Comparison for SOAP Finishing Up; SSDL Up Next 1/7/2008 12:53 PM snowman
http://edelweisspornostarvideodownload.hjardo.com/
http://pornomoviegrossekatharina.hjardo.com/
http://sessoorgeasiaticheecc.hjardo.com/
http://pornodonnenude.hjardo.com/
http://fotoragazzidascaricare.hjardo.com/
http://sitoamatorialepompino.hjardo.com/
http://studentessapugliaorale.hjardo.com/
http://allsexgratis.hjardo.com/
http://culitotti.hjardo.com/
http://foptonudetettone.hjardo.com/
http://caziinbocca.hjardo.com/
http://immaginibrutteragazze.hjardo.com/
http://giovanetransex.hjardo.com/
http://casalingheconfessioniitaliane.hjardo.com/
http://biondepompiniconingoiogratis.hjardo.com/
http://giochiconuomininudi.hjardo.com/
http://wwwannunci69it.hjardo.com/
http://pregnantsexi.hjardo.com/
http://immaginidisessogratis.hjardo.com/
http://mulattepelose.hjardo.com/
http://videocazzineri.hjardo.com/
http://porchemaialone.hjardo.com/
http://potoslindos.hjardo.com/
http://accompgnatricipontinia.hjardo.com/
http://fotodonnespiateamatorialiscattirubati.hjardo.com/

# re: WSDL 1.1 Service Description Comparison for SOAP Finishing Up; SSDL Up Next 1/11/2008 1:22 AM snowman
http://armani-cloting-t-shuirt.yp20.czest.pl/
http://yp20.czest.pl/gif-asiatiche-gratis/
http://foto-di-uomini-super-pelosi.onlyteaminfo.com/
http://pasqualino-sette-bellezze-trama-e-critica.bookworkout.com/
http://onlyteaminfo.com/foto-di-scopate-sfrenate/
http://yp20.czest.pl/calze-con-buchi/
http://vogliose-pompinare.bookworkout.com/
http://yp20.czest.pl/la-smorfia/
http://yp20.czest.pl/piselli-scopate/
http://bookworkout.com/foto-brigitta-nuda/
http://yp20.czest.pl/foto-ninfomani-che-fanno-sesso/
http://bookworkout.com/immagini-gratis-michelle-candice/
http://ragazze-con-piccoli-culi.bookworkout.com/
http://bookworkout.com/figa-vecchie-donne/
http://giovani-ragazze-sudamericane-troie-gratis.onlyteaminfo.com/
http://bookworkout.com/ragazze-nere-inculate/
http://cazzi-enormi-foto-gratis.onlyteaminfo.com/
http://yp20.czest.pl/video-superdotati/
http://erotiche-bambine.bookworkout.com/
http://onlyteaminfo.com/teen-lebiche/
http://sculacciatte.bookworkout.com/
http://bucetas-ejaculando.yp20.czest.pl/
http://loro-iako.yp20.czest.pl/
http://onlyteaminfo.com/calendario-nudo-uomini/

# re: WSDL 1.1 Service Description Comparison for SOAP Finishing Up; SSDL Up Next 1/11/2008 1:23 AM snowman
http://online.grajewo.pl/unistar/
http://foto-free-nudi.online.grajewo.pl/
http://foto-di-donne-mature-che-scopano-i-figli.online.grajewo.pl/
http://online.grajewo.pl/vaginas-ardientes/
http://employee-motivation-activities.online.grajewo.pl/
http://online.grajewo.pl/nudebeach-amateur/
http://forsett.ostroda.pl/video-fistfuking-anal/
http://foto-secxi.forsett.ostroda.pl/
http://online.grajewo.pl/belle-gambe-spogliarello/
http://spazionwind.forsett.ostroda.pl/
http://online.grajewo.pl/foto-donne-porcelline-nude/
http://foto-amatoriale-mature.forsett.ostroda.pl/
http://forsett.ostroda.pl/foto-porno-gratis-suore/
http://online.grajewo.pl/immagini-per-copertine-cd-fantasia/
http://intimo-uomo.forsett.ostroda.pl/
http://zie-molto-porche.forsett.ostroda.pl/
http://forsett.ostroda.pl/inculate-fra-donne/
http://esperienze-erotiche.online.grajewo.pl/
http://forsett.ostroda.pl/sborr/
http://suonerie-sporche.forsett.ostroda.pl/
http://online.grajewo.pl/pompinare-svedesi/
http://clips-vecchi-cartoni-disney.forsett.ostroda.pl/
http://forsett.ostroda.pl/vecchie-e-grasse-troie/

# re: WSDL 1.1 Service Description Comparison for SOAP Finishing Up; SSDL Up Next 6/1/2009 4:06 AM moha
<a href="http://www.LAND-FOR-SALE00.INFO">????? ?????</a> - <a href="http://www.HIRE-VILLAS.INFO">????? ???</a> - <a href="http://BUILDING-MAPS.INFO">????? ??????</a> - <a href="http://www.BUILDINGS00.INFO">??????</a> - <a href="http://www.BUILDINGS-FOR-SALE00.INFO">?????? ?????</a> - <a href="http://www.LAND-SALE00.INFO">??? ?????</a> - <a href="http://www.THE-SALE-OF-APARTMENTS.INFO">??? ???</a> - <a href="http://www.THE-SALE-OF-REAL-ESTATE.INFO">??? ??????</a> - <a href="http://www.JORDAN-HOMES.INFO">???? ??????</a> - <a href="http://www.HOUSES-IN-INSTALLMENTS.INFO">???? ????????</a> - <a href="http://www.PREFABRICATED-HOUSES.INFO">???? ?????</a> - <a href="http://www.JEDDAH-HOMES.INFO">???? ???</a> - <a href="http://www.HOUSES-APARTMENTS00.INFO">???? ???</a> - <a href="http://www.HOUSE-FOR-SALE00.INFO">???? ?????</a> - <a href="http://www.RENTAL-HOMES00.INFO">????? ?????</a> - <a href="http://www.DESIGNS00.INFO">??????</a> - <a href="http://www.DESIGN-HOUSES.INFO">?????? ????</a> - <a href="http://www.DESIGNS-READY.INFO">?????? ?????</a> - <a href="http://www.APARTMENT-DESIGNS.INFO">?????? ???</a> - <a href="http://www.VILLA-DESIGNS.INFO">?????? ???</a> - <a href="http://www.ARCHITECTURAL-DESIGNS.INFO">?????? ??????</a> - <a href="http://www.ENGINEERING-DESIGNS.INFO">?????? ??????</a> - <a href="http://www.DESIGNS-AND-FACADES.INFO">?????? ? ??????</a> - <a href="http://www.TERRAIN-DESIGN.INFO">????? ?????</a> - <a href="http://www.DESIGN-MAPS.INFO">????? ?????</a> - <a href="http://www.DESIGN-DEPARTMENT.INFO">????? ???</a> - <a href="http://www.DESIGN-OF-APARTMENTS.INFO">????? ???</a> - <a href="http://www.THE-DESIGN-OF-VILLAS.INFO">????? ???</a> - <a href="http://www.THE-DESIGN-OF-BUILDINGS.INFO">????? ?????</a> - <a href="http://www.DESIGN-PROPERTIES.INFO">????? ???????</a> - <a href="http://www.OWNERSHIP-OF-HOUSES.INFO">????? ????</a> - <a href="http://www.OWNERS-OF-APARTMENTS.INFO">????? ???</a> - <a href="http://www.VILLA-OWNERSHIP.INFO">????? ???</a> - <a href="http://www.MAPS00.INFO">?????</a> - <a href="http://www.MAPS-HOUSES.INFO">????? ????</a> - <a href="http://www.APARTMENT-PLANS.INFO">????? ???</a> - <a href="http://www.MAPS-VILLAS.INFO">????? ???</a> - <a href="http://www.ARCHITECTURAL-MAPS.INFO">????? ???????</a> - <a href="http://www.MAPS-HOME.INFO">????? ?????</a> - <a href="http://www.MAPS-ENGINEERING.INFO">????? ??????</a> - <a href="http://www.APARTMENTS00.INFO">???</a> - <a href="http://www.RIYADH-APARTMENTS.INFO">??? ??????</a> - <a href="http://www.APARTMENTS-IN-INSTALLMENTS.INFO">??? ????????</a> - <a href="http://www.JEDDAH-APARTMENTS.INFO">??? ???</a> - <a href="http://www.APARTMENT-FOR-RENT00.INFO">??? ???????</a> - <a href="http://www.FLATS-FOR-SALE.INFO">??? ?????</a> - <a href="http://www.APARTMENT-FOR-SALE00.INFO">??? ?????</a> - <a href="http://www.EGYPT-APARTMENTS.INFO">??? ???</a> - <a href="http://www.APARTMENTS-PHOTOS.INFO">??? ???</a> - <a href="http://www.PHOTOS-VILLA.INFO">??? ???</a> - <a href="http://www.REAL-ESTATE00.INFO">??????</a> - <a href="http://www.JORDAN-REAL-ESTATE.INFO">?????? ??????</a> - <a href="http://www.RIYADH-REAL-ESTATE.INFO">?????? ??????</a> - <a href="http://www.KUWAIT-REAL-ESTATE.INFO">?????? ??????</a> - <a href="http://www.REAL-ESTATE-HOMES00.INFO">?????? ????</a> - <a href="http://www.JEDDAH-REAL-ESTATE.INFO">?????? ???</a> - <a href="http://www.PROPERTIES-FOR-RENT.INFO">?????? ???????</a> - <a href="http://www.PROPERTIES-FOR-SALE00.INFO">?????? ?????</a> - <a href="http://www.REAL-ESTATE-FOR-SALE00.INFO">?????? ?????</a> - <a href="http://www.EGYPT-REAL-ESTATE.INFO">?????? ???</a> - <a href="http://www.VILLAS00.INFO">???</a> - <a href="http://www.VILLAS-JORDAN.INFO">??? ??????</a> - <a href="http://www.VILLAS-RIYADH.INFO">??? ??????</a> - <a href="http://www.VILLAS-JEDDAH.INFO">??? ???</a> - <a href="http://www.RESIDENTIAL-VILLAS.INFO">??? ?????</a> - <a href="http://www.VILLAS-REAL-ESTATE.INFO">??? ??????</a> - <a href="http://www.VILLAS-LEBANON.INFO">??? ?????</a> - <a href="http://www.VILLAS-FOR-RENT00.INFO">??? ???????</a> - <a href="http://www.VILLA-FOR-SALE.INFO">??? ?????</a> - <a href="http://www.VILLAS-FOR-SALE.INFO">??? ?????</a> - <a href="http://www.VILLA-FOR-RENT00.INFO">??? ???????</a> - <a href="http://www.PALACES-FOR-SALE.INFO">???? ?????</a> - <a href="http://www.LEASING00.INFO">???????</a> - <a href="http://www.SHOPS-FOR-RENT.INFO">????? ???????</a> - <a href="http://www.SHOPS-FOR-SALE.INFO">????? ?????</a> - <a href="http://www.SCHEMES00.INFO">??????</a> - <a href="http://www.SCHEME-OF-LAND.INFO">?????? ?????</a> - <a href="http://www.BUILDING-SCHEMES.INFO">?????? ????</a> - <a href="http://www.HOUSING-SCHEMES.INFO">?????? ????</a> - <a href="http://www.SCHEMES-APARTMENTS.INFO">?????? ???</a> - <a href="http://www.SCHEMES-VILLAS.INFO">?????? ???</a> - <a href="http://www.SCHEMES-FOR-SALE.INFO">?????? ?????</a> - <a href="http://www.HOMES-SCHEMES.INFO">?????? ?????</a> - <a href="http://www.ENGINEERING-SCHEMES.INFO">?????? ??????</a> - <a href="http://www.FARMS00.INFO">?????</a> - <a href="http://www.FARMS-FOR-SALE00.INFO">????? ?????</a> - <a href="http://www.REAL-ESTATE-OFFICES.INFO">????? ????????</a> - <a href="http://www.OFFICES-OF-REAL-ESTATE.INFO">????? ??????</a> - <a href="http://www.OFFICES-FOR-RENT00.INFO">????? ???????</a> - <a href="http://www.ENGINEERING-OFFICES.INFO">????? ??????</a> - <a href="http://www.HOMES00.INFO">?????</a> - <a href="http://www.THE-HOUSES-IN-INSTALLMENTS.INFO">????? ????????</a> - <a href="http://www.HOUSES-FOR-RENT00.INFO">????? ???????</a> - <a href="http://www.HOMES-FOR-SALE00.INFO">????? ?????</a> - <a href="http://www.MODELS-APARTMENTS.INFO">????? ???</a> - <a href="http://www.SKINS-VILLAS.INFO">?????? ???</a> - <a href="http://www.BUILDINGS-AND-FACADES.INFO">?????? ?????</a> - <a href="http://www.SKINS-HOMES.INFO">?????? ?????</a>

What do you have to say?

Title:
Name:
Url:
Comments: 

Protected by Clearscreen.SharpHIPEnter the code you see: