This section with articles is not part of the planet.smalltalk feed. Click on the feed icon to the right for the feed or use: http://feeds.feedburner.com/robvens/fWoP

Computers

The articles in this category are directly related to my profession as an IT enterprise architect. Most articles are in English only, some articles only in Dutch.

There are no translations available.

De ICT revolutie

Anticiperen op de impact van de ICT revolutie

1. Historische Context

Inleiding[1]

Software ontwikkeling is een jong vakgebied. Het hele concept van instructies die uitgevoerd worden door een geautomatiseerd proces op een computer, is pas zo'n 50 jaar geleden gerealiseerd. De eerste computer die een elektronisch (in tegenstelling tot een reeks van instructies die ingevoerd werden door mensen) programma uit kon voeren was de EDVAC, de opvolger van de ENIAC, in 1949.[I]

Er zijn argumenten aangevoerd om aan te tonen dat inspanning in de vorm van geld en mankracht niet voldoende is om een vakgebied volwassen te krijgen. Tijd is daarvoor ook nodig, tijd om fouten te maken, daarvan te leren, tijd om heuristieken te ontwikkelen om met het uitgangsmateriaal te werken, zeker ook tijd om te ontdekken wat nu eigenlijk het toepassingsgebied is van het jonge vakgebied, wat de consequenties zijn van deze toepassingen, en de ethiek daar omheen. Het was nog in 1950 dat de productontwikkelingsafdeling van IBM een heel jaar spendeerde om te bewijzen dat de gehele markt voor computers in de Verenigde staten nooit groter zou kunnen zijn dan achttien computers.

Het pad dat bewandeld is vanaf die tijd mag dan spectaculair lijken, er zijn mensen die beweren dat de werkelijke computerrevolutie nog niet plaatsgevonden heeft. Waar andere vakgebieden zich in het algemeen bedienen van een specifieke taal om hun gedachten in uit te drukken, heeft de Unified Modeling Language UML pas vanaf 1997 voor het eerst tot op zekere hoogte gezorgd voor een unificatie in de chaos van notatie en modelleertechnieken. Hoezeer moderne software ontwikkeling zich ook wil profileren als "engineering", en moderne publicaties vol staan met referenties naar architectuur in de bouwkunst zoals de illustraties in de UML Users' Guide[II], we kunnen onze ogen niet sluiten voor het feit dat we nog maar aan het begin staan van iets dat ingrijpende veranderingen in ons bestaan zou kunnen bewerkstelligen, maar dat zich nog in een pril en onvolwassen stadium bevindt.



Add this article to your favorite Social Bookmarking websites
Reddit! Del.icio.us! Mixx! Free and Open Source Software News Google! Live! Facebook! StumbleUpon! TwitThis Joomla Free PHP

Read more...

There are no translations available.

Het beste van twee werelden

Het grote probleem bij de invoering van Java als onderdeel van transitietrajecten van organisaties is het gebrek aan vuistregels die aangeven op welke wijze de inzet van Java tools het beste kan plaatsvinden.

Er zijn mij nog geen publicaties bekend die een architectuur uitwerken gebaseerd op thin clients, communicerend met een server die als EJB container een multi-channel wereld bediend op een object-georiënteerde manier. De schrijvers van de bestaande publicaties maken zich vooral druk om de technologische implicaties van Java, hetgeen ook wel begrijpelijk is voor een jonge technologie.

Laten we het eerst maar draaiende krijgen, dan zien we later wel hoe we het goed kunnen doen.



Add this article to your favorite Social Bookmarking websites
Reddit! Del.icio.us! Mixx! Free and Open Source Software News Google! Live! Facebook! StumbleUpon! TwitThis Joomla Free PHP

Read more...

There are no translations available.

Alice and the Looking Glass De wereld waarin Alice terecht kwam nadat ze voldoende moed had verzameld om door de spiegel te stappen was een merkwaardige wereld.

