Ubrzavanje usvajanja XML rječnika

Source: http://xfront.com/accelerating-adoption-of-XML-vocabularies/

 

Želite ubrzati usvajanje XML rječnika? Jedan od načina je da snage od 800 funti gorile prisili sve da ga koriste. Ali to će uskoro rezultirati sramotom i pobunom. Bolji je način stvaranje nečega što će ljudi stvarno htjeti koristiti i ne zahtijeva od njih veliku investiciju u vremenu ili novcu i omogućuje im da odmah počnu međusobno djelovati. Evo kako:

  1. Kada izradite XML rječnik, navedite ne samo značenje oznake, već i njegovo ponašanje u aplikacijama koje ga obrađuju.
  2. Navedite pravila o usklađenosti.
  3. Stvorite testni paket.
  4. Izradite aplikaciju koja provodi ponašanje.
  5. Potvrdite prijavu protiv testnog paketa.
  6. Neka aplikacija bude dostupna svijetu.

U idealnom slučaju, izradit će se nekoliko implementacija aplikacije (svaki s istim ponašanjem, naravno!). Na taj način korisnici mogu odabrati implementaciju temeljenu na njegovoj izvedbi ili veličini ili na kojemu je programskom jeziku implementiran.

To je to! Učini to i vaš XML rječnik brzo se usvaja.

Primjer: Razmislite o XSLT rječniku. XSLT specifikacija određuje ne samo značenje svakog elementa i atributa nego i njihovo ponašanje. XSLT specifikacija sadrži pravila usklađenosti. Tu je XSLT test paket. Izrađen je program zvan XSLT procesor koji provodi ponašanje navedeno u XSLT specifikaciji. U stvari, stvorene su više implementacija aplikacije: Xalan, Saxon, Sableton i drugi.

Dopustite mi da razradim nešto više o tome što mislim pod “određivanjem ponašanja”. Ponovo razmotrite XSLT. XSLT specifikacija navodi da element <xsl: for-each> identificira zbirku čvorova. To je značenje. Također navodi da primjena koja se mora uskladiti mora se ponavljati na svakom čvoru koji je označen odabranim atributom (svaki za svaki element ima odabrani atribut) i izvršiti elemente unutar <xsl: for-each>. To je ponašanje. Stoga XSLT specifikacija određuje kako se aplikacija mora ponašati na elementu <xsl: for-each>. Isto vrijedi i za cijeli XSLT rječnik.

XML Shema specifikacija određuje ponašanje XML Shema validatora. Na primjer, određuje da za potvrdu elementa u XML shemi, validator mora provjeriti da dokument XML instance sadrži ispravni broj pojavljivanja elementa i njegov sadržaj ima ispravan tip. Stoga, on određuje kako se validator mora ponašati na XML Schema vokabularu. Dakle, kako bi “odredio ponašanje” znači opisati “za ovaj element (ili atribut) u vokabularu, aplikacija mora to učiniti, ovo i to.”

Pogreška koju ljudi naprave prilikom izrade XML rječnika je da ne propisuju svoje ponašanje. Ostavljaju ga “svijetu” da shvate što bi trebalo biti ponašanje. Klasičan je primjer HTML. Razvojni programeri preglednika morali su odlučiti što bi trebalo biti ponašanje. Imali su široko različite ideje o pravilnom ponašanju. Posljedica toga je da se IE, Firefox i drugi preglednici ponašaju drugačije. Trebalo je 10 godina prije nego što su konačno uskočili na zajedničko razumijevanje ponašanja. Je li HTML specifikacija navedila ponašanje, pod uvjetom da su pravila usklađenosti i testni paket, imali smo identične ponašanje preglednika prije 10 godina.

Jedna stvar koju morate uzeti u obzir prilikom navođenja ponašanja je ovo: hoće li vaš XML rječnik biti upisan u aplikaciju kao jedan XML dokument ili kao dva XML dokumenta? (Ili više?) Uzmimo neke primjere da vidimo što mislim:

  • Preglednik aplikacija proces jedan dokument (HTML dokument)
  • XML Schema za provjeru koje obrađuju dva dokumenta (XML Schema dokumenta i XML dokument)
  • XSLT procesor obraditi dva dokumenta (XSLT dokumenta i XML dokument)

U ovim primjerima aplikacije su: preglednik, XML Schema validator i XSLT procesor. Ove aplikacije obrađuju XML rječnik. Ovisno o XML rječniku, aplikacija može zahtijevati jedan ulazni dokument ili dva ulazna dokumenta (ili više).

