Tra il codice e la realtà

omnia munda mundis
  • rss
  • Inizio
  • About
  • Andrea Murru

Alcuni modi comuni per rovinarsi la vita con l'XML

Andrea Murru | 12 marzo 2009

In un ottimo articolo Kyle Brown, elenca tre “comuni” problemi che affliggono i Web Services basati su XML (SOAP o meno). Merita una lettura attenta perché non mette in evidenza  le meravigliose capacità di un qualche tool, libreria o linguaggio, ma collega a errori di principio nel design i disastri che si riesce a produrre anche in contesti abbastanza semplici e con strumenti tutto sommato ben conosciuti.

Il primo errore è davvero banale e non mette in evidenza nulla di “profondo”: gestire messaggi da parecchi megabyte, magari con dati binari (senza forse neppure accorgersene) è semplicemente una scelta da incapaci; non è certo un problema dell’XML.

Il secondo è invece molto più interessante, perché è davvero una forza che guida spesso il design: definire i servizi ad un livello esremamente basso (ad esempio a livello di ogni singola operazione SQL). Perché (come dice Brown) “[...]such low-level data services often fail.” ? A mio parere il discorso è molto generale: Un Web Service dovrebbe rappresentare un’interfaccia che maschera la complessità che si trova a monte, semplificandone l’utilizzo in base alle esigenze di chi si trova a valle. Purtroppo invece scrivere un XML o richiamare un servizio non è più facile che accedere direttamente ad un DB e scrivere l’SQL relativo, né maschera alcuna complessità o dettaglio implementativo se il contenuto informativo necessario a richiamarlo è in relazione biunivoca con l’SQL utilizzato. Introdurre un layer (o un’interfaccia per l’accesso di una qualche risorsa/servizio) deve essere motivato da concreti vantaggi nel contesto specifico e non è certo buono in astratto e in generale.

Il terzo problema è paradossale e viene fuori soprattutto con SOAP: siccome non è comodo né banale definire gli schema in modo completo e soprattutto non è facile modificarli, spesso alcuni servizi sono solo semi-definiti con una parte (spesso predominate) magari ancora in XML, ma non parte dello schema della richiesta. Questa situazione è spesso solo la spia del fatto che si è sbagliato nel definire le interfacce, che risultano complesse ed devono essere cambiate molto spesso, perché sono poste al livello sbagliato.

Ultima nota a livello generale: in programmazione qualcosa di inutile è quasi sempre dannoso, specie un’astrazione.

Comments
Nessun Commento »
Categorie
Programmazione
Tags
SOA, SOAP, XML
Commenti RSS Commenti RSS
Trackback Trackback

Contatti



sitòfono

Suggeriti

  • Caasa Caasa
  • Carlo Pescio
  • CICAP
  • Mercato-Immobiliare.info Mercato-Immobiliare.info
  • Programmazione.it
  • Technology Bites Technology Bites
  • UAAR UAAR
  • Wall Street Italia

RSS news da leggere

  • Ammettiamolo, pochi avrebbero scommesso sul “default da neve ... - Online-News 6 febbraio 2012
  • Pedofilia, il Papa: priorità alle vittime Cardinal Nevada: oltre ... - Il Messaggero 6 febbraio 2012
  • Ambientalisti, per amor di Dio - L'Indro 6 febbraio 2012
  • Il pensiero religioso dal paleolitico all'Islam - Guagnano Informa (Blog) 6 febbraio 2012
  • I PICCOLI E LA FEDE: DON BENZI (CEI), UN TEMPO IMPORTANTE PER LA ... - Toscana Oggi 6 febbraio 2012
  • Papa: a settembre il 3/o volume su Gesu' - Corriere della Sera 6 febbraio 2012
  • Eugenio Finardi: “A Morandi non potevo dire di no” - LeiWeb 6 febbraio 2012
  • Julien Ries: «Al Meeting ho visto che la perversione del '68 ... - Tempi.it 6 febbraio 2012
  • È necessario trasmettere entusiasmo per Cristo. Come fecero i ... - Tempi.it 6 febbraio 2012
  • Volunia, il motore di ricercaitaliano che va oltre Google 6 febbraio 2012
  • Un nuovo grande occhio scruterà l'universo 6 febbraio 2012

Lavoro

  • Abbeynet
  • Caasa Caasa
  • Mercato-Immobiliare.info Mercato-Immobiliare.info
  • Pane e Dolce Pane e Dolce
  • Plus Immobiliare

Notizie Condivise

categorie

  • Attualità (28)
  • Filosofia (7)
  • Informatica (14)
  • Programmazione (13)
  • Religione (16)
  • Storia (2)

tag

affidabilità Andrea Murru Bagnasco Barragan Benedetto XVI Berlusconi bibbia blog C++ caasa Calice d'oro Carlo Pescio cloaking comandamenti completion routine Corte di Cassazione costituzione Droga efficienza Eluana Englaro europeana eutanasia fluido non newtoniano gioia google gSOAP iDoser informazione ip-delivery Java JSON Kant Le Iene libertà Linus Torvalds Marcello Pera mercato immobiliare miracoli numeri omonimia peccato ragione SEO UAAR XML
rss Commenti RSS