“… de oude kamer was nogal gewoon en oninteressant, maar al het andere was zo anders als maar mogelijk was. Bijvoorbeeld de plaatjes op de muur naast het vuur leken allemaal te leven, en de klok zelf op de schoorsteen (je weet dat je alleen de achterkant kunt zien in de Spiegel) had het gezicht van een klein oud mannetje, dat naar haar grijnsde …”

Als ik dit lees komt een uitspraak van Alan Kay, de uitvinder van de moderne computer, in mij op: “…de computerrevolutie heeft nog niet plaatsgevonden…”.

Wat wij als Java ontwikkelaars doen lijkt vaak teveel op wat we al eerder deden in C++, VisualBasic of welke taal dan ook waar we ons van bedienden voordat we gegrepen werden door het Java virus (of misschien voordat onze baas gegrepen werd door dit virus …!). Wat er werkelijk aan nieuwe dingen mogelijk zijn door welke verandering dan ook onttrekt zich in eerste instantie aan onze ogen, getraind als we zijn om alleen die dingen waar te nemen die ons uitentreuren zijn uitgelegd. “Wat de boer niet kent …”

De revolutie die Java heet moet echter nog beginnen en ik wil een aspect dat hieraan een belangrijke bijdrage gaat leveren in dit artikel aan de orde stellen: reflectie.

Escher: Drawing Hands Waarschijnlijk maken vele Java ontwikkelaars gebruik van enkele aspecten van reflectie, maar wellicht weten velen geen gebruik te maken van de ontzagwekkende mogelijkheden die hierin schuilen. Wat bijvoorbeeld te denken van de mogelijkheid om code te vervangen door nieuwe versies zonder de software daarvoor uit de lucht te hoeven halen? [1] Iets dat in bijna geen enkele omgeving mogelijk is! Zelfs op een applicatieserver is dit mogelijk zonder dat deze down hoeft voor onderhoud, wanneer we gebruik maken van reflectie samen met een weinig gebruikt maar geniaal aspect van de Java specificatie: de ClassLoader. Of liever: custom class loaders die zich anders gedragen dan de standaard class loader zoals die door de JDK gebruikt wordt om Java classes in de image te laden van de Java Virtuele Machine.

Een ander aspect [2] is (pun intended) wanneer we een stuk functionaliteit willen toevoegen aan bestaande software zonder deze software te wijzigen. Hoe bedoelt u, zult u zeggen? Jawel: stel dat u een aantal classes heeft gebouwd die naar tevredenheid hun diensten verlenen, en u komt op de gedachte dat het mooi zou zijn een aantal van hen te voorzien van nieuwe functionaliteit, bijvoorbeeld dat ze ons vertellen hoe vaak ze gebruikt worden. We stappen door de spiegel van Alice en we kunnen dit voor elkaar krijgen zonder een regel code te wijzigen aan de bestaande classes.

Onze systemen moeten kunnen afdrukken op allerlei afdrukdevices, ze moeten met ons communiceren met gelikte user interfaces, ze moeten aangesloten worden op velerlei services als persistentie en distributie. Achter de spiegel wacht een wereld op ons om ontdekt te worden, een ware Hyperspace Reflectie is niet voor de faint-of-heart - “… de plaatjes op de muur leken te leven …”

Ik vermoed dat de belangrijkste reden van het weinig wijdverbreide gebruik is dat er nog zo weinig vuistregels zijn voor het ontwikkelen met de zich steeds meer uitbreidende Java class library, en nieuwe componenten als de J2EE standaard. In een hectische poging om de toenemende functionaliteit bij te benen hebben wij geen tijd om ook nog de wat meer esoterische aspecten te onderzoeken. Java heeft objectoriëntatie naar de massa’s gebracht, maar een aantal problematische wijzen van werken met objectoriëntatie zijn merkwaardig hardnekkig. Zoals mijn tenen kromden toen ik een bekende Nederlandse IT guru in een artikel OO zag beschrijven als “… hergebruik van code door overerving …”, door Java ontwikkelaars hopelijk herkend als een dubbele misconceptie. [4] Component based development heeft ontwikkelaars terecht gewezen op de noodzaak ons blikveld te vergroten om ook dingen te omvatten in plaats van alleen maar classes. OO is teveel classoriëntatie gebleven. Stap toch eens door de spiegel en breng die plaatjes tot leven!



