Vorige aflevering | Search TidBITS | TidBITS Homepage | Volgende aflevering

TidBITS#584/18-Jun-01

Wat is dat WebObjects nu weer en waar kwam het vandaan? Lees verder voor de eerste aflevering van Jonathan Rentzsch's artikel in twee delen waarin uitgelegd wordt wat WebObjects is, waar het vandaan kwam en hoe het zich verhoudt tot andere manieren om webapplicaties te maken. Ook deze week, Adam moppert over een rapport omtrent " ernstige markt dominantie" op het Internet, en we bespreken de nieuwe versies van IPNetSentry 1.1.1, Rewind 1.2, BBEdit Lite 6.1.1 en icWord 1.2.

Onderwerpen:

Copyright 2001 TidBITS Electronic Publishing. All rights reserved.
Information: <info@tidbits.com> Comments: <editors@tidbits.com>


-> Denk je dat TidBITS interessant is voor <-
-> je vrienden, kennissen, collega's? Geef <-
-> hen de tip zich ook GRATIS te abonneren <-
-> of stuur deze aflevering naar hen door! <-


Je kunt je gratis abonneren op de Nederlandse afleveringen van TidBITS door een (blanco) mailtje te sturen naar: tidbits-nl-on@tidbits.com. Je krijgt deze dan per e-mail toegestuurd.
Om je abonnement op te zeggen, kun je een mailtje sturen naar: tidbits-nl-off@tidbits.com.


Deze editie van TidBITS werd gedeeltelijk gesponsord door:


De Nederlandse editie van TidBITS is een letterlijke vertaling van de oorspronkelijke Engelse versie. Daarom is het mogelijk dat een deel van de inhoud niet geldt in bepaalde landen buiten de USA.

Dit nummer werd uit het Engels vertaald door:

Verder werkten mee:


MailBITS/18-Jun-01

[vertaling: GH]

Rewind promoveert naar 1.2 -- Power On Software heeft Rewind vernieuwd. Het gereedschap van $100 om terug te keren naar eerdere versies van bestanden of systeemsoftware in het geval van een crash of een vergissing (zie "Macworld SF 2001 Trend: "Cool" Gereedschap" in TidBITS-564). Rewind 1.2 voegt, naast andere verbeteringen, de mogelijkheid toe om de grootte van het Rewind archief te beperken (de catalogus van veranderingen aan bestanden tijdens je werk op de Mac), verbetert stabiliteit met programma's die op ongewone wijze geheugen gebruiken, en behandelt nu op correcte wijze Virtual PC 4 disk images. Hoewel de upgrade gratis is moet je wel je serienummer invullen om de volledige versie op te halen van Rewind 1.2, inclusief handleiding (een bestand van 7 MB). Rewind werkt onder de Mac OS versies 8.1 tot 9.1 en heeft minstens 10 procent van je harde schijfcapaciteit nodig om te kunnen draaien. [JLC]

<http://www.poweronsoftware.com/products/rewind/>
<http://db.tidbits.com/getbits.acgi?tbart=06280>

icWord 1.2 voegt double-byte ondersteuning toe -- De recente 1.2 update van Panergy's icWord voor het bekijken en afdrukken van Microsoft Word documenten kan nu bestanden lezen van de Far East versie van Microsoft Word, inclusief de Chinese, Japanse, Koreaanse en andere double-byte talen. Andere toevoegingen zijn ondersteuning van geluid, weergave van voetnoten als eindnoten, en ondersteuning van Unicode tekstbestanden. Panergy verbeterde ook de ondersteuning van de ingebouwde grafiek van Word, tabeloverzicht, en paragraaf-spatiëring. De update is gratis en een download van 2.0 MB. [ACE]

<http://www.icword.com/>
<http://db.tidbits.com/getbits.acgi?tbart=06074>

