Programma overzicht

Keynote

Keynote Opening Session

Dirk-Willem van Gulik
Apache Software Foundation
<dirkx@webweaving.org>


Serving SOAP through XSLT

Arjen Baart
Andromeda Technology & Automation
<arjen@andromeda.nl>

Webservicess involve one machine calling a function on another machine through the internet. Altough there is nothing new about it, there is now a standard for exchanging data. That standard is called SOAP: Simple Object Access Protocol.

Software is now emerging that implements the SOAP standard, both on the client and on the server side. The objective of that software is to make it easy for programmers to create SOAP applications. It is not hard to write your own code that implements a SOAP application. By using some readily available open source tools, it is actually quite simple to make a SOAP server.

In this presentation, I will show a SOAP server that creates an actual function call in an interpreted language by using an XSLT transformation. The programming language used to make the SOAP server is PHP, because of its availability in an Apache web server but any other interpreted language like Perl may be used as well. The remote procedure call that arrives as a SOAP message from the client is transformed into a piece of PHP code by using an XSLT stylesheet. The generated piece of code is subsequently executed by the PHP interpreter.


AHA! Adding Adaptive Behavior to Websites

Paul De Bra & Natalia Stash
Technische Universiteit Eindhoven
<debra@win.tue.nl>

Most websites offer information that appeals to a wide audience. However, a single presentation may not be suitable for that wide range of people wishing to visit the website. AHA! is a server extension that makes it possible to adapt the content shown on webpages, and the links that appear on these pages, to each individual user. An AHA! application consists of a concept-structure and a set of XHTML pages. The concept-structure (which can be defined using a high-level graphical tool or a low-level editor) consists of concepts, attributes and condition-action rules that determine user model updates and conditions for object inclusion. The XHTML pages use the ''object'' tag to indicate where conditionally included objects should be placed. The condition-action rules determine which information is included, if any. The rules also determine the ''suitability'' of pages for a given user. Links to pages are shown in a different way depending on this suitability. Many adaptive systems exist today. They target a specific application area, like on-line textbooks, information kiosks, corporate information systems, etc. AHA! provides a general-purpose adaptive system. Current research and development efforts concentrate on improving the authoring support, e.g. by automatically detecting potential loops in the condition-action rules.


Webapplicaties en Security

Joost van Dijk
Tunix Internet Security & Opleidingen
<joostd@tunix.nl>

HTTP is de 'lingua franca' op het WWW. Oorsprokenlijk had HTTP een eenvoudige taak: het transporteren van HTML documenten.

Door nieuwe eisen die aan het World Wide Web gesteld werden is de aanvankelijk simpele architectuur van het web in de loop der jaren meer en meer complex geworden:

  • het transport wordt niet beperkt tot dat van HTML pagina's: HTTP is in staat willekeurige content transporteren.
  • diverse technieken zijn ontwikkeld om dynamisch content te genereren
  • technieken als SOAP en XML-RPC zijn ontwikkeld voor de implementatie van web services.
Helaas zijn met de toename in complexiteit ook de risico's toegenomen:
  • het transport van willekeurige content opent de mogelijkheid om via tunneling allerlei protocollen te vermommen als HTTP.
  • het uitvoeren van code op de client of de server is potentieel gevaarlijk
  • complexe software bevat meer bugs, die security problemen kunnen opleveren.

Deze mogelijkheden zijn strijdig met de taak van een firewall die bovenstaande mogelijkheden juist moet voorkomen.

In deze presentatie wordt uitgelegd wat de risico's precies zijn en hoe met protocol screening op een firewall een deel van deze risico's het hoofd kan worden geboden. Een en ander zal worden toegelicht aan de hand van een concrete implementatie (Tunix/HTTPScreen).


Zen and the art of programming thin clients

Johan Eikelboom
VXCompany BV
<jeikelboom@vxcompany.com>

Iedereen kiest natuurlijk de browser als client. De vraag rijst of dit nu wel altijd de beste keuze is, en wat voor alternatieven er dan mogelijk zijn.

