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.

Categorie
Programmazione
Tags
SOA, SOAP, XML
Commenti RSS
Commenti RSS
Trackback
Trackback

« Cosa pensate del caso Eluana Englaro ? La sottile differenza tra IP delivery e Cloaking »

Leave a Reply

Fare clic qui per annullare la risposta.

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

  • Florida: i grattacieli forma-nebbia 8 febbraio 2012
  • Cani, l'addomesticamento spostato indietro a 33 mila anni fa 8 febbraio 2012
  • Se il clima cambia, qualcuno è contento: gli albatros 8 febbraio 2012
  • Una pianta marina mediterranea è l'organismo più vecchio del mondo 8 febbraio 2012
  • Stato di un upload in tempo reale con JavaScript e PHP 8 febbraio 2012
  • Linux Socket Programming by Example 8 febbraio 2012
  • Anche il meteo diventa social grazie a una start-up di giovani italiani 8 febbraio 2012
  • La vita si evolve per errore 8 febbraio 2012
  • L'ormone del cuore che «brucia» i grassi 8 febbraio 2012
  • Il sapone magnetico che pulisce il mare 8 febbraio 2012
  • Un topo può diventare grande come un elefante in 24 milioni di generazioni 8 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