IPNetSentry 1.1.1 spoort inbrekers op -- Sustainable Softworks heeft IPNetSentry 1.1.1 uitgebracht, een kleine update van de persoonlijke firewall software (zie "Macworld SF 2001 Trend: Persoonlijke firewalls" in TidBITS-564). Deze versie voegt een intern Log-venster toe voor de laatste 32 K aan log-gegevens en de mogelijkheid om het spetterscherm te omzeilen door de commando-toets ingedrukt te houden tijdens het opstarten. Opmerkelijker is dat als IPNetSentry een poging tot inbraak signaleert, het de gebruiker in staat stelt om een trace route te plegen naar het IP adres van de inbreker, wat kan helpen om de oorsprong van een aanval te identificeren. De uiteindelijke trace route wordt gedaan door een apart Sustainable Softworks' produkt, IPNetMonitor. De update van IPNetSentry is gratis maar IPNetMonitor kost $30, en wordt in verscheidene aanbiedingen gebundeld. IPNetSentry 1.1.1 is een 1.2 MB download en heeft minstens Mac OS 7.6.1 en Open Transport 1.1 of hoger nodig op een PowerPC-gebaseerde Mac. [ACE]

<http://www.sustworks.com/site/prod_ipns_overview.html>
<http://www.sustworks.com/site/prod_ipmonitor.html>
<http://www.sustworks.com/site/bundles.htm>
<http://db.tidbits.com/getbits.acgi?tbart=06281>

BBEdit Lite 6.1.1 repareert bugs -- Bare Bones Software heeft BBEdit Lite 6.1.1 uitgebracht, een bug-reparatie update van de gratis versie van de tekstbewerker. BBEdit Lite 6.1.1 onthoudt nu veranderingen in de Standaard Lettertype instelling, honoreert zoekopties in meerdere bestanden, voorziet in dynamisch scrollen onder MacOS 8.1 en eerder, verbetert MacOS X clipboard prestaties en repareert een bug die te maken had met het Hard Wrap commando. BBEdit Lite 6.1.1 is een download van 4.3 MB en heeft een PowerPC-gebaseerde Mac nodig. [ACE]

<http://www.barebones.com/products/bbedit_lite.html>
<http://db.tidbits.com/getbits.acgi?tbart=06448>


We moeten de controle behouden over het horizontale...

door Adam C. Engst <ace@tidbits.com>
[vertaling: HvH, AV]

Een recent rapport van Jupiter Media Metrix kwam met de nogal provocerende bewering dat sinds maart 2001, in de V.S slechts vier bedrijven iets meer dan 50 procent van alle online gebruikersminuten beheersen (zowel thuis als op het werk). Twee jaar geleden, maart 1999, beheersten nog 11 bedrijven 50 procent van de online minuten. Nog prikkelender is dat het aantal bedrijven dat 60 procent van de online minuten beheerst in maart 2001 14 was, tegen 110 in maart 1999.

<http://www.jup.com/company/pressrelease.jsp?doc=pr010604>

De vier topbedrijven zijn AOL Time Warner (32 procent), Microsoft (7.5 procent), Yahoo (7.2 procent), en Napster (3.6 procent). Sprekend vanuit een positie buiten deze monolithische bedrijven, vind ik dit rapport verontrustend door de impliciete veronderstellingen, en het brengt me uiteindelijk tot een conclusie die diametraal staat op die van het rapport namelijk dat marktdominantie op het internet mogelijk zou zijn.

Veronderstelling 1: Alle gebruikersminuten zijn gelijk -- Jupiter Media Metrix vertelt niets over de methodologie in de samenvatting van het rapport, maar in een voetnoot staat een hint waarom deze getallen niet zomaar vergelijkbaar zijn. AOL Time Warner's aandeel lijkt veel te groot, en dat is grotendeels te wijten aan het feit dat twee-derde van het totaal komt van particuliere communicatiediensten zoals e-mail en 'instant messaging'. Verwijder deze diensten en AOL Time Warner blijft op de eerste plaats, maar zakt naar 10.7 procent. Geen van de andere bedrijven (behalve het tweederangse Juno, met de particuliere gratis e-mail service) beschikt over die mate van controle over communicatiediensten om deze op te nemen in deze "gebruikersminuten" berekening. Ook blijft het onduidelijk of standaard internet e-mail en niet-particuliere 'instant messaging services' in de gebruikersminuten berekening zijn opgenomen - ik weet dat ik veel meer tijd in Eudora doorbreng dan in elke andere internetapplicatie.