In een recent project hebben we een andere approach gekozen bij de migratie van een fat client (Visual C++ en ODBC) applicatie naar een thin client. Deze thin client communiceert met een Java Backend applicatie op basis van Apache Tomcat. De client is nu generiek. Er is geen uitrol meer nodig voor nieuwe functionaliteit. Het Java raamwerk aan de backend genereert een XML document waar het hele userinterface in wordt beschreven. Op deze manier ontstaat een applicatie met een consistent userinterface, geschikt voor dagelijks gebruik in transactieverwerkende omgevingen.

In deze presentatie beschrijven we niet alleen hoe dit werkt, maar ook waar je rekening mee moet houden, als je met Tomcat een robuuste applicatie wilt bouwen.


Has a dog wiki nature?

Tim Hemel

<tim@n2it.net>

Een WikiWikiWeb (kort: wiki) is de meest zen-achtige web applicatie die ooit is bedacht: Het kan alles, en tegelijk niets. Het is onveilig, en tegelijk robuust.

Wiki is in korte tijd erg populair geworden, vooral onder (open source) software ontwikkelaars. Een wiki is een lichtgewicht web publishing systeem, waarin in principe iedereen pagina's kan editen en hyperlinks kan aanmaken.

Door het toevoegen van zogenaamde WikiHacks kunnen vrij vlot nuttige applicaties gemaakt worden. Dit varieert van persoonlijke notitieblokjes tot aan complete encyclopedieën.

Aan de hand van een aantal wiki toepassingen wordt uitgelegd wat een wiki is, wat de mogelijkheden van een wiki zijn en wat nu de aspecten van de wiki cultuur zijn.


m0n0wall

Manuel Kasper

<mk@neon1.net>

m0n0wall is a project aimed at creating a complete, embedded firewall software package that, when used together with an embedded PC, provides all the important features of commercial firewall boxes (including ease of use) at a fraction of the price (free software).

m0n0wall is based on a bare-bones version of FreeBSD, along with a web server (thttpd), PHP and a few other utilities. PHP is not only used for providing a web-based GUI for simple configuration, but also to handle almost the entire boot-time configuration of the system. This made it possible to do without the usual cryptic shell scripts that often contain awkward statements to perform such common things as string operations and loops. Because of this common programming language between the web interface and the configuration scripts, much code can be shared. To make the system even more transparent and easy to maintain, the whole system configuration, including relatively complex arrays like firewall rulesets, is stored in one single file in XML format. Except for the contents of that file, there are no other variables in a m0n0wall system.


Performance tuning van hoog volume websites

Gert Koopman
LogicaCMG
<gert.koopman@logicacmg.com>

Wat te doen als een bank meer dan een miljoen gebruikers verwacht op z'n website en toch een goede performance wil realiseren?

In deze lezing wordt ingegaan op aspecten van hoog volume, dynamische websites. Technieken die ontwikkeld zijn op zowel het netwerk-, infrastructureel en applicatieve vlak worden besproken en praktijkvoorbeelden worden getoond van gekozen technieken om webhosting te doen voor grote sites, zoals sites voor internet banking webapplicaties.

Onderwerpen die aan de orde komen zijn:

  • 3-tier architectuur
  • load balancing
  • sessie affiniteit
  • server side Java d.m.v. application servers
  • caching
  • performance tuning van de hele keten
  • fmm's (frequently made mistakes)
  • eisen aan hard- en software
  • overwonnen moeilijkheden


Mozilla en de toekomst van webapplicaties

Joor Loohuis
Loco
<joor@loohuis-consulting.nl>

Een van de belangrijkste recente gebeurtenissen voor de acceptatie van Open Source Software is ongetwijfeld het volwassen worden van het Mozilla project. Voor velen is Mozilla nog steeds equivalent met een lijvige browser, maar de werkelijkheid is anders. Het biedt een platform-onafhankelijke omgeving waarin webapplicaties kunnen worden uitgevoerd met een aantal zeer interessante eigenschappen. Aan de interface kant is er de populaire Gecko rendering engine die zorgt voor de hoogwaardige weergave van HTML en XML (XUL), gestyleerd door CSS. Aan de applicatiezijde zorgt XPCOM voor de mogelijkheid om dezelfde componenten te gebruiken op verschillende platforms. Bovenop dit alles bestaat er een software installatiesysteem dat er voor zorgt dat dezelfde packages geïnstalleerd kunnen worden op elk systeem dat Mozilla draait.

