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

  • Carlo Pescio
  • CICAP
  • Programmazione.it
  • Technology Bites Technology Bites
  • UAAR UAAR
  • Wall Street Italia

RSS news da leggere

  • Una maggioranza per la legge elettorale forse c'è - Europaquotidiano.it 7 settembre 2010
  • X Factor 2010, Giudica i giudici: Elio (I puntata) - Rockol.it 7 settembre 2010
  • Hawking: ateo da sempre - Altre Notizie 7 settembre 2010
  • Le campane fesse del Vaticano - La Repubblica 7 settembre 2010
  • Ora basta: Minzolini vattene! - Tutto Tv 7 settembre 2010
  • Dottor Newman secondo BXVI - La Stampa 7 settembre 2010
  • Groenlandia: iceberg giganteminaccia la navigazione 7 settembre 2010
  • Snoop Dogg e gli altri: quando le stardiventano esche per le truffe online 7 settembre 2010
  • I piloni galleggianti sonoil futuro dell'eolico marino 7 settembre 2010
  • Efficienza energetica: negli ultimi cinque anni superati gli obiettivi nazionali 7 settembre 2010
  • Pakistan: Onu, 10 milioni di senzatetto - ANSA.it 7 settembre 2010

Lavoro

  • Abbeynet
  • Pane e Dolce Pane e Dolce
  • Plus Immobiliare

admin

  • Collegati
  • Voce RSS
  • RSS dei commenti
  • WordPress.org

categorie

  • Attualità (19)
  • Filosofia (7)
  • Informatica (9)
  • Programmazione (11)
  • Religione (15)
  • Storia (1)

tag

affidabilità Andrea Murru Bagnasco Barragan Benedetto XVI Berlusconi bibbia blog C++ 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 miracoli numeri omonimia overlapped I/O peccato pedofilia pena di morte Penitenzieri ragione XML
rss Commenti RSS