Sterker nog, wanneer je je gaat afvragen wat een "gebruikersminuut" eigenlijk is, vraag je je af waarom Napster überhaupt wordt genoemd. Combineer de grootte van MP3-bestanden met het grote deel van de internetgemeenschap dat nog steeds modems gebruikt, en dan zie je hoe al deze langzame 'downloads' leidden tot het grote aantal gebruikersminuten van Napster. Ergens snijdt het wel hout om AOL Time Warner's communicatiediensten in de berekening op te nemen, omdat AOL's gebruik van particuliere software er zorg voor draagt dat ze advertenties kunnen vertonen of op een andere manier de gebruikerservaring kunnen beïnvloeden gedurende de gehele gebruikerstijd. Anderzijds vindt het gebruik van Napster bijna zeker plaats in de achtergrond, ongezien en genegeerd.

Veronderstelling 2: Gebruikers zijn hersenloze minutengenerators -- TidBITS bestaat voornamelijk om informatie te brengen naar en van de individuen die samen de Macintosh internetgemeenschap zijn. Dat betekent constante interactie met onze lezers, intelligente en geïnteresseerde mensen die er voor kiezen onze artikelen te lezen en erop te reageren. Een voortdurend geven en nemen, en ofschoon onze benadering van publiceren ongetwijfeld bijgesteld zou moeten worden wanneer we miljoenen lezers hadden, knijp ik nog steeds elke keer mijn tenen bij elkaar wanneer ik frases lees als "gebruikersminuten beheersen" of "de gebruiker in geld omzetten."

Het rapport lijkt te impliceren dat gebruikers geen enkele keuze hebben in wat ze doen, dat ze gedwongen worden van de diensten gebruik te maken die door de grote vier worden geleverd. Ik gebruik Yahoo nogal veel, maar dat is omdat ik hou van Yahoo's diensten en design, niet omdat Yahoo mij op een of andere manier klem heeft. Mijn indruk is eigenlijk dat internetgebruikers ongelooflijk wispelturig zijn, en er is weinig voor nodig om elk van de grote vier snel in positie te doen dalen. Napster valt ook terug, doordat ze de eerste ronde in de juridische strijd met de muziekindustrie heeft verloren, waardoor de aanvankelijke hoeveelheid (en toegankelijkheid) van populair materiaal is afgenomen. Plus, andere diensten vullen snel het vacuüm dat Napster heeft achtergelaten.

<http://db.tidbits.com/getbits.acgi?tbart=06346>

Voor iedereen die betrokken is bij internet mediazaken, zou ik de situatie eerder omschrijven in termen als de loyaliteit van online gebruikers moeten verdienen en behouden. Gebruikers worden zeker aangemoedigd om gebruik te blijven maken van de diensten van één enkel bedrijf, van AOL's particuliere interface tot Microsoft's opname van MSN in de Windows desktop, maar uiteindelijk komt het neer op het leveren van kwaliteitsdiensten die werkelijke waarde hebben voor de gebruikers.

Vooroordeel 3: De rest van het internet is niet interessant -- Hoe zit het dan met de 40 procent van gebruikersminuten die niet "beheerst worden" door deze 14 bedrijven? Deze worden niet eens genoemd in het rapport, en toch, ik durf er om te wedden dat als je vraagt wat mensen onthouden hebben van hun online sessie, ze waarschijnlijk eerder een persoonlijke e-mail of opmerkelijke website noemen in plaats van het portaal met het weerbericht. Wat het internet voor heeft op andere massamedia is dat het heel erg diep gaat. Bedenk hoe oppervlakkig televisie, radio, films en zelfs boeken, tijdschriften en software zijn. In deze andere gebieden zijn er relatief weinig producenten en de grenzen voor productie liggen behoorlijk hoog. In theorie zou er in deze situatie door de markt kwaliteit gemaakt moeten worden, maar zoals we hebben gezien betekent het eerder dat de markt de minst gemene deler doordrukt.

Dit is niet om te impliceren dat onafhankelijke inhoud goed is, omdat het meeste dat niet is. Sturgeon's Law zegt dat 90 procent van science fiction prut is, maar dat is omdat 90 procent van alles prut is. Als dus 90 procent van alle televisie programma's prut zijn (een optimistische schatting), blijft er niet veel over voor de overige 10 procent. Als je echter dezelfde berekening gebruikt voor het internet en slechts 10 procent van alle web sites en diensten de moeite waard zijn, hou je toch nog een groot aantal leuke plekken over in een moeras van prut.