Hoewel erg nog een lange weg te gaan is, biedt Mozilla de mogelijkheid om verregaande vernieuwingen en verbeteringen door te voeren in de manier waarop webapplicaties worden ingezet.


XML Web Architectures:
Using Apache Cocoon and Forrest

Steven Noels
Outerthought
<stevenn@outerthought.org>

Deze lezing zal in het Nederlands worden gegegeven!
This presentation will be in Dutch!

Apache Cocoon is an XML publishing framework offering novel and sophisticated techniques such as SAX-based streaming pipelines, a complete separation between content, logic and layout, and integration with numerous backend datasources. Forrest is a blueprint Cocoon application, that sits underneath xml.apache.org and numerous other websites using XML and XSLT as their technical underpinnings.

Apache Cocoon is based around the Separation of Concerns principle, making sure each person has exactly those tools and environment, and only those, at their disposal for maintaining the content, logic or style that make up a website, without the possibility to mess up his or her co-workers job. Because of this, making multi-channel or multilingual websites is dead easy with Apache Cocoon. Apache Forrest is a blueprint application of Apache Cocoon, specifically aimed at technical (software) project websites and documentation: it comes with a set of stylesheets, XML grammars, and validation and rendition tools to easily set up a Cocoon-based website, both statically generated or deployed as a dynamic web application.

This talk, by one of the Cocoon and Forrest committers, will give you a quick intro on the design ideas and internals of these valuable open source projects.


Tools for the Masses

Mark Overmeer
MARKOV Solutions
<mark@overmeer.net>

Bij het bouwen van een website spelen veel factoren mee: technisch organisatorische factoren (zoals computer, netwerk-connectie en domeinnaam), software keuzes (server, HTML, XML, scripting) en inhoudelijke beslissingen (doelgroep, grafisch ontwerp, onderhoud, dynamiek). Bij zo veel factoren is het voor veel mensen moeilijk te overzien hoe een website moet worden gerealiseerd.

Om de website beheerders en ontwikkelaars te helpen zijn er zeer veel tools beschikbaar. Via fantastische grafische interfaces kunnen websites worden gebouwd, data dynamisch toegevoegd en bewerkt, en draait iedereen met gemak de mooiste websites in elkaar. Lijkt het.

Maar is dat wel waar? In het algemene geval is het antwoord overduidelijk "Nee!". De meeste hulpmiddelen richten veel meer ellende aan dan dat ze goed doen. Vaak zitten de tools de ontwikkeling van de site hopeloos in de weg en jagen ze de gebruikers enorm op kosten. En dat terwijl UNIX al dertig jaar geleverd met voldoende tools voor een levendige website.

Om de argumenten kracht bij te zetten zullen wat voorbeelden worden gegeven waarin de "good old UNIX tools" worden ingezet om het bijhouden van de eigen website te vergemakkelijken: een flexibele, dynamische en onderhoudbare website bijna voor niks!


Meer PHP met PHP 5

Derick Rethans
JDI Media Solutions
<derick@php.net>

Nieuwe tijden breken aan met PHP 5, de nieuwste in ontwikkeling zijnde versie van de PHP scriptingtaal. In deze sessie zal Derick Rethans een overzicht geven van de nieuwe taal elementen die hoofdzakelijk bestaan uit de sterke verbetering van het OO model, maar ook de nieuwe streams layer en filters. Als toevoeging hierop zal hij een kleine demonstratie geven van de Open Source debugger Xdebug en laten zien hoe deze kan helpen met het opsporen van bugs.


Eenvoud siert de kunst

Geert Rolf
Rolf Consultancy
<Geert.Rolf@museum.iaf.nl>

Een oud-leerlingenvereniging van een Amsterdamse middelbare school (Sint Nicolaaslyceum) heeft een bestand met 11.000 oud-leerlingen, zo'n 300 klassenfoto's met daarop circa 9500 neuzen en -sad but true- weinig geld. In onze doelgroep spelen oude foto's en de vraag "daar op die foto: wie was dat nou ook alweer?" een belangrijke rol.

