|
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
|
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?
|
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
|
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
|
The current trend in web development is to have pages produced using a
four-layer sequencial model like such:
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:
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>
|
|