Dat is een belangrijk verschil en een interessante verschuiving in de standaard discussie over kwaliteit versus kwantiteit. De gigantische hoeveelheid internet sites verzekert bijna dat kwaliteit niet verloren kan gaan, als zo vaak het geval is in situaties die nauwelijks toegankelijk zijn.

Vooroordeel 4: Informatie monoculturen zijn goed -- Zijn er lessen die geleerd kunnen worden van het Media Metrix rapport? Ja, maar niet de lessen die de makers van het rapport verwachten. Zij zien hier het bewijs dat marktdominantie mogelijk is op het internet, ondanks de grote hoeveelheid "kanalen" zoals zij het zo vreemd zeggen. Dat is waar, maar niet bijzonder interessant. Dit om de simpele reden dat de meest gebruikte diensten op het internet talrijke keren zijn nagemaakt met weinig variatie. Nieuwskoppen, waardes van aandelen, telefoonnummer zoekdiensten, webgebaseerde e-mail, zoekmachines, vergelijkend winkelen - noem het maar op en het is al gedaan door vele bedrijven op dit moment. Als je kijkt naar Yahoo, MSN, AOL en Netscape, bieden ze dus grotendeels dezelfde inhoud en functionaliteit. Welke van deze door een enkel persoon gebruikt wordt, is afhankelijk van persoonlijke voorkeur of een andere externe factor. Het feit dat andere bedrijven met gelijke diensten zijn weggevallen of opgekocht is niet echt een openbaring, of zelfs van enig belang.

Diversiteit is het belangrijkste aspect van het internet en de soorten inhoud en diensten van de grote bedrijven zijn het informatie equivalent van de monoculturen voor marktgewassen. Biologische monoculturen hebben een hoge productie, maar nemen voor lief dat ze redelijk bevattelijk zijn voor catastrofale ziekten en gevolgen voor het milieu kunnen hebben. En ik zou zeggen dat een vergelijkbaar verschijnsel zich voordoet in de wereld van data, informatie, kennis en gedachten. Een veelgenoemde biologisch parallel is het hedendaagse computervirus, dat welig tiert in de bijna-monocultuur van Microsoft Windows en Microsoft's e-mailprogramma Outlook. Een andere parallel is die van de meme, een zelfreplicerend, besmettelijk idee, ondertussen ook een geaccepteerd idee.

<http://www.memecentral.com/>

Pas die analogie toe op informatie en gedachten in het algemeen en ik denk dat het dan duidelijk is dat het internet, en iets specifieker, het gedeelte van het internet dat niet is gegenereerd in een zakelijke monocultuur een essentieel onderdeel is van onze intellectuele evolutie. Waarom? Omdat evolutie ruwe materialen nodig heeft om mee te werken. Dat is waarom sexuele voortplanting zo evolutionair succesvol is gebleken - de immense hoeveelheid mogelijke DNA-combinaties verzekeren constante verandering en experiment. De informatie die toegankelijk is geworden door het internet kan gezien worden als het DNA van nieuwe ideeën, zonder welke we niet verder voorwaarts kunnen en misschien zelfs behoorlijke schade kunnen toebrengen aan onszelf als een ras. Dus werk mee aan de intellectuele toekomst van het menselijke ras en ga op avontuur naar de minder vaak bezochte delen van het internet!


WebObjects: Wee mij, Deel 1

door Jonathan "Wolf" Rentzsch <tidbits@redshed.net>
[vertaling: JV, JS, TK, JG]

Vroeger was AppleScript Apple's best bewaarde geheim. Het bracht technologische vernieuwingen die tot op heden door andere platformen nog steeds niet geëvenaard worden, maar werd grotendeels genegeerd afgezien van een handvol enthousiastelingen. De situatie is de laatste jaren verbeterd, en de technologie haalde zelfs de keynote van Steve Jobs (hoewel wijdverspreide ondersteuning voor AppleScript in Mac OS X obscuur blijft). Hoe dan ook, tegenwoordig kennen meer mensen AppleScript, maar nu heeft Apple een nieuw best bewaard geheim: WebObjects.