Om dit gegeven op Internet vorm te geven heb je een redelijke uitdaging. Aan dure oplossingen geen gebrek, maar die vallen in dit geval zeer snel af. Het antwoord ligt besloten in FreeBSD, Apache, PHP4, MySQL en ImageMagick.

Met de genoemde technieken is een beheersbare, professionele, low-cost "b2c" Internet oplossing gemaakt. Eenvoud is de grondslag van een buitengewoon fraai resultaat, dat vrij populair is in het gebruik door circa 150 leden van de vereniging. Zij gaven in nog geen jaar tijd ruim 30% van de gezichten op de klassenfoto's een naam en vonden herinneringen aan hun schooltijd terug tussen circa 1200 gedigitaliseerde foto's.

In de lezing wordt ingegaan op de gebruikte techniek, waaronder sessiebeheer, de interactie met de database en het koppelen van neuzen op de foto's aan namen uit het bestand. Naast een demonstratie worden de beheersaspecten en de gebruikte technieken belicht.


Efficiency in the XML Era

Pete Ryland

<pdr@pdr.cx>

The current trend in web development is to have pages produced using a four-layer sequencial model like such:

[Figure 1]

The client receives the output of the Layout layer which is often intertwined with the Logic and Style layers. Under this model, languages like PHP and mod_perl have thrived.

However, in the next year or so, it is likely that most sites will be using a new, more efficient model, where the Content, Style and Layout are sent directly to the client, like such:

[Figure 2]

This reduces memory and bandwidth requirements. Proxying and caching are also more effective under this model, especially for dynamic content. In the former model, our data are generally stored in relational databases and queried from a scripting language using SQL. With such radical evolution of the web, we have to ask ourselves whether this is still the best method for extracting Content.

This paper discusses some of the drawbacks of current Web Application frameworks such as JSP/J2EE and PHP, and introduces a new framework called XMLDB.


MySQL

De Commerciële OpenSource Database

Arjen Lentz
MySQL AB
<arjen@mysql.com>

Deze lezing zal in het Nederlands worden gegegeven!
This presentation will be in Dutch!

Computing infrastructure is constantly being commoditized, with Open Source software playing a large role in this commoditization. Linux is replacing commercial Unixes in many situations and displacing other operating systems on Intel systems, Apache serving the majority of websites and Sendmail/Qmail/Postfix handling a large amount of the e-mail on the internet. The next commoditzations will happen at the layer above core services such as operating system, e-mail and basic web serving. This layer includes components such as databases and application servers.

MySQL, the world's most popular Open Source database, stands poised to become the database of choice for organizations that are looking to reduce the total cost of ownership for their IT infrastructure by utilizing Open Source software.


JBoss, de open source Java applicatieserver

Jos Visser
Open Solution Providers
<josv@osp.nl>

Java lijkt zich definitief gevestigd te hebben als programmeertaal en -omgeving voor complexe client/server systemen. We komen Java tegenwoordig op allerlei plekken tegen, bijvoorbeeld voor het generereren van HTML, het implementeren van business logica en zelfs in de database! Om de Java taal heen zijn er allerlei aanvullende standaarden verschenen voor het ontwikkelen van Java applicaties als object georiënteerde gedistribueerde (web) applicaties en voor zaken als het gebruik van databases, messaging subsystemen. De leidende standaard op dat gebied is de Java 2 Enterprise Edition (J2EE) waarin standaarden als Java Server Pages en Enterprise Java Beans zijn opgenomen. In die architectuur is een belangrijke plaats ingegruimd voor de Applicatie Server.

JBoss is een Open Source Java applicatie server die voldoet aan alle relevante Java standaarden en waarmee J2EE applicaties kunnen worden ontwikkeld en geïmplementeerd. JBoss presenteert zich als "the operating system for the web". Het volledig functionele JBoss steekt commerciële concurrenten als IBM WebSphere en BEA WebLogic naar de kroon.

Deze lezing geeft een overzicht van de architectuur en de mogelijkheden van JBoss. Aan de orde komen ook de ervaringen van de spreker met het gebruik van JBoss bij de ontwikkeling van een complexe web applicatie. Voor het volgen van de lezing is enige Java kennis benodigd.