Add this article to your favorite Social Bookmarking websites
Reddit! Del.icio.us! Mixx! Free and Open Source Software News Google! Live! Facebook! StumbleUpon! TwitThis Joomla Free PHP
There are no translations available.

Sleuteltechnieken voor object-oriëntatie

 (Dit artikel is eerder verschenen in Software Release Magazine / jaar: 1997 / nummer: 4 / 6 Juni 1997) onder de titel Waarom software terugbijt.

De wraak van systemen

Wat zijn de problemen waar software ontwikkelaars tegenaan lopen? Op welke manieren kunnen wij verwachten dat onze huisdiertjes terugbijten? Op welke wijze kunnen wij systemen bouwen die dat voorkomen?

Edward Tenner [i] onderscheidt verschillende soorten van terugbijten, die hij categoriseert als wraakeffecten. Wraak is niet hetzelfde als een neveneffect (zoals chemotherapie die kaalheid veroorzaakt) of een trade-off (veiligheidsmaatregelen die prijzen verhogen).

  • Rearranging (airco die nog verstikkender is wanneer hij uitvalt, omdat de ramen niet open kunnen)
  • Repeating (hetzelfde ding vaker doen i.p.v. vrije tijd om andere dingen te doen)
  • Recomplicating (druktoetsen maken opbellen eenvoudiger - totdat alle bedrijven je in wachtrijen zetten)
  • Regenerating (inzetten Patriots tegen Scuds in de Golf oorlog waardoor de schade groter werd i.p.v. kleiner - de brokstukken bestreken een veel groter gebied)
  • Recongesting (radiokanalen die vol zitten, zee-afval en nu internet)
  • Reverse wraak (zeldzame planten in vervuilde streken, oude typemachines tegen CTS - hier is sprake van een onbedoeld positief effect)

 Deze wraak effecten komen vooral voort uit te nauwe koppeling van (sub-) systemen [ii] , evenals te rigide aanpak van wetten en gewoonten.



Add this article to your favorite Social Bookmarking websites
Reddit! Del.icio.us! Mixx! Free and Open Source Software News Google! Live! Facebook! StumbleUpon! TwitThis Joomla Free PHP

Read more...

There are no translations available.

Object analysis struggling into adulthood

(Dit artikel is eerder gepubliceerd in de Spring '96 ING Component Architecture newsletter - ICA)

Back ten years or so, when I started dabbling in object technology, I could afford to be some kind of a “software hippie”. I’m sure you know the kind. They pop up every now and then, even in respected software companies (I didn’t name one, did I?). They radiated the unrelenting optimistic attitude that melted the software crisis, budget restrictions and management dedicated to the old ways like an overheated nuclear reactor. They seem to become however, at least from my point of view, rarer. But then my point of view has changed of course. What was a new, untested, and indeed overly optimistic and enthusiastic “new wave”, has now become a respected and accepted technique. I have less and less difficulty in advocating this “new way” to the decision makers. Instead of bright and curious technical persons, often working as programmers in the larger companies, it is more and more middle and higher management acting as object oriented evangelists. So I started wearing ties, stopped trying to convince and put my efforts in the “how” instead of the “if”.



Add this article to your favorite Social Bookmarking websites
Reddit! Del.icio.us! Mixx! Free and Open Source Software News Google! Live! Facebook! StumbleUpon! TwitThis Joomla Free PHP

Read more...

Related articles