In NeXT's dagen van teloorgang, was WebObjects het product dat de firma overeind hield. Het was niet goedkoop: een ongelimiteerde connectielicentie kostte $50.000. Maar zelfs met die prijs was WebObjects concurrerend met gelijkaardige producten.

Vorig jaar op de World Wide Developer Conference (WWDC), liet Jobs een bom ontploffen: hij kondigde een nieuwe vaste prijs aan van $700 voor WebObjects. Hoewel WebObjects geen aandachttrekkend consumentenproduct is zoals iTools of iDVD, zorgde de prijsverlaging voor een enorme interesse. En op de WWDC van dit jaar bracht Apple WebObjects 5 uit, volledig in Java geschreven, wat extra interessant belooft te zijn voor gebruikers die Mac OS X of Mac OS X Server hebben draaien.

<http://www.apple.com/webobjects/>
<http://db.tidbits.com/getbits.acgi?tbart=05950>
<http://db.tidbits.com/getbits.acgi?tbart=06440>

Vooraleer we het specifiek over WebObjects hebben, is het nuttig even stil te staan bij de soort software waartoe WebObjects behoort: applicatieservers. Dit artikel geeft een korte geschiedenis van applicatieservers en geeft een overzicht van de verschillende software-architecturen die WebObjects en zijn mededingers gebruiken. De volgende aflevering zal dieper ingaan op WebObjects, waaronder de drie belangrijkste gereedschappen en zijn zwakheden.

Applicatieservers -- WebObjects was de oorspronkelijke applicatieserver - een omgeving om applicaties te ontwikkelen en beschikbaar te stellen die via een webbrowser gebruikt worden.

In vele opzichten zijn applicatieservers een terugkeer naar de dagen van de mainframes. Toen deed één grote machine al het werk, en verscheidene goedkope terminals werden op de mainframe aangesloten. De terminals waren zeer eenvoudige computers - ze konden amper meer dan ontvangen tekst weergeven en toetsaanslagen terugzenden naar de mainframe.

De personal computer revolutie gaf individuele gebruikers de mogelijkheid hun eigen software te draaien, waardoor ze bevrijd werden van de tirannie van de priesters van het zakelijke informatiesysteem. Maar iets grappigs gebeurde op deze weg naar de revolutie: mensen wilden hun informatie en programma's delen.

Persoonlijk en gecentraliseerd samengebruik van bestanden hielp om informatie te delen, maar het delen van software bleef problematisch. Programma's ontwikkeld voor het ene platform draaiden niet op het andere. Software moest aangekocht worden, geïnstalleerd en onderhouden voor elke computer, wat de kosten en complexiteit dramatisch deed toenemen. Programma's moesten ook gespecialiseerd zijn om verschillende soorten data aan te kunnen, bijvoorbeeld: sommige gemeenschappelijke informatie mag alleen gebruikt worden door programma's die hun geldigheid kunnen bewijzen, zoals klantendatabases.

Toen kwam het Web. De boodschap was HTML en het middel was HTTP. Eender welke computer kon documenten van eender welke andere computer opvragen, waardoor het platformprobleem verminderde. Opwindender nog was dat je programma's kon opzetten die benaderd konden worden dankzij de rudimentaire ondersteuning voor de input van data die in HTML ingebouwd was.

Op korte termijn konden de Macs in de grafische afdeling en de pc's in de boekhouding dezelfde formulieren gebruiken die door de Unix doos op personeelszaken afgeleverd werden. Bovendien betekende de mogelijkheid te kunnen communiceren tussen platformen dat software-installatie en -onderhoud kon gebeuren op de centrale server van het bedrijf. Als een bug hersteld werd of een functie toegevoegd, dan moest enkel de server aangepast worden - alle clients profiteerden automatisch van de upgrade de volgende keer dat ze het programma gebruikten.

"Thin clients" - goedkope computers die eenvoudige software zoals een browser of een Java interpreter draaiden - werden het onderwerp van gesprek. Waarom middelen gebruiken om vele individuele computers op een netwerk te onderhouden als je ze centraal kan beheren zoals met het vroegere mainframesysteem? De servers bevatten alle programma-onderdelen evenals de data van de gebruiker. Verscheidene gebruikers in het bedrijf (of over de hele wereld!) zouden de servers dag en nacht bestoken.

