Advies Perseus Implementatie Voor de Kennissatelliet Amersfoort
Een advies- en overzichtsrapportage ten behoeve van de optimale implementatie van Perseus en de veranderingen rondom het netwerk van de Kennissatelliet Amersfoort. Auteur: Alexander Wezenberg Datum: 24 mei 2004 Versie: 1.3
Perseus [[[F F o m m a d n e s s o s u c u e Frrro om mm ma ad dn ne es ss s ttto os stttrrru uc ctttu urrre e]]]
Het bestuur van de Stichting Hogeschool van Utrecht aanvaardt geen aansprakelijkheid voor schade voortvloeiende uit het gebruik van enig gegeven, hulpmiddel of procédé in dit verslag geschreven. Vermenigvuldiging zonder toestemming van zowel de opleiding Mediatechnologie van de Hogeschool van Utrecht als de opdrachtgever, projectbureau ImmI, is niet toegestaan. Advies Perseus Implementatie Alexander Wezenberg
2
Samenvatting Binnen de Kennissatelliet Amersfoort(KSA) is er duidelijk behoefte aan één centraal informatiesysteem. Er zijn binnen de Hogeschool van Utrecht(HvU) tal van informatiebronnen beschikbaar maar deze zijn niet onder een enkel systeem gebracht. Hierdoor ontstaat onduidelijkheid in de wijze waarop naar informatie gezocht moet worden. Om dit probleem op te lossen zijn de Faculteit Natuur en Techniek(FNT) en Faculteit Communicatie en Journalistiek(FCJ) bezig met de ontwikkeling van een centraal intranet systeem onder de naam Perseus. Perseus is in essentie een modulair opgebouwd, web gebaseerd publicatiesysteem en leeromgeving met een rechtensysteem. Er zal een Perseus server worden geïmplementeerd bij de KSA waar een aantal HvU opleidingen deel van zijn. Met deze server zullen, in samenwerking met de FCJ, eigen modules worden ontwikkeld ter uitbreiding van het systeem. Er wordt naar gestreefd om vanaf het nieuwe schooljaar(2004/2005) een eerste, goed werkende, versie te hebben draaien. Perseus is opgebouwd met de scripttaal ColdFusion van Macromedia. ColdFusion is een J2EE ondersteunende applicatie server die naast CFML(ColdFusion Markup Language) de mogelijkheid biedt om onder andere met COM objecten te werken. Dit maakt het mogelijk om, via de ADSI API, Active Directory(AD) uit te vragen wat gebruikt zal worden voor het centrale rechtensysteem van Perseus. Dit naast dat ColdFusion al van zichzelf LDAP ondersteuning heeft om directory services uit te kunnen vragen. Het gebruikt van AD voor het Perseus rechtensysteem is een belangrijk onderdeel in de ontwikkeling van nieuwe modules. ColdFusion is in verschillende pakketten beschikbaar. Samen met de wensen van de KSA, het gebruikte pakket op de FCJ, de licentievoorwaarden en kosten van een pakket is gekozen voor de standaard ColdFusion editie. Tevens zal hierbij een abonnement voor updates worden aangeschaft voor gedurende twee jaar. Tot de aanschaf van een licentie kan, ten behoeve van de ontwikkeling van Perseus modules, gebruik worden gemaakt van de gratis Developer editie. Uit onderzoek blijkt dat ColdFusion qua performance en schaalbaarheid beter onder het Windows besturingssysteem werkt, in het bijzonder onder Windows 2003 server, in tegenstelling tot diverse Linux distributies. Omdat de performance van het systeem hoog in het vaandel staat zal hiermee rekening worden gehouden. Tevens zal er ook, in een toekomstige situatie, een tweede server worden aangeschaft die de database van Perseus zal gaan bevatten. Dit moet ten goede komen van de gehele performance van het Perseus systeem. De aanschaf van nieuwe server hangt ook sterk samen met de verandering in het KSA netwerk en de groeiwensen van de KSA. Er zullen, vanaf het nieuwe schooljaar, twee servers afgeschreven worden waarvan alle toepassingen, services en faciliteiten onder andere servers moeten worden ondergebracht. De huidige Hawk server en een nieuwe database server zullen in staat zijn om Perseus te kunnen draaien. Met daarnaast ook zaken zoals onder andere een file server, Oracle database, en diverse netwerkgerelateerde applicaties zoals Active Directory (Domain Controller, DHCP- en DNS servers), Proxy-, mail- en andere servers. Het gebruikt van Virtual Machines, ten behoeve van de maximale benutting en performance van de productie server(s), is van minder belang. Hoewel het een aantal voordelen heeft staat dat niet in verhouding om gebruik te maken van Virtual Machines zoals de GSX server van VMWare. Wel kan gebruik van Virtual Machines interessant zijn op test servers voor studentenprojecten (MT Lab). Advies Perseus Implementatie Alexander Wezenberg
3
Conclusies en aanbevelingen Omdat Perseus een ColdFusion applicatie is moet gekeken worden welke pakketen hiervoor beschikbaar zijn en wat voor licentievoorwaarden en kosten hieraan verbonden zijn. De twee mogelijke pakketten, ColdFusion MX 6.1 Standaard en Enterprise editie, blijken beide te voldoen aan de wensen die de KSA heeft. Echter is de standaard editie meer dan voldoende en biedt het de gehele infrastructuur en extra’s die benodigd zijn voor Perseus. Dit is tevens ook de editie die op de FCJ gebruikt wordt. Deze editie biedt tevens ook ondersteuning voor COM componenten zodat de Active Directory via ADSI kan worden uitgevraagd. Tevens heeft ColdFusion zelf ook LDAPv3 toegang tot Active Directory. Bij dit pakket zal bij voorkeur ook een ‘subscription’ worden aangeschaft zodat de KSA gedurende twee jaar recht heeft op updates voor ColdFusion. De aanschaf van het pakket hoeft niet gelijk te gebeuren met de komst van de Perseus core. Zolang de intranetapplicatie nog in ontwikkeling is kan gebruik worden gemaakt van de ColdFusion Developer editie die gratis gedownload kan worden van de Macromedia website. Omdat performance een belangrijk onderdeel is van het nieuwe systeem is hier met betrekking tot het te gebruiken besturingsysteem, webserver en database naar gekeken. Omdat uit de Macromedia performance test blijkt dat ColdFusion sneller werkt onder Windows, in tegenstelling tot Linux, zal de keus op een Windows systeem vallen. De keus voor de te gebruiken editie, van het Windows 2003 server besturingssysteem, is de Enterprise editie. Uit onderzoek blijkt dat Windows 2003 server het op alle vlakken beter doet dan zijn voorgangers. Omdat gewerkt zal worden met Windows 2003 server zal er ook gebruik worden gemaakt van de IIS 6.0 webserver. Deze wordt standaard meegeleverd met Windows 2003 server en is tevens de beste oplossing voor een Windows omgeving. Voor de database server zal gebruik worden gemaakt van Microsoft SQL server 2000. De keuze voor deze database server, in tegenstelling tot MySQL wat huidige FCJ Perseus gebruikt, is gebaseerd op vele voordelen. Enkele van de belangrijkste zijn dat het AD intergratie en XML Web Service ondersteuning heeft(net als IIS), het heeft online back-up mogelijkheden en de KSA heeft al een licentie voor MS SQL server 2000. Binnen het KSA netwerk zal met de komst van Perseus een aantal zaken veranderen. Zo zal er, in de toekomst, een aparte database server worden aangeschaft voor de Perseus database. Omdat de Falcon en Eagle servers niet meer geschikt zijn als productie servers zal alles van deze servers moeten worden opgevangen. Dit is voornamelijk zo omdat de KSA niet volledig afhankelijk wil zijn van de centralisatie in Utrecht. Twee mogelijk oplossingen zijn gegeven in hoofdstuk 7 paragraaf 3.2. De voorkeur gaat uit naar de tweede oplossing omdat het een meer uitgebalanceerd geheel geeft. Dit betekend dat de Hawk server uitgebreid zal worden met meer fysiek geheugen en extra schijven en de database server vrijwel gelijk zal zijn aan de Hawk op de schijven na. In de netwerkstructuur zelf zal niet veel veranderen. De Hawk en database server zullen op gelijke wijze gekoppeld worden als de Falcon en Eagle nu aan het netwerk gekoppeld zijn. Omdat het hier gaat om een toekomstige oplossing is er ook een derde oplossing aangegeven voor de beginsituatie bij de implementatie van Perseus en het onderbrengen van applicaties, services en faciliteiten. Het gebruik van Virtual Machines(VM) is af te raden. VM kan een optie zijn omdat het een aantal zeer interessante mogelijkheden beschikbaar stelt. Echter biedt het, binnen de gegeven oplossingen voor de productie server(s), niet genoeg toegevoegde waarde. Het gebruik van VM op de Falcon en Eagle, als test servers, is wel een interessante mogelijkheid. Advies Perseus Implementatie Alexander Wezenberg
4
Voorwoord In maart 2004 ben ik begonnen met mijn afstudeerperiode bij het projectbureau ImmI(Instituut voor Multimedia en Interactie). Ik ben student aan de opleiding HBO Mediatechnologie aan de Hogeschool van Utrecht. Het projectbureau ImmI is verbonden aan de faculteit Natuur en Techniek van de Hogeschool van Utrecht en wordt bekostigd uit het innovatiefonds van deze faculteit. De onderwijsconcepten van de Mediatechnologie en Information Engineering opleidingen aan deze faculteit zijn modern en gaan uit van een nauwe band met de beroepspraktijk. Het doel van dit projectbureau is door vanuit een heldere en zorgvuldig geformuleerde positionering projecten samen met de beroepspraktijk te gaan doen, met harde deadlines, resultaatverplichting en potentieel materieel gewin ten behoeve van de opleidingen. Tevens ligt de hieronder beschreven afstudeeropdracht in het verlengde van het project ‘Verbetering In & Externe Infovoorziening’ wat tevens ook een innovatiefonds project is. De afstudeeropdracht is geformuleerd als zijnde: het aanvullen van Perseus. Perseus is een centraal informatie systeem wat bij de Kennissatelliet van Amersfoort zal worden geïmplementeerd. De opdracht bestaat uit een aantal onderdelen, te weten: Een adviesrapport over de installatie van Perseus. De daadwerkelijke implementatie van de Perseus server. De implementatie van bestaande informatiesystemen in Perseus. Het ontwikkelen van een search-module voor Perseus. Een handleiding van Perseus m.b.t. instellingen, toevoegen nieuwe modules en dergelijke. Dit adviesrapport zal de eerste deelopdracht van mijn afstudeeropdracht beslaan. Deze rapportage moet een beeld geven van de huidige netwerksituatie van de KSA en hoe Perseus hierin gaat passen. Hieruit zal een gepast advies worden samengesteld. De rapportage is dusdanig geschreven dat het, zonder veel technische achtergrond, duidelijk is voor de lezer. Alexander Wezenberg, 24 mei 2004
Advies Perseus Implementatie Alexander Wezenberg
5
Inhoudsopgave Samenvatting ................................................................................................................................... 3 Conclusies en aanbevelingen .......................................................................................................... 4 Voorwoord........................................................................................................................................ 5 Inhoudsopgave................................................................................................................................. 6 1. Inleiding........................................................................................................................................ 8 1.1 Context .................................................................................................................................. 8 1.2 Probleemstelling .................................................................................................................... 8 1.3 Wensen en randvoorwaarden................................................................................................ 8 1.4 Doel van het rapport .............................................................................................................. 9 1.5 Uitgangspunten...................................................................................................................... 9 1.6 Opbouw rapport ..................................................................................................................... 9 2. Perseus.......................................................................................................................................10 2.1 Wat is Perseus......................................................................................................................10 2.2 Welke modules worden er ontwikkeld...................................................................................11 2.3 Wat wordt op de KSA ontwikkeld..........................................................................................12 3. ColdFusion..................................................................................................................................13 3.1 Wat is ColdFusion.................................................................................................................13 3.1.1 De edities van ColdFusion.............................................................................................14 3.1.2 Wat zijn voornaamste verschillen ..................................................................................15 3.2 Performance en schaalbaarheid ...........................................................................................16 3.2.1 J2EE in ColdFusion .......................................................................................................17 3.2.2 Performance test Windows en Linux .............................................................................17 3.3 Systeem vereisten ................................................................................................................18 3.4 Licentievoorwaarden.............................................................................................................19 3.4.1 Macromedia Software Subscriptions .............................................................................19 3.4.2 Licentievoorwaarden specifiek.......................................................................................20 3.4.3 Macromedia Volume Licensing Program(MVLP)...........................................................21 3.4.4 Indicatie kosten..............................................................................................................21 4. Netwerksituatie KSA ...................................................................................................................22 4.1 Huidige situatie .....................................................................................................................22 4.2 Wat gaat veranderen ............................................................................................................23 4.3 Waar dient rekening mee worden gehouden ........................................................................23
Advies Perseus Implementatie Alexander Wezenberg
6
5. Directory Services .......................................................................................................................25 5.1 Wat zijn Directory Services ...................................................................................................25 5.2 Wat is Active Directory..........................................................................................................26 5.3 Waarmee is Active Directory te benaderen...........................................................................28 5.3.1 Lightweight Directory Access Protocol(LDAP) API ........................................................28 5.3.2 Active Directory Service Interface(ADSI) API ................................................................28 5.3.3 Active Directory Application Mode (ADAM) ...................................................................29 5.3.4 Directory Services Markup Language (DSML) ..............................................................29 5.4 Active Directory benaderen met Linux ..................................................................................30 5.5 Mogelijkheden van ColdFusion met Active Directory ............................................................30 6. Software oplossing servers .........................................................................................................31 6.1 Besturingsysteem .................................................................................................................31 6.2 Webserver ............................................................................................................................32 6.3 Database ..............................................................................................................................32 6.4 Benodigde capaciteit database.............................................................................................32 7. Beschikbare en benodigde hardware..........................................................................................33 7.1 De Hawk server ....................................................................................................................33 7.2 Een nieuwe (database) server ..............................................................................................34 7.3 Nieuwe server opstelling KSA...............................................................................................34 7.3.1 Belangrijke punten.........................................................................................................34 7.3.2 Server oplossingen........................................................................................................36 7.4 Nieuwe netwerk opstelling KSA ............................................................................................39 7.5 Doorroutering VPN / NAT .....................................................................................................39 8. Virtual Machines..........................................................................................................................40 8.1 Wat zijn Virtual Machines......................................................................................................40 8.1.1 Het verschil tussen een emulator en Virtual Machines ..................................................41 8.1.2 Het verschil tussen een standalone en hosted VMMs ...................................................41 8.2 Virtual Machine oplossingen .................................................................................................42 8.3 De verschillen tussen VMWare ESX en GSX .......................................................................43 8.4 Mogelijke toepassing binnen KSA ........................................................................................44 9. Literatuuroverzicht.......................................................................................................................45 10. Bijlagen Bijlage I. Macromedia ColdFusion Performance Brief Bijlage II. ColdFusion support overview Bijlage III. Schatting hard disk capaciteit Bijlage IV. Huidige server specificaties KSA Bijlage V. Verklarende woordenlijst
Advies Perseus Implementatie Alexander Wezenberg
7
1. Inleiding Binnen de Hogeschool van Utrecht(HvU) kan en breed scala van verschillende informatiebronnen apart worden geraadpleegd. Hierbij kan gedacht worden aan studentenmail, cijferbureau, roosterbureau, diverse bronnen van naslagwerk, webpagina’s, file server’s enzovoorts. Hierdoor ontstaat vaak onduidelijkheid in de wijze waarop naar informatie moet worden gezocht. Om hier orde in te scheppen zal er een intranet ontwikkeld worden om alle informatie onder één interface te brengen. 1.1 Context Binnen de Kennissatelliet Amersfoort(KSA) zijn enkele opleidingen van de Faculteit Natuur en Techniek(FNT) aan de Hogeschool van Utrecht(HvU) ondergebracht, waarbij duidelijk de behoefte is aan één centraal informatiesysteem. De eerste insteek was om op de KSA zelf een intranet informatie systeem te ontwikkelen, echter bleef dit idee niet onopgemerkt en al snel kwamen andere mogelijkheden aan het licht. Zo was er een intranet systeem van de Faculteit Communicatie en Journalistiek(FCJ) wat aan de eisen zou voldoen van een dergelijk intranet. Dit systeem ging onder de naam Medusa. Echter was deze faculteit al bezig met een nieuwe versie genaamd Perseus. Na veel overleg tussen de FNT en FCJ is besloten om samen dit systeem verder te gaan ontwikkelen. Het Perseus systeem is een modulair opgebouwd systeem waarbij de ‘core’ al ontwikkeld is. De functionaliteit van het systeem zal worden uitgebreid door verschillende modules te ontwikkelen en te koppelen aan dit systeem. De KSA zal een eigen Perseus server gaan draaien en eigen modules aan het systeem gaan koppelen op basis van alle behoefte en wensen. Perseus is overigens een tussenstap voor een uniform intranet systeem die hogeschool breed zal moeten gaan draaien. Er zal dan vermoedelijk gaan gewerkt worden met Microsoft SharePoint. De definitieve keuze hiervoor moet echter nog gemaakt worden. Om op de korte termijn toch tegemoet te komen aan de wens voor een centraal geïntegreerd informatiesysteem zal gebruik worden gemaakt van Perseus. 1.2 Probleemstelling Perseus zal, met voorkeur, vanaf het nieuwe schooljaar(2004/2005) geïmplementeerd en gebruiksklaar moeten zijn. Perseus is momenteel fysiek nog niet geplaatst op een server, de core moet nog geïnstalleerd worden. Er zal gekeken moeten worden naar software en hardware oplossingen bij een dergelijke plaatsing. Performance en schaalbaarheid zijn daarbij belangrijke punten. Er zal een beeld gevormd moeten worden van de huidige netwerksituatie om een goede integratie mogelijk te maken. In verband met de installatie van de Perseus server moet ook onderzocht worden of het gebruik van ‘Virtual Machines’ een aanwinst kan zijn om de verschillende informatiebronnen onder één server te integreren. 1.3 Wensen en randvoorwaarden Er is specifiek gekozen voor een centraal informatiesysteem ten behoeve van hoger student en medewerker tevredenheid, betere interne en externe informatievoorziening, kennisdeling en optimale samenwerking. Dit staat voorop bij de implementatie van de Perseus server. Het moet de mogelijkheid bieden om bestaande systemen centraal te integreren. Zo is de wens om onder andere de huidige file server, de studentenmail, Osiris(cijfers/roosters) en (mogelijk) NetPro applicaties centraal onder te brengen in dit systeem. Daarnaast moeten er informatiepagina’s Advies Perseus Implementatie Alexander Wezenberg
8
beschikbaar zijn waarop studenten en docenten kunnen communiceren met betrekking tot lessen, het maken van afspraken of het opzoeken van contactinformatie. Perseus voldoet in al deze zaken en er kan, omdat het modulair is opgebouwd, op eenvoudige wijze nieuwe functionaliteit worden ontwikkeld en toegevoegd. 1.4 Doel van het rapport Het doel van dit rapport is het geven van een overzicht van de veranderingen die plaats zullen vinden met de komst van Perseus. Hierbij wordt ook rekening gehouden met andere zaken die te maken hebben met veranderingen in het beleid van de HvU en de netwerksituatie binnen de KSA. Op basis hiervan moet een advies worden gegeven over de implementatie van de Perseus server en de veranderingen in het netwerk binnen de KSA. 1.5 Uitgangspunten Er wordt in ieder geval uit gegaan van een eigen server voor Perseus op de KSA. Daarnaast zal er in de toekomst, rekening houdend met de groei van de KSA en het systeem, een nieuwe server komen die de database van Perseus zal gaan bevatten. De achterliggende rede van twee servers is dat deze servers ook zorg moeten gaan dragen voor andere netwerkapplicaties en faciliteiten vanwege het wegvallen van een tweetal servers. In eerste instantie zal er een Developer editie van ColdFusion worden gebruikt voor de ontwikkeling van het Perseus systeem. Daarna zal er worden overgegaan op de aanschaf van een licentie voor de ColdFusion Standaard editie die tevens bij de FCJ wordt gebruikt. Daarbij zal ook een tweejarig abonnement worden aangeschaft voor updates gedurende deze periode. Het is zeker dat alle rechten binnen het systeem gaan ontleend worden via Active Directory. Dit alles ten behoeve van het éénmaal inloggen en toegang krijgen tot alle faciliteiten die toegewezen zijn aan een specifieke gebruiker. Uiteindelijk zal een gebruiker via Perseus geverifieerd kunnen worden(ook ten behoeve van andere applicaties). Hiervoor zal in een nieuwe module in Perseus worden ontwikkeld die via COM de ADSI API zal aanspreken om Active Directory uit te vragen. 1.6 Opbouw rapport Dit adviesrapport zal eerst dieper ingaan op wat Perseus precies is en er zal gekeken worden naar het hart van de applicatie: ColdFusion. Daarna wordt er gekeken naar de huidige netwerksituatie van de Kennissatelliet Amersfoort gevolgd door een overzicht van, de netwerkgerelateerde, directory services binnen dit intranet. Dit laatste speelt een belangrijke rol in het rechtensysteem van Perseus. De laatste hoofdstukken zullen de software en hardware van de KSA servers onder de loep nemen met een gepast advies voor de implementatie van Perseus. Tevens zal er gekeken worden naar de mogelijkheden van Virtual Machines binnen de gegeven oplossingen. De rapportage bevat tevens een aantal bijlagen waarnaar verwezen zal worden in de verschillende hoofdstukken. Dit omvat ook een bijlage met een verklarende woordenlijst die cursief geschreven woorden in dit document zal bevatten. Het gaat om woorden die niet in het rapport zijn beschreven of uitgelegd maar wel enigszins van belang zijn om het rapport beter te doorgronden. De samenvatting, conclusies en aanbevelingen zijn voor de overzichtelijkheid van het rapport bovenaan geplaatst.
Advies Perseus Implementatie Alexander Wezenberg
9
2. Perseus In dit hoofdstuk wordt het centrale informatiesysteem Perseus beschreven en gekeken waarom er binnen de Kennissatelliet Amersfoort behoefte is aan een dergelijk intranetsysteem. Daarna wordt ingegaan op de modules die, na de oplevering van de Perseus core, zijn of worden ontwikkeld door de FCJ en de modules die worden ontwikkeld door de KSA. 2.1 Wat is Perseus Perseus is een intranet informatiesysteem dat binnen een organisatie(in dit geval de KSA) toegankelijk is. Een intranet heeft het hoofddoel informatie te verstrekken waarbij de daarvoor gebruikte technieken ver uiteenlopend kunnen zijn. Verschillenden informatiebronnen kunnen op deze wijze centraal, al dan niet aan elkaar gekoppeld, worden. Daarnaast kan een intranet ook aan het internet worden gekoppeld, om gebruikers van het systeem altijd toegang te geven tot de diensten, ongebonden aan fysieke en/of virtuele locatie(met of zonder authenticatie en autorisatie). De belangrijkste voordelen van een dergelijk intranetsysteem, zoals Perseus, binnen de KSA zijn: Hogere student, docent en medewerker tevredenheid Betere interne en externe informatievoorzieningen Kennisdeling en optimale samenwerking. Het koppelen van andere informatiebronnen om een centraal punt te creëren voor alle informatie betreffende de KSA. Uit onderzoek blijkt dat op de KSA er een behoefte is (zie eerste literatuurverwijzing) aan een dergelijk intranet systeem dat alle informatiebronnen koppelt en met één klik op de knop de informatie, die van belang is, weergeeft voor een specifieke gebruiker. De eerste insteek was om een degelijk systeem zelf te ontwikkelen op de KSA. Echter werd al snel duidelijk dat er al een systeem onder ontwikkeling was die aan de wensen en eisen van de KSA voldeed. Aan de FCJ(Faculteit Communicatie en Journalistiek) bestond al een intranetsysteem onder de naam Medusa waar een nieuwe versie voor ontwikkeld wordt genaamd Perseus. De FNT en FCJ hebben besloten dit systeem samen verder te ontwikkelen. De FCJ zal een versie van Perseus opleveren met de bijbehorende modules die Medusa al als functionaliteiten bevatte. Het is bovendien de bedoeling dat Perseus een centrale plaats, op een daarvoor ingerichte server, in gaat nemen op de KSA. De verschillen tussen Medusa en het nieuwe Perseus systeem zullen qua functionaliteit niet groot zijn bij oplevering van het systeem. Echter zal de achterliggende techniek wel opnieuw worden opgebouwd om zo een meer modulair systeem te ontwikkelen met en hogere performance door het debuggen van de huidige programmeercode. Deze modulairheid zorgt er tevens voor dat het eenvoudiger wordt om nieuwe functionaliteiten te implementeren. Perseus is een veelomvattend systeem. Zo is het een algemeen web gebaseerd publicatiesysteem waarbij elk project, dienst, commissie of organisatie in een handomdraai zich kan presenteren aan een intern of extern publiek. De technische vaardigheden benodigd zijn nihil en maken dit een eenvoudig systeem om informatie mee beschikbaar te stellen. Daarnaast is Perseus ook een web gebaseerde leeromgeving. Elke onderwijsmodule heeft zijn eigen pagina met nieuws- en discussievoorzieningen en andere (uit te breiden) functionaliteiten die Advies Perseus Implementatie Alexander Wezenberg
10
op zichzelf uit kunnen groeien tot een volledige website. Ook de koppelingen met verschillende informatievoorzieningen maakt het mogelijk onderwijsinformatie zoals lesroosters, tentamenroosters, aanwezigheidslijsten en dergelijke eenvoudig te koppelen en aan te bieden. Perseus kent ook een rechtensysteem waardoor het mogelijk is bepaalde personen of groepen toegang te geven tot bepaalde delen van het systeem. Zo krijgt elke gebruiker zijn informatie op maat gesneden aangereikt. Tevens maak deze autorisatie (die op de KSA zal verlopen via een Domain Controller van Windows Active Directory) het ook mogelijk externe toegang te leveren tot het systeem. Daarnaast zijn er ook voorzieningen die het mogelijk maken automatisch een selectie uit het informatie aanbod te presenteren op informatiemonitoren. Daarvoor geplaatste monitoren kunnen per periode ingesteld worden op welke informatie weergeven moet worden. Naast deze basis onderdelen bevat Perseus het ook een enquêtering systeem, een vacature- en stagebank en een reserveringsysteem. Er wordt naar gestreefd Perseus aan het begin van het nieuwe cursusjaar(2004-2005) te gaan draaien. De eerste versie moet dusdanig operationeel zijn dat het bug-free is en tevens de basis functionaliteiten bevat. De gedachte hierachter het acceptatieproces van studenten, docenten en medewerkers van de KSA met Perseus te bevorderen. Dit is uiteraard enorm belangrijk voor het welslagen van het systeem. 2.2 Welke modules worden er ontwikkeld Zoals al aangegeven zal de eerste versie met basis functionaliteiten door de FCJ ontwikkeld worden. De core van Perseus is echter al eerder beschikbaar en er kan dus ook al eerder worden begonnen met de ontwikkeling van extra modules. Perseus wordt ontwikkeld met CFML(ColdFusion Markup Language) ofwel ColdFusion van Macromedia. Dit houdt in dat er een server beschikbaar moet zijn waarop een ColdFusion server kan worden gedraaid. Omdat Perseus een centraal informatiesysteem is kan via HTTP of HTTPS een interface worden opgezet voor informatie uitwisseling. Modules hoeven dus niet per definitie in ColdFusion worden geschreven en kunnen in eigen proces of op een eigen server draaien. De modules en functionaliteiten die in eerste instantie beschikbaar zullen zijn, die ontwikkeld worden door de FCJ, zullen wel in CFML zijn geschreven. Deze geven uitbreiding op de basis functionaliteit van Perseus. De exacte werking van deze modules is nog niet bekend. De documentatie hiervan wordt tijdens de oplevering van een module bijgeleverd. De modules zijn: Informatie De informatie pagina’s en editor Flash versie van het menu en TOC informatie pagina Model Mijn plek Model Site beheer (redactie) Koppeling Osiris Document management Model Projectruimte
Overige Enquêtering Alumni Monitoren Zoeken CV en vacatures Kenniskaarten Blogs
Messaging Chat Whiteboard Nieuws en Discussie Abonnementen B E-mail personen / groepen
School Tentamen inschrijvingen Inschrijving vakken en keuzevakken Portfolio Roosters Reserveringen
Advies Perseus Implementatie Alexander Wezenberg
11
Zodra Perseus geïmplementeerd is op een server dient er goed gekeken te worden naar deze FCJ modules. Het kan namelijk in bepaalde gevallen interessant zijn modules uit te breiden of juist te verwijderen. Het systeem is in eerste instantie een intranet gebouwd voor de FCJ. Het is wellicht nodig een aantal zaken aan te passen om volledig aan de wensen en eisen van de KSA te voldoen. Dit moet zich dan uitten in het ontwikkelen van eigen, of het aanpassen van bestaande, modules. Het FCJ systeem gebruikt ook de combinatie Windows, IIS en MySQL wat ook aan eventuele veranderingen onderhevig kan zijn. 2.3 Wat wordt op de KSA ontwikkeld Het belangrijkste doel van een centraal systeem, zoals Perseus, op de KSA is een geïntegreerd geheel van alle informatiestromen die studenten, docenten en medewerkers nodig hebben. De zichtbare informatie is afhankelijk van de rechten die een persoon of groep heeft. Deze rechten worden beschreven door een Domain Controller van Active Directory. De uiteindelijke bedoeling is dat er één enkel gebruikersnaam en wachtwoord nodig is om toegang verkrijgen tot het systeem en alle gebruikersspecifieke informatie en diensten. Om aan deze wensen te voldoen zullen de volgende functionaliteiten worden toegevoegd aan Perseus: Active Directory koppeling. Het ontwikkelen van een COM/COM+ component die Active Directory kan uitvragen ten behoeve van Perseus. ColdFusion kan er niet volledig bij, maar kan wel COM objecten gebruiken die dit kunnen. Intergratie van de KSA file server. Op deze server staat tevens een share voor alle lesmateriaal. Deze moet in ieder geval via Perseus te benaderen en mogelijk te doorzoeken zijn. Een universele zoekmodule m.b.v. Microsoft SharePoint. Deze moet het mogelijk maken om naast databases ook bestanden en mailboxen te doorzoeken. Perseus heeft alleen zoekmogelijkheden binnen databases. Intergratie van de studentenmail. Dit systeem wordt veelal gebruikt door studenten en zou, desnoods met een inlogformulier als dit niet geautomatiseerd zou kunnen worden, vanuit Perseus beschikbaar moeten zijn. Het koppelen van Osiris. De cijfers uit dit systeem moeten opvraagbaar zijn net als de lesroosters die daar zijn ondergebracht. Het koppelen van de Mediatheek. Intergratie van NetPro. Deze inleverapplicatie is, binnen de KSA, de applicatie die gebruikt wordt voor het inleveren van werk van studenten. De toekomst van NetPro was onzeker door de vele bugs binnen het systeem. Echter wordt op de KSA een herziene versie ontwikkeld die de problemen moet gaan oplossen. Dit moet NetPro weer een waardevolle plaats bieden binnen de KSA en deze kan geïntegreerd worden in Perseus. Belangrijk is wel te weten dat Perseus zelf ook al een inleverapplicatie in zich heeft. Onder Perseus zullen ook alle overige shares, websites(MT/IE/ImmI/Alumni), forum(Stimpy of nieuw een systeem), FTP, sms diensten en mail(Exchange) beschikbaar moeten zijn. Dit alles geldt voor zowel interne als externe gebruikers van het systeem. Verder komen er nog tal van andere functionaliteiten in het systeem zoals het koppelen van onder andere ziek- en betermeldingen, roosterwijzigingen, inschrijvingen, studiegids, keuzevakken, kenniskaarten, pagina’s voor receptie, docenten, medewerkers, studenten enz. Tevens zal er een SDK voor Perseus moeten worden geschreven. Het systeem is op dit moment onvoldoende gedocumenteerd en dit kan in de toekomst bij de verdere ontwikkeling problemen gaan geven. Het systeem zelf is niet bijzonder ingewikkeld en het schrijven van deze SDK zal bij voorkeur uitgevoerd moeten worden op de FCJ. Advies Perseus Implementatie Alexander Wezenberg
12
3. ColdFusion In dit hoofdstuk wordt dieper ingegaan op wat ColdFusion voor scripttaal is en welke edities er beschikbaar zijn. Verder wordt er gekeken naar de performance en schaalbaarheid van ColdFusion en de licentievoorwaarden. 3.1 Wat is ColdFusion ColdFusion is een web applicatieserver waarmee websites en applicaties ontwikkeld kunnen worden. Het voordeel van ColdFusion is dat de leercurve veel kleiner is dan andere (script)talen die gebruikt worden voor het internet, intranet en voor extranetten. Het benodigd geen traditionele programmeertalen zoals C/C++, Java of XML ondanks het wel ondersteund wordt door ColdFusion. ColdFusion MX bestaat uit de volgende drie kern componenten: ColdFusion server ColdFusion Markup Language (CFML) ColdFusion Administrator De ColdFusion applicatieserver is zelf een web applicatie wat zich normaal bevindt op dezelfde computer als de webserver(-software). Dit programma ‘parsed’ (leest en interpreteert) de code en voert de gegeven instructies uit. Deze instructies gaan door ColdFusion doormiddel van ColdFusion pagina’s met de bestandsextensies CFM(pagina’s) of CFC(componenten). Een ColdFusion pagina lijkt op een HTML pagina maar bevat speciale ‘tags’ die de ColdFusion server onderricht om specifieke operaties te verrichten. De volgende stappen worden ondernomen op het moment dat een ColdFusion pagina door de ColdFusion server wordt behandeld: 1. De ColdFusion server kijkt naar alle content van een pagina en zoekt naar de volgende ColdFusion instructies: Tags die beginnen met ‘CF’. Tags zijn de opmaakstructuren van de code. Variabele en functies die altijd tussen hekjes(#) staan. 2. Als de ColdFusion server HTML of normale tekst vindt op de pagina wordt deze onaangepast doorgestuurd naar de webserver. 3. De ColdFusion server voert alle processen uit van de gevonden instructies en stuurt het overige resultaat naar de webserver. De webserver stuurt dan op zijn beurt de gehele output door naar de browser. De ColdFusion Markup Language(CFML) is een ‘tag gebaseerde’ taal, wat lijkt op HTML, dat gebruik maakt van speciale tags en functies. Met CFML kan de standaard HTML worden versterkt met database functies, conditionele operators en hoog niveau formatteerfuncties om snel een eenvoudig te onderhouden web applicatie te produceren. CFML heeft, net als HTML, begin en eind tags en het staat tussen groter dan / kleiner dan tekens. Alle eind tags beginnen met een ‘forward slash’(/) en alle tag namen beginnen met ‘CF’. Een ColdFusion applicatie bestaat meestal uit een serie van pagina’s die CFML bevatten. Ontwikkelaars kunnen deze taal uitbreiden door zelf tags of gebruikers gedefinieerde functies(UDF, User Defined Functions) te ontwikkelen. Daarnaast kunnen COM, C++ en Java componenten(zoals JSP tags) geïntegreerd worden. ColdFusion applicaties kunnen interactie ondergaan met elke op JDBC(Java Database Connectivity) technologie gebaseerde database driver. Deze JDBC driver gebruikt een Application Advies Perseus Implementatie Alexander Wezenberg
13
Programming Interface (API) om SQL statements uit te voeren op een database op de meeste platformen. Echter is ColdFusion niet gelimiteerd aan JDBC databronnen. Interactie kan ook plaats vinden met ODBC(Open Database Connectivity) databronnen door middel van een ODBC socket(een driver dat deze interactie mogelijk). Verder kan de ColdFusion Administrator worden gebruikt voor het configureren en onderhouden van de ColdFusion applicatieserver. Dit is een web gebaseerde applicatie waarmee toegang kan worden verkregen via de webbrowser vanaf elke computer met een internetverbinding. Hiermee kunnen configuratieopties van ColdFusion databronnen, output voor het debuggen, server instellingen en applicatiebeveiliging worden bekeken en ingesteld. 3.1.1 De edities van ColdFusion Macromedia ColdFusion is beschikbaar in twee verschillende productedities: ColdFusion MX Standaard 6.1 en ColdFusion MX Enterprise 6.1. De kenmerken van ColdFusion MX 6.1 zijn afhankelijk van de producteditie en het besturingssysteem. Beide bevatten de gehele infrastructuur benodigd om ColdFusion applicaties uit te voeren. ColdFusion MX Enterprise 6.1 geeft een volledige oplossing voor de ontwikkeling van geavanceerde applicaties en webservices. Hierbij kan gedacht worden aan hoge performance, management en beveiligingsopties benodigd voor grootschalige websites, applicaties en hosting omgevingen. Dit pakket bevat tal van extra opties boven het ColdFusion Standaard pakket.
De toevoeging van JRun(J2EE applicatieserver van Macromedia) maakt het mogelijk om hybride applicaties, die gebruik maken van ColdFusion pagina’s en backend logica geschreven in Java, te ontwikkelen. De keuze tussen het gebruik van verschillende applicatie servers naast JRun, in de gekozen J2EE infrastructuur(zoals IBM WebSphere, BEA WebLogic, Sun ONE), met het inzetten van ColdFusion MX 6.1. Het gebruik van meerdere instanties van de ColdFusion server om beveiliging te verhogen zonder daarvoor aparte hardware te moeten aanschaffen. Zodoende wordt elke applicatie in een eigen server proces geplaatst. Het gebruikt van ‘Server Sandbox Security’. Het beveiligen van gedeelde hosting omgevingen met directory gebaseerde toegangscontrole voor tags, functies, databronnen en IP adressen. Het gebruik van ‘Application Deployment Service’ om eenvoudig applicaties te packagen of te migreren en archiveren vanuit de ColdFusion administrator Het gebruik van ‘Integrated Application Services’ zoals een ingebouwde full-text search engine en geïntegreerde charting en graphing engine. Daarnaast het eenvoudig kunnen bouwen van e-mail ondersteunende applicaties en hoge performance e-mail integratie.
ColdFusion MX Standaard 6.1 geeft een beginnend niveau server ideaal voor tamelijk eenvoudige websites en kleine tot middelgrote applicaties. De ColdFusion Standaard editie geeft de capaciteit die benodigd is om snel een dynamische internetapplicatie te ontwikkelen met het relatief eenvoudig te leren ColdFusion. Naast de commerciële edities van ColdFusion MX 6.1 zijn er nog twee andere edities. De ColdFusion MX 6.1 Developer editie en de ColdFusion MX 6.1 Trial editie. Advies Perseus Implementatie Alexander Wezenberg
14
De Developer editie is een volledig functionele server die alleen bedoelt is voor ontwikkelingsdoeleinden. Omdat deze versie alleen mag gebruikt worden als een ontwikkelingsomgeving om ColdFusion MX te leren gebruiken, of om in te zetten naar andere hosting providers, is de toegang gelimiteerd tot de localhost of één IP adres van buitenaf. De Trial editie is een, 30 dagen volledig werkende, ColdFusion MX Enterprise 6.1 editie. Alle features binnen deze editie zijn beschikbaar. Na het verstrijken van de periode zet deze editie zich om in de Developer Editie. Men kan ten alle tijden een licentie aanvragen en van de Trial of Developer editie een volledige Standaard of Enterprise editie maken zonder een herinstallatie uit te moeten voeren. 3.1.2 Wat zijn voornaamste verschillen De voornaamste verschillen tussen de Standaard en Enterprise editie zitten in de ondersteuning van het besturingsysteem, database en extra features. Daarbij is de Enterprise editie de meest uitgebreide editie van de twee. Beide bieden uiteraard ondersteuning voor CFML. Daarnaast kan voor zowel de Standaard als de Enterprise editie gebruik worden gemaakt van Windows en Linux als besturingssysteem en Microsoft Access(ODBC), Microsoft SQL Server en MySQL als database. De Enterprise editie ondersteunt ook Solaris, HP-UX en AIX als besturingssystemen en onder andere Oracle en Sybase als databases. Bovendien heeft deze editie ook een aantal extra’s zoals:
Een volledige versie van JRun 4 met ondersteuning voor JSPs, Servlets, EJBs en JMS De mogelijkheid meerdere server instanties te starten J2EE Application Server Deployment Enterprise Server Beveiliging Archivering and Deployment Services Hoge performance e-mail bezorging Server/Instance Clustering
De Developer en Trial edities zijn gelijk aan de Enterprise editie van ColdFusion MX 6.1. De Developer editie kan echter op enkele besturingssystemen meer draaien dan de Enterprise editie omdat deze slechts bedoel is als ontwikkelingsomgeving. De complete vergelijkingsmatrix is te vinden in het literatuuroverzicht onder Macromedia productedities.
Advies Perseus Implementatie Alexander Wezenberg
15
3.2 Performance en schaalbaarheid Het behalen van de hoogst mogelijke performance en schaalbaarheid met ColdFusion applicaties is afhankelijk van een complexe combinatie van veel verschillende factoren. Bij performance gaat het specifiek om de responstijd, van CFML pagina’s en ColdFusion componenten, aanvragen. Bij schaalbaarheid gaat het om de verandering in de performance als er meer ‘load’ op de server wordt gezet. Een goede maatstaaf voor performance en schaalbaarheid is de verwerkingscapaciteit (het aantal aanvragen dat over een bepaalde periode zijn afgehandeld). Factoren die de performance beïnvloeden zijn: Hardware en software configuraties. De responstijd van database en andere externe systemen(database query’s, web service load, LDAP server uitvragen enz.). Webserver performance. De CFML applicatie zelf. Al deze factoren zijn belangrijk om het maximale uit de ColdFusion server te halen. Beginnend bij de hardware kan voortijdig al rekening worden gehouden met de configuratie van een systeem. Harde schijven, de CPU, het RAM en het netwerk zijn de vier hoofdfactoren die de performance van de hardware beïnvloeden. Afhankelijk van de resources die een applicatie vraagt zullen deze optimaal afgestemd moeten worden. Qua software kan als eerst gekeken worden naar het besturingssysteem. Elk specifiek besturingssysteem heeft zijn eigen punten die te optimaliseren zijn(zie literatuuroverzicht onder Macromedia performance). ColdFusion MX 6.1 is tevens ook een Enterprise Java Applicatie(J2EE) en de Java Virtual Machine(JVM) is een fundamenteel component die betrekking heeft op de performance. Zowel ColdFusion MX 6.1 Standaard als Enterprise heeft een ingebouwde versie van Macromedia JRun(J2EE applicatie server met de JVM 1.4.1). Daarbij is deze bij de Standaard editie sterk uitgekleed. Bij de Enterprise editie kan JRun ook als losse en volledige J2EE applicatie server worden geïnstalleerd. De CFML applicaties zijn, naast externe bronnen zoals database en webserver, de laatste vorm die performance kunnen beïnvloeden. Het komt er simpelweg op neer dat applicaties zo goed werken als ze zijn ontwikkeld. Het debuggen van code is daarbij het belangrijkste punt. Naast de hier bovenstaande zaken is het belangrijk om een applicatie onder ‘load’ te testen. Dit blijft een zeer belangrijk onderdeel van web ontwikkeling en het plaatsingsproces. De zogenaamde ‘load testing’ is de enige (handige) wijze om een applicatie af te stellen en bottlenecks te verwijderen. Tevens geeft het ook een beeld van de capaciteit die benodigd is voordat een applicatie live gaat. Er zijn meerdere applicaties hiervoor beschikbaar zoals de Microsoft Web Application Stress Tool en OpenSTA.
Advies Perseus Implementatie Alexander Wezenberg
16
3.2.1 J2EE in ColdFusion Java 2 Enterprise Edition(J2EE) is een set APIs en services, waarvan de specificaties opgesteld worden door Sun Microsystems, in samenwerking met een brede groep geïnteresseerden (waaronder ook veel commerciële partijen). ColdFusion MX maakt volledig gebruik van het onderliggende J2EE platform dat zorgt voor hoge performance en betrouwbaarheid. Daarnaast biedt J2EE uitgebreide extensie mogelijkheden zoals zelfgemaakte tags, ColdFusion componenten (CFC), JSP/servlets, EJBs, COM, COBRA, Java, XML enz. De CFML scripttaal is op zichzelf niet enorm uitgebreid maar ColdFusion word door J2EE een stuk krachtiger en een stuk sneller. Het is mogelijk om complexe Java gebaseerde applicaties te schrijven en te plaatsen, naast ColdFusion applicaties(en deze uiteraard te koppelen), op een enkele server. 3.2.2 Performance test Windows en Linux ColdFusion MX 6.1 kan geplaatst worden in verschillende configuraties afhankelijk van de behoefte en de server omgeving. Macromedia heeft testen laten uitvoeren op meerdere besturingssystemen, webservers en hardware configuraties. De volgende testen zijn die van de ColdFusion MX 6.1 Enterprise editie als standalone server(server configuratie) in plaats van een J2EE configuratie(de twee hoofdtype installaties). Een server configuratie houdt in dat de onderliggende J2EE applicatieserver niet zichtbaar is. Dit is ook het geval bij de Standaard editie van ColdFusion.
De Windows 2003 server performance test gebruikte de volgende specificaties: Windows Server 2003 web editie, IIS 6.0, Compaq Proliant 1850 Server, 2x 500 MHz PIII Xeon processors en 1024 MB RAM. De Linux PC werkte op de volgende specificaties: Red Hat Enterprise Linux AS 2.1, Apache 1.3.27, Compaq Proliant DL360 Server, 2x 733 MHz PIII Xeon processors en 2048 MB Ram. Beide systemen gebruikte een aparte Compaq 6500 met 4x 500MHz PIII processors met Microsoft SQL server 2000.
Uit de test kwam naar voren dat de gemiddelde responstijd voor Windows 2.0681 seconden, en voor Linux 2.727 seconden was. Hieruit blijkt dat Windows een stuk sneller werkt, zelfs op minder stevige hardware. Deze tests gingen uit van 30 gelijktijdige virtuele gebruikers zonder tussenpozen. Dit simuleert activiteit van ongeveer twee tot zes miljoen aanvragen per dag. Elke stresstest was meerdermalen ondernomen om accurate gegevens te verwerven. In de meeste webapplicaties gaat de tijd van een (gebruikers)sessie voornamelijk op aan het wachten op een gebruikeractie. Vooral in websites waar content centraal staat word veel tijd besteed aan het lezen van de pagina. Een grote applicatie kan honderden open sessie hebben met slechts tientallen actieve aanvragen die behandeld moeten worden door de applicatieserver. De exacte ratio van open sessies en actieve sessie is geheel afhankelijk van de applicaties. Echter zou deze test van 30 virtuele gebruikers zonder pauzes grofweg gelijk staan aan 600 gelijktijdige sessie binnen de applicatie. De volledige performance test is terug te vinden in bijlage I.
Advies Perseus Implementatie Alexander Wezenberg
17
3.3 Systeem vereisten Windows De minimale systeemeisen op een Windows besturingssysteem voor ColdFusion MX 6.1 zijn: Intel Pentium processor of hoger 256 MB RAM (512 MB is aangeraden) 400 MB HD ruimte Microsoft Windows 98 of ME indien gebruikt van de Developer editie wordt gemaakt Microsoft XP, NT 4 SP6A, 2000 server SP3, of 2003 server Linux De minimale systeemeisen op een Linux besturingssysteem voor ColdFusion MX 6.1 zijn: Intel Pentium processor of hoger 256 MB RAM (512 MB is aangeraden) 400 MB HD ruimte Red Hat Linux 7.2, 7.3, 8.0, 9, AS & ES 2.1, AS & ES 3.0 SuSE Linux 7.2, 7.3, of 8.x TurboLinux 8 Server (Alleen Japanse versie) Linux voor zSeries: SuSE Linux Enterprise Server 8 Service Pack 2 running in 31-bit mode UNIX De minimale systeemeisen op een Unix besturingssysteem voor ColdFusion MX 6.1 zijn: SPARC, PA-RISC 1.1 of 2.0, of POWER/3 processor 256 MB RAM (512 MB is aangeraden) 400 MB HD ruimte Sun Solaris 7, 8, of 9 HP-UX 11i IBM AIX 5L 4.3.3, 5.1, of 5.2 Apple Mac OS X indien gebruikt van de Developer editie wordt gemaakt Ondersteunde applicatie servers Macromedia JRun 4 IBM WebSphere Application Server 4 and 5 BEA WebLogic Server 6, 7, and 8.1 Sun ONE Application Server 7 De exacte besturingsysteem, webserver, database en J2EE applicatieserver ondersteuning van de ColdFusion MX 6.1 edities is terug te vinden in bijlage II.
Advies Perseus Implementatie Alexander Wezenberg
18
3.4 Licentievoorwaarden De ColdFusion MX producten zijn, zoals al aangegeven, verkrijgbaar in twee edities: Standaard of Enterprise. Beide bezitten over de gehele infrastructuur benodigd om ColdFusion applicaties uit te voeren. Een korte terugblik op de edities van ColdFusion: De Standaard editie biedt een instapniveau server dat ideaal geschikt is voor basis websites en klein tot middelgrootte applicaties. Deze editie bevat de basis mogelijkheden om snel dynamische Internet applicaties te ontwikkelen met de ColdFusion Markup Language (CFML). De Enterprise editie is de meest uitgebreide editie. Deze biedt ondersteuning voor diverse, minder gebruikte, besturingsystemen en databases. Naast diverse extra functionaliteiten heeft deze editie de bijvoeging van de (volledige) Macromedia JRun web server. Naast deze twee edities zijn er nog twee ander edities die gratis zijn te verkrijgen. Het gaat hier om de Developer en Trial edities. Deze edities zijn onderhevig aan verschillende beperkingen. Zo is de Developer editie alleen te gebruiken als locale test- en ontwikkelingsomgeving voor ColdFusion applicaties. De Trial editie is een volledige Enterprise editie gedurende een periode van 30 dagen. Na deze evaluatieperiode zet deze zich om in de Developer editie. Bij de Trial en Developer editie is het mogelijk om na het verstrijken van de evaluatieperiode een licentie aan te schaffen, en een serienummer in te voeren. Er kan dan wederom gebruik worden gemaakt van en volledig ColdFusion MX 6.1 Standaard of Enterprise editie zonder een herinstallatie. Naast de aankoop van een licentie om een editie van ColdFusion MX 6.1 Standaard of Enterprise te draaien kan men ook een ‘subscription’ aanvragen. Dit wordt hieronder beschreven gevolgd door de mogelijke licenties, voorwaarden en kosten. 3.4.1 Macromedia Software Subscriptions Een ‘subscription’ is een abonnement op gratis updates gedurende een periode van twee jaar. Deze gratis updates zijn niet echt gratis, men betaald een extra bedrag om dit abonnement te activeren. De software updates zijn alleen beschikbaar gedurende de abonnementsperiode wanneer er een nieuwe, commercieel verkrijgbare, updates beschikbaar zijn. Een abonnement moet binnen 30 dagen na aankoop van een product worden geactiveerd. Dit abonnement is uiteraard optioneel maar moet aangeschaft worden tijdens de aankoop van een product en licentie. Indien een dergelijk abonnement moet worden verlengd met een nieuwe periode van twee jaar zal dit moeten gebeuren binnen 90 dagen voor het verloopt van het abonnement. Gebeurd dit niet zal het abonnement komen te vervallen. Er moet in dat geval eerst weer een product upgrade met ‘subscription’ worden aangeschaft om abonnee te worden. Een abonnement in combinatie met het MVLP(zie onder) heeft afwijkende regels. Standaard is een abonnement twee jaar lang. Als het gaat om MVLP betreffende overheden is de periode slechts één jaar tenzij anders afgesproken met Macromedia. Ook hier kan een verlenging 90 dagen voor het einde van het abonnement worden aangevraagd.
Advies Perseus Implementatie Alexander Wezenberg
19
3.4.2 Licentievoorwaarden specifiek Alle ColdFusion edities zijn onderhevig aan de “End User License Agreements” (EULA) voor server producten van Macromedia. Zodra het product wordt geïnstalleerd zijn de beschreven voorwaarden rechtsgeldig. De belangrijkste zaken zijn hieronder samengevat Als de software een Developer editie4, Trial editie7, of ander editie van server gebaseerde software3 is mag deze worden geïnstalleerd op een enkele computer. Een licentie van deze software mag niet gezamenlijk worden gebruikt, geïnstalleerd of worden gebruikt samenvallend op verschillende computers. Gaat het om een commerciële editie1, educatieve editie5 of ‘niet voor verkoop’ editie6 van, in ieder geval, CPU gebaseerde software2 mag deze op meerdere computers worden geïnstalleerd. Echter mag het aantal CPUs, verdeeld over alle computers waarop de software is geïnstalleerd, niet hoger zijn dan het totale aantal CPU licenties voor de betreffende installatie. Als de gebruikte software ColdFusion 6.1 Standaard editie is, van de ColdFusion software van Macromedia, mag de software niet geïnstalleerd worden op een computer met meer dan acht CPUs tenzij meer licenties worden aangeschaft. Het aantal aangekochte licenties moet gelijk of groter zijn dan het quotiënt uit de deling van het aantal CPUs door acht in een dergelijke server waarop de software is geïnstalleerd. Indien er gebruik wordt gemaakt van de Developer editie mag deze niet gebruikt worden om een applicatie te plaatsen en uit te voeren in een ‘live’ of ‘ stand-by’ omgeving of opvoerende omgeving toegankelijk door applicatie eindgebruikers vanaf servers, werkstations en dergelijke. De Developer editie mag slechts gebruikt worden voor het doel design, ontwikkeling en evaluatie van applicaties in een interne omgeving. De Developer editie mag vanuit slechts één IP adres op elk mogelijk moment benaderd worden. Tevens mag de Developer editie niet vanuit een andere computer benaderd worden dan waarop deze is geïnstalleerd of applicaties beschikbaar stellen met toegang voor meerdere browsers of gebruikers. 1) 2) 3) 4) 5) 6) 7)
Commerciële editie betekend dat het gaat om een editie van de software die niet een Developer editie, educatieve editie, ‘niet voor verkoop’ editie of Trial editie is CPU gebaseerde software betekend, als het toepasbaar is, de software dat niet server gebaseerde software is. (o.a. Macromedia Flash Remoting software, Macromedia JRun, en de Enterprise editie van Macromedia ColdFusion software wat niet CFMX 6.1 Enterprise update is) Server gebaseerde software betekend, als het toepasbaar is, Macromedia Flash Communication Server software, CFMX 6.1 Enterprise Update of de Standard editie van Macromedia ColdFusion software. Developer editie is een versie van de software, zo geïdentificeerd, om intern gebruikt te worden voor design, ontwikkeling en evaluatie als enig doel. Educatieve editie is een versie van de software, zo geïdentificeerd, om enkel gebruikt te worden door gekwalificeerde (school)instellingen, inclusief de studenten en faculteit daarvan. “Niet voor verkoop” editie is een versie van de software, zo geïdentificeerd, om enkel gebruikt te worden om de software te herzien en te evalueren. Trial editie is een versie van de software, zo geïdentificeerd, om alleen te worden gebruikt om de software te herzien, te demonstreren en te evalueren voor een gelimiteerde periode. Deze versie kan een gebrek hebben aan bepaalde functionaliteiten en zal na een vastgestelde periode ophouden te werken doormiddel van een intern mechanisme.
Advies Perseus Implementatie Alexander Wezenberg
20
3.4.3 Macromedia Volume Licensing Program(MVLP) Het Macromedia Volume Licentie Programma (MVLP) voorziet in flexibele licentieoplossingen voor het bedrijfsleven, overheid en onderwijs wat tijd en geld kan besparen. Het MVLP is een punten gebaseerd programma voor kortingen op volume aankopen. De grootte van de order en het soort producten bepalen het exacte programmaniveau en de korting. De voordelen zijn: Licentiebeheer: een Volume Licentie vereenvoudigt het Licentiebeheer. De verschillende pakketten (en de updates daarvan) van Macromedia kunnen gezamenlijk in een enkele volumelicentie worden ondergebracht. Kostenbesparing: afhankelijk van het aantal punten dat een bestelling opmaakt, geldt een bepaalde gereduceerde prijs. Flexibiliteit: alle softwarepakketten en ook de upgrades daarvan leveren punten op die meetellen. Ook kan in een Volume Licentie diverse platformen gecombineerd worden. Een Volume Licentie is later ook uit te breiden. Er is echter een keerzijde waarin aankopen via volume niet bij voorbaad korting opleveren. Bij kleine aantallen wordt het voordeel al snel teniet gedaan door de bijkomende kosten voor cd's en handleidingen. Losse edities zijn per definitie voorzien van cd's en vrijwel altijd van handleidingen(per editie). Daarnaast zijn er instapvoorwaarden van een aantal minimale punten. Om een enkele ColdFusion MX Server aan te schaffen in deze situatie is dus niet altijd mogelijk of aantrekkelijk. Daarom valt deze optie als oplossing voor de KSA af. 3.4.4 Indicatie kosten Hieronder zijn de prijzen per april 2004 van licenties(met of zonder subscriptions) van de ColdFusion MX 6.1 server edities weergeven. Het gaat hier om volledig nieuwe pakketten omdat er voor het eerst een ColdFusion server wordt aangeschaft. Er gelden andere regelingen indien het gaat om een upgrade of wanneer er nog een subscription loopt.
ColdFusion MX Standard 6.1 ColdFusion MX Standard 6.1 + 2-jarig Product Subscription ColdFusion MX Enterprise 6.1 ColdFusion MX Enterprise 6.1 + 2-jarig Software Subscription ColdFusion MX 6.1 Developer editie ColdFusion MX 6.1 30-day Trial editie
Advies Perseus Implementatie Alexander Wezenberg
$1,299 / server $1,818 / server $5,999 / 2 CPUs $8,398 / 2 CPUs kosteloos kosteloos
21
4. Netwerksituatie KSA Dit hoofdstuk gaat in op de huidige netwerksituatie en de veranderingen die gaan plaats vinden binnen de KSA. Daarnaast wordt beschreven waar rekening mee gehouden moet worden door deze veranderingen en in combinatie met de komst van Perseus. 4.1 Huidige situatie Het huidige KSA netwerk bestaat uit meerdere VLAN’s(Virtual Local Area Networks) in een centrale serveroplossing. VLAN’s zijn ethernet netwerken(OSI-model laag 1 en 2) die in ethernet switches zijn gedefinieerd. Een dergelijke switch verpakt netwerkverkeer in ethernet pakketen en routeert of schakelt deze met enorm snelheid door. In een VLAN kunnen alle aangesloten apparaten met elkaar communiceren. De communicatie die plaats vindt tussen verschillende VLAN’s verloopt doormiddel van routers(OSI-model laag 3). Een enkele VLAN kan maximaal 254 IP-adressen bevatten (tenzij gebruik wordt gemaakt van supernetting). De centrale servers bestaan uit de Falcon en de Eagle die gekoppeld zijn met ieder twee netwerkkaarten aan het HvU netwerk en, aan de ander zijde, de ‘private range’ IP adressen. De Falcon server wordt gebruikt als Domain Controller voor de Active Directory service en als file / print server. Op deze server staan de shares waaronder de werkgroepmappen van studenten. De Falcon is tevens een DHCP-, DNS-, TFTP-, RIS- en WINS-server. De Eagle server wordt gebruikt als applicatie server. Hieronder vallen de webserver(en bijbehorende FTP servers voor verschillende websites zoals de ImmI), mail(Exchange server) en proxy(ISA server) server. Deze servers verzorgen alle huidige netwerk en database applicaties binnen de KSA. De verbinding met het HvU netwerk is een 2Gb over glas verbinding(glasvezel). De koppeling van deze verbinding met het KSA netwerk is een router van, het HvU brede, IT support. De centrale servers zijn uitgebreid met meerdere logische netwerkinterfaces. Hiervoor wordt gebruik gemaakt van VLAN-tagging volgens het 802.1q-protocol(met andere woorden trunking naar de server). De beschikbare VLAN IDs (650-669) binnen de KSA (gereserveerd door IT Support) zijn grofweg onderverdeeld in één VLAN direct gekoppeld aan het HvU netwerk, en bijbehorende IP range, en de overige VLAN’s. De eerste is bedoeld als koppeling met de servers van het HVU netwerk. Daarnaast hebben docenten de gelegenheid eigen servers op dit VLAN te plaatsen. De tweede collectie VLAN’s bestaat uit het docentennetwerk, ondersteunende personeel, externe doeleinden, VVS, studenten MT, Studenten IE, MT Lab en een radiografisch subnet. Deze zijn doormiddel van trunks ondergebracht in de switches.
Advies Perseus Implementatie Alexander Wezenberg
22
4.2 Wat gaat veranderen IT Support is gestart met het centraliseren van alle services binnen de HvU op een centrale server in Utrecht. Dit houdt in dat alle applicaties en services, die eerst werden verzorgd door de Falcon en de Eagle, beschikbaar zullen zijn via deze nieuwe centrale server. Deze situatie is vanuit de KSA gezien eigelijk zeer ongewenst. Er kunnen diverse problemen ontstaan vanwege de mate waarin beheer kan worden gedaan op deze server of servers. Ook zou alles moeten verlopen via het HvU netwerk en dus over de 2Gb over glas verbinding. Dit kan problemen meebrengen zoals:
Het uitvallen van de verbinding of server(geheel of gedeeltelijk) kan tot gevolg hebben dat de centrale Domain Controller niet meer beschikbaar is. Mogelijk kan dan niemand(docenten, medewerkers, studenten enz.) meer kan inloggen op de beschikbare werkstations op de KSA. Dit kan de werkzaamheden, waarbij een werkstation nodig is, volledig platleggen. Omdat file servers (zoals de Falcon) ook centraal zullen worden gehouden is te voorzien dat dit, bij redelijk gebruik van de centrale servers via de 2Gb over glas verbinding, problemen kan gaan opleveren. Het kan mogelijk zeer traag worden of in het ergste geval plat gaan. Er zijn officieel geen back-up systemen op de KSA aanwezig die eventuele problemen tijdelijk kunnen opvangen. Het KSA systeembeheer zal met deze centralisatie verdwijnen. Onderhoud aan bestaande systemen, servers en dergelijke zal moeten gebeurden door docenten, medewerkers, studenten of derde.
Daarbij komt dat zowel de Falcon als de Eagle server vanaf volgend schooljaar (2004-2005) afgeschreven zullen zijn. Dit houdt in dat ze nog wel gebruikt kunnen worden maar niet meer gerepareerd worden bij defecten in de hardware. Tevens is niet zeker of deze servers überhaupt op de KSA blijven, naar Utrecht gaan. Op de KSA zouden de servers gebruikt kunnen worden voor studentenprojecten of het MT Lab. Dit houdt in dat er nog slechts één bruikbare server overblijft, de Hawk, die gebruikt kan worden voor de Perseus server. Perseus zelf zou goed kunnen draaien op de Hawk maar, naast dat de Hawk al bepaalde applicaties draait, moet er ook een database worden bijgehouden die redelijk groot kan worden. Hier is de Hawk niet op berekend en het is bovendien wenselijk, op basis van de toekomstige groei van de KSA, een Perseus server en een aparte database server te draaien voor optimale werking van het systeem. 4.3 Waar dient rekening mee worden gehouden Omdat de bovenstaande problemen onwenselijk zijn zullen er een aantal stappen ondernomen moeten worden. Er zal in ieder geval goed gekeken worden naar welke services behouden moeten worden(hetzij als back-up of als volledige service). Dit kan vanuit twee perspectieven worden bekeken. Vanuit de KSA gezien is het zeer wenselijk om een aantal services als back-up te behouden. In het bijzonder de services rondom Active Directory door het verdwijnen van de Domain Controller naar Utrecht levert risico. Bij het uitvallen van de Domain Controller is het werken op PC’s, aangesloten op het KSA netwerk, niet mogelijk omdat er niet meer kan worden ingelogd. Met uitzondering van de cached gebruikers die verder nog niets kunnen omdat toegang tot resources(bronnen), zoals shares, ook via AD verloopt. Er zal dus een server beschikbaar moeten zijn om als Domain Controller te fungeren in het geval deze centraal uitvalt. Voor wat betreft studenten, docenten en medewerkers mappen die nu op de Falcon draaien is het zeer wenselijk hier een (back-up) file Advies Perseus Implementatie Alexander Wezenberg
23
server voor te blijven draaien. Het is in namelijk erg onhandig, voornamelijk vanwege de capaciteit en performance, dit allemaal over een 2Gb over glas verbinding te centraliseren. Ook diverse netwerkgeoriënteerde zaken zullen ergens anders moeten worden onder gebracht. Hierbij kan gedacht worden aan de DHCP-, DNS-, TFTP-, RIS- en WINS-server, maar ook de proxyserver, mailserver en alle beveiliging om ongewenste indringers van het KSA netwerk te houden. Met de komst van de Perseus server, die uiteindelijk op een ‘productie’ server moet gaan draaien, zal rekening gehouden moeten worden met de herindeling van het KSA netwerk op deze nieuwe situatie. Er zal zowel een server beschikbaar moeten zijn met genoeg capaciteit en performance als en een database server die alle gegevens van dit systeem kan onderbrengen, uitvragen, en back-ups kan maken. Vanuit Perseus gezien is het zeer wenselijk dat de Domain Controller altijd beschikbaar is. Het doel van Perseus is immers het integreren van alle applicaties die docenten, medewerkers en studenten nodig hebben. Toegang tot deze applicaties wordt geregeld via Active Directory (één gebruikersnaam en wachtwoord voor alle geïntegreerde applicaties en services). Een gebruiker is automatisch ingelogd onder de juiste gebruikergegevens zodra men op een PC van het KSA netwerk geverifieerd is. Perseus regelt, aan de hand van deze gegevens, de toegang tot alle zaken die binnen dit systeem geïmplementeerd worden afhankelijk van de rechten van de desbetreffende gebruiker. Ook Perseus wordt onbruikbaar zodra de Active Directory niet meer kan worden benaderd voor het rechtensysteem binnen deze applicatie. De KSA zal in de toekomst, op basis van de groeiplannen, een bezetting in de orde van +/- 3000 personen(studenten, docenten en medewerkers) hebben. Het Perseus systeem zou in deze situatie ongeveer 500 tot 600 sessie op één gegeven moment hebben lopen. Dit geeft een goed beeld hoe belangrijk de een Domain Controller, die ten alle tijden beschikbaar is, gaat zijn. Om de verbinding met het HvU netwerk zoveel mogelijk te ontzien is het ook aan te raden om de file server, de mail server(Exchange) en diverse databases(onder andere die van AD) te behouden. Binnen Perseus zal een search module ontwikkeld worden met behulp van Microsoft SharePoint. Deze module heeft als doel bestanden, databases en e-mail te indexeren en vindbaar te maken. Het is uiteraard sneller zoeken in het lokale netwerk dan dit over een zeer groot en afgelegen netwerk te doen. Zeker is dat, na de centralisatie en de afschrijving van de Falcon en Eagle servers, er niet genoeg ‘server’ in huis is om alles onder te brengen. Er zal in een aparte database server komen voor Perseus database. Het is eventueel mogelijk meerdere services onderbrengen op de servers. Het gebruikt van Virtual Machines, om andere besturingssystemen te kunnen draaien, kan wellicht een uitkomst bieden naast dat de server optimaal benut kan worden door toewijzing van resources. Tevens biedt het de mogelijkheid om sneller een server weer werkende te krijgen omdat dit alleen in de software hoeft te gebeuren in plaats van de fysieke server herstarten. Echter is, de aanschaf van een nieuwe server en het gebruik van Virtual Machines, een situatie in de toekomst van het KSA netwerk. De beginsituatie zal juist uitgaan van slechts de Hawk server die alle zaken op zich zal nemen. De rapportage zal in eerste instantie uit gaan van de toekomst maar er wordt uiteraard ook rekening gehouden met deze beginsituatie.
Advies Perseus Implementatie Alexander Wezenberg
24
5. Directory Services Active Directory moet het rechtensysteem gaan vormen voor Perseus. Dit hoofdstuk zal dieper ingaan op directory services en Active Directory(AD) wat gebruikt wordt op de KSA (en HvU breed). Daarnaast wordt gekeken naar hoe AD kan worden benaderd, hoe dit vanuit Linux kan en wat de mogelijkheden van ColdFusion zijn met AD. Het geheel moet een beeld geven van de mogelijkheden van Active Directory en de plaats die het inneem op het intranet van de KSA. 5.1 Wat zijn Directory Services Een directory service is primair een netwerk directory met een enkele, logische en consequente database om informatie in op te slaan over netwerkgebaseerde entiteiten zoals applicaties, bestanden, printers en gebruikers. Het is een manier om consequent te benoemen, omschrijven, lokaliseren, toegang verlenen, beheren en het beveiligen van informatie van deze individuele resources. Verder functioneert een directory service als een soort schakelbord van het netwerk besturingssysteem. Het is een centrale autoriteit dat de identiteiten beheerd en de relaties bemiddeld tussen deze gedistribueerde resources zodat deze kunnen samenwerken. Omdat een directory service deze fundamentele functies biedt, binnen een netwerk besturingsysteem, moet het naadloos gekoppeld zijn met de management en beveiligingmechanismen van het besturingsysteem om de integriteit en privacy van het netwerk te waarborgen. Het speelt ook een belangrijke rol in de mogelijkheden, van een organisatie, om een netwerkinfrastructuur te definiëren en te onderhouden en het uitvoeren van systeemadministratie en de controle over algemene gebruikerservaring over de informatiesystemen binnen een organisatie. Door de groei van een organisatie en de afhankelijkheid van een algemeen netwerk wordt het nut van een directory service steeds belangrijker omdat het:
Management simplificeert. Het zorgt voor een enkel, consequent punt voor management van gebruikers, applicaties en apparaten. Beveiliging versterkt. Het zorgt dat gebruikers slechts een enkel inlogmechanisme hoeven te passeren om toegang te krijgen tot netwerk resources. Het zorgt ervoor dat administrators met krachtige en consequente applicaties beveiligingservices kunnen beheren zoals internet en externe toegang tot het netwerk. Samenwerking uitbreidt. Het zorgt voor gestandaardiseerde toegang tot alle Active Directory functies en gesynchroniseerd support voor alle populaire directory services.
Advies Perseus Implementatie Alexander Wezenberg
25
5.2 Wat is Active Directory Active Directory(AD) is de gezamenlijke term voor Microsoft’s geïntegreerde set directory services. Het belangrijkste daarbij is dat AD een centrale, zoekbare bewaarplaats ofwel database is (met de mogelijkheid voor het simpel delen van netwerk resource informatie) die functioneert als een centrale autoriteit voor netwerkbeveiliging. Naast het onderbrengen van een autoriteit over gebruikersaccounts en gebruikersgroepen kan ook informatie en beheer over computers, printers, servers, shares, services en dergelijke in AD worden opgenomen. Het doel van AD is het centrale beheer en gebruik van het netwerk te vereenvoudigen. Zo kan doormiddel van policies een groot deel van de configuratie van werkstations centraal worden ingesteld. Software kan met behulp van AD worden gedistribueerd naar gebruikers of gebruikersgroepen. Tevens maakt AD het mogelijk de directory te doorzoeken en gebruikers op eenvoudige wijze op de hoogte te stellen van waar resources zich bevinden. Zo zal een bepaalde printer in de directory goed beschreven zijn zodat men naar de juiste printer een opdracht kan versturen zonder te weten via welke server dit moet verlopen.
Active Directory kan enorm veel objecten bevatten. Een hiërarchische en logische structuur is daarbij wel enorm belangrijk. Alle netwerk resources zijn in AD gerepresenteerd in een schema als objecten en aan elke object kunnen bepaalde attributen worden toegewezen wat het object karakteriseert. Objecten kunnen weer geplaatst worden in containers, ofwel logische gerelateerde object groepen. Deze containers kunnen binnen andere containers geplaatst worden om een hiërarchische structuur te bewerkstelligen die past bij de organisatie van een bedrijf of instelling. De meest overkoepelende container object binnen AD is een Organisatorische Unit(OU).
Advies Perseus Implementatie Alexander Wezenberg
26
De grootste eenheid binnen AD is het domein. Deze kan ook gezien worden als het grootste container object. Elk domein is zowel een beveiligings- als administratieve grens. Het domein is ook een eenheid van replicatie waarbij elke Domain Controller een complete kopie van de Active Directory database bevat. Het hoogste niveau domein is bekend als het ‘forest-root domain’ en verdere domeinen zitten onder dit domein en worden ‘child domains’ genoemd. Deze ‘child domains’ kunnen zelf weer meerdere domeinen onder zich hebben. Het geheel van een ‘root domain’ en alle onderliggende domeinen vormen de ‘domain tree’. Een ‘tree’ is dus een verzameling domeinen die vallen onder één DNS naam (bijv. hvu.nl). Een ‘forest’ daarin tegen kan meerdere DNS namen bevatten, en is dus een verzameling van ‘trees’ die samen de AD organisatie vormen. Binnen elk domein wordt de hiërarchische structuur gecontinueerd met organisatorische units. Binnen deze OU structuur kunnen gebruikersaccounts in groepen worden geplaatst. De hiërarchische structuur van AD, in combinatie met gebruikersgroepen, maakt het mogelijk eenvoudig de delegatie van administratieve taken te verdelen en applicaties te voorzien van administratief beleid(policies). Zo kan een administrator volledige toegang krijgen in een administrator OU. Deze administrator kan dan gebruikers, printers, containers en andere AD objecten binnen het eigen OU beheren en bewerken. Buiten de betreffende OU heeft de administrator slechts standaard gebruikersrechten. Zo kan er een policy worden opgegeven, voor een bepaalde OU, waaraan alle objecten binnen een OU zijn onderworpen. Er kunnen meerdere beleidsinstellingen worden toegevoegd aan bijvoorbeeld gebruikers en groepen in een OU. Active directory wordt normaal gebruikt voor drie verschillende doeleinden: Een interne directory. Gebruikt binnen bedrijfsnetwerken voor het publiceren van informatie over gebruikers en resources binnen de onderneming. Deze kan via een Virtual Private Network (VPN) worden benaderd door medewerkers buiten het bedrijfsnetwerk zonder toegankelijk te zijn voor andere mensen. Een externe directory. Deze directory’s zijn gelokaliseerd op servers binnen de omtrek van het netwerk of de ‘gedemilitariseerde zone(DMZ)’ op de grens van het LAN van de organisatie en het publieke Internet. Zo kan geselecteerde informatie worden getoond of verkregen door gebruikers van een dergelijke applicatie of service. Een applicatie directory. Deze directory’s slaat privé directory data op dat relevant is voor een applicatie in een locale directory. Deze kunnen op dezelfde server als de applicatie staan zonder dat er meer configuratie benodigd is aan AD. Deze verpersoonlijkingdata, die alleen interessant is voor portal applicaties, hoeft niet verspreid gekopieerd te worden, en kan slechts opgeslagen worden in de directory die geassocieerd is met de applicatie. Zie paragraaf 3.3 van dit hoofdstuk voor het gebruik van ADAM in dergelijke situaties. Om AD op te zetten moet er een Domain Controller zijn waar alle AD functionaliteiten worden afgehandeld. Een server wordt Domain Controller als deze een versie van Windows Server 2000 of 2003 als besturingssysteem gebruikt en AD heeft geïnstalleerd. Tijdens de installatie van Windows Server 2000/2003 kan de server rol worden geconfigureerd.
Advies Perseus Implementatie Alexander Wezenberg
27
5.3 Waarmee is Active Directory te benaderen Microsoft heeft een aantal samenwerkende API’s ontwikkeld om beheerders van AD bij te staan om de complexiteit van het gebruik en beheer van (ongelijksoortige) directory services uit te voeren. 5.3.1 Lightweight Directory Access Protocol(LDAP) API LDAP is de standaard voor het benaderen van Active Directory en ander directory services. Het is een directory specificatie met eigen database en structuur afspraken. Deze reflecteren een clientserver model waarmee clients direct informatie kunnen opvragen of operaties kunnen uitvoeren bij servers. Één of meer directory services kunnen de operatie uitvoeren of refereren naar een andere directory die wel in staat is de informatie te geven of de operatie uit te voeren. Een LDAP client ziet altijd de zelfde structuur in een directory, onafhankelijk van welke server en directory service wordt benaderd. Indien nodig kan een LDAP server een client autoriseren tegen het gebruikte besturingssysteem. Eenmaal ontvangen zal de LDAP server de aanvragen converteren naar het juiste formaat voor de directory die gebruikt is. De huidige versie van LDAP is LDAP versie 3. Deze wordt vrijwel volledig ondersteund in AD. In Windows 2003 server worden alle basis LDAP componenten ondersteund naast vrijwel alle, nog niet gestandaardiseerde, LDAP componenten. Er is een LDAP API beschikbaar in de Microsoft Developer Network(MSDN) Platform SDK. Deze zorgt voor ‘native LDAP’ functionaliteit voor client applicaties voor het zoeken en het ophalen van informatie van LDAP ondersteunende directory services. Additionele functies zoals het aanpassen van directory invoer of de toegangscontrole om cliënten toe te staan zichzelf te autoriseren zijn beschikbaar vanuit de LDAP API. Een misvatting is dat AD eigelijk geen native LDAP aanroepen zou ondersteunen met als gevolg dat ontwikkelaars verplicht gebruik moeten maken van Active Directory Services Interface (ADSI) om toegang tot een directory te krijgen. Dit is echter niet het geval, native LDAP aanroepen worden volledig ondersteund in AD. Het is zelf zo dat native LDAP de primaire toegangmethode is voor het grootste gedeelte van alle AD operaties. ADSI is vanuit deze situatie bekeken slechts een abstracte laag die directory ontwikkeling simplificeert voor beheerders. Wel is het zo dat AD een aantal functionaliteiten heeft die niet ondergebracht zijn in het LDAP protocol omdat deze AD functionaliteiten buiten het LDAP model vallen. 5.3.2 Active Directory Service Interface(ADSI) API ADSI is een set van de Component Object Model(COM) programmering interfaces dat het eenvoudiger maakt om applicaties te bouwen die zich registreren met, en toegang krijgen tot, meerdere directory services met een enkele set van voor gedefinieerde interfaces. ADSI is een open API die kan werken met directory services die een ADSI provider bieden. ADSI client applicaties kunnen geschreven worden in vele programmeertalen. Voor de meeste beheerderstaken definieert ADSI interfaces en objecten die toegankelijk zijn vanuit automatiseringsondersteunende talen zoals Visual Basic, Vbscript, Active server pages(ASP), Java, C en C++. ADSI biedt een abstracte interface tot alle functionaliteiten die AD te bieden heeft. Er is nog een derde API genaamd NETAPI die als AD interface kan dienen. Deze wordt echter afgeraden door Microsoft en in plaats daarvan het gebruik van ADSI aangeraden.
Advies Perseus Implementatie Alexander Wezenberg
28
5.3.3 Active Directory Application Mode (ADAM) ADAM is een nieuwe mogelijkheid van AD dat bepaalde implementatie scenario’s adresseert die gerelateerd zijn aan directory ondersteunende applicaties. Het is één van de vele uitbreidingen op de LDAP capaciteiten in de AD van Windows 2003 server. ADAM draait als een niet-systeem service en is, op die wijze, niet verplicht om geïmplementeerd te worden op een Domain Controller. Draaiend als niet-systeem services houdt in dat meerdere instanties van ADAM naast elkaar kunnen draaien en apart kunnen worden geconfigureerd. ADAM representeert een directory services technologie dat Network Operation System(NOS) functionaliteit scheidt van een native LDAP directory. Een mogelijk scenario is wanneer een portal applicatie persoonlijke data die geassocieerd is met gebruikers die geautoriseerd worden door een NOS directory(Active Directory). Het opslaan van deze data in de NOS directory vereist schema veranderingen in de gebruikers klasse in de directory. Echter kan de applicatie ook gebruik maken van AD voor de gebruikerscontrole en service publicatie terwijl ADAM de persoonlijke data per gebruiker opslaat. De applicatie gebruikt dan ADAM als applicatie directory voor de persoonlijke data die relevant is voor de applicatie. Dit is een locale directory service die op de zelfde server kan staan als de applicatie. Er is voor de NOS directory geen additionele configuratie benodigd om dit te verwezenlijken. Mocht de informatie echter toch belangrijk zijn voor de NOS directory blijft het mogelijk om deze data daarin te plaatsen. Dit principe kan een hoop problemen vermijden betreffende de opslag van gegevens die Perseus in de Active Directory gaat plaatsen. De Domain Controller gaat namelijk centraal geplaatst worden(in Utrecht) en wordt tevens uniform qua schema’s. Met gebruik van ADAM zullen alle toepassingsgerelateerde gegevens in de ADAM database worden geplaatst terwijl de uniforme AD database in tact blijft. 5.3.4 Directory Services Markup Language (DSML) DSML biedt een manier voor het representeren van directory structurele informatie en directory operaties in een XML document. Het doel van DSML is het toestaan van XML gebaseerde applicaties om profielen en resource informatie van een directory over te hevelen naar hun ‘native’ omgeving. DSML zorgt ervoor dat XML en directory’s beter met elkaar kunnen werken en zorgt voor een gezamenlijke ondergrond voor alle XML gebaseerde applicaties. DSML services voor Windows gebruikt ook open standaarden zoals HTTP en SOAP naast XML om een betere ondersteuning op meerdere platformen, apparaten en applicaties van toegang tot AD te voorzien.
Advies Perseus Implementatie Alexander Wezenberg
29
5.4 Active Directory benaderen met Linux Het gebruik van Active Directory op een Linux systeem kan twee doeleinden hebben. Ten eerste kan het doel zijn om het Linux systeem te integreren in een Windows omgeving. Deze integratie is mogelijk met de open source applicatie Samba 3.0. Deze verzorgt dat een Linux server zichzelf kan autoriseren tegen een Windows Domain Controller en deel te worden van een Windows netwerk. Tevens maak het ook bestand en printer services mogelijk via Linux naast een tal van andere functionaliteiten. Samba heeft de OpenLDAP ‘development libraries’ nodig om te kunnen werken, naast een aantal anders zaken zoals MIT Kerberos(het beveiligingsalgoritme) wat gebruikt wordt in de Windows gebruikerscontrole. OpenLDAP kan op zichzelf gebruikt worden om als directory service te dienen. Echter zijn slechts de developer library’s nodig om het contact via LDAP mogelijk te maken met AD. De tweede mogelijkheid is indien men een applicatie draait op een Linux server waarbij gebruikerscontrole en bewerkingen nodig zijn via AD. Hierbij kan direct gebruik gemaakt worden van de library’s van OpenLDAP om de verbinding tussen de applicatie en de AD te leggen. Men is dan slecht gelimiteerd aan de mogelijkheden van het LDAP protocol met AD omdat AD een aantal uitbreidingen heeft die alleen via de ADSI API beschikbaar zijn. 5.5 Mogelijkheden van ColdFusion met Active Directory Één van de belangrijkste intergratie uitdagingen van een ColdFusion applicatie, zoals Perseus, is om gebruikers te autoriseren tegen een Windows 2000/2003 domein. Binnen ColdFusion is het mogelijk om AD te benaderen met een LDAPv3 interface via de ColdFusion ‘CFLDAP’ tag. Elke Windows 2000/2003 Domain Controller luistert voor regelmatige LDAP connecties op poort 389. Standaard worden anonieme connecties geweigerd terwijl domein gebruikers wel een verbinding kunnen openen met een LDAP ondersteunende directory’s zoals AD. Met deze informatie in handen is het mogelijk gebruikers te controleren door de Domain Controller te benaderen met CFLDAP met de gebruikersgegevens als attributen. Als de CFLDAP connectie lukt met de doorgegeven gegevens zijn deze geldig, geen connectie betekend dat de gegevens niet geldig zijn. De CFLDAP tag ondersteund de volgende operaties op een LDAP ondersteunende directory: query
Geeft attribuut waardes terug van een directory.
add
Voegt een nieuwe entry toe aan een directory.
modify
Het toevoegen, verwijderen of modificeren van attribuut waardes in een directory entry.
delete
Verwijdert een entry van een directory.
modifyDN
Hernoemt de directory entry (veranderd de ‘Distinguished Name’)
CFLDAP kan verschillende operaties uitvoeren op een LDAP ondersteunende server. Active Directory is vrij flexibel in zijn implementatie en LDAP is niet de enige technologie beschikbaar die integratie met applicaties mogelijk maakt. Microsoft biedt de ADSI API aan die toegang tot objecten in AD via verschillende programmeertalen mogelijk maakt. ColdFusion is niet in staat om ASDI objecten direct te benaderen. LDAPv3 ondersteunt ook niet alle functies binnen Active Directory. Echter is het wel mogelijk bijvoorbeeld via een COM object of een C++ CFX tag, dat ColdFusion kan gebruiken, toegang te krijgen tot de ASDI interfaces. COM objecten zijn overigens niet beschikbaar via een Linux distributie besturingssysteem. Hiervoor dient bijvoorbeeld gebruik gemaakt te worden van Java componenten om integratie mogelijk te maken met ADSI. Advies Perseus Implementatie Alexander Wezenberg
30
6. Software oplossing servers Zoals aangegeven gaan er een aantal dingen veranderen rondom de servers die beschikbaar zijn om Perseus te draaien. Vanaf het volgende schooljaar (2004/2005) zullen twee van de drie bruikbare servers worden afgeschreven en niet meer gebruikt kunnen worden voor Perseus. De wens is om de Perseus server en database, in de toekomst, te splitsen. Omdat er slechts één productie server overblijft, zal er een tweede nieuwe server moeten worden aangeschaft die als database server zal gaan dienen. Deze nieuwe server zal op een aantal vlakken nauw aan moeten sluiten op de wensen van de KSA. Zo zal deze mogelijk in de toekomst uitgebreid worden met andere toepassingen zoals een (back-up)file server, Domain Controller en dergelijke. De huidige servers op school draaien een versie Windows 2000 Advanced server, IIS 5 en MS SQL server 2000. De voorkeur is een Windows gebaseerde omgeving vanwege een eenvoudiger beheer ten opzichte van bijvoorbeeld een Linux machine. Zeker in het vooruitzicht dat systeembeheer na de centralisatie in Utrecht zal verdwijnen en onderhoud zal komen te vallen op docenten en studenten of daarvoor speciaal aangenomen medewerkers of externe partijen. Verdere voorkeuren liggen op het gebied van de database server, deze moet met voorkeur ANSI92(tegenwoordig: de INCITS/ISO/IEC 9075-1 standaard) compatible zijn. Belangrijker is echter dat men de database ‘online’ kan back-uppen. In andere woorden: dat de database niet offline hoeft gehaald te worden zodra er een periodieke back-up wordt gedaan. Alles bij elkaar moet de serveroplossing onder maximale belasting (tussen de 500-600 gelijktijdige sessies) een maximale responstijd hebben van ongeveer twee seconden. 6.1 Besturingsysteem ColdFusion, het hart van Perseus, is te installeren op tal van verschillende besturingssystemen zoals Windows, Linux, Solaris, HP-UX en AIX. Deze laatste drie vereisen speciale hardware en zullen niet gebruikt worden vanwege de hoge kosten die het met zich meebrengt. Bovendien zou de vereiste kennis qua onderhoud niet geoorloofd zijn ten opzichte van het doel van een dergelijke server. Uit een performance onderzoek van Macromedia is gebleken dat ColdFusion sneller werkt onder Windows dan onder Linux1. Vanuit deze resultaten gezien, en de wens om een Windows omgeving te behouden, zal er geen gebruik worden gemaakt van de Linux distributies Red Hat Linux(7.2, 7.3, 8.0, 9 & Enterprise AS 2.1) of SuSE Linux(7.2, 7.3, 8.x & Enterprise server 8). Uit onderzoek van Mircosoft2 blijkt dat het nieuwe besturingssysteem Windows 2003 server op alle vlakken zijn voorgangers overtreft(onder andere als file server, dynamische en statische webserver en AD). In vergelijking is de Windows 2003 enterprise server één tot twee keer sneller dan Windows 2000 Advanced server. Dit loopt nog hoger op bij het gebruik van meerdere processors in een machine. Tevens is Active Directory in Windows 2003 server verder geoptimaliseerd. Gezien vanuit de verschillen tussen de Windows 2003 server familie zou de Enterprise editie het beste passen als oplossing voor Perseus binnen de KSA.
1 2
zie bijlage I zie Microsoft website, via: http://www.microsoft.com/windowsserver2003/evaluation/performance/etest.mspx
Advies Perseus Implementatie Alexander Wezenberg
31
6.2 Webserver Naast Internet Information Server(IIS) 6.0, die standaard geleverd wordt bij Windows 2003 server, kan ook Apache (1.3.22 - 1.3.27 & 2.0.43 en hoger) als webserver stabiel op Windows draaien. Echter biedt het niet de snelheid, stabiliteit en intergratie met bijvoorbeeld AD en XML dat IIS wel in zich heeft. Omdat integratie van Perseus met Active Directory één van de belangrijkste zaken is binnen dit systeem zal de keus ook vallen op IIS 6.0. Het is echter wel mogelijk via modules van derde Apache toch gebruikt te laten van AD en andere, door IIS wel ondersteunde, faciliteiten. Echter is dit in een professionele omgeving met en productie server zeer af te raden. IIS functioneert het beste qua performance onder Windows. 6.3 Database Net als Microsoft SQL server 2000 kan MySQL stabiel onder Windows draaien. Echter heeft Microsoft SQL server 2000 een aantal voordelen boven MySQL: Het heeft Active Directory integratie. Het is niet ANSI92 compatible (alleen op ‘entry level’ en niet ‘intermidiate level’) maar heeft een meer krachtige taal dan MySQL. Tevens worden meer functionaliteiten ondersteund zoals ‘stored procedures’. Het is eenvoudiger te installeren, te gebruiken en te onderhouden. Op basis van prijs/performance verhouding is Microsoft SQL 2000 server als beste getest. Het heeft online back-up mogelijkheden. De KSA heeft reeds een licentie voor Microsoft SQL 2000 server. Heeft tal van extra’s zoals: XML ondersteuning, web analyse en web toegang tot data via OLAP, clickstream analyse, full-text search (o.a. ook door Microsoft Office documenten). Omdat de database server als aparte server komt te draaien kan er ook voor gekozen worden om op dit systeem af te wijken van het Windows platform. Echter uitgaand van de voordelen van Microsoft SQL server en de reeds aangeschafte licentie is ook hier Windows 2003 server de beste keuze. Zowel IIS 6.0 als MS SQL server 2000 kan gebruik maken van de XML Web Service binnen Windows 2003 server. XML Web Service biedt de mogelijkheid om verschillende applicatiebronnen met elkaar te laten werken ongeacht waar deze zich bevinden of hoe deze zijn geïmplementeerd. De functionaliteit van een XML Web Service wordt gecommuniceerd doormiddel van SOAP en de interface wordt beschreven in XML doormiddel van een WSDL document. 6.4 Benodigde capaciteit database Met het oog op de toepassingsmogelijkheden van de servers zal rekening gehouden moeten worden met de hoeveelheid opslag capaciteit benodigd. Logischerwijs zal ook de huidige file server(Falcon) en applicatie server(Eagle) worden overgebracht naar de productie servers. Daarnaast zullen mogelijk een aantal andere applicaties zoals NetPro en bijvoorbeeld een (backup) Domain Controller deel worden van de serveroplossing. In bijlage III is een schatting gemaakt van de benodigde ruimte dat dit gaat vereisen op de servers. Deze geeft een indicatie van de benodigde ruimte die, in de praktijk, gelijkmatig verdeeld zal worden over allebei de servers(de Hawk en een nieuwe database server) om optimale performance en schaalbaarheid te bevorderen. In de directe toekomst zal echter alleen de Hawk zorg gaan dragen voor deze benodigde capaciteit. Uiteraard zal de benodigde capaciteit, op dit moment, nog niet de aangegeven orde van grootte zijn waardoor dit mogelijk is. Advies Perseus Implementatie Alexander Wezenberg
32
7. Beschikbare en benodigde hardware Omdat de wens is om in de toekomstige situatie twee servers te gebruiken voor Perseus, waarbij één de core draait en de ander de database, zal er een nieuwe database server moeten worden aangeschaft. Er blijft namelijk nog slechts één ‘productie’ server over genaamd de Hawk. Deze zal de Perseus / ColdFusion applicatie gaan draaien. Om de performance van het intranet zo hoog mogelijk te houden worden de applicatie en de database niet op dezelfde server gehost. De Hawk biedt genoeg kracht om de Perseus server te draaien, ook in achtnemend de groeiwensen van de KSA. Onder zware belasting zal de responstijd van een bewerking onder de gewenste twee seconden blijven. Echter mag wel duidelijk zijn dat, hoe database-intensiever de bewerking is hoe minder de responstijd van een bewerking afhangt van de performance van de Hawk. De database wordt immers in deze toekomstige situatie onder een andere server geplaatst. 7.1 De Hawk server Op dit moment wordt de Hawk niet gebruikt voor toepassingen die te maken hebben met intranet toepassingen, Active Directory en dergelijke. Deze server wordt gebruikt als Oracle database server voor de opleiding Information Engineering ten behoeve van bepaalde lessen. De huidige opzet van deze server is als volgt: Name: OS: Processor: Physical mem:
Hawk Windows 2000 server 2xPIII ~ 1133 MHz (x86 Family 6 Model 11 Stepping 1 GenuineIntel) 523.756 Kb
2x 18 Gb - Mirror set - RAID 1 Drive C: 7,13 GB van 7,13 GB SCSI (Disk #0 | Partition #0) | HPNetRD LD 0 NetRAID SCSI Disk Device Drive D: 9,81 GB van 9,81 GB SCSI (Disk #0 | Partition #1) | HPNetRD LD 0 NetRAID SCSI Disk Device 3x 36 Gb - Stripe set – RAID 5 Drive E: 33,97 GB van 67,83 GB SCSI (Disk #1 | Partition #0) | HPNetRD LD 1 NetRAID SCSI Disk Device Drive F: 29,89 GB van 67,83 GB SCSI (Disk #1 | Partition #0) | HPNetRD LD 1 NetRAID SCSI Disk Device
Deze opzet is in principe voldoende om te kunnen volstaan als Perseus server, hetzij met de Oracle database ernaast draaiend. Ideaal zou zijn om Perseus en de Oracle database met aparte logische RAID5 disks te scheiden of de Oracle database naar de nieuwe server te verplaatsen. Daarnaast kan de performance en de benutting van de server worden verhoogd door:
Installatie van Windows 2003 Server Enterprise Edition. Het uitbreiden van het fysieke geheugen naar 1024 MB of hoger op basis van de test server resultaten met ColdFusion van Macromedia (zie bijlage I). Het uitbalanceren van toepassingen over de twee servers. Hier wordt nog op terug gekomen.
Advies Perseus Implementatie Alexander Wezenberg
33
7.2 Een nieuwe (database) server (enkele voorstellen voor de naam: Owl(uil), Vulture(gier) of Buzzard(buizerd))
Deze server zal primair worden gebruikt voor de database van Perseus. Vanuit dit oogpunt gezien zou een zelfde opstelling als de Hawk meer dan voldoende zijn indien er meer schijfcapaciteit aanwezig is. De nieuwe DB server zou dan via een 1-Gigabit LAN verbinding direct gekoppeld kunnen worden via de Hawk aan de rest van het netwerk. Echter zal deze server binnen de KSA optimaal benut moeten worden en in meerdere zaken moeten voorzien. De Falcon en Eagle servers zijn, na afschrijving, niet meer geschikt als productie servers. De faciliteiten die deze twee servers verzorgde moeten daarom ook worden ondergebracht in de beschikbare productie servers. Ondanks het feit dat een hoop zaken in Utrecht worden gecentraliseerd wil de KSA niet te afhankelijk worden van deze situatie. Daarom zal, in hoeverre mogelijk, diverse applicaties, faciliteiten en services worden ondergebracht op de Hawk en de nieuwe server. De Falcon en Eagle servers zullen verder buiten beschouwing worden gehouden als ‘bruikbare’ servers. Wel kan hardware van deze servers worden gebruikt in de aanpassing van de Hawk of de nieuwe server. Verder is het ook mogelijk deze servers voor andere doeleinden te gaan gebruiken. Bijvoorbeeld als test servers voor studentenprojecten in het MT Lab. De Falcon en Eagle servers zouden dan als lab machines vele (verschillende) test servers kunnen draaien doormiddel van Virtual Machines. 7.3 Nieuwe server opstelling KSA In de nieuwe server opstelling van de KSA zal rekening gehouden moeten worden met een aantal zaken betreffende Perseus en de database implementatie en de overheveling van alle faciliteiten, toepassingen en services van de afgeschreven servers. 7.3.1 Belangrijke punten Met volgende punten dient rekening gehouden te worden bij een nieuwe server opstelling: De Macromedia ColdFusion performance brief Deze performance test geeft een indicatie van wat benodigd is om de Perseus server goed te laten draaien. Het weergeeft, op basis van diverse hardware en besturingssysteem situaties, een beeld van wat nodig is om onder de responstijd van twee seconden te blijven. Zie bijlage I voor meer informatie. Wensen van de KSA De wens van de KSA is dat er op basis van de huidige situatie en de toekomstige groei genoeg kracht in de server(s) zit zodat Perseus kwalitatief goed kan presteren. Zo is het de bedoeling dat het systeem uiteindelijk ca. 500-600 gelijktijdige sessies aan kan. Daarnaast dient er rekening gehouden te worden met de verandering in server situatie na de centralisatie in Utrecht. Verder is een tweetal servers gewenst als toekomstige oplossing voor Perseus. Dedicated 1-Gigabit LAN verbinding tussen beide servers Deze verbinding moet de performance ten goed komen. Deze oplossing vereist 1-Gigabit netwerkkaarten in elke server. De oplossing verkort de weg van Perseus naar database ten opzichte van Perseus – van switch naar switch - database. Ofwel in plaats van via de ethernetbackbone direct van server tot server. Het algemene verkeer naar het HvU netwerk verloopt nu via Advies Perseus Implementatie Alexander Wezenberg
34
de Eagle server. Met extra 1-Gigabit netwerkkaarten wordt ook de 2Gb over glas verbinding beter benut. Nu verloopt het verkeer nog via een 100Mbit netwerkkaart net zoals over de rest van het netwerk. Gebruik van SCSI t.o.v. IDE Hoewel de opslag capaciteit van een IDE(Integrated Drive Electronics) of S-ATA(Serial - Advanced Technology Attachment) schijf meestal groter is, en de snelheid hoger ligt (20% tot 30%), leveren SCSI(Small Computer System Interfase) schijven meer betrouwbaarheid. Dit is vooral terug te zien in verschil tussen de garantieperiode van gemiddeld één jaar bij IDE en gemiddeld vijf jaar bij SCSI. Omdat het gaat om een server die betrouwbaar moet zijn is de keuze voor SCSI voor de hand liggend. Er wordt in de Hawk reeds gebruik gemaakt van SCSI schijven en ook in de nieuwe server zal dit het geval zijn. Het gebruikt van 36Gb SCSI schijven geeft over het algemeen de meeste betrouwbaarheid(de hoogste performance en levensduur). RAID 1 en / of 5 De schijven zijn altijd het langzaamste onderdeel in een systeem. Daarom wordt er, vooral in servers, vaak gebruik gemaakt van RAID(Redundant Array of Independent Disks) controllers. Dit wordt gedaan om zo meerdere schijven aan elkaar te koppelen die tegen fouten bestand zijn en om hogere data doorvoersnelheden te behalen. De twee meest gebruikte oplossingen zijn RAID 1 en 5, er zijn nog meer RAID systemen maar deze zijn van minder belang als oplossing. RAID 1 is een zogenaamde mirroring configuratie waarbij twee schijven nodig zijn die identieke informatie schrijven. In andere woorden de tweede schijf is het spiegelbeeld van de eerste. Het voordeel is dat als er wat mis gaat met één schijf kan er verder gewerkt worden op de andere schijf. De gegevens zijn dus veilig maar het heeft als nadeel dat het de helft van de schijfruimte kost (twee worden één) en het een kleine vertraging oplevert bij het wegschrijven. Deze opstelling is uitermate geschikt voor een schijf waar het besturingsysteem op draait. RAID 5 is een zogenaamde striping configuratie met parity waar minimaal drie schijven voor nodig zijn. Hierbij wordt de informatie gelijkmatig verdeeld over de schijven en er wordt extra informatie bijgehouden(parity) waarmee gegevens te herconstrueren zijn wanneer een schijf faalt. Dit heeft als voordeel dat de data doorvoersnelheden sneller verloopt de gegevens veilig zijn en niet alles dubbel hoeft worden opgeslagen. Een dergelijke oplossing is uitermate geschikt voor secundaire schijven waarbij applicaties veel informatie van de schijf opvragen. Het gebruik van PCI-X Voor verbetering van de performance kan overwogen worden een moederbord met PCI-X aan te schaffen voor de nieuwe DB server. PCI-X is een hoge performance extensie op de huidige PCI(Peripeheral Component Interconnect) lokale bus. Het zorgt voor hogere bandbreedte en bus performance voor de I/O behoefte betreffende SCSI, RAID, Gigabit Ethernet en tal van andere hardware. PCI-X is een 64-bits bus dat op een snelheid van 133Mhz/266Mhz/533Mhz draait. Vergeleken met een normale PCI bus (32-bit, 33Mhz/66Mhz) is dit een aanzienlijke verbetering. Windows 2003 server (en MS SQL server 2000) 64-bit Voor verbetering van de performance kan ook de 64-bit versie van Windows 2003 server (en MS SQL server 2000) worden overwogen. Dit besturingssysteem is ontwikkeld voor hoge performance 64-bit processors ter verbetering van de algemene performance en schaalbaarheid door meer data per klok cyclus te behandelen, meer geheugen te adresseren en sneller numerieke calculaties uit te voeren. Er zijn twee verschillende 64-bit architecturen binnen de Windows Server 2003 familie. Advies Perseus Implementatie Alexander Wezenberg
35
Windows Server 2003 voor 64-bit Itanium gebaseerde systemen - De eerste is de Explicitly Parallel Instruction Computing(EPIC) en ondersteund de Intel Itanium processor familie. Deze versie is goed voor 64-bit applicaties met het hoogste niveau van schaalbaarheid. Echter is deze oplossing niet geschikt voor de KSA omdat alle applicaties binnen dit systeem 64-bit moeten zijn. Windows Server 2003 voor 64-bit uitgebreide systemen - De tweede 64-bit architectuur is gebaseerd op 64-bit extensies op de x86 instructie set en ondersteund zowel AMD64 als Xeon processors met 64-bit extensie technologie. Dit platform kan bestaande 32-bits Windows applicaties draaien en daarnaast gebruik maken van de 64-bit technologie bij 64-bit applicaties. Dit besturingssysteem is nog slechts in bèta fase en valt dus op dit moment ook af. Gezien het doel, en de performance van de servers die benodigd is, kan vastgesteld worden dat een 64-bits omgeving (met 32-bit applicatie ondersteuning) een ruime ‘over performance’ levert die niet benodigd is. Tevens is de aanschaf van een 64-bit systeem naast een 64-bit besturingssysteem een dure aangelegenheid.
Het gebruik van een dual processor Het voordeel van en dual(of meer) processor systeem in vergelijking met een enkel processor systeem is dat er een betere fout redundantie is. Immers worden de berekeningen over twee processors verdeeld. Daarbij is er een betere cache verwerking omdat grofweg het dubbele aantal berekeningen aangeboden kunnen worden aan een tweetal processors in vergelijking met een enkel processor systeem met een enkele cache geheugen. De benutting van de maximale performance van beide servers Een server wordt eigelijk pas optimaal benut als het servergebruik dicht tegen de 100% aan ligt zonder dat het ten kosten gaat van de performance van de applicaties, faciliteiten en services op de server. Het uitbalanceren van alle zaken op de servers is van groot belang. Om hiermee rekening te houden zullen de specificaties van de Falcon en Eagle servers mee moeten worden genomen in de samenstelling van de (nieuwe) server(s). Zie bijlage IV voor een overzicht van de huidige specificaties van de Hawk, Falcon en Eagle. 7.3.2 Server oplossingen Met in achtneming van het bovenstaande kan gekozen worden voor drie oplossingen: 1. De Hawk wordt enkel en alleen Perseus server, en de DB server enkel en alleen de Perseus database server. Hierbij wordt geen rekening gehouden met de overige applicaties, faciliteiten en services die gedraaid worden op de KSA. 2. De Hawk wordt enkel en alleen Perseus server en de DB server verzorgt alle huidige applicaties, faciliteiten en services(incl. de Oracle database) 3. Alle applicaties, faciliteiten en services worden gelijkmatig verdeeld over de Hawk en DB server. De Hawk zal primair Perseus server zijn en de DB server primair database server. Hierbij wordt rekening gehouden met de maximale benutting en performance van een server. Duidelijk mag zijn dat de eerste oplossing geen mogelijkheid is binnen de KSA. De huidige applicaties, faciliteiten en services moeten ergens worden onder gebracht. Omdat Perseus zelf bezit over een inleverapplicatie is de vraag of NetPro wel nut heeft binnen het KSA intranet. Omdat er binnen KSA nog wel steeds gewerkt wordt aan NetPro zal het mee worden genomen in de oplossing. Hieronder is een representatie weergeven van de mogelijke oplossingen:
Advies Perseus Implementatie Alexander Wezenberg
36
Oplossing 1: Perseus server en multifunctionele (DB) server Hawk
DB Server
Windows 2003 Server Enterprise Editie 2x PIII ~ 1133 MHz 1024 MB Fysiek Geheugen
Windows 2003 Server Enterprise Editie 2x PIII ~ 1133 MHz 2048 MB Fysiek Geheugen
Schijven: 1. OS - RAID 1 - 2x 18 Gb SCSI 2. Perseus server - RAID 5 - 3x 36 Gb SCSI
Schijven: 1. OS - RAID 1 - 2x 18 Gb SCSI 2. Active Directory DB - RAID 1 - 2x 36 Gb SCSI 3. Toepassingen opslagruimte - RAID 5 - 3x 36 Gb SCSI 4. Perseus DB - RAID 5 - 6x 54 Gb SCSI 5. File server - RAID 5 - 4x 54 Gb SCSI 6. NetPro - RAID 5 - 3x 54 Gb SCSI 7. Oracle DB - RAID 5 - 3x 36 Gb SCSI
Netwerk aansluitingen: 3x 1 Gigabit LAN (VLAN intern/extern, dedicated). Voordelen: De server is geheel beschikbaar voor Perseus en ColdFusion. Nadelen: De server wordt niet optimaal benut.
Netwerk aansluitingen: 3x 1 Gigabit LAN (VLAN intern/extern, dedicated). Gebruik van PCI-X voor 64-bit (voorbereid) SCSI Controllers. Voordelen: De server vervangt de Falcon en Eagle plus de Perseus DB en NetPro. Nadelen: Er moet gewerkt worden met VMWare (NetPro = Linux) wat een deuk in de performance kan opleveren. Tevens ligt het gros van het verkeer en applicaties op deze server wat mogelijk bottlenecks kan veroorzaken.
Oplossing 2: Gelijkmatige verdeling over de Hawk en DB server Hawk / Applicatie server
DB Server / Database server
Windows 2003 Server Enterprise Editie 2x PIII ~ 1133 MHz 2048 MB Fysiek Geheugen
Windows 2003 Server Enterprise Editie 2x PIII ~ 1133 MHz 2048 MB Fysiek Geheugen
Schijven: 1. OS - RAID 1 - 2x 18 Gb SCSI 2. Perseus server - RAID 5 - 3x 36 Gb SCSI 3. Toepassingen opslagruimte - RAID 5 - 3x 36 Gb SCSI 4. NetPro - RAID 5 - 3x 54 Gb SCSI
Schijven: 1. OS - RAID 1 - 2x 18 Gb SCSI 2. Active Directory DB - RAID 1 - 2x 36 Gb SCSI 3. Perseus DB - RAID 5 - 6x 54 Gb SCSI 4. File server - RAID 5 - 4x 54 Gb SCSI 5. Oracle DB - RAID 5 - 3x 36 Gb SCSI
Netwerk aansluitingen: 3x 1 Gigabit LAN (VLAN intern/extern, dedicated). Voordelen: De server wordt beter benut en wordt in essentie een applicatie server met als primaire applicatie Perseus / ColdFusion. Nadelen: Er moet gewerkt worden met VMWare (NetPro = Linux) wat een deuk in de performance kan opleveren.
Advies Perseus Implementatie Alexander Wezenberg
Netwerk aansluitingen: 3x 1 Gigabit LAN (VLAN intern/extern, dedicated). Voordelen: De server wordt beter benut en wordt in essentie een database server met als primaire database van Perseus. Nadelen: Deze server is het meest gevoelig voor performance verlies onder intensief gebruik.
37
Duidelijk mag zijn dat de laatste oplossing de meest zinvolle zal zijn. De applicaties en databases worden van elkaar gescheiden en de servers worden beter over het algemeen benut. Ook zou de performance van Perseus en de achterliggende database (gekoppeld door een dedicated 1 Gigabit LAN) ruim binnen de gewenste situatie vallen. De maximale twee seconden responstijd op een bewerking zal, op basis van de Macromedia testresultaten, niet overschreden worden. Zeker niet omdat er van 600 gelijktijdige sessies wordt uitgegaan terwijl dit aantal pas in de toekomst gehaald zal worden. Wel dient er rekening mee gehouden te worden dat de beschikbare schijfruimte relatief aan de groei van de KSA uitgebreid zal moeten worden. Zelfs de aangegeven benodigde ruimte in bijlage III zal voor een gebruikersaantal van 3000 niet voldoende zijn. Bovendien komt hier ook nog de uitbreiding van diverse modules en services van het systeem bovenop en overige zaken zoals de waarschijnlijke uitbreiding van de file server. We hebben hier echter wel te maken met de ‘toekomstige’ situatie en bijbehoorde oplossingen. Er zal eerst een meer eenvoudiger oplossing worden gekozen. Deze zal alleen gebruik maken van de Hawk met uitbreidingen op het fysieke geheugen en de schijven. In essentie zal deze server alle taken van de Falcon, Eagle en andere zaken zoals de Oracle database naast Perseus gaan draaien. De Hawk is als server krachtig genoeg om deze beginsituatie aan te kunnen. Oplossing 3: De Hawk als centrale server Hawk / centrale server
Partitie Hawk schijven
Windows 2003 Server Enterprise Editie 2x PIII ~ 1133 MHz 1024 MB Fysiek Geheugen
Logische disk 1 ~ 36 Gb(RAID 1): C: Het besturingsysteem + executables ~ 18 Gb D: Active directory DB ~ 18 Gb
Schijven: 1. Systeem - RAID 1 - 4x 18 Gb SCSI 2. Opslag - RAID 5 - 7x 36 Gb SCSI
Logische disk 2 ~ 168Gb(RAID 5): E: Perseus DB ~ 50Gb F: File server + toepassingen opslagruimte ~ 100 Gb G: Oracle DB ~ 18 Gb
Netwerk aansluitingen: 2x 1-Gigabit LAN (VLAN intern en extern) Voordelen: Een eenvoudige en goedkope oplossing. De extra schijven kunnen gehaald worden uit de Falcon en Eagle servers. Er hoeft alleen extra fysiek geheugen en twee 1-Gigabit LAN kaarten te worden aangeschaft. Nadelen: Door de groei van de KSA zal na verloop van tijd de performance dalen en is de aanschaf van nieuwe hardware onvermijdelijk.
Beschikbare schijven Falcon / Eagle / Hawk 2x 18 Gb SCSI (Hawk) 5x 18 Gb SCSI (Falcon) Æ wordt deels hergebruikt. 5x 18 Gb SCSI (Eagle) Æ wordt deels hergebruikt. 3x 36 Gb SCSI (Hawk) 4x 36 Gb SCSI (Falcon) Æ wordt hergebruikt. (zie bijlage IV voor meer informatie)
De server wordt later steeds meer uitgebreid richting de toekomstige situatie en de aangegeven oplossing. Hierbij kan gedacht worden aan het onderbrengen van bepaalde applicaties, services of faciliteiten onder een eigen RAID configuratie. Ook zal het fysieke geheugen na verloop van tijd uitgebreid worden. Uiteindelijk zullen deze uitbreidingen leiden tot het onderbrengen, van bepaalde zaken, onder een nieuwe server.
Advies Perseus Implementatie Alexander Wezenberg
38
7.4 Nieuwe netwerk opstelling KSA De huidige netwerksituatie zal niet veel veranderen ten opzichte van de nieuwe situatie. Echter zal de nieuwe server wel naast de huidige servers komen te draaien. Hiervoor moet wel ruimte worden gecreëerd binnen het netwerk. Hiernaast is een grafische representatie weergeven van de nieuwe netwerksituatie op de KSA. Dit is overigens wel de toekomstige situatie. De beginsituatie zal niet direct de nieuwe database server bevatten. 7.5 Doorroutering VPN / NAT Omdat Perseus deels als extranet moet gaan dienen zal er een verbinding tussen de Perseus server en het internet verzorgd moeten worden. Dit kan op twee manieren: via VPN(Virtual Private Network) of NAT(Network Adress Translation). Een VPN verbinding is een continue openstaande netwerkverbinding, tussen twee systemen of locaties over publieke netwerken, waarover alle verkeer verloopt. Het verkeer over een VPN netwerkverbinding, ook wel tunnel genoemd, wordt niet door bijvoorbeeld firewalls gefilterd. Het verkeer over de VPN verbinding kan indien gewenst gecodeerd worden om afluisteren te voorkomen. Een student, docent of medewerker zou vanaf een andere locatie dan het KSA netwerk in kunnen loggen op het netwerk(na een AD verificatie). De PC waarmee wordt ingelogd zal dan deel worden van het KSA netwerk waarbij de persoon toegang krijgt, op basis van zijn rechten, tot bijvoorbeeld Perseus. NAT is een techniek, die gebruikt wordt in computernetwerken, wat IP adressen van netwerkpakketten herschrijft wanneer deze door een router of firewall gaan. Op deze manier kan een LAN met het internet verbonden worden. Extern verkeer kan dan worden geconfigureerd om omgeleid te worden na een interne host zoals Perseus. De voorkeur gaat hierbij uit om Perseus beschikbaar te stellen, doormiddel van NAT, als extranet. Ideaal zou zijn dat een student, docent of medewerker van buiten af kan inloggen op een webpagina net zoals de ImmI website. De controle van rechten wordt nog steeds afgehandeld via AD en derde hebben dus geen (of gelimiteerd als het gaat om externe partijen die wel wat te maken hebben met de KSA) toegang tot Perseus. VPN is wat dat betreft omslachtiger omdat hiervoor een aparte verbinding moet worden aangemaakt in plaats van via een browser verbinding te maken en in te kunnen loggen.
Advies Perseus Implementatie Alexander Wezenberg
39
8. Virtual Machines Dit hoofdstuk zal een beschrijving geven van Virtual Machines en wat mogelijke toepassingen binnen de KSA hiermee kunnen zijn. Er wordt dieper in gegaan op de huidige commercieel verkrijgbare producten op dit gebied. 8.1 Wat zijn Virtual Machines Virtual Machines(VM) zijn software virtualisatie oplossingen die het mogelijk maken om meerdere x86 gebaseerde besturingssystemen gelijktijdig op een werkstation of server te draaien. Dit is mogelijk doormiddel van een abstracte laag tussen het besturingssysteem en de onderliggende hardware. Het heeft het als consequentie dat het gebruik van de hardware gemaximaliseerd wordt ofwel geoptimaliseerd. In situaties waar VM technologie geïmplementeerd is het vaak mogelijk met minder systemen evenveel aan te kunnen. Het is in sommige grote organisaties mogelijk het aantal server systemen met een factor acht of meer terug te brengen. Zo zouden een groot aantal systemen door een kleiner aantal krachtiger systemen vervangen kunnen worden. Dit is natuurlijk een situatie waarin geld bespaard kan worden op hardware, faciliteiten, opslagruimte voor de server(s), koeling vereisten/benodigdheden, elektriciteitsgebruik enzovoorts. Dit zijn echter de meest voor de hand liggende reden waarom servers op deze wijzen worden opgezet. In de praktijk zijn er andere voordelen die nog belangrijker zijn in situaties waar er van VM gebruik wordt gemaakt, zoals:
Het sneller herstellen van services door gebruik te maken van meerdere virtuele servers. De conventionele aanpak om snel een server weer op been te krijgen is het gebruik van een tweede server als back-up die de service overneemt wanneer de eerste server faalt. Echter is het met VM technologie mogelijk een exacte virtuele kopie te maken van een productie server die de service kan overnemen wanneer de productie server faalt of voor onderhoud offline moet worden gehaald.
Het onderhoud door systeembeheerders kan vaak sneller uitgevoerd worden op virtuele servers dan op fysieke servers. In plaats van een gehele server opnieuw in te delen en te voorzien, het één voor één installeren van de elke benodigde applicatie, kan er één of meerdere geconfigureerde servers in virtuele staat apart worden gehouden. Een nieuwe virtuele server kan dan binnen enkele minuten worden voorzien van alle benodigdheden in plaats van uren op een fysieke server op de traditionele wijze.
VM maakt het mogelijk om de resource load op een simpele manier uit te balanceren. Er kan op elk moment geconfigureerd worden om meer of minder resources toe te wijzen aan een virtuele server. Bovendien draait elke virtuele machine geïsoleerd zodat software op één machine niet kan interfereren met software op een ander machine.
VM technologie vermindert de hardware afhankelijkheid door abstract besturingssysteem configuratie. In de conventionele situaties moeten zowel het besturingssysteem als applicaties geïnstalleerd zijn op een fysieke machine voordat deze kunnen draaien. Dit resulteert in een omgeving waarin applicaties hardwaregebonden zijn aan
Advies Perseus Implementatie Alexander Wezenberg
40
specifieke hardware resources van de fysieke machine. Dit in tot tegenstellingen tot VM technologie wat het mogelijk maakt het OS en de applicaties los te koppelen van de hardware. Dit gebeurd door de software laag direct op de hardware laag te installeren. Deze virtualisatie of ‘host laag’ emuleert generieke Intel gebaseerde hardware en I/O apparaten los van de werkelijke hardware zodat de meeste x86-gebaseerde besturingssystemen en applicaties zonder aanpassingen kunnen draaien. 8.1.1 Het verschil tussen een emulator en Virtual Machines Een CPU en moederbord chipset leveren een set van instructies en andere fundamentele elementen voor het verwerken van data, geheugen allocatie en I/O handelingen. Daar bovenop bevinden zich de hardware apparaten en resources zoals geheugen, video, audio, disk drives, Cdrom’s en poorten (USB, Parallel, Serieel). In een fysieke (echte) machine zorgt de BIOS voor een laagniveau interface dat een besturingssysteem kan gebruiken om diverse moederbord en I/O resources te benaderen. Op een echte machine is het meestal het geval dat het besturingssysteem met een hardware apparaat communiceert via een laagniveau apparaat driver die direct het fysieke hardware geheugen of I/O poorten aanstuurt. Het tegenovergestelde van een ‘echte’ machine is een emulator. Een emulator reproduceert softwarematig alles van CPU instructies tot I/O apparaten. Dit heeft tot gevolg dat een emulator een zware last is op de performance van een systeem omdat elke instructie, functie aanroep en versturing van data moet worden vertaald. Daarbij is een emulator redelijk complex omdat het de meeste of alle CPU instructies moet emuleren. De functionaliteit en het abstractie niveau van een VM ligt tussen een echte machine en een emulator. Een Virtual Machine is een omgeving gecreëerd door een Virtual Machine Monitor(VMM). De VMM kan één of meerder VM’s op een enkele machine draaien. Een emulator creëert een volledige laag tussen het besturingssysteem of applicaties en de hardware. De VMM verzorgt het management tussen één of meerdere VM’s en elke VM heeft de faciliteiten voor applicaties of ‘host besturingsysteem’ om te doen geloven in een normale omgeving te zitten met toegang tot de fysieke hardware. Wanneer applicaties of host besturingssystemen een laagniveau instructie uitvoeren wat de hardware status controleert of aanpast zal het lijken of de hardware direct wordt aangesproken. Echter wordt alles gevirtualiseerd door de VM en naar de VMM doorgestuurd. De VMM heeft op zijn beurt directe communicatie met de hardware. 8.1.2 Het verschil tussen een standalone en hosted VMMs VMM’s zijn geclassificeerd als twee basis typen: De standalone VMM en de hosted VMM. De standalone Virtual Machine Monitor is eigelijk een besturingssysteem dat Virtuele Machines kan creëren. Dit systeem is normaal gelimiteerd in de hardware support en zal, net zoals andere besturingssystemen, apparaten drivers nodig hebben voor elke hardware apparaat. In tegenstelling tot de standalone VMM draait de hosted Virtual Machine monitor juist als een applicatie op een bestaand host besturingssysteem. De hosted VMM kan gebruik maken van het host besturingssysteem geheugenmanagement, processor indeling/planning, hardware drivers en resource management.
Advies Perseus Implementatie Alexander Wezenberg
41
8.2 Virtual Machine oplossingen De twee meest gebruikte software voor VM zijn die van VMWare en Microsoft. VMWare heeft daarbij drie verschillende producten genaamd: ESX, GSX en Workstation. Microsoft daarin tegen heeft twee varianten namelijk de Virtual PC en Virtual Server. Deze laatste bevindt zich nog in de bèta fase en is bedoeld voor Windows server 2003. Daarnaast bestaan nog enkele kleinere fabrikanten van VM software die verder buiten beschouwing worden gehouden. De VMWare ESX Server is een datacenter klasse VM voor het verdelen en consolideren van systemen in veel eisende omgevingen. Deze VM server is een standalone server die direct op de hardware is geïnstalleerd. Enkele voordelen van de VMWare ESX Server zijn: Applicaties draaiend op dedicated servers kunnen verplaatst worden in aparte Virtual Machines op een enkele, stabieler en verder uitbreidbaar systeem. Servers kunnen op afstand worden aangepast en onderhouden. Het niveau van service kan gegarandeerd worden door geavanceerde resource management controle. Standaard monitor en management taken zijn te scripten. Capaciteit kan worden verhoogd zonder het toevoegen van nieuwe fysieke systemen. VMWare ESX server wordt voornamelijk gebruikt om applicaties en infrastructuur services op meer uitbreidbare, betrouwbare enterprise klasse servers over te brengen. Daarnaast kunnen VM images worden samengevat die eenvoudig van omgeving naar omgeving verplaatst kunnen worden. Kritieke data kan beveiligd worden en secure VMs en meerdere servers kunnen geïsoleerd tegelijk draaien op bijna ‘native’ performance niveau’s van Intel-gebaseerde hardware. Tevens is het mogelijk ‘resource intensieve’ SMP(Symmetric multiprocessing) applicaties zoals Oracle, SQL Server en Microsoft Exchange server te draaien en de hardware optimaal te benutten. Verder is er een add-on beschikbaar onder de naam VMWare Virtual SMP die het mogelijk maakt meerdere processors aan een enkele virtuele machine toe te wijzen in het geval van resource intensive applicaties. De VMWare GSX Server is een enterprise klasse virtuele infrastructuur voor afdeling server consolidatie en het stroomlijnen van ontwikkeling en test operaties. Deze VM server is een hosted server die op een besturingssysteem draait als applicatie. Enkele voordelen de VMWare GSX server zijn: Het onderhouden van grote aantallen test machine omgevingen en meerdere besturingssystemen in server gebaseerde virtuele machines in plaats van dedicated hosts. De consolidatie van applicaties en infrastructuur services op minder maar meer uitbreidbare, meer betrouwbare enterprise klasse servers. Het pré-configureren van VM servers die, eenmaal gebouwd, overal kunnen worden geïmplementeerd. De VMWare GSX Server wordt voornamelijk gebruikt om gestroomlijnde ontwikkeling en test omgevingen te creëren. Ook het consolideren en implementeren van afdelingsservers behoord tot de hoofdtoepassingen. Zowel de VMWare Workstation als de Microsoft Virtual PC zijn VM systemen die bedoeld zijn voor meer gestroomlijnde software ontwikkeling en tests, het versnellen van applicatie plaatsing en het verzekeren van applicatie compatibiliteit en het uitvoeren van besturingssysteem migraties voor een enkele PC. Binnen de situatie van Perseus zijn deze van minder belang. De Microsoft Virtual Advies Perseus Implementatie Alexander Wezenberg
42
Server 2005 daarin tegen heeft wel potentieel vooral in combinatie met Windows 2003 server. Echter is hier nog te weinig informatie over beschikbaar wegens de bèta fase waarin het zich bevind en zal ook buiten beschouwing worden gehouden. 8.3 De verschillen tussen VMWare ESX en GSX Het meest voor de hand liggende verschil is dat de GSX server (enterprise klasse) voor een minder veel eisende omgeving is bedoeld dan de EXS server (datacenter klasse). De EXS server is een standalone server die direct op de hardware is geïnstalleerd in tegenstelling tot de GSX die op een host besturingssysteem draait. Hieronder een kort overzicht: Product
VMWare GSX Server
VMWare ESX Server
Definitie
Veilig, stabiel Virtual Machine platform dat eenvoudig te integreren is in elke omgeving om server infrastructuur te simplificeren.
Kost effectieve, hoog schaalbare Virtual Machine platform met geavanceerde resource management capaciteit
Doel
Voor het consolideren en partitioneren van servers.
Voor het consolideren en partitioneren van servers in hoge performance omgevingen.
Doeloplossingen
Implementatie van afdeling server consolidatie Het stroomlijnen van ontwikkeling en testen Bezorgen van hoge beschikbaarheid en ‘disaster recovery’
Implementatie van server consolidatie Het draaien van SMP apps Gegarandeerde service niveau Het stroomlijnen van ontwikkeling en testen Bezorgen van kost effectieve hoge beschikbaarheid
Typisch Systeem
2-8 CPUs
2-16 CPUs
Virtual SMP
Nee
Ja
Host besturingsysteem platform
Installeert boven op Linux and Windows NT/2000/2003 Server
Installeert direct op de hardware
Typische workload
Intranet, Exchange, domain controller, applicatie servers
3-Tier Web applicaties, bestand/print servers, domain controllers, in-house applicaties, application servers, email servers
Server Hardware Ondersteuning
Compatibiliteit overerving van host OS
Heeft drivers nodig van VMWare
Systeem RAM
tot 64GB
tot 64GB
Typisch aantal gelijktijdige Virtual Machines
4 per CPU
8 per CPU
VirtualCenter Management
Ja
Ja
VMotion Capaciteit
Nee
Ja
Web gebaseerde management
Ja
Ja
Remote display
Ja
Ja
API script mogelijkheden
Ja, COM en Perl
Ja, COM en Perl
Resource Controle
Statisch geheugen
Dynamisch geheugen, CPU, disk, netwerk
Benodigde ervaring
Basis PC ervaring
System Administrator
Advies Perseus Implementatie Alexander Wezenberg
43
8.4 Mogelijke toepassing binnen KSA Het gebruik van VM software is binnen de KSA een mogelijkheid mits er genoeg applicaties draaien en er een stevige server beschikbaar is. Hierbij kan gedacht worden aan: Het onderbrengen van twee identieke Perseus / ColdFusion servers. Daarbij zal er één draaien als hoofd server en één als back-up server. Tijdens onderhoud of het falen van de hoofdserver kan dan op een ander server worden overgesprongen zodat Perseus ten alle tijden beschikbaar is. Tevens gaat het softwarematig (de VM) opnieuw opstarten / installeren van een server veel sneller dan op een fysieke machine. Omdat de FCJ versie van Perseus gebouwd is met ColdFusion(Windows georiënteerd) en de MySQL database(Linux georiënteerd) kan het een idee zijn om deze in twee met het juiste besturingssysteem in aparte VMs te draaien om stabiliteit en snelheid te bevorderen. Dit kan ook belangrijk zijn in andere situaties zoals voor een applicatie als NetPro die een Linux omgeving vereist. Door de verhuizing van alle services naar een centrale server in Utrecht is er behoefte een eigen Active Directory Domain Controller indien de verbinding naar Utrecht geblokkeerd of verbroken is. In geval dat deze service uitvalt kan dit tot grote problemen leiden. Om optimaal gebruik te maken van de beschikbare servers op de KSA zou er een back-up Domain controller met VM software kunnen draaien op een server. Deze kan dan gestart worden tijdens een dergelijke situatie en voor de rest van de tijd inactief worden gezet ter bevordering van de algemene performance. De meest ideale VMWare oplossing is de GSX server. Deze volstaat in de mogelijkheden om het bovenstaande op te vangen en is tevens eenvoudiger te onderhouden dan de ESX server. Tevens bestaat nog de mogelijkheid tot uitbreiding. Vanuit het oogpunt gezien van een Perseus server en een aparte database server is het gebruik misschien niet direct te rechtvaardigen. Het gebruik van GSX server levert toch een performance hit op de gehele server en het systeem zou dus sneller lopen zonder. Weliswaar kan er wel wat gezegd worden over de beschikbaarheid van de server. Immers, indien de server faalt, zal het langer duren voordat deze weer zal draaien op een fysieke machine. Tevens zou er een tweede server in VM kunnen draaien die de eerste opvangt. De keus is afhankelijk van de performance en capaciteit van de Hawk en nieuwe database server. Natuurlijk is het belangrijk de fijne lijn te vinden tussen maximale benutting van een server en de optimale performance van de applicaties, services en faciliteiten die erop draaien. Maar het doel van Virtual Machines, om het aantal servers terug te dringen en beter te benutten, is voor wat de betreft de KSA niet echt van toepassing. De Hawk en nieuwe database server zijn goed in staat de Perseus server en database te draaien naast alle zaken die overhevelt worden van de Falcon en Eagle servers. Het gebruik van Virtual Machines, om alles onder te brengen in een enkele server, zou een veel krachtiger machine vereisen om het nut van VM terug te zien. Het gebruik van VM om een duplicaat server als back-up of om meerdere besturingssystemen te draaien op een enkel systeem kan interessant zijn. Net zoals dat meerdere VM’s niet met elkaar interfereren, bij uitval van een enkele VM, en dat een VM eenvoudiger te herstellen en onderhouden is dan een fysieke machine. Echter zal de stabiliteit op de Windows 2003 server(s) al vrij hoog zijn. Ook kan gebruik van een ander besturingsysteem uitbesteedt worden aan een daarvoor speciaal ingerichte server. Het gebruikt van bijvoorbeeld VMWare GSX server is op dit moment nog niet te rechtvaardigen als een oplossing binnen de KSA voor productie servers. Echter zou het gebruik op de Falcon en Eagle, als mogelijk test servers, van VM voor diverse doeleinden wel een interessante optie kunnen zijn. Advies Perseus Implementatie Alexander Wezenberg
44
9. Literatuuroverzicht “The Road to Perseus”, Kennissatelliet Amersfoort, Ronald Broekhuizen en Stephan Verhey “Advies Netwerkinrichting”, Kennissatelliet Amersfoort, Jeroen Meijer “Windows 2000 Migratieplan”, Kennissatelliet Amersfoort, Jeroen Meijer “Plan van aanpak - In & Extern Informatiesysteem MT/IE”, Projectbureau ImmI, Wim van der Plas ColdFusion MX 6.1 Server informatie, Macromedia Product edities: Documentatie: Subscriptions: Licenties: Server EULA: MVLP licentie: Performance: J2EE informatie:
Benodigdheden: Datasheets/Whitepapers:
http://www.macromedia.com/software/coldfusion/productinfo/product_editions/ http://www.macromedia.com/software/coldfusion/whitepapers/ pdf/6_1/cfmx61_feature_comparison_matrix.pdf http://www.macromedia.com/support/documentation/en/coldfusion/ http://www.macromedia.com/support/service/subscriptions.html http://www.macromedia.com/support/service/licensing.html http://www.macromedia.com/software/eula/server/ http://www.macromedia.com/nl/buy/volume_license/ http://www.macromedia.com/support/coldfusion/ts/documents/tn17278.htm http://www.macromedia.com/devnet/mx/coldfusion/articles/performance_61.html http://www.macromedia.com/support/coldfusion/ts/documents/cfmx_perf_tips.htm http://www.macromedia.com/software/coldfusion/j2ee/index.html http://www.macromedia.com/devnet/mx/coldfusion/articles/java.html http://www.macromedia.com/software/coldfusion/whitepapers/pdf/6_1/ cfmx61_j2ee_arch_wp.pdf http://www.macromedia.com/software/coldfusion/productinfo/systemreqs/ http://www.macromedia.com/software/coldfusion/whitepapers/
Active Directory, Microsoft Corporation Introductie AD: AD in Win 2003 server: LDAP support: ADAM: ADSI: DSML: Knowlegde base: MSDN library:
http://www.microsoft.com/windows2000/server/evaluation/features/dirlist.asp http://www.microsoft.com/windowsserver2003/technologies/directory/default.mspx http://www.microsoft.com/windowsserver2003/techinfo/overview/ldapcomp.mspx http://www.microsoft.com/windowsserver2003/techinfo/overview/adam.mspx http://www.microsoft.com/windows2000/techinfo/howitworks/activedirectory/adsilinks.asp http://www.microsoft.com/windows2000/server/evaluation/news/bulletins/dsml.asp http://search.microsoft.com/ http://msdn.microsoft.com/
Overig Directory Services informatie AD informatie: Linux als LDAP client: AD en Linux: AD via Samba op Linux: OpenLDAP:
http://www.its.caltech.edu/win/ad.html http://docs.linux.com/article.pl?sid=04/03/23/1747214&mode=thread&tid=29&tid=94 http://www.securityfocus.com/infocus/1563 http://samba.mirror.ac.uk/samba/samba.html http://asia.cnet.com/itmanager/netadmin/0,39006400,39081966,00.htm http://www.openldap.org/
Active Directory en LDAP services in ColdFusion, Macromedia LDAP functies: AD sollutions:
http://livedocs.macromedia.com/coldfusion/6.1/htmldocs/ldap.htm http://www.macromedia.com/devnet/server_archive/articles/ integrating_cf_apps_w_ms_active_directory.html
Advies Perseus Implementatie Alexander Wezenberg
45
Besturingsystemen, webservers en databases informatie Win 2000 server: Win 2003 server: Red Hat Linux: SuSE Linux: IIS: Apache: IIS vs. Apache: MS SQL server 2000: MySQL: MS SQL vs. MySQL: XML Web Services:
http://www.microsoft.com/windows2000/default.asp http://www.microsoft.com/windowsserver2003/default.mspx http://www.microsoft.com/windowsserver2003/evaluation/overview/family.mspx http://www.microsoft.com/windowsserver2003/evaluation/performance/etest.mspx http://www.redhat.com/ http://www.suse.com/us http://www.microsoft.com/WindowsServer2003/iis/default.mspx http://www.apache.org/ http://www.serverwatch.com/tutorials/article.php/3074841 http://www.microsoft.com/sql/ http://www.mysql.com/ http://www.databasejournal.com/features/mssql/article.php/3087841 http://msdn.microsoft.com/webservices/understanding/webservicebasics/default.aspx
Hardware gerelateerde informatie Win 2003 server 64-bit: MS SQL server 64-bit: RAID informatie: SCSI informatie PCI-X informatie:
http://www.microsoft.com/windowsserver2003/64bit/default.mspx http://www.microsoft.com/sql/64bit/default.asp http://bluefive.pair.com/articles_raid.htm http://www.acnc.com/04_00.html http://www.scsita.org/ http://peripherals.about.com/cs/scsiinfo/ king4all.com/doc/nl/hosting/info+pro+line http://www.pcisig.com/specifications/pcix_20 http://www.inec.be/inec_be/nl/pcix.jsp
VPN / NAT informatie: NAT informatie: VPN informatie:
http://en.wikipedia.org/wiki/NAT http://computer.howstuffworks.com/nat.htm http://www.vpnshop.nl/ http://www.howstuffworks.com/vpn.htm
Virtual Machines informatie, VMWare / Microsoft: Virtual Machines informatie: http://www.extremetech.com/article2/0,1558,1156609,00.asp http://www.platespin.com/psweb/downloads/downloadfile.aspx?fid=20 VMWare Servers: http://www.vmware.com/ http://www.vmware.com/products/vplatform/ http://www.vmware.com/products/server/server_comp.html Virtual PC / Server: http://www.microsoft.com/windowsxp/virtualpc http://www.microsoft.com/windowsserver2003/evaluation/trial/virtualserver.mspx
Meer bronnen en links zijn te vinden op de bijbehorende cd-rom: Afstudeerverslag Alexander Wezenberg. Advies Perseus Implementatie Alexander Wezenberg
46
Bijlage I. Macromedia ColdFusion Performance Brief
- zie ommezijde -
Advies Perseus Implementatie Alexander Wezenberg
Bijlage I. Macromedia ColdFusion Performance Brief
ColdFusion MX 6.1 Performance Brief
August, 2003
Copyright © 2003 Macromedia, Inc. All rights reserved. The information contained in this document represents the current view of Macromedia on the issue discussed as of the date of publication. Because Macromedia must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Macromedia, and Macromedia cannot guarantee the accuracy of any information presented after the date of publication. This white paper is for information purposes only. MACROMEDIA MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS DOCUMENT. Macromedia may have patents, patent applications, trademark, copyright or other intellectual property rights covering the subject matter of this document. Except as expressly provided in any written license agreement from Macromedia, the furnishing of this document does not give you any license to these patents, trademarks, copyrights or other intellectual property. Macromedia ColdFusion MX are either trademarks or registered trademarks of Macromedia, Inc. in the United States and/or other countries. The names of actual companies and products mentioned herein may be the trademarks of their respective owners. Macromedia, Inc. 600 Townsend Street San Francisco, CA 94103 415–252–2000
ColdFusion MX 6.1 Performance Brief Executive Summary
Contents Executive Summary........................................................................................................ 2 Statistics Summary .....................................................................................................2 Defining Application Performance ................................................................................. 3 Performance Enhancements in ColdFusion MX 6.1 .....................................................3 Test Configuration and Application..............................................................................4 Test Results .................................................................................................................... 6 Windows 2000.............................................................................................................6 Windows 2003.............................................................................................................7 Red Hat Advanced Server 2.1.......................................................................................8 Solaris 9 ......................................................................................................................9 CFMAIL Performance Gains .......................................................................................10 Summary ........................................................................................................................11 Appendix........................................................................................................................12 Test Data – Windows 2000 ........................................................................................12 Test Data – Windows 2003 ........................................................................................12 Test Data – Red Hat Advanced Server 2.1 ..................................................................12 Test Data – Solaris 9..................................................................................................13 Email Performance Test Notes ...................................................................................13
August, 2003
Page 1
ColdFusion MX 6.1 Performance Brief Defining Application Performance
Executive Summary Due to enhancements to the runtime engine, ColdFusion MX 6.1 is capable of processing significantly more page requests than any previous release of ColdFusion, as measured by reductions in response time. As a result of these enhancements, customers can now significantly increase their server capacity and provide improved response times to the end users.
Statistics Summary • Windows 2000: Approximately 23 times faster than ColdFusion 4.5, 3 times faster than ColdFusion 5, and 2.5 times faster than ColdFusion MX • Windows 2003: Approximately 3 times faster than ColdFusion 5 • Linux: Approximately 5 times faster than ColdFusion 5 • Solaris: Approximately 4 times faster than ColdFusion 5
Page 2
August, 2003
ColdFusion MX 6.1 Performance Brief Defining Application Performance
Defining Application Performance A high performing application is able to deliver content to users quickly. In this brief, application performance is analyzed by measuring page response time: the elapsed time between the submission of a request (the clicking of a submit button, the manual entry of a URL, or the clicking of a link by a user) and the successful completion of that request. A lower response time per request (completing the request more quickly) allows the application to deliver more content overall to more users in a given period of time (throughput). There are three basic factors that influence response time performance: • Web application server architecture and configuration • Network infrastructure • Web page design All three factors are of considerable importance, and no Web application will function efficiently if any factor is neglected. However, since network bandwidth and Web page design are not functions of the web application server, this brief focuses solely on the changes in page response time that result from enhancements to ColdFusion. This brief illustrates application runtime performance gains in ColdFusion MX 6.1 by comparing the average page response times in a test application across multiple past versions of the product with ColdFusion MX 6.1. The application used in these tests makes very intensive use of the CFML language, as would be the case in many large-scale content-management type applications. Applications that are more dependent on database transactions or I/O operations may experience less significant performance gains than the application tested for this paper, as those factors are less dependent on the application server.
Performance Enhancements in ColdFusion MX 6.1 Extensive engineering effort went into internal performance enhancements for the version 6.1 release of ColdFusion MX. The entire ColdFusion MX codebase was analyzed by running real-world applications on special ColdFusion MX 6.1 installs built with instrumentation. In all, nearly one hundred customer applications consisting of approximately 2.4 million lines of CFML code were used for analyzing CFML usage patterns and to look for bottlenecks in realworld customer settings. Where issues were revealed, the server runtime code was then tuned to eliminate them wherever possible. As each bottleneck was uncovered and removed, each change was measured individually to gauge its overall performance impact on the server. Most of the changes were small, resulting in incremental improvements, sometimes as small as 1-2%, but their cumulative effect was dramatic.
August, 2003
Page 3
ColdFusion MX 6.1 Performance Brief Defining Application Performance
In addition to internal tuning, ColdFusion MX 6.1 also includes upgrades to various integrated third-party components that directly impact runtime performance. ColdFusion MX 6.1 was optimized for and ships with the new Sun 1.4.2 Java virtual machine, or JVM (also known as the Java 2 Platform, Standard Edition version 1.4.2). With the 1.4.2 release of the Sun JVM, many performance and stability enhancements from Sun are now available to ColdFusion customers. Performance was a major goal for Sun Microsystems with the release of 1.4.2, and by working directly with Sun and the 1.4.2 JVM early in its release cycle, optimal integration of ColdFusion MX 6.1 and the 1.4.2 JVM was achieved. ColdFusion MX 6.1 also provides support for the latest versions of several vendor operating systems, including Microsoft Windows Server 2003, SuSE Enterprise Server 8.2, Red Hat Enterprise Server AS 2.1, Sun Solaris 9, IBM AIX 5L for Power v 5.2, and HP-UX 11i. This allows ColdFusion customers to take advantage of performance improvements in the latest operating system versions. For example, Windows Server 2003 was measured as three times faster than Windows NT 4 on the same hardware for serving dynamic web content. Finally, ColdFusion MX now includes version 3.2 of the DataDirect Connect for JDBC drivers, which provide additional performance optimizations for database connectivity. While these results illustrate performance improvements in deployed applications, significant improvement has also been made in the product’s compiler performance. The ColdFusion compiler’s job is to convert CFML source code into Java bytecode. In ColdFusion MX 6.1, dramatic increases in compilation speed were realized by reengineering the compiler to compile CFML directly into Java bytecode without producing any Java source code. The result is a 10-fold increase in compiler performance, and a much better development experience, making it easier for developers to build and debug applications without having to wait for pages to recompile.
Test Configuration and Application ColdFusion MX 6.1 may be deployed in a number of different configurations depending on needs and server environment. The two main types of deployment in the Enterprise edition of the product are standalone, or server configuration, and J2EE configuration. In the server configuration, the underlying J2EE application server (Macromedia JRun) is not exposed to the user or application administrator. In the J2EE configuration, ColdFusion is deployed on an existing installation of a standard J2EE application server such as Macromedia JRun (a full license for which is included with ColdFusion MX Enterprise 6.1), IBM WebSphere, SunONE, or BEA WebLogic. Since this latter deployment option was not available in prior versions of ColdFusion, the standalone configuration was used in this testing. That allowed ColdFusion MX 6.1 to more closely resemble the deployment of ColdFusion 4.5, 5, and MX.
Page 4
August, 2003
ColdFusion MX 6.1 Performance Brief Test Results
Testing for this brief was performed in Macromedia’s Enterprise Testing facility in Newton Massachusetts. The application used in the test is the iBuild sample application, which originally shipped as a sample of the Macromedia Spectra application framework. The application represents a typical content-centric Web application found on the Internet or intranets, and makes extensive use of CFML tags and custom tags. While actual performance gains experienced with other applications will vary depending on scope and complexity, it is important to note that the iBuild application was not performance-tuned specifically for this paper, and as a result, real-life customer applications may or may not realize similar results with similar applications and server configurations. For the purposes of testing, simultaneous HTTP requests were generated to simulate 30 no-think-time virtual users. This simulated activity at thresholds of between approximately two to six million requests per day. Each stress test was performed multiple times to confirm accuracy. Averaged performance numbers were used for this document. In real-world Web applications, most of the session time is spent waiting for the user to do something. This is particularly true for content-centric sites, where a large portion of time is spent reading web pages. A large Web site or application may have hundreds of open user sessions, while only a few dozen are actively making requests to the application server. Recreating realistic user pauses and mistakes is very difficult, so for the purposes of this test, user pauses were removed altogether. Thus, 30 simultaneous virtual user sessions does not represent 30 simultaneous users. While the exact ratio of open sessions to active sessions is difficult to generalize because of the disparity in Web applications, a test using 30 virtual users would roughly translate to 600 open user sessions.
August, 2003
Page 5
ColdFusion MX 6.1 Performance Brief Test Results
Test Results Windows 2000 Performance evaluation was conducted between ColdFusion 4.5, ColdFusion 5, ColdFusion MX, and ColdFusion MX 6.1 on Windows 2000 with the following specifications: •
Windows 2000 SP3
•
Microsoft Internet Information Server (IIS) 5.0
•
Hewlett-Packard Proliant DL380 G3 Server
•
2 x 2.8 GHz Xeon MP processors (hyper-threading enabled)
•
2560 MB RAM
The back-end database for each test suite was a separate Compaq 6500 with four 500MHz Pentium III Processors running Microsoft SQL Server 2000. All tests were performed using 30 no-think-time virtual users (VUs) simulated with Segue SilkPerformer 5.1.
Page 6
August, 2003
ColdFusion MX 6.1 Performance Brief Test Results
Windows 2000 Response Time Gains 3
13.6171
Avg. Resp. Time (sec.)
2.5 2 1.6022
1.5311
1.5 1 0.5875 0.5 0 ColdFusion 4.5
ColdFusion 5
ColdFusion MX ColdFusion MX 6.1
Product Version Figure 1: Response time reductions in ColdFusion MX 6.1 compared to previous releases on Windows 2000
As illustrated in figure 1, the optimizations in ColdFusion MX 6.1 resulted in a significant reduction in response time compared with all previous releases of ColdFusion. Pages were delivered approximately 2.7 times faster in ColdFusion MX 6.1 than in ColdFusion 5 (1.6022/0.5875=2.7271) and more than 23 times faster than in ColdFusion 4.5 (13.6171/0.5875 = 23.17).
Windows 2003 Performance evaluation was conducted between ColdFusion 5 and ColdFusion MX 6.1 on Windows 2003 with the following specifications:
August, 2003
•
Windows Server 2003 Web Edition
•
Microsoft Internet Information Server (IIS) 6.0
•
Compaq Proliant 1850 Server
•
2 x 500MHz PIII Xeon processors
•
1024 MB RAM
Page 7
ColdFusion MX 6.1 Performance Brief Test Results
The back-end database for each test suite was a separate Compaq 6500 with four 500MHz Pentium III Processors running Microsoft SQL Server 2000. All tests were performed using 30 no-think-time virtual users (VUs) simulated with Segue SilkPerformer 5.1.
Windows 2003 Response Time Gains Avg. Resp. Time (sec.)
7 6 5 4 3 2 1 0 ColdFusion 5
ColdFusion MX 6.1 Product Version
Figure 2: Response time reductions in ColdFusion MX 6.1 compared to previous releases on Windows 2003
Figure 2 illustrates how the average page response time with ColdFusion MX 6.1 on Windows Server 2003 was approximately one third of the average page response time of ColdFusion 5. Pages were delivered approximately 3 times faster in ColdFusion MX 6.1 than in ColdFusion 5 (6.0227/2.0681=2.912).
Red Hat Advanced Server 2.1 Performance evaluation was conducted between ColdFusion 5, ColdFusion MX and ColdFusion MX 6.1 on Linux with the following specifications: •
RedHat Enterprise Linux AS 2.1
•
Apache 1.3.27
•
Compaq Proliant DL360 Server
•
2 x 733 MHz PIII Xeon processors
•
2048 MB RAM
The back-end database for each test suite was a separate Compaq 6500 with four 500MHz Pentium III Processors running Microsoft SQL Server 2000. All tests were performed using 30 no-think-time virtual users (VUs) simulated with Segue SilkPerformer 5.1.
Page 8
August, 2003
ColdFusion MX 6.1 Performance Brief Test Results
Avg. Resp. Time (sec.)
Linux Response Time Gains 16 14 12 10 8 6 4 2 0 ColdFusion 5
ColdFusion MX
ColdFusion MX 6.1
Product Version Figure 3: Response time reductions in ColdFusion MX 6.1 compared to previous releases on
Linux
As illustrated in figure 3, the optimizations in ColdFusion MX 6.1 resulted in a significant reduction in response time compared with all previous releases of ColdFusion on Linux. Pages were delivered approximately 5 times faster in ColdFusion MX 6.1 than in ColdFusion 5 (13.525/2.7271=4.959) and more than 2.7 times faster than in ColdFusion MX (7.3461/2.7271 = 2.693).
Solaris 9 Performance evaluation was conducted between ColdFusion 5, ColdFusion MX and ColdFusion MX 6.1 on Solaris with the following specifications: •
Solaris 9
•
iPlanet 6.0 SP5 Web Server
•
Sun E220 Server
•
2 x 450MHz SparcV9 processors
•
512 MB RAM
The back-end database for each test suite was a separate Compaq 6500 with four 500MHz Pentium III Processors running Microsoft SQL Server 2000. All tests were performed using 30 no-think-time virtual users (VUs) simulated with Segue SilkPerformer 5.1.
August, 2003
Page 9
ColdFusion MX 6.1 Performance Brief Test Results
Avg. Resp. Time (sec.)
Solaris Response Time Gains 8 7 6 5 4 3 2 1 0 ColdFusion 5
ColdFusion MX
ColdFusion MX 6.1
Product Version Figure 4: Response time reductions in ColdFusion MX 6.1 compared to previous releases on
Solaris
As illustrated in figure 4, the optimizations in ColdFusion MX 6.1 resulted in a significant reduction in response time compared with all previous releases of ColdFusion on Solaris. Pages were delivered approximately 4 times faster in ColdFusion MX 6.1 than in ColdFusion 5 (6.9996/1.7838 =3.92) and more than 2.5 times faster than in ColdFusion MX (4.3391/1.7838 = 2.43).
CFMAIL Performance Gains While the ability to send dynamically generated email from ColdFusion has been a core feature of the product since its inception, ColdFusion MX 6.1 dramatically improves the performance and stability of this feature. Email delivery capability has been increased by as much as 50 times more than ColdFusion 5 and the server can automatically failover to a back-up mail server if the primary server becomes unavailable. In testing performed in Macromedia’s Enterprise Testing facility, a dual processor Hewlett-Packard Proliant DL380 G3, ColdFusion MX Enterprise 6.1 was able to deliver 1,241,379 dynamically generated email messages per hour (see figure 5). This dramatic improvement in throughput was achieved by through changes in the mail delivery architecture. ColdFusion MX and earlier versions had a single thread for delivering mail to the mail queue and a single thread for delivering mail from the queue to the SMTP server. ColdFusion MX 6.1 provides multiple delivery threads. The number of threads used for each of these functions can now be configured in the ColdFusion Administrator and the ColdFusion server now pools the connections for reuse. In many cases, adjusting these thread-level settings high enough can result in sending mail faster than can be processed by the mail server.
Page 10
August, 2003
ColdFusion MX 6.1 Performance Brief Appendix
Note: Connection pooling and multiple delivery threads, in addition to the option to spool messages to memory (instead of disk) are features of ColdFusion MX Enterprise 6.1.
Email Messages per Hour 1,400,000
1,241,379
Number sent
1,200,000 1,000,000 800,000 600,000 400,000 200,000
16,285
25,904
ColdFusion 5
ColdFusion MX
0 ColdFusion MX 6.1
Product Version Figure 5: Number of dynamically generated email messages sent per hour from ColdFusion MX 6.1 compared to previous versions.
Summary ColdFusion MX 6.1 enables developers to build and deploy Internet applications and web services that perform with exceptional speed and stability on servers under load. The combination of enhancements to runtime performance and compiler performance makes ColdFusion MX 6.1 the best version of ColdFusion for both developer and user experience.
August, 2003
Page 11
ColdFusion MX 6.1 Performance Brief Appendix
Appendix
Test Data – Windows 2000 Response Time Data, 30 Virtual Users (VU)
Product Version
ColdFusion 4.5
ColdFusion 5
ColdFusion MX
ColdFusion MX 6.1
# Seconds
13.6171
1.6022
1.5311
0.5875
(lower number indicates better performance)
Test Data – Windows 2003 Response Time Data, 30 Virtual Users (VU)
Product Version
ColdFusion 5
ColdFusion MX 6.1
# Seconds
6.0227
2.0681
(lower number indicates better performance)
Test Data – Red Hat Advanced Server 2.1 Response Time Data, 30 Virtual Users (VU)
Page 12
Product Version
ColdFusion 5
ColdFusion MX
ColdFusion MX 6.1
# Seconds
13.525
7.3461
2.7271
August, 2003
ColdFusion MX 6.1 Performance Brief Appendix
(lower number indicates better performance)
Test Data – Solaris 9 Response Time Data, 30 Virtual Users (VU)
Product Version
ColdFusion 5
ColdFusion MX
ColdFusion MX 6.1
# Seconds
6.9996
4.3391
1.7838
(lower number indicates better performance)
Email Performance Test Notes The following configuration was used for the email performance testing: • dual processor Hewlett-Packard Proliant DL380 G3 • disk spooling disabled • 30 delivery threads used • “spool interval” of 15 seconds • dedicated SMTP server running Qmail software
August, 2003
Page 13
Bijlage II. ColdFusion support overview
- zie ommezijde -
Advies Perseus Implementatie Alexander Wezenberg
Bijlage II. ColdFusion support overview
Sun ONE 6.x
Red Hat HTTPD
JRun HTTP Server
Apache 2.0.43 or higher
Apache 1.3.22 - 1.3.27
IIS 4.0, 5.x, 6
Web Servers
HP-UX 11i
Solaris 7, 8, 9
TurboLinux 8 Server
SuSE Linux Enterprise Server 8
SuSE Linux 7.2, 7.3, 8.X
Red Hat Enterprise Linux AS 2.1
Red Hat Linux 7.2, 7.3, 8.0, 9
Windows 2003 Enterprise Edition
Windows 2003 Standard Edition
Windows 2003 Web Edition
Windows XP Professional
Windows XP Home
Windows 2000 Datacenter Server
Red Hat Linux only
Windows only For Apache on RedHat Linux, Apache version must be either 1.3.221.3.27 or 2.0.43 or higher See note for Apache 1.3.22
PA-RISC only
Japanese only
SP3 or higher
Windows 2000 Server
Windows 2000 Advanced Server
SP3 or higher
Windows NT 4 Server, Enterprise Edition Windows 2000 Professional
Implementation Notes
SP6A
Enterprise
Enterprise
SP6A
Standard
Standard
Windows NT 4.0 Server
Developer
Developer
Windows NT 4.0 Workstation
Windows ME
Windows 98
Operating Systems
Macromedia ColdFusion MX 6.1 Edition
Sybase Adaptive Server 11.5 and higher Sybase Adaptive Server Enterprise 12.0 and 12.5
Oracle 9i R1-R2
DB2 UDB for z/OS and OS/390 v7.1, v7.2 DB2 UDB for AS/400 V4R5, V5R1, V5R2 Informix Dynamic Server 9.2x, 9.3x, 9.4 Oracle 8i R2-R3 (8.1.6-8.1.7)
DB2 UDB for OS/390 v6.1
DB2 UDB for Windows, UNIX, Linux, and Linux/s390 v7.1, v7.2, v8.1
MS SQL Server 2000
MS SQL Server 7.0
MySQL
MS Access 97, 98, 2000, 2003
Database Support
Netscape 3.6x
Sun ONE 4.x
Developer
Standard
Enterprise
Including service packs 1, 2 and 3
MDAC 2.6 sp2 or higher, Windows only
*+ Verity not supported
+ Japanese only
* English only
AIX 5L v5.1 & 5.2
AIX 4.3.3
HP-UX 11i
Solaris 9
Solaris 8
Solaris 7
TurboLinux 8 Server
TurboLinux 7 Server
SuSE Linux Enterprise Server 8
SuSE 7.3
SuSE 7.2
Red Hat Enterprise Linux AS 2.1
Red Hat 9
Red Hat 8
Red Hat 7.3
Red Hat 7.2
Windows 2003
Windows 2000 Advanced Server
Windows 2000 Server
Windows NT 4.0 Server
Windows XP
Operating Systems
WebLogic 6 WebLogic 7 WebLogic 8.1
*+ *+
*+ *+
*+ *+
WebSphere 4 WebSphere 5
ColdFusion MX Enterprise 6.1 - J2EE Application Server Support
+
*+ *+
*+ *+
JRun 4
*+ *+
* *
* * * *
SunOne AS 7
SP 2
SP 2
SP 6a or higher
Notes
Bijlage III. Schatting hard disk capaciteit Hieronder staat een schatting van de benodigde schijfruimte die in de nieuwe server situatie benodigd zal zijn. In de praktijk zullen de verschillende toepassingen, services en faciliteiten worden verdeeld over de daarvoor beschikbare (producties)servers. De exacte ruimte die in die situatie benodigd is staat beschreven in hoofdstuk 7 paragraaf 3.2, server oplossingen. Besturingsysteem - Windows 2003 server, Enterprise editie
ca. 18 Gb
+ alle geïnstalleerde applicaties (waaronder MS SQL Server, IIS, Exchange, ISA), netwerk georiënteerde zaken (waaronder een DHCP-, DNS-, TFTP-, RIS- en WINS-server), Microsoft SharePoint enz.
ca. 60 Gb
+ (back-up) Domain Controller
ca. 60 Gb
+ mogelijk de NetPro applicatie - Hierbij zal gebruik worden gemaakt van VMWare omdat er dan met twee verschillende besturingssystemen zal moeten worden gewerkt (Windows en Linux).
ca. 60 Gb
De file server (+FTP toegang) De huidige file server heeft een schijf van ca. 70 Gb dit blijkt in de praktijk niet voldoende te zijn.
ca. 120 Gb
Perseus DB De Perseus DB bestaat uit tal van verschillende onderdelen. Omdat Perseus ook een intranet applicatie is in ontwikkeling zal de schatting hoger uitvallen dan wat huidig nodig zou zijn. Hieronder de complete lijst van de Perseus Database: Websites content (MT, IE, ImmI, MT Alumni, IE Alumni) | reservering van ca. 5,0 Gb Algemene (grafische) content Perseus | reservering van ca.1,0 Gb Nieuws en Discussie modules | reservering van ca. 1,0 Gb Forum (koppeling, afhankelijk of Stimpy wel of niet wordt gebruikt) | reservering van ca. 1,0 Gb Docentenpagina’s (ca. 35 docenten) | reservering van ca. 5 Gb (ca. 100 Mb per docent) Studentenpagina’s (ca. 600 studenten) | reservering van ca. 20 Gb (ca. 25 Mb per student) Medewerkerpagina’s (ca. 20 medewerkers) | reservering van ca. 3,0 Gb (ca. 100Mb per medewerker) Project pagina’s (ca. top 50 projecten) | reservering van ca. 5 Gb (ca. 100Mb per project) Commissie en organisatie pagina’s (extern) | reservering van ca. 5Gb Informatieborden content | reservering van ca. 5Gb Onderwijsmodules (webpagina, eigen nieuws en discussie enz.) | reservering van ca 10,0Gb Diensten pagina’s (o.a. receptie, ziek / betermeldingen / roosterwijzigingen, roosters & cijfers(via Osiris), inschrijvingen, studiegids, keuzevakken, kenniskaarten) | reservering van ca. 10,0Gb Universele zoekmodule (spider DB) | reservering van ca. 5,0 Gb Enquêtering module | reservering van ca. 2,0 Gb Vacature/stagebank | reservering van ca. 5,0 Gb Reserveringsysteem | reservering van ca. 1,0 Gb
ca. 200 Gb
De totale ruimte in deze opzet zal niet de 100 Gb overschrijden. De overige ruimte zal als reservering dienen voor de groei van de KSA en alle mogelijke uitbreidingen. Echter dient er wel rekening mee gehouden te worden dat, met de groei van de KSA in gedachte, deze schatting ver onder de uiteindelijke omvang uitkomt. Immers zou het uiteindelijk ruimte moeten bieden aan ca. +/3000 studenten, docenten en medewerkers. Totaal + NetPro & AD Advies Perseus Implementatie Alexander Wezenberg
ca. 338 Gb ca. 558 Gb Bijlage III. Schatting hard disk capaciteit
Advies Perseus Implementatie Alexander Wezenberg
SCSI SCSI SCSI SCSI
(Disk (Disk (Disk (Disk
#0 #0 #0 #0
| | | |
Partition Partition Partition Partition
#1) #2) #2) #2)
| | | |
MEGARAID MEGARAID MEGARAID MEGARAID
LD LD LD LD
Windows 2000 server 2xPIII ~ 723 Mhz (x86 Family 6 Model 8 Stepping 1/3 GenuineIntel) 1.048.508 Kb
OS: Processor: Psysical mem:
5x 18G – Stripe set – Raid 5 Drive C: 8.00 GB van 8.00 GB Drive D: 9.77 GB van 59.79 GB Drive E: 9.77 GB van 59.79 GB Drive F: 40.26 GB van 59.79 GB
Eagle
Name:
0 0 0 0
RAID RAID RAID RAID
5 5 5 5
SCSI SCSI SCSI SCSI
Disk Disk Disk Disk
Bijlage IV. Huidige server specificaties KSA
Device Device Device Device
2x 36 Gb – Stripe set – Raid 0 Drive G: 48.83 GB van 68.36 GB SCSI (Disk #2 | Partition #0) | MEGARAID LD 2 RAID 0 SCSI Disk Device Drive I: 9.77 GB van 68.36 GB SCSI (Disk #2 | Partition #0) | MEGARAID LD 2 RAID 0 SCSI Disk Device
3x 36 Gb – Stripe set – Raid 5 Drive F: 67.83 GB van 68.83 GB SCSI (Disk #1 | Partition #0) | MEGARAID LD 1 RAID 5 SCSI Disk Device
Raid 5 van 4.00 GB SCSI (Disk #0 | Partition #1) | MEGARAID LD 0 RAID 5 SCSI Disk Device van 63.80 GB SCSI (Disk #0 | Partition #2) | MEGARAID LD 0 RAID 5 SCSI Disk Device van 63.80 GB SCSI (Disk #0 | Partition #2) | MEGARAID LD 0 RAID 5 SCSI Disk Device
Windows 2000 server 1xPIII ~ 723 Mhz (x86 Family 6 Model 8 Stepping 6 GenuineIntel) 916.972 Kb
OS: Processor: Psysical mem:
5x 18 Gb - Stripe set – Drive C: 4.00 GB Drive D: 16.00 GB Drive E: 47.79 GB
Falcon
Name:
3x 36 Gb - Stripe set – Raid 5 Drive E: 33,97 GB van 67,83 GB SCSI (Disk #1 | Partition #0) | HPNetRD LD 1 NetRAID SCSI Disk Device Drive F: 29,89 GB van 67,83 GB SCSI (Disk #1 | Partition #0) | HPNetRD LD 1 NetRAID SCSI Disk Device
GB SCSI (Disk #0 | Partition #0) | HPNetRD LD 0 NetRAID SCSI Disk Device GB SCSI (Disk #0 | Partition #1) | HPNetRD LD 0 NetRAID SCSI Disk Device
Windows 2000 server 2xPIII ~ 1133 Mhz (x86 Family 6 Model 11 Stepping 1 GenuineIntel) 523.756 Kb
OS: Processor: Psysical mem:
2x 18 Gb - Mirror set - Raid 1 Drive C: 7,13 GB van 7,13 Drive D: 9,81 GB van 9,81
Hawk
Name:
Bijlage IV. Huidige server specificaties KSA
Bijlage V. Verklarende woordenlijst Een belangrijk punt van dit adviesrapport is een overzicht geven van de implementatie van Perseus die begrijpelijk is zonder veel technische kennis. Ten behoeve van de leesbaarheid en het gestelde kennisniveau zijn in deze bijlage alle, niet in het rapport beschreven, cursieve woorden ondergebracht en uitgelegd. AIX Het UNIX gebaseerde besturingssysteem van IBM bedoeld voor de IBM @serverpSeries, IBM @serverCluster 1600 en IBM RS/6000 servers en werkstations. ANSI92 American National Standards Institute. Een organisatie die zich inzet voor standaardisatie. ANSI92 definieert de data structuur en basis operaties op SQL data. Het definieert de functionele capaciteiten voor het creëren, toegang verkrijgen, onderhouden, controleren en beschermen van SQL data. Deze standaard is teruggenomen en vervangen door de INCITS/ISO/IEC 9075 standaard. API Application Programming Interface. Een interface die bestaat uit een set van instructies of software routines, die de gebruiker/programmeur de mogelijkheid geeft om applicaties te bouwen voor bepaalde software of hardware. Apache (software foundation) Een organisatie die de Apache gemeenschap ondersteunt die zich inzet voor ‘open source’ software projecten. Hieronder valt ook de Apache HTTP Server Project, een open source webserver. Wordt veelal gebruikt over de wereld vooral onder UNIX gebaseerde systemen voor webapplicaties. Applicatieserver Een applicatie server is een speciaal toegewijde server, in een netwerk, voor specifieke software applicaties. In ColdFusion geeft het onder andere de mogelijkheid om naast CFML(ColdFusion Markup Language) pagina’s ook gebruik te maken van bijvoorbeeld COM en Java. Dit gebeurd via de Macromedia JRun(J2EE)applicatie server die bij ColdFusion geleverd wordt(hetzij als losstaand of uitgeklede versie). ASP Active server pages. Het dynamische web scripttaal voor de ontwikkeling van toepassingen voor het internet, intranet of extranet. ASP wordt geschreven in Visual Basic, C# of JavaScript. ASP.NET is ontwikkeld door Microsoft als opvolger van Active Server Pages. ASP.NET is echter tot veel meer in staat dan ASP en is bovendien veel eenvoudiger te gebruiken. Authenticatie De verificatie van gebruikersgegevens op juistheid of echtheid.
Advies Perseus Implementatie Alexander Wezenberg
Bijlage V. Verklarende woordenlijst
Autorisatie Machtiging, verlening van een bevoegdheid. Er wordt vastgesteld of een aanvrager bevoegd is om bepaalde informatie in te zien. Besturingssysteem Het samenhangende geheel van systeemprogramma's dat de uitvoering van andere programma’s bestuurt. BIOS Basic Input Output System. Een CPU in een computer heeft een manier nodig om te communiceren met verschillende hardware die geïnstalleerd is. Elk hardware apparaat heeft zijn eigen speciale BIOS software wat deze communicatie mogelijk maakt. Het hoofd BIOS in een systeem is opgeslagen in een microschip op het moederboard en is het eerste stuk software dat een computer draait als deze opstart. Bottlenecks Bottlenecks zijn fouten / problemen die ten koste gaan van de performance van een applicatie. Browser In het kort een zoekprogramma. In de context van het document is een browser een computerprogramma waarmee men websites kan raadplegen. De meest gebruikte browser is die van Microsoft: de Internet Explorer. Bug-free Een foutvrij computerprogramma. C/C++ C was in het begin een programmeertaal ontwikkeld voor en geïmplementeerd op het Unix besturingssysteem. Later werd deze taal beschikbaar voor meerdere besturingsystemen zoals Dos en Windows. C++ is een uitgebreide versie van C. Het bevat alles wat C al in zich had, en heeft tevens ondersteuning voor objectgeoriënteerde programmeren. Cache(of cached) Een tijdelijk geheugen voor gegevens. In een CPU is dit zeer kleine en enorm snelle geheugenbank waar alle acties, zoals berekeningen, worden geplaatst voordat deze door de CPU worden behandeld. Cache kan ook een opslagplaats zijn van tijdelijke bestanden van bijvoorbeeld een browser of besturingsysteem of een tijdelijke opslag van inloggegevens op de betreffende PC. Charting en graphing engine Deze engine is onderdeel van ColdFusion en maakt het mogelijk om, zeer aanpasbare, grafieken in verschillende formaten op te stellen. Client-server model Dit model beschrijft de relatie tussen twee computers waarbij één computer, de cliënt, een service aanvraag doet bij een de andere computer, de server, die de aanvraag volbrengt.
Advies Perseus Implementatie Alexander Wezenberg
Bijlage V. Verklarende woordenlijst
Clustering In de context van het document gaat het om de mogelijkheid om meerdere instanties te draaien van ColdFusion zodat, als een applicatie een server fout maakt, dit niet de andere lopende applicaties beïnvloed. Clustering op server niveau houdt in dat bij gebruikt van ColdFusion applicaties over meerdere, op J2EE gebaseerde, servers betere stabiliteit kan worden behaald. Servers werken samen doormiddel van ‘load balancing’(verdeling van de druk over de servers) en ‘failover’(het overnemen van bepaalde zaken door een andere server). COBRA Common Object Request Broker Architecture. Een OMG(Object Management Group) open architectuur en infrastructuur dat applicaties over een netwerk samen kan laten werken. Het maakt gebruikt van het standaard IIOP(Internet Inter-ORB Protocol) protocol, een COBRA gebaseerde applicatie op willekeurige computers, besturingssystemen, programmeertaal, netwerk. Deze kan samenwerken met andere COBRA gebaseerde programma’s op het zelfde of andere locatie op een willekeurige computer, besturingssysteem, programmeertaal en netwerk. CPU Central Processing Unit. De rekeneenheid(processor) die vrijwel alle berekeningen uitvoert en het hart van een computersysteem vormt. COM/COM+ Component Object Model. COM is een platformvrije, gedistribueerd, object georiënteerd systeem om binaire software component te ontwikkelen die interactie leveren. COM+ breidt de applicatie mogelijkheden van COM uit. Core Engels voor kern. In de context van het document bedoelt als het kernprogramma van Perseus zonder alle gekoppelde modules. Database Een databank. Een centraal opslagmedium voor gegevens. Debuggen De fouten in computerprogramma's opsporen en corrigeren. DHCP (server) Dynamic Host Configuration Protocol. DHCP is een computer protocol dat beschrijft hoe een computer de netwerkinstellingen van de DHCP server kan verkrijgen. Een DHCP protocol is gebaseerd op het Internet Protocol(IP) en werkt met UDP(User Datagram Protocol) pakketten. Distinguished Name Een unieke naam die een object identificeert door gebruik te maken van de relatieve ‘Distinguished Name’ voor het object, plus de naam van containerobject(en) en domein(en) die het object bevatten. De Distinguished Name identificeert het object evenals de locatie in een Active Directory tree. Elk object heeft een Distinguished Name binnen AD. Een typische Distinguished Name kan: “CN=MijnNaam,CN=Gebruikers,DC=MT,DC=HvU”, zijn dat de MijnNaam gebruikersobject identificeert voor het mediatechnologie.nl domein (het parent domein zou dan hvu.nl zijn) Advies Perseus Implementatie Alexander Wezenberg
Bijlage V. Verklarende woordenlijst
DNS (server) Een DNS Server(of Domain Name Server) vertaalt domeinnamen naar IP adressen, zodat niet alle computers bij nummer hoeven te worden onthouden, maar aan de hand van een naam. Ook het omgekeerde: het omzetten van een nummer in de bijbehorende naam is mogelijk. Een client programma voor een internetdienst kan via aanroepen in een programmabibliotheek een domain name server vragen om de vertaling uit te voeren. Een webbrowser doet dit elke keer automatisch wanneer een adres wordt ingetypt of een hyperlink wordt gevolgd. Driver Drivers(ook wel stuurprogramma's genoemd) zijn kleine programma's die het besturingssysteem in staat stellen om te communiceren met de hardware(en soms ook software) in uw computer. EJB Enterprise JavaBeans Technology. EJB is onderdeel van het J2EE platform en zorgt voor een snelle gesimplificeerde manier van ontwikkelen van gedistribueerde, transactionele, beveiligingsen portable applicaties gebaseerd op Java technologie. Exchange server De e-mail en samenwerking server van Microsoft waarmee de communicatie binnen een organisatie op efficiënte wijze kan verlopen. Het biedt o.a. uitgebreide client functionaliteit met Microsoft Office Outlook. Extranet Een systeem waarbij een deel van de resources, van het op TCP/IP gebaseerde intranet, van een organisatie beschikbaar te stellen voor externe gebruikers. File server Een server die centraal bestanden en programma’s beschikbaar stelt en/of opslaat in een bepaalde structuur. Het vereenvoudigt de back-up en geeft gebruikers toegang tot alle gegevens(mits de beheerder daarvoor de toegangsrechten heeft gegeven). FTP File Transfer Protocol. Het protocol voor het transporteren van bestanden over een netwerk. Full-text search engine Een zoekmachine die het mogelijk maakt te zoeken binnen een database naar digitale informatie in de vorm van niet gestructureerde tekst die wel of geen opmaak bevat. Glasvezel (2Gb over glas verbinding) Een verbinding die loopt over glasvezel die vaak gebruikt wordt met het koppelen van bedrijfsnetwerken. Deze netwerken werken, normaal gesproken, op basis van het ethernet protocol. Hosting (omgeving) Een omgeving waarbinnen bepaalde faciliteiten en services zijn ingericht. Een term dit gebruikt wordt in computerwereld voor servers die bepaalde services en faciliteiten bieden voor applicaties. Advies Perseus Implementatie Alexander Wezenberg
Bijlage V. Verklarende woordenlijst
HP-UX Het UNIX gebaseerde besturingssysteem van Hewlett-Packard bedoeld voor de HP 9000 and HP Integrity systemen. HTML Hypertext Markup Language. Het op SGML gebaseerd coderingssysteem voor het opmaken van webpagina's(tekst, afbeeldingen en hyperlinks). HTML is een opmaaktaal geen programmeertaal. HTTP Hyper Text Transfer Protocol. Het protocol om hypertekst bestanden op te halen en te tonen. HTTPS De beveiligde versie van het Hyper Text Transfer Protocol(HTTP). INCITS/ISO/IEC 9075 Committee for Information Technology Standards/ International Organization for Standardization/ International Electrotechnical Commission. INCITS is de technische adviesgroep van ANSI voor de gezamenlijke ISO/IEC technische commissie. Definieert het framework van de grammatica en operaties van de SQL taal. Aan de orde komen: datastructuren, basis operaties, syntaxis en semantiek, portability van data definities en compilatie eenheden, structuur en procedures, syntaxis voor embedded SQL statements enz. IIS Internet Information Server. De webserver software die bijgeleverd wordt met het Windows besturingsysteem van Microsoft. Interface Een koppeling met een computersysteem of tussen verschillende computersystemen. Internet Een wereldwijd netwerk van computers, gebaseerd op een gemeenschappelijk, gestandaardiseerd protocol. Intranet Mogelijk internationaal netwerk binnen een organisatie gebaseerd op dezelfde protocollen als, en met de browse- en zoekmogelijkheden van internet. IP (adres) Internet Protocol. Het protocol dat medeverantwoordelijk is voor de communicatie tussen op het internet aangesloten computers. Aan dergelijke computers is statisch of dynamisch een adres toegewezen zodat bekend is waar informatiepakketten naar toe moeten worden verstuurd. ISA server Microsoft Internet Security and Acceleration. Deze server integreert een aantal functies in één pakket. Het heeft een ingebouwde firewall die het netwerk beschermt tegen aanvallen van buitenaf. Toegangsbeheer voorkomt dat gebruikers tijd verspillen aan 'entertainment'-sites en de Advies Perseus Implementatie Alexander Wezenberg
Bijlage V. Verklarende woordenlijst
ingebouwde webcache zorgt voor hogere prestaties. Tevens levert ISA Server een goede oplossing voor het opzetten van een Virtual Private Network. Java Objectgeoriënteerde, platformafhankelijke, veilige programmeertaal ontwikkeld voor gebruik op internet, mobiele apparaten en diverse algemene applicaties. JMS Java Message Service. Deze API is onderdeel van het J2EE platform en levert een standaard dat het mogelijk maakt om berichten op te stellen, te versturen en te ontvangen en lezen. Het zorgt voor een gedistribueerde communicatie die losgekoppeld, betrouwbaar en asynchroon is. JSP Java Server Pages. Een server-side scripttaal waar Java code in kan worden opgenomen. JSP maakt gebruik van een eigen applicatieserver(o.a. TomCat) en draait bij voorkeur op Linux platformen. JVM Java Virtual Machine. Dit is de Virtual Machine van Sun Microsystems die het mogelijk maakt, op o.a. Windows, Java Applicaties en Applets te kunnen draaien. LAN Local Area Network. Een netwerk dat normaal in een beperkte omgeving werkt (kantoor, bedrijf, school). Vaak een lokaal netwerk met in het hart een switch die weer verbonden is met een andere switch(de ethernet-backbone). Linux Linux is één van tientallen UNIX besturingssysteem varianten. Linux is erg stabiel en flexibel, en is redelijk gebruikersvriendelijk. Echter biedt het niet het gebruikersgemak van systemen zoals Windows en vereist het wel enige technische kennis. Er zijn verschillende Linux distributies op de markt zoals Red Hat, SuSE en FreeBSD. Linux componenten en applicaties zijn over het algemeen gratis verkrijgbaar. Localhost De standaard naam die de locale computer beschrijft. Ook bekent als de ‘loopback’ adres van en computer. De localhost is tevens gelijk aan het IP adres 127.0.0.1. Medusa Naam afkomstig uit de Griekse mythologie. Medusa was een Gorgoon. De Gorgonen waren drie zussen: Sthena(kracht), Medusa(koningin) en Euryale( de verspringende). Ze waren dochters van Phorcys, een zoon van Gaia. Alleen Medusa was sterfelijk, zij werd gedood door Perseus. In dit document refereert het naar de intranetapplicatie van FCJ die voorheen in gebruik was. Microsoft Access Een database applicatie die geleverd wordt bij Microsoft Office. Geschikt voor persoonlijke doeleinden maar zeker niet voor applicaties die meerdere gebruikers moeten bedienen. Advies Perseus Implementatie Alexander Wezenberg
Bijlage V. Verklarende woordenlijst
Microsoft SQL Server De professionele database oplossing van Microsoft die bedoelt is voor applicaties die een hoge performance en schaalbaarheid vereisen. Modulair systeem Een systeem dat opgebouwd is uit vele kleine onderdelen, zogenaamde modules, die eventueel samenwerken en een geheel vormen. Module In de context van dit document wordt hiermee een stuk, op zich zelf staand, programmeercode bedoeld. Modules zijn verzamelingen van methodes en constanten. Een module levert een aantal afgebakende functionaliteiten en kan worden opgenomen een modulair systeem. MySQL MySQL is een ‘open source’ database server. MySQL is een krachtige client/server implementatie. Uitvraagbaar doormiddel van de gestandaardiseerde databasetaal SQL(Structured Query Language). MySQL wordt vaak gebruikt in combinatie met PHP en Linux distributies. Native (ondersteuning) De automatische ondersteuning van een functionaliteit binnen applicaties, services of faciliteiten op systeem zonder dat hier speciale configuratie voor nodig is. Netwerkkaart(en) Een hardware aansluitingspunt om een computer te koppelen aan een netwerk en deze te voorzien van een adressering binnen dit netwerk. OLAP Analysis OLAP (On-Line Analytical Processing) Services. De analyse service van MS SQL server dat een complete, geïntegreerde en over het web beschikbare service biedt. Het OLAP component bezit een midden-tier server dat gebruikers in staat stelt om verfijnde analyse op grote volumes aan data uit te voeren met uitzonderlijke performance. OpenLDAP De ‘open source’ LDAP server voor Linux. Oracle Oracle is software ontwikkelaar die onder andere de Oracle database applicatie levert. Deze professioneel gebruikte database in veelal grote organisatie levert een stabiele, hoge performance en schaalbare database oplossing. OSI-model Het Open Systems Interconnection Reference Model (OSI Model of OSI Reference Model) is a gelaagd en abstracte omschrijving van de communicatie en computer netwerkprotocol ontwerp. Het bestaat uit zeven lagen, te weten: (1.) Physical layer, (2.) Data link layer, (3.) Network layer, (4.) Transport layer, (5.) Session layer, (6.) Presentation layer en de (7.) Application layer.
Advies Perseus Implementatie Alexander Wezenberg
Bijlage V. Verklarende woordenlijst
Osiris Naam afkomstig uit Egyptische mythologie – Osiris was de god van de dood en vegetatie. Werd door zijn vrouw Isis terug in elkaar gezet nadat hij was vermoord door Set. In dit document refereert het naar het nieuwe onderwijsinformatiesysteem van de HvU die per het studiejaar 2004/2005 over de gehele hogeschool wordt ingevoerd. Osiris staat in deze context voor: Onderwijs en Studenten Informatie, Registratie en Inschrijf Systeem. Output De opgeleverde gegevens, opmaak, foutmeldingen en dergelijke die een applicatie teruggeeft. Packagen Het structureel en handig inpakken van applicatiemodules waarvan een beschrijving beschikbaar is die aangeeft hoe dit pakket moet worden benaderd voor installatie of uitvoering. Performance In de context van dit document wordt hiermee specifiek de responstijd van bewerkingen op een server bedoeld. Een goede performance situatie is dat de gebruiker geen last ondervind van de tijd dat het kost om de opgevraagde gegevens te weergeven. Perseus Naam afkomstig uit de Griekse mythologie. Perseus is de Griekse held die Medusa, de moeder van Pegasus, dode door haar met een sikkelzwaard te onthoofden. Hij redde tevens Andromeda, de dochter van Cepheus en Cassiopeia, van het zeemonster Cetus door met de medusakop het monster te verstenen. In dit document refereert het naar de intranetapplicatie van FCJ en FNT die in gebruik gaat genomen worden. Print server Een server die centraal printers beheert en beschikbaar stelt. Policy Engels voor beleid. In Active Directory kan doormiddel van een beleidsreglement zaken zoals de configuratie van werkstations of de rechten van een gebruiker of gebruikersgroep centraal worden ingesteld. Query Een query is een de manier om met SQL een database uit te vragen. Een dergelijke uitvraag kan vele radvoorwaarden bevatten zodat de juiste informatie terug wordt gegeven. RAM Random-Access Memory. In dit geheugen worden de gegevens(data) in de opdrachten aan de computer(instructies) opgeslagen wanneer de computer aan staat. Het RAM is een tijdelijk geheugen. RIS (server) Remote Installation Service. Deze server maakt het mogelijk software via het netwerk te installeren op elke werkstation die aangesloten is aan deze server. Advies Perseus Implementatie Alexander Wezenberg
Bijlage V. Verklarende woordenlijst
Routers Een router is een apparaat ontworpen om twee netwerken met elkaar te verbinden, meestal een Local Area Network, of LAN (zoals een klein kantoor) met een Wide Area Network, of WAN (zoals het Internet). Door slimme software kan doormiddel van een firewall de beveiliging en toegang worden ingesteld. Schaalbaarheid De verandering in performance wanneer een server met toenemende mate wordt benaderd. De mogelijkheid van een server om deze toename aan te kunnen is de mate van schaalbaarheid van de server. Scripttaal Een lager gelegen programmeertaal die tegelijkertijd gelezen en uitgevoerd wordt. De computer bepaald pas wat er moet gebeuren op het moment dat de instructies gelezen worden. SDK Software Development Kit. Een programmeer hulpmiddel, toegespitst op een specifieke applicatie of hardware. In een dergelijke kit zitten include bestanden voor de normale compiler en de benodigde documentatie. Bevat soms ook een aparte compiler, linker en editor. Server Een server is een computer dat aanvragen van buitenaf verwerkt, instructies uitvoert en eventueel resultaten terugbezorgt. Deze aanvragen en resultaten kunnen naargelang de toepassing sterk variëren: zo zijn er print servers, netwerk servers, file servers, webservers, enz. Servers zijn doorgaans zeer krachtige machines die het kloppende hart van moderne informatienetwerken vormen. Servlets Een servlet kan gezien worden als een Java Applet wat server-side draait. Anders dan JSP bestaat een servlet alleen uit programmeercode wat via de webserver door een gebruiker kan worden opgevraagd en een webpagina oplevert. Doormiddel van Java zijn de mogelijkheden van servlets voor webapplicaties enorm veelzijdig. Share Het delen van specifieke gegevens op een computer met anderen(over een intranet of internet). Bij het delen van gegevens wordt de gekoppelde naam aan de deling de ‘sharenaam’ genoemd. SOAP Simple Object Access Protocol. Het protocol wat ontworpen is om XML gebaseerde objecten te versturen over een gedistribueerde infrastructuur, door firewalls of over het internet. Solaris Het besturingsysteem van Sun Microsystems wat zowel op 64-bits UltraSPARC of 32-bits x86 processor gebaseerde systemen kan draaien.
Advies Perseus Implementatie Alexander Wezenberg
Bijlage V. Verklarende woordenlijst
SQL Structured Query Language. Gestandaardiseerde databasetaal ten behoeve van de uitvraag, en bewerking, van de inhoud van databases. Supernetting Een supernet is een vereniging van aangrenzende (sub)netten. Bijv. 192.168.4.0 met subnetmasker 255.255.255.0 en 192.168.5.0 met subnetmasker 255.255.255.0 kunnen gecombineerd worden tot 192.168.4.0 met subnetmasker 255.255.254.0. Op dit netwerk zijn dan 2*254 = 508 IP adressen beschikbaar. Switches Een switch is een apparaat dat meerdere gelijktijdige communicatielijnen tussen de verbonden computers verzorgt. Is volledige hardware gebaseerd in tegenstelling tot een router. Sybase Sybase is software ontwikkelaar die onder andere de Sybase database applicatie levert met nadruk op samenwerking tussen verschillende systemen. Deze professioneel gebruikte database in veelal grote organisatie levert een stabiele, hoge performance en schaalbare database oplossing. TFTP (server) Trivial File Transfer Protocol. Een eenvoudig protocol voor het versturen van bestanden verwant aan een basis versie FTP. TFTP wordt vaak gebruikt om kleine bestanden tussen hosts op een netwerk te transporteren. Het maakt gebruik van UDP in plaats van TCP zoals bij FTP. USB Unified Serial Bus. Randapparatuur kan vaak via een USB aansluiting worden aangesloten op USB. De data doorvoer van USB is veel sneller dan dat van een parallelle of seriële aansluiting op een PC. En bijkomend voordeel van USB is het directe gebruik van randapparatuur na aansluiting. VBScript VBScript is een afleiding van Visual Basic. Het maakt het mogelijk active scripting toe te passen op zowel web cliëntniveau (browsers zoals Internet Explorer), als op webserver niveau (zoals Internet Information Server). Virtueel Slechts schijnbaar bestaand. In de context van dit document wordt hiermee het softwarematig oplossen van problemen door zich als hardware voor te doen. Visual Basic Een programmeertaal ontwikkeld door Microsoft. Tegenwoordig wordt veelal gebruik gemaakt van Visual Basic.NET in plaats van de ouder ontwikkelingsmethode. VLAN-tagging Aan een poort van een switch kunnen meerdere VLANs gekoppeld worden(d.m.v. het IEEE 802.1q VLAN-tagging protocol). Apparaten die op deze manier gekoppeld zijn moeten beide het protocol ondersteunen. Een dergelijke verbinding wordt een trunk genoemd. Toepassingen van trunks zijn Advies Perseus Implementatie Alexander Wezenberg
Bijlage V. Verklarende woordenlijst
het onderling koppelen van switches of het koppelen van meerder VLAN’s met maar één fysieke netwerkinterface. Trunks tussen switches worden ook wel ethernet-backbone genoemd Webserver Een met Internet verbonden server waarop documenten worden gepubliceerd. Windows Het wereldbreed gebruikte besturingsysteem van Microsoft. WINS (server) Windows Internet Naming Service. Een naam server en service voor NetBIOS(Network Basic Input/Output System) computer namen. NetBIOS namen zijn wat DNS is voor IP adressen: een centrale opslagplaats voor naam- en adresinformatie. Zo kan een cliënt, dat contact moet leggen met een computer op een netwerk, een centrale database uitvragen voor het adres wat benaderd moet worden. Dit in tegenstelling tot het uitzenden van een aanvraag over het gehele netwerk welk adres te benaderen. Dit reduceert dus ‘broadcast traffic’ op het netwerk. Vanaf Windows 2000 wordt meestal gebruik gemaakt van dynamisch DNS en Active Directory. WSDL (document) Web Services Description Language. Dit is een XML document die de interface van een applicatie beschrijft zodat, door het aanpassen van een client applicatie, hiermee communicatie mogelijk is. XML Extensible Markup Language is een standaard voor het definiëren van formele markup-talen voor de representatie van gestructureerde gegevens in de vorm van platte tekst. Deze representatie is zowel machineleesbaar als leesbaar voor de mens. De uniformiteit van XML maakt uitwisseling tussen verscheidene en verschillende systemen mogelijk. XML Web Service XML Web services zijn de fundamentele bouwstenen voor gedistribueerde berekeningen over het internet. Open standaarden en met focus op communicatie en samenwerking tussen mensen en applicaties creëren een omgeving waarin XML Web Services het platform voor applicatie intergratie wordt. Applicaties kunnen opgebouwd worden met meerdere XML Web Services vanaf diverse bronnen ongeacht waar deze zich bevinden of hoe ze zijn geïmplementeerd. XML Web Services bieden functionaliteit op het web voor gebruikers aan door een standaard protocol. In de meeste gevallen SOAP. Het geeft ook een omschrijving van het te gebruiken interface met genoeg detail om een gebruiker een client applicatie te kunnen laten ontwikkelen die communicatie mogelijk maakt. Deze omschrijving is meestal gegeven in een XML document genaamd Web Services Description Language (WSDL). Tevens zijn de XML Web Services geregistreerd zodat potentiële gebruikers deze eenvoudig kunnen vinden doormiddel van de Universal Discovery Description and Integration (Web Services Description Language). x86 (instructie set/moederboard/besturingssysteem) Alle processors werken op een instructie set en ondersteunende hardware. De processors gebruikt in x86 gebaseerde computers zijn die van bijvoorbeeld Intel (Pentium) en AMD. De meeste computers die gebruikt worden binnen organisaties of privé zijn x86 gebaseerde computers. Advies Perseus Implementatie Alexander Wezenberg
Bijlage V. Verklarende woordenlijst