!
Opportuniteiten in een GNU/Linux omgeving
Eindverhandeling voorgedragen tot het behalen van de graad van handelsingenieur in de beleidsinformatica Door : Kristof BORREY Promotor : Prof. Dr. K. VANHOOF Academiejaar 2001-2002
II
! "#%$'&!( ) $+* (,&!$!-.-0/1# 23465 47 89':7; <-0=>?+@A(/A/1# -B;-DC;/1,E 1.1 UNIX................................................................................................................... 1 1.2 Free Software Foundation (FSF) en open Source.................................................. 1 1.3 GNU/Linux.......................................................................................................... 2
89':7;<-0=F%?
89':7;<-0=O?QPQ@A(* (<-B$/147(&!(+4R(+/S'-B(Q
................................................................. 14
3.1 RAS................................................................................................................... 16 3.2 Schaalbaarheid ................................................................................................... 23 3.3 Veiligheid .......................................................................................................... 27
89':7;<-0=UTQ?QVW(!-75 (4H=/1':.47$;'-04.N;-04
................................................................ 31
4.1 High-availability services................................................................................... 33 4.2 Beveiligingtools ................................................................................................. 38
89':7;<-0=X?QYZ/A+@[(5$+4R(!\]/1':.47$;'-04.N;-04
......................................................... 46
5.1 Middleware op basis van berichten (MOM) ....................................................... 49 5.2 Externe Procedure-aanroepen (RPC) .................................................................. 51 5.3 Object Request Broker (ORB)............................................................................ 52 5.4 Database middleware: Remote Data Access (RDA) ........................................... 55 5.5 Transaction Processing (TP) en Application Servers .......................................... 56 II
III
89':7;<-0= ?
]>
""%@ /AN$!- /A(;
........................................................................................ 58
) (N+!%$/14R($ ""@1/AN$;-0/A(;
........................................................................ 59
6.1.1 Linux voor de desktop ......................................................................... 60 6.1.2 Linux als ontwikkelomgeving .............................................................. 64 6.1.3 Human Resource Management (HRM) ................................................ 69
1FQ4H/1* $/147($""@1/AN$;-0/A(;
.............................................................................. 70
6.2.1 Customer Relationship Management (CRM)........................................ 71 6.2.2 Supply Chain Management (SCM) ...................................................... 74 6.2.3 e-Procurement ..................................................................................... 75 6.2.4 Enterprise Resource Planning (ERP) .................................................... 77
L (;@1/ -9( $$ ;('&!(@1/1#(
...................................................................................... 79
Overzicht ................................................................................................................. 79 Is GNU/Linux klaar voor e-business? ...................................................................... 82 Aanbevelingen......................................................................................................... 82
V9$'5 47( U@A;- (;;N ,5/ ;#
............................................................................. 83
LM/ I @A$#(+
Bijlage A: Verklarende woordenlijst ........................................................................ 84 Bijlage B: Licentie ................................................................................................... 93
(47$$"%@[(%(#( 47%( Lijst met geraadpleegde werken............................................................................... 95 Lijst met nieuwsgroepen .......................................................................................... 99 Lijst met IRC kanalen .............................................................................................. 99 Lijst met contactpersonen ..................................................................................... 100
C;/JI <- * (;-M:./A#47(
C;/JI <- * (;- - $ (@1@A(
....................................................................................................... 101 ..................................................................................................... 101
C;/JI <- * (;-9N$;(&4 ((+@[%(Q
................................................................................ 102
III
IV
Op 25 augustus 1991 liet Linus Benedict Torvalds via een e-mail aan UNIX-nieuwsgroepen weten dat hij een project lanceerde rond een vrij besturingssysteem voor AT 386-pc’s. Niets bijzonders of professioneels, gewoon een hobby, zo vertelde hij, maar tien jaar later is de hobby uitgegroeid tot het snelst groeiende besturingssysteem ter wereld. Het is ook de basis geworden van een nieuwe tendens in de softwarewereld: Open Source. Hierdoor werden restricties op het kopiëren, herverdelen, begrijpen en aanpassen van computerprogramma’s weggewerkt. Tot voor kort was Linux hoofdzakelijk verspreid bij ICT experts en in wetenschappelijke middens. De huidige recessie bracht daar verandering in. Organisaties werden gedwongen meer waar voor hun geld te kiezen. Dat maakte de keuze voor Linux meer vanzelfsprekend. In deze thesis wordt de vraag gesteld of Linux wel klaar is om te opereren in een e-business omgeving. Hierbij wordt e-business ruimer gedefinieerd dan het verkopen van een product via het Internet. Het is het hele traject van zakendoen over het Internet, dus van pre- tot en met aftersales inclusief alle zakelijke transacties. E-business kan dus opgevat worden als het inrichten, opzetten en onderhouden van elektronische handel voor het halen van een concurrentievoordeel. Het al dan niet geschikt zijn van Linux voor e-business werd nagegaan aan de hand van de elementaire vereisten van een e-business platform. De vereisten die vervat zitten in de drie hoofdeigenschappen van systeemontwerp (reliability, availability, serviceability) werden aangevuld met de behoefte aan beveiliging (security) en het dynamisch karakter van een onderneming, wat tot uiting komt in de schaalbaarheid (scalability) van het systeem. Linux is gebouwd op een degelijke architectuur die de systeemobjecten strikt gescheiden houdt van de gebruikerobjecten. Zo kan het systeem zich beschermen tegen de acties van gewone gebruikers en hun toepassingen. Samen met de vrij toegankelijke broncodes - die het mogelijk maken dat iedereen bugs kan opsporen, oplossen en deze oplossing ter beschikking stellen aan de andere gebruikers – leidt dit tot een stabiel en betrouwbaar systeem. Dit heeft een gunstige invloed op de beschikbaarheid van het systeem. Deze beschikbaarheid kan nog verhoogd worden door het elimineren van ‘single points of failure’ in het systeem door het toevoegen van ‘redundancy’. Linux beschikt hiervoor over de nodige gereedschappen. De administratie van een e-business systeem kan verlicht worden door serviceability gereedschappen. Hierdoor krijgt de systeembeheerder een goed overzicht van de werking van het systeem en de verschillende services. Linux presteert eveneens goed op gebied van security. In alle besturingssystemen zitten fouten, die mogelijk uitgebuit kunnen worden ten nadele van security. Linux heeft hier het voordeel dat wanneer er een dergelijke bug ontdekt wordt, er meestal binnen enkele uren een security update bestaat. Iedereen die een gat in de beveiliging vindt, kan dit dichten omdat hij reeds de broncode ter beschikking heeft. Dit in tegenstelling tot closed source systemen waar de gebruiker volledig afhankelijk is van de kwaliteit van service (of het gebrek daaraan) van de leverancier. Op gebied van scalability biedt Linux ondersteuning voor zowel verticale als horizontale schaalbaarheid. Dit geeft de zekerheid dat het systeem kan meegroeien met de behoeften. Vooral op vlak van clustering (horizontale schaalbaarheid) doet Linux het erg goed. Vrij toegankelijke broncodes en een component gebaseerde architectuur maken het mogelijk om Linux volledig aan te passen aan de eigen behoeften1. Het feit dat Linux uit vele losse componenten bestaat betekent immers dat iedereen een eigen ‘smaak’ kan samenstellen. 1
Dit betekent overigens niet dat de organisatie in kwestie deze know-how zelf in huis moet hebben. Er is heel wat ondersteuning vanwege derden voorhanden, zowel van de Open Source gemeenschap zelf als van commerciële ondernemingen.
IV
V Hierdoor is Linux beschikbaar op zowat elk hardware platform en zijn er bijvoorbeeld geoptimaliseerde configuraties beschikbaar voor databases. Bovendien kan men elke component vervangen door een gelijkaardige component, waardoor de kans op vendor lock -in afneemt. Linux kan in overweging genomen worden als e-business platform omdat aan de elementaire vereisten is voldaan. Niemand kiest echter een besturingssysteem enkel omwille van het besturingssysteem zelf. De situatie kan goed worden beschreven met een voorbeeld uit de automobielsector. Men zegt niet “Ik wil een motor”, maar men zegt “Ik wil een wagen”, en in fine bedoelt men een transportmiddel. Zo is het ook in e-business: niemand is geïnteresseerd in een processor of een besturingssysteem. Men wilt een oplossing die helpt bij het traject van zakendoen over het Internet. Wanneer nagegaan wordt of Linux geschikt is voor e-business, volstaat het bijgevolg niet om enkel het besturingssysteem zelf te evalueren. Er moet eveneens belang gehecht worden aan de applicaties die uitgevoerd kunnen worden op dit besturingssysteem, en de manier waarop deze applicaties kunnen samenwerken door een uniforme interface tot ongelijke systemen (middleware-infrastructuur) en een gemeenschappelijk transport van data, zowel binnen de onderneming als tussen de onderneming en het Internet (netwerkinfrastructuur). Linux biedt uitgebreide mogelijkheden voor het uitbouwen van een degelijke netwerkinfrastructuur. Deze richt zich op services die een hoge beschikbaarheid vereisen, en mogelijkheden om deze services te beschermen. Services zoals Web servers, Database servers, File en Print servers, Mail servers, Proxy servers, DNS servers en Directory servers zijn vrij beschikbaar onder Linux en kenmerken zich door hun betrouwbaarheid, stabiliteit en mogelijkheden tot aanpassing aan specifieke behoeften. De beveiliging van de netwerkinfrastructuur kan geschieden door middel van firewalls, cryptografie, en beveiligingsgereedschappen tegen virussen. Bovenop deze netwerkinfrastructuur, biedt Linux eveneens mogelijkheden tot het uitbouwen van een middleware-infrastructuur. Er bestaan middleware oplossingen op basis van berichten, externe procedure-aanroepen, Object Request Broker (zowel COM als CORBA), Remote Data Access, Transaction Processing en Applicatie servers. Op deze infrastructuur kunnen applicaties uitgevoerd worden. Linux beschikt over een degelijke werk- en ontwikkelingsomgeving. Doordat Linux iedere gebruiker laat participeren in de ontwikkeling ervan, is er een overvloed aan beschikbare programmeertalen en library’s voor Linux. Wanneer applicaties ontwikkeld worden, dan worden deze meestal ook ontplooid op hetzelfde platform. De huidige populariteit van Linux als ontwikkelingsomgeving betekent dat er voor Linux een mooie toekomst weggelegd is op gebied van applicaties. Voorbeelden hiervan, die aansluiten bij deze thesis, zijn Human Resource Management (HRM), Customer Relationship Management (CRM), Supply Chain Management (SCM), e-procurement en Enterprise Resource Planning (ERP). Een infrastructuur op basis van Linux betekent overigens niet dat de eindgebruiker ook met Linux overweg moet kunnen: zowel Linux, Windows, Macintosh als andere clients kunnen gebruik maken van deze open infrastructuur door middel van protocollen zoals Samba en Netatalk. Een dergelijke infrastructuur zal bovendien de Total Cost of Ownership (TCO) aanzienlijk doen dalen: hoge werkingskosten die gepaard gaan met een gelijkaardige commerciële infrastructuur op basis van UNIX of Windows NT/2000 zijn op Linux immers aanzienlijk lager. Het struikelblok bij het beschouwen van de overgang naar Linux is Microsoft Office. Meer dan Windows zelf, is dit de “killer” applicatie die Microsoft het monopolie over de desktop verschaft. Als het overstappen naar Linux betekent dat het bedrijf compatibiliteit verliest met MS-Office, zullen de meeste organisaties bij Windows blijven. Deze compatibiliteit omvat aspecten van training en bestandsformaten. Men tracht dit probleem op te lossen door Win32 applicaties zoals MS Office te laten werken op Linux door middel van een emulator.
V
VI Linux is klaar voor e-business, zowel op het vlak van RAS (reliability, availability, serviceability), security, scalability, infrastructuur als applicaties. Het heeft een moderne user interface, vele innovatieve toepassingen, en zijn fundamentele UNIX-gebaseerde design heeft zich door de geschiedenis heen bewezen. Linux heeft het voordeel van meer dan een kwart eeuw UNIX ervaring waarvan het kan leren, en het lijkt erop dat de juiste lessen geleerd zijn. Wanneer de factor Total Cost of Ownership (TCO) in rekening gebracht wordt, dan blijkt dat de geassocieerde kosten met Linux drastisch lager liggen voor zowel hardware en software, als personeel. Organisaties die belang hechten aan betrouwbaarheid, stabiliteit, veiligheid, interoperabiliteit, functionaliteit en gebruiksvriendelijkheid van een systeem dat volledig aanpasbaar is aan de behoeften, met respect voor open standaarden en aandacht voor een lage TCO, zullen in Linux een goede partner vinden. De sleutel tot succes ligt in het niet blindelings negeren van Linux, noch het te verheerlijken. Dit geldt trouwens ook voor het aanbod van andere leveranciers. Zowel Linux als commerciële systemen zoals Windows hebben hun toepassingsgebied. De situatie kan goed worden beschreven met de volgende analogie, waarin Windows de magnetronmaaltijd is en Linux een keuken vol ingrediënten: Zowel de magnetronmaaltijd als de keuken, met een koelkast vol verse ingrediënten, hebben het potentieel om een goede maaltijd op te leveren. Welk van beide maaltijden de beste keus is hangt helemaal van de gebruiker en de omstandigheden af. Als je niet of niet goed kunt koken is de magnetronmaaltijd aan te bevelen - de kwaliteit is altijd even goed of slecht en je hoeft er geen moeite voor te doen. De magnetronsmaak gaat echter vervelen en het is op de lange duur niet bevorderlijk voor je gezondheid. Een bijkomend nadeel is dat de magnetron klein is en je er maar voor één of twee personen tegelijk eten in kunt klaarmaken. Een zelfbereide maaltijd uit verse ingrediënten kan veel beter zijn, zowel in smaak als voor de gezondheid. Ook is het mogelijk om voor meerdere mensen tegelijk te koken. Alleen, je moet wel kunnen koken, anders gaat het finaal fout en zal zelfs de magnetronmaaltijd beter z ijn. Zo is het ook met Windows en Linux. Als je niet of nauwelijks met computers om kunt gaan zal Windows beter zijn, maar als je een computerexpert bent of een systeembeheerder in de buurt hebt, dan kan Linux voor veel betere resultaten zorgen. Het feit dat Linux uit vele losse 'ingrediënten' bestaat betekent dat iedereen een eigen 'smaak' kan samenstellen. Bovendien kun je ook overwegen om te leren koken...
VI
VII
Op 25 augustus 1991 liet Linus Benedict Torvalds, universiteitsstudent in Helsinki (Finland), via een e-mail aan UNIX-nieuwsgroepen weten dat hij met een project opstartte rond een vrij besturingssysteem voor AT 386-pc’s. Niets bijzonders of professioneels, gewoon een hobby, zo vertelde hij, maar hij riep iedereen wel op eraan mee te werken. Tien jaar later is de hobby uitgegroeid tot het snelst groeiende besturingssysteem ter wereld en, volgens Microsoft2, één van de grootste bedreigingen voor hun Windows besturingssysteem. Het is ook de basis geworden van een nieuwe tendens in de softwarewereld: Open Source of open broncode. Voor mijn thesis, die de afsluiting vormt van mijn opleiding Handelsingenieur in de Beleidsinformatica, heb ik gekozen voor een onderzoek naar de mogelijkheden van Linux en Open Source voor e-business. Een eerste aanzet tot dit onderwerp werd gegeven door een reeks onaangename ervaringen met het Microsoft Windows besturingssysteem, waarna ik in 1999 overgestapt ben naar het Linux besturingssysteem. Na twee jaar Linux met succes gebruikt te hebben, ben ik sinds 2001 medeverantwoordelijk voor de ontwikkelingen binnen het KDE project (www.kde.org) en enkele kleinere Qt/KDE gebaseerde toepassingen die ik samen ontwikkel met theKompany.com (Verenigde Staten), Hancom (Korea), SuSE Linux (Duitsland) en Mandrake Linux (Frankrijk). Linux bleek voor mij een passend alternatief te zijn. Toen ik vorig jaar op zoek was naar een onderwerp voor mijn thesis, dacht ik meteen aan een studie over de geschiktheid van Linux voor e-business. In die tijd was Linux nog een klein besturingssysteem dat enkel gebruikt werd door enkele IT-specialisten. De meeste bedrijven hadden de naam Linux nog nooit gehoord. Nu, één jaar later, is de groei van Linux niet meer tegen te houden. Dagelijks stappen bedrijven over op het Linux besturingssysteem. Dagelijks komen er nieuwe, verbeterde applicaties op de markt. Deze thesis heeft het maken van een praktische en overzichtelijke handleiding voor ebusiness met behulp van GNU/Linux tot doel. Het bespreekt de componenten en hun toepasbaarheid in een e-business context. Het is evenwel onmogelijk om elk aspect van ebusiness in diepte te behandelen in deze thesis. Daarom wordt er speciaal aandacht geschonken aan gevestigde en opkomende technologieën, en de grootste en meest baanbrekende spelers op deze markten. Hierbij wordt steeds een algemeen uitgangspunt aangehouden: de meeste applicaties die in deze thesis besproken worden, kunnen gebruikt worden door zowat elke onderneming. Naast theoretische aspecten wordt er eveneens aandacht besteed aan case voorbeelden van bedrijven die de betreffende technologieën toepassen in hun operationele bedrijfsvoering. Er is getracht deze thesis overzichtelijk te houden en selectief leesbaar te maken. Ik zou professor Koen Vanhoof willen bedanken voor het begeleiden van mijn thesis. Hij wist me steeds op het juiste spoor te houden. Verder wil ik mijn dank richten tot de heer Tom Boonen, LINUX Software Solution Sales manager voor IBM, Alexander Dewulf, Vice President IC Siemens en Member of the Board, en de Open Source & Free Software gemeenschap voor hun deskundige inbreng in mijn thesis. Tot slot zou ik mijn ouders willen bedanken dat zij dit alles mogelijk gemaakt hebben. Diepenbeek, 30 april 2002
2
www.suntimes.com/output/tech/cst-fin-micro01.html
VII