Programmeurs werden geconfronteerd met krappe software-ontwikkelingstijd, ongelooflijke complexiteit en met de eis dat de server zo goed als nooit uit mocht vallen. NeXT zat in een unieke positie om instrumenten en diensten te creëren en te verkopen die al deze problemen aanpakten.

NeXT was vanaf het begin bekend om zijn ontwikkelgereedschap dat tot het beste gerekend kon worden. Object georiënteerd tot in de kern, kon dit gereedschap snel complexe applicaties ontwikkelen. En de software van NeXT draaide zowel op Unix als Windows NT - krachtige besturingssystemen die aan de eisen voor onmisbare servers voldoen. NeXT bracht dit alles tezamen om WebObjects te creëren.

Drie fundamentele delen -- Applicatieservers bestaan uit drie delen: de interface, de programmalogica, en de gegevenstoegang.

<http://db.tidbits.com/getbits.acgi?tbser=1197>

WebObjects is niet langer alleen in de applicatieserver-markt. Er zijn verscheidene spelers, en ze verschillen voornamelijk in de manier waarop ze de drie fundamentele zaken hierboven genoemd scheiden. Het is verhelderend de verschillende modellen te bestuderen: je kunt een duidelijke evolutie in ontwerp zien. Wat ik het meest indrukwekkend vind is dat al deze modellen langzaam bewegen in de richting van een gemeenschappelijk ontwerp: het ontwerp van WebObjects.

Volg mij bij deze ietwat kunstmatige evolutie van applicatieservers. Voor elke stap leg ik de achtergrond uit en vertel iets van de diverse pakketten die beschikbaar zijn. Sommige zijn gratis, open source. Sommige kosten tienduizenden dollars per processor. Hoewel deze lijst onvolledig en generaliserend is en snel achterhaald zal zijn, zou ze een aardig overzicht moeten geven.

Stenen Tijdperk: logica eerst, alles samengebonden -- Het Stenen Tijdperk ontwerp kenmerkt zich door een focus op de logica van het genereren van een dynamische pagina. Vrijwel alle programmeertalen kunnen gebruikt worden voor het accepteren van Web verzoeken en het genereren van HTML-documenten gebaseerd op de resultaten van het verzoek (sommige veel gebruikte talen zijn C, Perl, AppleScript en Java).

Deze webapplicaties gebruiken gewoonlijk een databron om het binnenkomende verzoek te beantwoorden. Sommige bekijken handmatig een bestand voor de informatie, anderen genereren een SQL query gebaseerd op het verzoek en geven dat door aan een database. Als de webapplicatie is gericht op berekenen hoeft het wellicht niet eens een databron te raadplegen.

Het is niet mijn intentie om het 'logica eerst' ontwerp te kleineren met het Stenen Tijdperk label. Integendeel, ik probeer slechts een indicatie van de leeftijd te geven (het was het allereerste ontwerp) en de complexiteit ervan (laag). Het Stenen Tijdperk ontwerp is lichtgewicht, en alles dat lichtgewicht is heeft zijn voordelen. Het voelt natuurlijk aan voor programmeurs, en het is gemakkelijk om snel een dynamische pagina te krijgen omdat alles op één plaats te vinden is. Voor rekenintensieve programma's is het Stenen Tijdperk ontwerp wellicht het beste.

Het Stenen Tijdperk ontwerp heeft echter zijn nadelen. Het eerste probleem is dat informatie over gegevenstoegang besloten zit in de logica. Technologie is ontwikkeld om te helpen met deze hard-gecodeerde database-afhankelijkheid. C en C++ ontwikkelaars op Windows (en tot op zekere hoogte op de Mac) hebben Microsoft's Open Database Connectivity (ODBC), Java ontwikkelaars hebben Java Database Connectivity (JDBC), en Perl heeft de Database Interface (DBI).

Het is belangrijk om te weten dat deze technologie slechts helpt bij het vinden van en het verbinding maken met een database. Als het aankomt op het ophalen uit en plaatsen van informatie in een database, moet je nog steeds SQL schrijven en in je programmalogica integreren. Omdat SQL referenties bevat naar specifieke tabel- en kolomnamen, heb jij de plicht om de gebruikte queries en de database synchroon houden.