Web-applicatie ontwerp en Internet security;
naar een gestructureerde aanpak

Martin E. Vliem
Cap Gemini Ernst & Young
<mvliem@cgey.nl>

In eerste instantie kijkt niemand vreemd op bij het in één adem noemen van Internet security en de integratie daarvan met het bouwen van web applicaties. De informatie uitwisseling, al dan niet transactioneel, welke mogelijk is over het Internet door toepassing van web applicaties (en in toenemende mate web services) en het veelal vertrouwelijke karakter van die informatie, leiden tot een natuurlijke veronderstelling dat de security gerelateerde aspecten meegewogen zijn in de ontwikkeling van die services.

Helaas blijken zich in de praktijk diverse problemen voor te doen, die betrekking hebben op uiteenlopende aspecten van het web applicatie ontwerp en de implementatie ervan. Er zal worden ingegaan op een aantal van die aspecten; zoals de overmatige focus op functionaliteit, het afwenden van verantwoordelijkheden en inter- en intradisciplinaire kennis problemen. Vervolgens zullen een aantal concrete richtlijnen worden aangegeven om dergelijke problemen te verminderen of te voorkomen. Daarbij staan de invulling van het ontwerp-traject, het stimuleren van structurele kennisopbouw en de functionele betekenis van security elementen voor web-applicaties centraal. Om een en ander te concretiseren, zal als case een implementatie van een web-applicatie security product (Netegrity SiteMinder) worden behandeld.


Webservices en Gnucomo:
Het netwerk onder controle

Brenno de Winter
De Winter Information Solutions
<brenno@dewinter.com>

Met de komst van de standaarden XML en SOAP wordt intelligent verder gebouwd aan wat het IP-protocol zo sterk maakt: functionaliteit onafhankelijk van de gebruikte applicatie of het gebruikte platform. Zo kunnen webservices worden gemaakt, die een specifiek probleem oplossen. Meestal is de positionering alleen gericht als een uitbreiding van een webserver. Maar als de technologie correct wordt ingezet, dan is het ook mogelijk om de beheerder een betere controle over een netwerk of groep computers te geven. Die laatste benadering neemt het open source project Gnucomo (GNU Computer Monitoring). Ieder object in een netwerk dat in staat is met XML/SOAP om te gaan, wisselt informatie uit met een server. Dit kan zijn via IP-poort 80 (HTTP), maar ook per e-mail voor machines die niet direct via Internet benaderd mogen worden of niet continu online zijn.

Gnucomo bewaakt alle gebeurtenissen in een netwerk (op routers, firewalls, werkstations en servers) en trekt conclusies uit de informatie die de netwerk-objecten leveren. Hierbij speelt ook de combinatie van gegevens een belangrijke rol. Dit is zeker niet alleen security-gerelateerd, maar ook beheers gericht. Zo bewaakt de beheerder netwerk en netwerk-objecten. De presentatie laat verschillende toepassingen van webservices in het systeem zien, welke problemen het kan oplossen en hoe het bijdraagt het grootste probleem op het Internet aan te pakken: beveiliging.


High Availability Infrastructures: Linux for Business

Roalt Zijlstra
Stone-IT
<zijlstra@stone-it.com>

In deze presentatie zet Roalt Zijlstra uiteen hoe Marktplaats.nl gegroeid is van een eenvoudige online transactiesite met 2.000 bezoekers per dag tot een van de grootste sites van Nederland met meer dan 8 miljoen hits per maand.

Onderstaande onderdelen zullen in ieder geval technisch belicht worden:

. Introductie LAMP (systeem opzet) (Linux/Apache/PHP/MySQL)

. Overzicht Marktplaats.nl High Performance LAMP systeem

  • webserver clustering
  • webserver performance tweaking d.m.v. PHP plugins (PHP accelerator)
  • database-server clustering

De presentatie zal bezoekers een neutraal overzicht geven van de mogelijkheden die Open Source Software in een Internet Infrastructuur kan bieden.


Keynote closing session

Why Design Another Programming Language?

The history and future of Python

Guido van Rossum
Zope Corporation
<guido@python.org>



Last modified: Mon, 9 Jun 2003 21:09:35 +0200