Interoperabilnost podataka

Često sam čuo da je rekao, “Kako bi se postigla interoperabilnost podataka, svaka aplikacija mora na isti način interpretirati/razumjeti XML rječnik”.

Koji bolji način osigurati iste interpretacije/razumijevanja nego koristiti istu aplikaciju!

Korištenjem iste aplikacije možemo imati savršenu interoperabilnost podataka. NAPOMENA: Kada kažem “istu aplikaciju” mislim na skup implementacija. Dakle, Xalan, Saxon i Sabletron su sve iste aplikacije – svi su oni XSLT procesori. Upotreba iste aplikacije ne znači, na primjer, da svatko upotrebljava Xalan. Jedna osoba može koristiti Xalan, a drugi koristi Saxon, i još jedan Sabletron. To je u redu; svi imaju isto ponašanje; svi oni slijede pravila XSLT sukladnosti; svi oni prolaze XSLT test paket.

Evo primjera kako ilustrirati kako se interoperabilnost podataka postiže kroz zajedničko korištenje iste aplikacije.

Primjer: razmislite o XSLT-u. Mogu stvoriti XSLT dokument i pokrenuti ga na mom XSLT procesoru. Mogu vam poslati XSLT dokument i pokrenuti ga na XSLT procesoru. Imamo isto ponašanje. Savršeno se slažemo o tome što znači element <xsl: for-each> i kako se treba ponašati. Isto vrijedi za sve ostale elemente i atribute u XSLT vocabularu. Uspješno smo surađivali. Što je to omogućilo? Odgovor: Ono što je omogućilo interoperabilnost jest činjenica da koristimo istu aplikaciju. (Ponovno moram naglasiti da to ne znači da koristimo istu implementaciju aplikacije, možda koristite Xalan i ja mogu koristiti Saxon, to je u redu, oni su oba XSLT procesora.)

Mogu stvoriti drugi XSLT dokument i poslati ga vama. Opet, imamo savršenu interoperabilnost. I treći XSLT dokument. I tako dalje. XSLT procesor aplikacija olakšava beskrajne različite XSLT transformacije stvoriti, razmjenjivati i izvršiti uz savršeno razumijevanje/interoperabilnost.

Rekapitulacija

Ovdje su glavne točke:

  1. Kada stvoriti XML vokabular, odrediti ponašanje XML rječnika. Navedite zahtjeve skladu. Napravite probni paket. Provesti skladu aplikacije, svaki sa istim ponašanjem (implementacije može varirati u veličini, izvedbi, programski jezik, itd). Svatko koristiti implementacije.
  2. interoperabilnost podataka nije postignuta kroz zajedničko razumijevanje XML rječnika. interoperabilnost podataka se postiže kroz zajedničko korištenje XML vokabulara u primjeni.
  3. Stvaranje XML vokabular bez navođenja njegovo ponašanje je loša ideja. To je recept za odgođeno interoperabilnost podataka u najboljem slučaju, nije interoperabilnost podataka u najgorem slučaju.
Computer science
Kratka povijest interneta

Source: http://www.walthowe.com/navnet/history.html Anegdotalna povijest ljudi i zajednica koji su doveli do interneta i weba (Zadnji put ažuriran 23. kolovoza 2016.) A Brief History of the Internet by Walt Howe is licensed under a Creative Commons Attribution- Noncommercial-Share Alike 3.0 United States License. Based on a work at www.walthowe.com. Internet je bio rezultat nekog vizionarskog razmišljanja …

Computer science
Intervjui s ranim razvojnim programerima · Internet povijest

Source: http://internetbrothers.com/interviews.htm O čemu se radi: Prije gotovo desetak godina, Internet Brothers intervjuirao je brojne rane pioniri u nezavisnoj zajednici produkcije web stranica. Neki su stvarali umjetnost, drugi su razvili nove tehnologije, neki su čak i počeli pokretati internetsku trgovinu. Svi su bili dobro poznati u web krugovima zbog svoje genijalnosti …

Computer science
“Strijte” jezike, ili 28 godina programiranja

Source: https://blog.osteele.com/2006/02/stretch-languages Oliver Steele 5. veljače 2006 Nedavno sam pregledao programske jezike koje sam koristio tijekom 28 godina1 moje programske karijere. Rezultat je prikazan u donjoj tablici. (Kliknite na sliku da biste je vidjeli u punoj veličini.) Ovdje postoje neki očiti trendovi2. Jezici se uglavnom dobivaju na višoj razini. Postoji nekoliko …