Een ander nadeel is dat de logica plus interface plus data-ontwerp een fundamentele band legt tussen een pagina en een brok code. Als je de code tussen verschillende pagina's wilt delen, is het aan jou om een strategie te vinden om de code te delen en het allemaal bij te houden.

Het laatste nadeel van een Stenen Tijdperk ontwerp is dat de interface verbonden is met de programmalogica. Dit betekent dat alleen een programmeur het uiterlijk van een pagina kan veranderen, of de manier waarop het informatie toont.

Voorbeelden van Stenen Tijdperk gereedschap zijn AppleScript, C/C++, Java, JavaScript, Perl, Python, en het alleen op Windows beschikbare Visual Basic. Je kunt zien dat deze op logica gericht zijn omdat ze allemaal programmeertalen zijn. Ze zijn geweldig bij het weergeven van logische beslissingen en operaties, maar hebben problemen als ze gegevenstoegang en interface-generatie moeten behandelen. Recentere modellen gebruiken sommige van deze talen om het logica-gedeelte van een webapplicatie te bouwen.

Bronzen Tijdperk: interface eerst, alles samengebonden -- Nadat ze een paar honderd dynamische pagina's hadden geproduceerd, bevonden de programmeurs zich in een interessante situatie. Hun dynamische pagina's waren vrij vaak een dun laagje logica en gegevenstoegang, met een grote kwak interface in HTML. Bovendien vroegen die vervelende zakenmensen en grafici hen voortdurend de presentatie te veranderen.

Omdat programmeurs nu eenmaal luie en slimme mensen zijn, keerden zij de ontwerprelatie van het Stenen Tijdperk gewoon om. In plaats van de logica van een interface te voorzien, staken zij de logica in de interface. Nu had je pagina's die voornamelijk uit HTML bestonden, met speciale tags met kwakken logica. De programmeurs konden met een gerust gemoed de bestanden aan de betere webdesigners geven (d.w.z. het type webdesigner dat op het niveau van pure tekst-HTML werkt), hen vragen de kwakken logica niet aan te raken, en de webdesigners konden de lay-out veranderen zonder hulp van de programmeur.

Sommige programmeurs schreven zelfs WYSIWYG-achtige HTML-editors die de logica-kwakken herkenden (en verborgen), zodat zelfs niet-professionele webdesigners de lay-out van een pagina konden veranderen.

Net zoals de aanpak van het Stenen Tijdperk, biedt die van het Bronzen Tijdperk het voordeel dat je er snel mee uit de voeten kunt en dat alles zich op één plaats bevindt. Hoewel het ontwerp van het Bronzen Tijdperk het derde nadeel van een Stenen Tijdperk ontwerp verhielp, deed het niets aan de eerste twee. Gegevenstoegang bleef nog altijd ingebed (binnen de interface van de pagina of de logica) en code delen tussen pagina's bleef een probleem.

Voorbeelden van werktuigen uit het Bronzen Tijdperk zijn o.a. Active Server Pages (ASP), Java Server Pages (JSP), Lasso, en PHP. Deze werktuigen bedden programmeerlogica allemaal in HTML in. ASP werkt gewoonlijk met Visual Basic, JSP met Java, Lasso heeft een eigen op tags gebaseerde taal, en ook PHP gebruikt een eigen taal.

Al deze oplossingen kunnen met wat handige truukjes naar het Industrieel Tijdperkmodel worden overgebracht, maar dat is niet hoe zij oorspronkelijk werden ontworpen. JSP en PHP werken goed onder Mac OS X, en Lasso is uitzonderlijk Macintosh-vriendelijk (het werkt onder Classic Mac OS en biedt rechtstreekse verbindingen met FileMaker Pro en 4D). Toekomstige versies van Lasso zullen ook onder Mac OS X werken.

Industrieel Tijdperk: interface eerst, gescheiden interface -- Naarmate de projecten groter werden, werd code-duplicatie uit het Bronzen Tijdperk een nachtmerrie.

Telkens wanneer een bug werd ontdekt of een eigenschap werd toegevoegd, moesten de programmeurs alle bestanden doorlopen en verbeteren. Zij moesten alle kopieën en varianten van hun code bijhouden, of gewoon hopen dat zij alles hadden bijgewerkt. De kwaliteit van software verslechterde al gauw, naarmate alles een verwarde mengelmoes van licht verschillende code werd.

Het Industrieel Tijdperk ontwerp loste het probleem van code-duplicatie op door de logica buiten de interface te houden. Gegevenstoegang zit echter nog altijd wel in de logica ingebed, wat tot veel van dezelfde synchronisatieproblemen leidt als bij het ingebedde logicamodel van het Bronzen Tijdperk.

Voorbeelden van werktuigen uit het Industrieel Tijdperk zijn o.a. Cold Fusion, WebLogic, WebSphere, en aangepaste werktuigen uit het Bronzen Tijdperk. Met wat voorbereidend werk en consistente discipline kan je bijvoorbeeld het Industrieel Tijdperkmodel gebruiken voor projecten met Active Server Pages, Java Server Pages, en PHP. Naast de eigen op tags gebaseerde taal, ondersteunt Lasso ook server-side JavaScript.

Jammer genoeg is Lasso de enige van deze werktuigen die echt voor de Mac verkrijgbaar is. Cold Fusion plaatst het grootste deel van de logica in afzonderlijke server-side bestanden met een eigen JavaScript-achtige taal (CFScript). WebLogic en WebSphere zijn implementaties van de zogenaamde "Enterprise Java Beans"-containerspecificatie (EJB), en zij bieden op Java gebaseerde logica en opslag van objecten aan Java Server-pagina's. Met WebLogic en WebSphere is het niet echt onmogelijk om de logica rechtstreeks in de pagina's te plaatsen, maar de meeste mensen weten er genoeg van af om daar geen gewoonte van te maken.

Informatie Tijdperk: alles in evenwicht en gescheiden -- Het Informatie Tijdperk ontwerp houdt alles gescheiden. Interface, logica en gegevenstoegang staan allemaal apart en reageren op elkaar via gedetailleerde bouwkundige kanalen.

Je kunt een aantal pagina's aan een webdesign-firma geven zonder hen jouw zakenlogica te geven. De geschifte watjes in de achterkamer kunnen code uitscheiden zonder zich zorgen te hoeven maken over de kleurencoördinatie van webpagina's, of welk merk database het bedrijf op het ogenblik gebruikt. De database-mensen kunnen databases, tabellen en rijen verplaatsen en omdopen, zonder de angst de webapplicatie te saboteren.

Of één ontwikkelaar kan ongelooflijk snel werken.

Het Informatie Tijdperk ontwerp is niet zonder gebreken. Alles is verspreid over verschillende plaatsen. Vaak is het niet meteen duidelijk hoe het wijzigen van een aspect een ander aspect verandert, en de leercurve is vaak veel steiler.

De enige twee voorbeelden van Informatie Tijdperk gereedschap zijn volgens mij aangepaste Lasso en WebObjects. Daar Lasso je voor SQL kan beschermen en jouw op JavaScript gebaseerde applicatielogica van de interface gescheiden kan houden, past het in het Informatie Tijdperk model. Het is het enige product dat alle periodes vanaf het Bronzen Tijdperk tot het Informatie Tijdperk overbrugt. Dat is interessant - je kunt beginnen met het vrij eenvoudige Bronzen Tijdperk model te gebruiken en naar het Informatie Tijdperk model toe werken als dat noodzakelijk is. Je zult zeker een hoop werk weggooien wanneer je groeit, maar het is een mogelijkheid die eenvoudig niet bestaat met ander gereedschap.

Hoewel WebObjects een veel steilere leercurve dan Lasso heeft, en niet werkt met het Classic Mac OS, verslaat het Lasso qua ontwikkeling en vermogen. In het volgende deel van dit artikel zal ik meer vertellen over WebObjects.

[Jonathan "Wolf" Rentzsch is de belichaming van Red Shed Software, en verzorgt een maandelijkse Mac-programmeurs samenkomst in Noordwest Illinois.]


Niet-winstgevende en niet-commerciële publicaties en Websites mogen artikels overnemen of een HTML link maken als de bron duidelijk en volledig vermeld wordt. Anderen gelieve ons te contacteren. We garanderen de precisie van de artikels niet. Caveat lector. Publicatie-, product- en firmanamen kunnen gedeponeerde merken zijn van hun ondernemingen.

Vorige aflevering | Search TidBITS | TidBITS Homepage | Volgende aflevering