Digitaliseren van de aanvragen voor Windowsen toepassingsaccounts Het aanvragen, het goedkeuren en het beheren van de aanvragen via een webapplicatie
Studiegebied
Handelswetenschappen en bedrijfskunde
Bachelor
Toegepaste Informatica
Academiejaar
2007-2008
Student
Dominick Deman
Stageplaats
AZ St. Jan A.V. - Brugge
Voorwoord Na het behalen van het diploma “Bachelor in de toegepaste informatica” worden we verondersteld een goede basiskennis verworven te hebben om onze carrière op een vlotte manier te kunnen lanceren. Het feit dat we in onze opleiding reeds vele projecten dienden uit te werken is daar een goed bewijs van, maar met 3 maanden bedrijfservaring op zak moet deze doelstelling zeker behaald zijn. Dit eindwerk biedt een overzicht van het project dat ik diende uit te werken tijdens mijn stage in het AZ Sint-Jan AV te Brugge. Ik ben ervan overtuigd dat deze stageplaats mij een unieke kans gaf om mijn kennis uit te breiden en deze te toetsen aan de praktijk. Alvorens u, de geboeide informaticus, onder te dompelen in dit verslag, wens ik de personen die het mogelijk maakten mijn stage tot een succesvol einde te brengen, te bedanken. Allereerst wens ik Mevr. Helga De Neve te bedanken voor de kans die ik kreeg om drie maanden op de dienst informatica stage te lopen. Verder verdienen ook Dhr. Simon Nowé en Mevr. Heidi Meeuws een pluim voor het opvolgen en bijsturen van mijn project. Daarnaast wens ik ook het hele team van de dienst informatica te bedanken, omdat ik steeds bij hen terecht kon voor een vraag of probleem. Graag had ik ook mijn mentor, Dhr. Corneel Theben Tervile, bedankt voor de uitstekende begeleiding tijdens en na mijn stage, maar ook voor het regelen van de leerrijke en ontspannende uitstapjes in het laatste jaar. Voorts ben ik alle andere lectoren van de richting toegepaste informatica aan de Hogeschool West-Vlaanderen zeer dankbaar, want zonder lectoren is er geen opleiding en zonder opleiding is er geen diploma. Tot slot wil ik een dankwoordje richten aan mijn ouders voor de steun en de gekregen kansen om de opleiding te volgen en tot een goed einde te brengen.
Voorwoord
Dominick Deman Toegepaste Informatica Hogeschool West-Vlaanderen
Samenvatting Dagelijks hebben de 2700 personeelsleden en 230 geneesheren van het AZ Sint-Jan in Brugge toepassingen nodig waarin ze allerlei informatie moeten kunnen raadplegen en aanpassen. Aangezien het hier vaak om vertrouwelijke informatie gaat, moet elke aanvraag steeds goedgekeurd worden alvorens de gebruiker toegang krijgt tot een bepaalde toepassing. Vóór de invoering van het project diende elke aanvraag eerst ingevuld te worden op een papieren formulier, om vervolgens ondertekend te worden door de chef. Tot slot werd deze aanvraag dan verwerkt door de dienst informatica. Een groot deel van de verwerkingstijd bestond uit het ontcijferen van de aanvraag, want vaak werden opmerkingen in de kantlijn geschreven of was het niet duidelijk wat de gebruiker aanvroeg. In de eerste fase van het project ging ik op zoek naar de mogelijkheden om het proces te optimaliseren. Het werd me al snel duidelijk dat er een webtoepassing diende geprogrammeerd te worden die de verschillende aspecten van het proces digitaliseerde. Halfweg de voorziene projecttijd werd de eerste versie van de webtoepassing in gebruik genomen en in de maand die daarop volgde breidde de toepassing uit en werden er aan de hand van gebruikersfeedback aanpassingen gedaan.
Samenvatting
Het opgeleverde programma kent enkele krachtlijnen: aan de hand van een korte wizard op een zo efficiënt mogelijke manier een aanvraag kunnen versturen, de chef van de betrokken afdeling via email op de hoogte houden van nieuwe aanvragen waarbij elk onderdeel van de aanvraag kan goedgekeurd worden, vanuit de applicatie onmiddellijk een bericht sturen naar de chef in het geval de dienst informatica vragen heeft over een aanvraag. Uiteraard bevat de applicatie veel meer functionaliteit dan wat hier in het kort wordt vermeld maar in het eindwerk komt dit uitgebreid aan bod.
Abstract Every day there are about 2700 staff members and 230 physicians who needs applications where they can find patient files and put in administrative data. This information is often strictly confidential and because of that, the user’s chief has to approve every request to use an application. Before the launch of the web application, the user had to fill in a form and the user’s chief had to put his scrawl on it. In the end it was processed by the IT Department. A big part of the processing time consists of analyzing the form, because the user’s wishes were not always clear. In the first phase of the project, I started to look on how I could optimize the current process. I quickly understood that I had to program a web application which digitalizes every part of the process. Halfway through the project, the first version of the web application was putted into use. The next month, I was working on extra functionality and given the user experiences, I was making the application more user-friendly.
Abstract
The final version has several strong features: through a small wizard, the user can make a request as efficient as possible, the involved chief is kept informed by e-mail when there are new requests, he can approve every part of the request, the IT department can send messages to the chief if there are questions about an request. Of course this is only a short overview of some features, but all the features are included in this paper.
AD
Active Directory is een eigen implementatie door Microsoft van de directoryservice LDAP in combinatie met DNS en Kerberos voor het gebruik in Windows-omgevingen (behalve Windows 95).
ADO.NET
ActiveX Data Objects for .NET, is de opvolger van de eerdere uitgave van Microsoft ADO. ADO.NET is verbonden aan het .NET-framework en biedt, net als zijn voorganger, een programmeerinterface om (web-)applicaties met willekeurige database te laten communiceren.
AJAX
Asynchronous Javascript And XML) is een term voor het ontwerp van interactieve webpagina's waarin asynchroon gevraagde gegevens worden opgehaald van de webserver. Daardoor hoeven dergelijke pagina's niet in hun geheel ververst te worden. Zo'n pagina is te vergelijken met een applicatie die in de browser draait.
API
Application Programming Interface (API) is een verzameling definities op basis waarvan een computerprogramma kan communiceren met een ander programma of onderdeel (meestal in de vorm van dll bestanden).
ASP
Active Server Pages is een door Microsoft ontwikkelde technologie om dynamische webpagina's en complete websites te genereren.
DBML
DataBase Markup Language.
Design Pattern
Een ontwerppatroon of design pattern is een generiek opgezette softwarestructuur, die een bepaald veelvoorkomend type softwareontwerpprobleem oplost. Het patroon geeft geen concrete oplossing, maar biedt een soort sjabloon, waarmee het ontwerpprobleem kan worden aangepakt.
GSO
Geneesheer-specialisten in opleiding zijn artsen die werken onder begeleiding en onder toezicht van de vaste stafleden.
IntelliSense
De naam die Microsoft gegeven heeft aan het automatisch aanvullen van code binnen Visual Studio.
MoSCoW
De MoSCoW-methode is een wijze van prioriteiten stellen. De eisen aan het resultaat van een project worden ermee ingedeeld. Het is een afkorting, waarvan de letters staan voor: Must have this - deze eis moet in het eindresultaat terugkomen. Should have this if at all possible - deze eis is zeer gewenst, maar een vergelijkbare eigenschap is ook goed genoeg. Could have this if it does not affect anything else - deze eis mag alleen aan bod komen als er tijd genoeg is. Won't have this but would like in the future - deze eis zal nu niet aan bod komen maar kan in de toekomst interessant zijn. Een project wordt als gefaald gezien wanneer niet alle Must-have eisen in het
Verklarende woordenlijst
Verklarende woordenlijst
PMC
Tool voor het beheren van gebruikers in de AD.
SQL-injectie
Applicaties die informatie in een database opslaan maken gebruik van SQL om met de database te communiceren. SQL-injectie kan gebeuren als invoer van gebruikers op onvoldoende gecontroleerde wijze wordt verwerkt in een SQLstatement. Wanneer de gebruiker bijvoorbeeld Jansen’ OR ‘a’ = ‘a’ in een zoekveld ingeeft, dan is het mogelijk dat alle records worden getoond. De query SELECT * FROM persoon WHERE achternaam = 'Jansen' OR 'a' = 'a' levert immers alle rijen op van de persoon tabel. Uiteraard kunnen er veel ergere dingen voorkomen, wanneer dit bijvoorbeeld wordt toegepast in een update query.
Web.config
Een XML-document dat de configuratie voor ASP.NET webapplicaties bevat.
Verklarende woordenlijst
ORM
eindproduct verwerkt zitten. Object Role Modeling is een krachtige methode voor het ontwerpen en het bevragen van conceptuele datamodellen, waarin de toepassing is beschreven in makkelijk te begrijpen termen door niet-technische gebruikers. In de praktijk brengen ORM datamodellen meer werkregels (business rules) in kaart en zijn deze makkelijker te valideren en aan te passen dan data modellen van andere benaderingen.
Inhoudsopgave Voorwoord ...................................................................................................................................................................................... 2 Samenvatting ................................................................................................................................................................................ 3 Abstract............................................................................................................................................................................................ 4 Verklarende woordenlijst ........................................................................................................................................................ 5 Inhoudsopgave ............................................................................................................................................................................. 7 1.
2.
3.
4.
Voorsteling AZ Sint-Jan AV ........................................................................................................................................... 8 1.1.
Historiek .................................................................................................................................. 8
1.2.
Situering ................................................................................................................................ 10
1.3.
Eigendom en beheer ............................................................................................................. 11
1.4.
De dienst informatica ............................................................................................................ 12
Analyse .................................................................................................................................................................................14 2.1.
Huidige situatie...................................................................................................................... 14
2.2.
Vooronderzoek ...................................................................................................................... 17
2.3.
Voorstel tot optimalisatie...................................................................................................... 29
2.4.
Use cases ............................................................................................................................... 32
Ontwerp ...............................................................................................................................................................................35 3.1.
Datamodel ............................................................................................................................. 35
3.2.
Objectgeoriënteerd model .................................................................................................... 46
Programmatie ..................................................................................................................................................................50 4.1.
Ontwikkelomgeving ............................................................................................................... 50
4.2.
Applicatiestructuur ................................................................................................................ 57
4.3.
Testen .................................................................................................................................... 63
4.4.
Inzetten.................................................................................................................................. 64
4.5.
Voorstelling webapplicatie .................................................................................................... 66
5.
Helpdesk ........................................................................................................................................................................... 101
6.
Kritische reflectie ......................................................................................................................................................... 102
7.
6.1.
Databanktoegang ................................................................................................................ 102
6.2.
Vivaldi Process2Flow ........................................................................................................... 105
Conclusie........................................................................................................................................................................... 108
Literatuurlijst ........................................................................................................................................................................... 109 Bijlagen ....................................................................................................................................................................................... 110 Huidige invulformulieren................................................................................................................. 110 Colofon......................................................................................................................................................................................... 121
Inhoudsopgave
VB.NET versus C# ............................................................................................................................. 112
8
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
1. Voorsteling AZ Sint-Jan AV 1.1.
Historiek
Het oude Sint-Janshospitaal, gelegen in het centrum van Brugge, heeft een ziekenhuistraditie van acht eeuwen oud. De eerste hospitaalzaal van het gasthuis Sint-Jan werd omstreeks 1150 gebouwd in opdracht van de stedelijke gemeenschap. Om de grote stroom hulpbehoevenden te kunnen opvangen, werden in de dertiende en veertiende eeuw nog drie ziekenzalen bijgebouwd.
In het begin bestond het hospitaalpersoneel uit een zelfstandige gemeenschap van lekenbroeders en –zusters, gebonden door een inwendig reglement. Bij het uitsterven van deze broedergemeenschap op het einde van de zestiende eeuw stonden de zusters Augustinessen alleen in voor het beheer en de ziekenzorg. In het kader van de reorganisatie van de armenzorg, werd in 1796 het Sint-Janshospitaal samen met andere stedelijke zorginstellingen niet afgeschaft, maar onder een nieuw opgericht bestuur Figuur 1: Het oude Sint-Janshospitaal geplaatst, de Commissie van Burgerlijke Godshuizen.
In 1864 werden 8 nieuwe ziekenzalen in gebruik genomen en omstreeks 1900 begonnen zich verschillende disciplines van de algemene genees- en heelkunde af te splitsen. Nieuwe afdelingen zoals de oogkliniek en de NOK ontstonden.
Figuur 2: Het huidig AZ Sint-Jan AV
Na de Tweede Wereldoorlog werd het voormalige bejaardenhuis voor vrouwen, gelegen in de Professor Dr. Sebrechtsstraat, ingericht tot chirurgische kliniek. Het werd een annex van het nabijgelegen Sint-Janshospitaal. Op een bepaald ogenblik voldeden de gebouwen en infrastructuur niet langer aan de eisen van een hedendaags ziekenhuis. Om het hoofd te bieden aan het groeiend aantal patiënten, werd uitgekeken
Dominick Deman - AZ Sint-Jan A.V.
Voorsteling AZ Sint-Jan AV
In 1925 werd de Commissie van Burgerlijke godshuizen samen met het Bureel van Weldadigheid -die instond voor de armenzorg ‘aan huis’ – afgeschaft en de Commissie van Openbare Onderstand (COO) opgericht. Op 1 januari 1977 werd de COO het Openbaar Centrum voor Maatschappelijk Welzijn (OCMW).
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
naar de bouw van nieuw hospitaal. Een poging om het ziekenhuis op te richten op de plaats van het oude bleek een utopie, zodat uiteindelijk besloten werd om het complex te realiseren aan de rand van de stad op gronden die eigendom waren van het bestuur, de COO. De bouwtoelating werd verleend in 1955; de eerste steen werd gelegd op 3 december 1966. Op 18 maart 1977 werd het nieuwe ziekenhuis officieel geopend. Vanaf 1 januari 2009 fusioneert het AZ St. Jan A.V. Brugge met het Henri Serruys Ziekenhuis A.V. Oostende. Het fusieziekenhuis zal dan het grootste in West-Vlaanderen zijn en zal tot de top drie van België behoren.
Voorsteling AZ Sint-Jan AV
9
Dominick Deman - AZ Sint-Jan A.V.
10
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
1.2.
Situering
Figuur 3: Situering AZ Sint-Jan
Voorsteling AZ Sint-Jan AV
De ligging van het huidig A.Z. Sint-Jan situeert zich aan de rand van een driehoek begrensd enerzijds door het kanaal Gent-Oostende, anderzijds door de baan Brugge-Oostende en de expresweg E-5 die een rechtstreekse verbinding vormt met Zeebrugge en de Oostkust.
Dominick Deman - AZ Sint-Jan A.V.
11
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
1.3.
Eigendom en beheer
Het AZ Sint-Jan AV is een autonome verzorgingsinstelling en wordt beheerd door lokale politieke verantwoordelijken, aangeduid door de gemeenteraad en vertegenwoordigers.
Voorsteling AZ Sint-Jan AV
De dagelijkse leiding van het ziekenhuis berust bij een directiecollege bestaande uit de ziekenhuisdirecteur, de hoofdgeneesheer-directeur, de administratief directeur, de directrice nursing en haar adjunct, het ingenieurshoofd van de technische diensten, de adviseur personeelsbeleid en de adviseur informatica.
Dominick Deman - AZ Sint-Jan A.V.
12
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
1.4.
De dienst informatica
Het A.Z. Sint-Jan bevat een dienst informatica die alle automatiseringsprojecten coördineert, de aankoop van hardware en software centraliseert, de installaties uitvoert, instaat voor het systeemen netwerk- en beveiligingsbeheer en de helpdesk verzorgt. Een aantal zeer specifieke toepassingen worden intern door de dienst ontwikkeld, de meeste grote toepassingen worden uitbesteed. De belangrijkste informatica partner is hier de openbare vereniging Infohos. Infohos ontwikkelt ziekenhuistoepassingen voor openbare en privé ziekenhuizen in heel Vlaanderen. 1.4.1. Organigram
Helga De Neve diensthoofd informatica
projectleider
Applicatiebeheer
Clientbeheer
Ingrid De Smet secretariaat
Programmatiegroep
Systeemgroep
Josée Taveirne
Nico Verbeke
Hartwig Maes
Peter Cosman
Dirk Minten
Danny Hollez
Nicolas Lekens
Rupert Ovenden
Araine Peuteman
Serge Defrane
Martine Claeys
Peter Willems
Ronnie Verkest
Anoushka van Camp
Rebecca Lal
Kurt Schroyens
Heidi Meeuws
Dominick Deman - AZ Sint-Jan A.V.
Voorsteling AZ Sint-Jan AV
Simon Nowé
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
1.4.2. Applicatiebeheer Vormt de brug tussen de dienst informatica en de eindgebruikers m.b.t. patiëntenapplicaties Geeft individuele en groepsopleidingen aan artsen en medisch secretaressen Vertaalt specifieke wensen van eindgebruikers naar duidelijke vragen voor softwareontwikkelaars Evalueert vragen van eindgebruikers op technische haalbaarheid Schrijft handleidingen en behandelt foutprocedures Staat in voor een optimale parameterisatie van commerciële toepassingen Staat in voor het gebruikersbeheer 1.4.3. Clientbeheer Installatie van cliëntapparatuur : PC's, printers, scanners... Eerstelijns ondersteuning bij de hardware 1.4.4. Programmatiegroep Programma-ontwikkelingen voor het leercentrum, het operatiekwartier, de technische dienst, de maaltijdenregistratie enz Ontwikkelingen datawarehouse Analyses en projectopvolging Parameterisatie en implementatie van commerciële toepassingen Begeleiding stagiairs graduaat informatica 1.4.5. Systeemgroep
Verantwoordelijk voor alle centrale infrastructuur (databases, netwerkservers, applicatie servers, VPN, SAN, enz..) Beveiligingsbeheer (antivirus, antispam, firewall...) Projectopvolging en implementatie commerciële toepassingen Ondersteuning aan helpdesk, cliëntbeheer, applicatiebeheer en programmatie 1.4.6. Helpdesk De helpdesk wordt via een beurtrol waargenomen door medewerkers uit de groep cliëntbeheer, programmatie en applicatiebeheer. Jaarlijks zijn er zo’n 25000 oproepen.
Voorsteling AZ Sint-Jan AV
13
Dominick Deman - AZ Sint-Jan A.V.
14
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
2. Analyse 2.1.
Huidige situatie
2.1.1. Korte beschrijving
Het ziekenhuis kent een zeer groot aantal computergebruikers. Aangezien niet iedereen alle applicaties nodig heeft, moet de toegang tot de programma’s nauwkeurig beheerd worden. Wanneer een nieuw personeelslid toegang moet krijgen of wanneer een gebruiker andere programma’s nodig heeft, dan dient de gebruiker een formulier af te drukken, in te vullen en te laten goedkeuren door zijn of haar rechtstreekse chef. Daarna wordt het formulier bezorgd aan de dienst informatica. Vervolgens wordt de aanvraag onder handen genomen door één van de applicatiebeheerders. Er bestaan twee soorten aanvragen, namelijk deze voor nieuwe gebruikers (personen die nog geen toegang hebben tot het netwerk) en deze voor het wijzigen van toegangsrechten voor bestaande gebruikers. Om nieuwe gebruikers aan te maken bestaat een tool, PMC genaamd, die enkele taken automatisch uitvoert. Nadat de applicatiebeheerder de nodige gegevens overtypt, wordt eerst de gebruiker aangemaakt in de AD, vervolgens maakt deze de profielmap en de home directory aan (en worden de NTFS machtigingen ingesteld) en indien er een e-mailadres aangevraagd is, wordt een mailbox eveneens automatisch aangemaakt. De volgende stap is de gebruiker toevoegen aan de nodige groepen uit AD en de nodige applicaties installeren. Wanneer de gebruiker ook programma’s zoals Meddos (Medisch dossier) of CPD (Centraal Patiënten Dossier) wil gebruiken, moet eerst een applicatiewachtwoord ingesteld worden en vervolgens dient deze gebruiker opnieuw in het programma aangemaakt te worden. Het applicatiewachtwoord instellen gebeurt in het programma wachtwoordbeheer. De gebruikers kunnen hierin ook automatisch aangemaakt worden voor bepaalde webapplicaties. Bij de andere programma’s moet dit handmatig gebeuren.
Analyse
Wanneer voorgaande stappen voltooid zijn, wordt de gebruiker gecontacteerd en wanneer deze een nieuwe login nodig heeft, komt die persoon langs om zijn wachtwoord te ontvangen. Sinds kort wordt ook het aanvraagformulier ingescand en gearchiveerd op de computer.
Dominick Deman - AZ Sint-Jan A.V.
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
2.1.2. Analyse van de vereisten Naam Korte beschrijving: Actoren: Uitvoeringsfrequentie: Primaire pad:
Alternatieve pad:
Uitzondering:
Aanvragen voor het aanmaken of wijzigen van een login. Een gebruiker wenst zich aan te melden op een computer of wenst toegang te verkrijgen tot andere programma’s. Deze aanvraag wordt verwerkt door de dienst informatica. Gebruiker, Chef, Applicatiebeheerders, PMC, Wachtwoordbeheerder Dit proces wordt dagelijks een tiental keer doorlopen 1. De gebruiker vraagt een nieuwe login aan of wil een wijziging aanbrengen aan zijn rechten. 2. De gebruiker drukt een formulier af . 3. Het formulier wordt door de gebruiker ingevuld. 4. De gebruiker leest de gedragscode en ondertekent het formulier. 5. Het aanvraagformulier wordt door de chef ondertekend en verstuurd naar de dienst informatica. 6. De gebruikersnaam wordt in wachtwoordbeheer gecontroleerd op duplicatie. 7. De nodige velden voor een nieuwe gebruiker worden in PMC ingevuld 8. De aangevraagde programma’s worden geselecteerd. 9. Er wordt een wachtwoord bedacht en tweemaal ingevuld in PMC. 10. PMC maakt automatisch de gebruiker aan in AD. Vervolgens maakt deze de juiste directories aan (profiel en homedir) en stelt de NTFS machtigingen in. Indien er een mailbox moet aangemaakt worden, doet PMC dit eveneens. 11. De nodige groepen (AD) worden ingesteld in PMC. Vervolgens wordt er bevestigd. 12. Sommige programma’s worden automatisch door loginscripts geïnstalleerd. 13. Andere programma’s worden handmatig geïnstalleerd. 14. De webapplicaties worden ingesteld in wachtwoordbeheer 15. Het applicatiewachtwoord wordt ingesteld in wachtwoordbeheer 16. De rechten voor de aangeduide programma’s worden ingesteld door wachtwoordbeheer. 17. Andere programma’s worden één voor één opgestart en de gebruiker wordt aangemaakt voor de nodige programma’s. 18. De wachtwoorden van de gebruiker worden afgedrukt. 19. De aanvrager wordt gecontacteerd. 20. De gebruiker gaat langs bij de dienst informatica, ontvangt zijn wachtwoord en ondertekent het formulier. 1.1. De chef vraagt een nieuwe login of een wijziging aan voor een gebruiker. 2.1. De chef drukt het formulier af 3.1. De chef vult het formulier in. 6.1. Indien de gebruiker reeds een account heeft, wordt er direct overgegaan naar stap 8. 8.1. Indien de gebruiker reeds een account heeft, wordt er direct overgegaan naar stap 12. 14.1. Indien de gebruiker reeds een applicatiewachtwoord heeft, wordt er overgegaan naar stap 14 18.1. Indien de gebruiker reeds een account heeft, wordt enkel de gebruiker op de hoogte gebracht. 11.1. Indien er een probleem is wordt er iemand van de systeemgroep gecontacteerd.
Dominick Deman - AZ Sint-Jan A.V.
Analyse
15
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
Figuur 4: Activiteitendiagram huidige situatie
Dominick Deman - AZ Sint-Jan A.V.
Analyse
16
17
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
2.2.
Vooronderzoek
2.2.1. Tool voor het beheren van de gebruikers in AD PMC is een applicatie, intern geprogrammeerd, voor het beheren van gebruikers in de AD.
2
3
1
4
5 Figuur 5: PMC
3. 4. 5.
De lijst bevat alle gebruikers uit de AD. Onderaan kan er gefilterd worden. Hier worden door de dienst informatica de nodige velden gewijzigd. De data worden overgetypt vanop het ingevulde formulier. Wanneer de velden voornaam en familienaam ingevuld zijn, worden velden zoals volledige naam, gebruikernsaam, voornaam, familienaam, home dir, e-mail adres, profile automatisch ingevuld. De beschrijving is een samenstelling van dienst en functie (bvb. Staflid departement) Deze lijst bevat alle applicaties die door middel van loginscripts kunnen worden geïnstalleerd. Belangrijk hier is de knop einddatum. Deze moet verplicht ingesteld worden. Er moet ook aangeduid worden voor welk campus de gebruiker moet aangemaakt worden. Verder is er een overzicht van alle distributiegroepen waarvan de gebruiker lid is. Hier kan gekozen worden tot welke groep uit de AD de gebruiker moet behoren.
Analyse
1. 2.
Dominick Deman - AZ Sint-Jan A.V.
18
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
2.2.2. Wachtwoordbeheerder Deze applicatie is eveneens intern geprogrammeerd en houdt de wachtwoorden van alle gebruikers bij. Voor enkele toepassingen kan de gebruiker van hieruit aangemaakt worden.
4
3
1
2 Figuur 6: wachtwoordbeheerder
2. 3. 4.
Deze lijst bevat veel meer gebruikers dan in PMC, want hier zijn ook alle gebruikers zonder windows login opgenomen. Dit is meestal het geval bij verpleegkundigen. De lijst ‘rechten toepassingen’ bevat webapplicaties waarvan via het programma een gebruiker kan aangemaakt worden. Voor alle andere programma’s moeten de gebruikers in het programma zelf worden aangemaakt. Deze knop stelt voor de geselecteerde toepassing een gebruikersnaam en wachtwoord in. Soms moeten ook extra gegevens ingevuld worden. De reden van deze functie is dat niet voor alle applicaties het wachtwoord identiek mag zijn. Hier is de gebruikersnaam vermeld, samen met het windows wachtwoord en het toepassingswachtwoord. Met het rode pijltje kan het toepassingswachtwoord voor de geselecteerde applicaties automatisch ingevuld worden. Het sleuteltje dient om een wachtwoord weer te geven wanneer deze verborgen is (als het vinkje administor type aangeduid is). Het printer icoontje drukt de wachtwoorden af die worden afgegeven aan de gebruiker. Het mapje ernaast bevat de ingescande aanvraagformulieren.
Analyse
1.
Dominick Deman - AZ Sint-Jan A.V.
19
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
2.2.3. Bestaand prototype
Hieronder volgt een beschrijving van de webapplicatie die eerder werd ontwikkeld. Deze werd echter nooit in gebruik genomen omdat deze niet bruikbaar bevonden werd. 2.2.3.1. Gebruikersfuncties
Menu Na het inloggen wordt de menubalk vrijgegeven. De login gegevens worden geverifieerd aan de hand van de AD. In het menu bovenaan kan gekozen worden tussen onderstaande functies. Aanvraag nieuwe login o Hier kan de aangemelde gebruiker een aanvraag doen voor een nieuwe login voor gelijk welke gebruiker. Aanvraag wijzigen login o Hier kan de aangemelde gebruiker een aanvraag doen voor het wijzigen van toegangsrechten voor gelijk welke gebruiker. Overzicht aanvragen o Hier wordt een overzicht gegeven van alle aanvragen die aangevraagd zijn door de aangemelde gebruiker. Beheer (enkel voor de beheerders) o Dit menu onderdeel wordt enkel weergegeven indien een beheerder is aangemeld. Het bevat een submenu met alle beheerdersfuncties. Afmelden
Figuur 7: Menubalk
Aanvraag nieuwe login
Figuur 8: Aanvraag nieuwe login
Dominick Deman - AZ Sint-Jan A.V.
Analyse
De gebruiker moet eerst kiezen voor wie hij een aanvraag wenst te maken. Gaat het om een personeelslid of een arts, dan kunnen de nodige persoonsgegevens automatisch ingevuld worden aan de hand van het personeelsnummer. Gaat het om een extern persoon, dan moeten de nodige gegevens handmatig ingevuld worden.
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
Nadat de persoonsgegevens ingevuld zijn, wordt het aanvraagformulier getoond. Onder ‘info’ worden de opgehaalde persoonsgegevens weergegeven. De gebruiker heeft de mogelijkheid om de dienst, de begindatum en de einddatum aan te passen. Vervolgens kan de gebruiker een tekstveld invullen met de namen van bijkomende postbussen. Daarnaast kunnen ook gedeelde mappen opgegeven worden. Er is ook een tekstveld voorzien voor extra opmerkingen. Tot slot wordt er onderaan een treeview weergegeven, waar de gebruiker na het uitklappen van de verschillende categorieën, de nodige programma’s kan selecteren.
Figuur 9: Aanvraag nieuwe login voor arts
Wanneer op ‘volgende’ wordt geklikt bij bovenstaand aanvraagformulier, wordt er een bevestigingsformulier aangemaakt. Op het moment dat de gebruiker op ‘bevestigen’ klikt, wordt de aanvraag effectief verzonden.
Analyse
20
Dominick Deman - AZ Sint-Jan A.V.
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
Figuur 10: Bevestigingsscherm
Aanvraag wijzigen login Het verschil bij het aanvragen van een wijziging is dat de reden van wijziging moet meegegeven worden.
Figuur 11: Aanvraag wijzigen
Analyse
21
Dominick Deman - AZ Sint-Jan A.V.
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
Overzicht aanvragen De knop ‘Overzicht aanvragen’ geeft een lijst weer van de aanvragen van de ingelogde gebruiker. Met de icoontjes onder ‘acties’ kan de aanvraag bekeken worden en wanneer deze nog niet goedgekeurd is, kan deze nog aangepast worden.
Figuur 12: Overzicht aanvragen
Analyse
22
Dominick Deman - AZ Sint-Jan A.V.
23
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
2.2.3.2. Beheerfuncties
Menu Onderstaande figuur toont een overzicht van de beheerfuncties
Figuur 13: Overzicht beheerfuncties
Aanvragen Een eerste beheerfunctie is een overzicht van alle aanvragen. Hier kan gefilterd worden op status en soort. Van elke aanvraag wordt het personeelsnummer, de voornaam, de familienaam, de datum, de aanvrager en de status weergegeven.
Figuur 14: Overzicht aanvragen (1)
Analyse
Onder acties kan de beheerder de aanvraag bekijken, de aanvraag aanpassen en communiceren met de aanvrager.
Dominick Deman - AZ Sint-Jan A.V.
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
Figuur 15: Overzicht aanvragen (2)
Onder ‘acties’ kan er gecommuniceerd worden met de aanvrager.
Figuur 16: Communicatie
Programma’s Bij ‘programma’s’ kunnen de beschikbare applicaties ingesteld worden of tijdelijk inactief gezet worden.
Figuur 17: Beheer programma's
Dominick Deman - AZ Sint-Jan A.V.
Analyse
24
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
Overzicht externen Bij het klikken op ‘extern’ wordt er een lijst weergegeven van alle externe personen aanwezig in de database.
Figuur 18: Beheer externe personen
Instellingen Bij ‘instellingen’ kunnen de gegevens van de beschikbare instellingen (scholen, bedrijven…) gewijzigd worden.
Figuur 19: Beheer instellingen
Configuratie ‘Configuratie’ bevat de nodige instellingen met betrekking tot het automatisch mailen.
Analyse
25
Dominick Deman - AZ Sint-Jan A.V.
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
Figuur 20: Beheer configuratie
Onder ‘parameters’ kan er ingesteld worden hoe de aanvraaglijsten standaard moeten gefilterd worden.
Parameters
Figuur 21: Beheer parameters
Analyse
26
Dominick Deman - AZ Sint-Jan A.V.
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
Logging Als laatste is er een functie om de logs op te vragen. Deze bevat alle acties en kan gefilterd worden op datum, op gebruiker en op module.
Figuur 22: beheer logging - filter
Figuur 23: Beheer logging
Analyse
27
Dominick Deman - AZ Sint-Jan A.V.
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
2.2.3.3. Beperkingen
Het hierboven beschreven programma werd niet goed genoeg bevonden. Hieronder volgt een overzicht van de beperkingen en tekortkomingen van het programma, waarmee ik uiteraard rekening moest mee houden voor mijn project. Iedereen kan een aanvraag doen voor iedereen, maar er is niemand (buiten de dienst informatica zelf) die dit moet goedkeuren, wat in de oude formulieren wel het geval was. Het aanduiden van programma’s is niet overzichtelijk. Het is eveneens omslachtig om een nieuw programma toe te voegen of om een bestaand programma te wijzigen. Er kan enkel gezocht worden op personeelsnummer, maar de chef weet dit uiteraard niet uit zijn of haar hoofd. De algemene structuur van het programma is niet intuïtief. Er is geen duidelijke scheiding tussen beheer en gebruikersfuncties (indien een beheerder is aangemeld). De gebruiksvriendelijkheid kan beter. Er moet rekening gehouden worden dat iedereen, dus ook computerleken, een aanvraag moeten kunnen versturen. Omwille van bovenstaande redenen, werd besloten het programma volledig te herschrijven. Er is dus niet voortgebouwd op deze webapplicatie.
Analyse
28
Dominick Deman - AZ Sint-Jan A.V.
29
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
2.3.
Voorstel tot optimalisatie
2.3.1. Korte Beschrijving Wanneer de huidige situatie geanalyseerd wordt, komen heel wat zaken naar boven die geoptimaliseerd kunnen worden. In het ziekenhuis werken ongeveer 3000 personeelsleden. Dat aantal zal met de fusie nog toenemen. Daardoor wordt het steeds moeilijker om aanvragen te zoeken en is de status van elke aanvraag moeilijk te overzien. Dit is de hoofdreden van de digitalisering. De aanvraag wordt gedaan op papier. Dit zorgt ervoor dat het wel eens gebeurt dat foutieve gegevens worden ingegeven, wat later kan zorgen voor verwarring. Daarom is het vanzelfsprekend dat de aanvraag beter digitaal kan gebeuren. Een extra mogelijkheid hierbij is dat de gegevens van artsen en personeelsleden rechtstreeks uit een databank kunnen gehaald worden aan de hand van het personeelsnummer/OG-nummer. Om alle mogelijkheden open te laten dient de applicatie voor iedereen toegankelijk te zijn. Iedereen kan een aanvraag doen voor gelijk wie. Het is aan de chef om dit dan te beoordelen. Een chef dient ook rechtstreeks een aanvraag te kunnen versturen voor personeelsleden waar hij/zij chef van is. Het systeem van het ondertekenen door de rechtstreekse chef kan ook geautomatiseerd worden. Wanneer een aanvraag wordt gedaan, wordt de chef automatisch via e-mail op de hoogte gebracht en kan hij zich aanmelden op de webapplicatie om de verschillende onderdelen goed te keuren. Ook in de effectieve verwerking kan een en ander geautomatiseerd worden. Zo zou het mogelijk moeten zijn om de persoonsgegevens automatisch in PMC in te vullen, zodat deze niet opnieuw dienen overgetypt of gekopieerd te worden. Momenteel is er niet echt een gestructureerd overzicht van de programma’s waartoe een gebruiker rechten heeft. Daarom dient de chef een lijst op te vragen van de rechten van een bepaalde gebruiker. Deze functie moet eveneens beschikbaar zijn voor de beheerders.
Analyse
Een belangrijk doel van de applicatie is het vermijden van helpdesk-calls m.b.t. login aanvragen. Daarom dient een communicatiesysteem te worden voorzien tussen de chef en de dienst informatica. Verder moet de chef ook op ieder moment de status van een personeelslid kunnen opvragen.
Dominick Deman - AZ Sint-Jan A.V.
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
2.3.2. Niet-functionele eisen
De website moet geschreven zijn in Microsoft Visual studio 2008 in de programmeertaal ASP/VB.NET. De website moet zeker compatibel zijn met Microsoft Internet Explorer 6 en 7, aangezien deze bijna overal gebruikt worden in het AZ Sint-Jan. Ook de ondersteuning van firefox is niet overbodig, aangezien enkele mensen van de dienst informatica deze browser prefereren boven Internet Explorer. Javascript moet ingeschakeld zijn bij de gebruiker, aangezien ASP.NET standaard gebruik maakt van Javascript. Verder zullen ook enkele AJAX controls gebruikt worden, die eveneens Javascript vereisen. Omdat de code voor anderen leesbaar zou zijn, moet er gebruik gemaakt worden van objectgeoriënteerde technieken. Een scheiding tussen interface, functionaliteit en data opslag is een vereiste. De lay-out moet overeenstemmen met deze van de huidige internetsite.
Analyse
30
Dominick Deman - AZ Sint-Jan A.V.
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
2.3.3. Functionele eisen (MoSCoW)
Onderstaande tabel bevat een overzicht van de functionele vereisten. De prioriteiten zijn gesteld a.d.h.v. de MoSCoW-methode. Aangezien uiteindelijk alle Must en Should functionaliteiten aanwezig zijn, kan het project als geslaagd bestempeld worden. Functie AANVRAGEN Het aanvragen van een nieuwe login via intranet Het aanvragen van een wijziging met betrekking tot de rechten van een login via intranet Het automatisch opvragen van de gegevens van artsen en personeelsleden Het toevoegen van externe personen gekoppeld aan hun instelling De gedragscode bekijken en goedkeuren door de aanvrager Het diensthoofd automatisch mailen De aanvragen goedkeuren Communicatie versturen Aanvraag wegschrijven voor koppeling met PMC BEHEER Een lijst van nieuwe aanvragen bekijken Een lijst van oude aanvragen bekijken De lijsten filteren op type, status Een aanvraag opzoeken De beschikbare programma’s beheren De standaardprogramma’s instellen De configuratie wijzigen De logs bekijken Automatisch wachtwoorden genereren Automatisch gebruikers aanmaken voor de verschillende programma’s. Wachtwoord voor gebruiker automatisch afdrukken
Must
Should Could Won’t
X X X X X X X X X X X X X X X X X X X X
Analyse
31
Dominick Deman - AZ Sint-Jan A.V.
32
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
2.4.
Use cases
2.4.1. Use-case diagram
Figuur 24: use case diagram 1
Analyse
Figuur 25: use case diagram 2
Dominick Deman - AZ Sint-Jan A.V.
33
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
2.4.1.1. Use case: Aanvraag toevoegen Naam Korte beschrijving Actoren Uitvoeringsfrequentie Schaalbaarheid Kritikaliteit Primaire pad
Alternatieven
Gegevensvereisten
Formulier invullen Een gebruiker die zijn login wil wijzigen of aanmaken moet dit aanvragen via intranet. Daarvoor dient hij een formulier in te vullen. Aanvrager, website, gebruiker (de persoon voor wie de aanvraag is) Een tiental keer per dag Zeer laag Niet hoog, het systeem mag gerust een dag stilliggen zonder grote gevolgen. 1. De aanvrager klikt op een nieuwe aanvraag maken of aanvraag wijzigen. 2. De aanvrager selecteert of de gebruiker een personeelslid, geneesheer of extern persoon is. 3. De aanvrager zoekt de gebruiker op a.d.h.v. personeelsnummer of naam. 4. De aanvrager vinkt de nodige programma’s aan. Andere velden kunnen eventueel ook ingevuld worden. 5. De gebruiker klikt op volgende 6. De gebruiker bevestigt de aanvraag 7. De website verstuurt een mail naar de rechtstreekse chef van de gebruiker 3.1. Indien de aanvrager een extern persoon is, vult deze de nodige persoonsgegevens in. 4.1. Bij wijziging moet ook een reden opgegeven worden 6.1. Wanneer verplicht veld niet ingevuld is, wordt een foutmelding gegeven 7.1. De gebruiker keert terug om zijn aanvraag aan te passen Lijst van de diensten Lijst van functies Lijst van programma’s Informatie van een arts/personeelslid Lijst van instellingen
Naam Korte beschrijving Actoren Uitvoeringsfrequentie Schaalbaarheid Kritikaliteit Primaire pad
Alternatieven
Aanvraag goedkeuren De chef van een aanvrager moet elke aanvraag goedkeuren Chef Een tiental keer per dag Zeer laag Matig, zonder goedkeuring mag de login niet aangemaakt worden 1. De chef krijgt een email wanneer er een aanvraag is verzonden 2. De chef klikt op de link die in de mail gegeven is 3. De chef keurt de aanvraag goed 3.1. De chef keurt de aanvraag af en verwittigt de aanvrager hiervan
Dominick Deman - AZ Sint-Jan A.V.
Analyse
2.4.2. Use case: Aanvraag goedkeuren
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
2.4.2.1. Use case: Communicatie lezen Naam Korte beschrijving Actoren Uitvoeringsfrequentie Schaalbaarheid Kritikaliteit Primaire pad Gegevensvereisten
Communicatie lezen De applicatiebeheerders hebben zich vragen gesteld bij een goedgekeurde aanvraag. De chef moet dit bericht lezen en beantwoorden Chef Een tiental keer per dag Zeer laag Laag 1. De chef krijgt een email wanneer een vraag verzonden is 2. De chef klikt op de link die in de mail gegeven is 3. De chef beantwoort de vraag Overzicht van de communicatie rond een bepaalde aanvraag
2.4.2.2. Use case: statussen wijzigen
Naam Korte beschrijving Actoren Uitvoeringsfrequentie Schaalbaarheid Kritikaliteit Primaire pad
Gegevensvereisten
Statussen wijzigen Het wijzigen van de status van een verwerking van een bepaalde aanvraag Applicatiebeheerder, Een tiental keer per dag Zeer laag Laag 1. De applicatiebeheerder vraagt een lijst van aanvragen op 2. De applicatiebeheerder selecteert een aanvraag en verandert de status van de verschillende programma’s. De hoofdstatus wordt automatisch veranderd. Gegevens van een aanvraag
Analyse
34
Dominick Deman - AZ Sint-Jan A.V.
35
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
3. Ontwerp 3.1.
Datamodel
3.1.1. Bestaande databases Het programma bevat niet enkel een eigen databank, het haalt ook persoonsgegevens op uit twee databanken. 3.1.1.1. Personeelsinformatie Personeelsdata kan teruggevonden worden in de BRUPERS database. De nodige data wordt verkregen door een view. De view levert de gegevens als volgt aan: Veldnaam PERS_nr Fam_naam Voor_naam Plaats_nr Plaats_omschr FU_CODE TITEL EIND_DAT BEGIN_DAT
Beschrijving Personeelsnummer Familienaam Voornaam Dienstid Omschrijving van de dienst Functieid Functienaam Begindatum van de functie Einddatum van de functie
Type Smallint Varchar(36) Varchar(20) Smallint Varchar(60) Int Varchar(45) Datetime Datetime
Verplicht Nee Nee Nee Nee Nee Nee Nee Nee Nee
3.1.1.2. Informatie over diensten voor personeelsleden Een lijst van diensten waar personeelsleden werken kunnen teruggevonden worden in de ‘plaats’ tabel. Veldnaam PLAATS_NR PLAATS_OMSCHR PL_EIND_DAT PL_NIV1-NIV6
Beschrijving Id van de plaats Omschrijving van de plaats Einddatum van het afsluiten van de dienst Nummer van een root op een bepaald niveau
Type Smallint Varchar(60) Datetime smallint
Verplicht Nee Nee Nee Nee
3.1.1.3. Informatie over van functies van personeelsleden
Veldnaam FU_CODE BEGIN_DAT
Beschrijving Id van de functie Begindatum van de functie
Dominick Deman - AZ Sint-Jan A.V.
Type Int Datetime
Verplicht Nee Nee
Ontwerp
Een lijst van functies voor personeelsleden kunnen teruggevonden worden in de tabel ‘functie’.
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
EIND_DAT TITEL
Einddatum van de functie Functienaam
Datetime Nee Varchar(45) Nee
3.1.1.4. Artsinformatie
De database van artsen heet ‘Prs000’. De tabel ‘tab_dokters’ ziet er als volgt uit (enkel de bruikbare velden): Veldnaam Nr_dok Dat_begin Dat_einde Vnaam_dok Fnaam_naam Aanspreektitel
Beschrijving Rizivnummer van de arts Begindatum van de arts Einddatum van de arts Voornaam van de dokter Familienaam van de dokter Aanspreektitel van de dokter
Type Varchar(6) Datetime Datetime Varchar(20) Varchar(50) Varchar(50)
Verplicht Ja Nee Nee Nee Nee Nee
3.1.1.5. Informatie over diensten voor artsen In de tabel ‘tab_dok_dienst’ kan er een lijst gevonden worden van de diensten waar artsen kunnen werken. Veldnaam Dienst_id Omschrijving Rowid
Beschrijving Rizivnummer van de arts Omschrijving van de dienst Unieke id van de rijd
Type Smallint Varchar(75) Int
Verplicht Nee Nee Ja
3.1.1.6. Informatie over functies voor artsen De functies voor artsen kunnen teruggevonden worden in de tabel ‘tab_functie’, die er als volgt uitziet.
Veldnaam Code Omschr Rowid
Beschrijving Id van deze tabel Omschrijving van de functie Unieke id van de rij
Type Char(3) Varchar(30) Int
Verplicht Ja Nee Ja
Ontwerp
36
Dominick Deman - AZ Sint-Jan A.V.
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
3.1.2. Databankschema
In de eerste fase van het project werd er in ORM een conceptueel datamodel opgesteld. De mapping naar een eerste databankschema kwam tot stand aan de hand van de tool Microsoft VisioModeler. Tijdens de programmeerfase werden onvolmaaktheden en tekortkomingen vastgesteld en aangepast, waardoor onderstaande databasestructuur werd bekomen.
Figuur 26: databankschema
Dominick Deman - AZ Sint-Jan A.V.
Ontwerp
37
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
3.1.3. Data dictionary
Hieronder volgt een uitgebreide beschrijving van de tabellen en de velden die de databank bevat.
Aanvraag: Deze tabel bevat gegevens over een aanvraag.
Figuur 27: aanvraag tabel
Aanvraagcommunicatie Deze tabel bevat de koppeling tussen een aanvraag en berichten.
Figuur 28: aanvraagcommunicatie tabel
Aanvraagprogramma Deze tabel bevat de koppeling tussen een aanvraag en programma’s.
Figuur 29: aanvraagprogramma tabel
Dominick Deman - AZ Sint-Jan A.V.
Ontwerp
38
39
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
Aanvraagstandaardsharestatus Deze tabel houdt de shares, samen met hun status, van een aanvraag bij. Deze tabel wordt niet gebruikt in het programma, maar is voorzien voor extra functionaliteit in de toekomst.
Figuur 30: aanvraagstandaardsharestatus tabel
Aanvraagstatus Deze tabel houdt de globale status van een aanvraag bij. Er wordt eveneens opgeslagen wie en wanneer de status veranderde.
Figuur 31: aanvraagstatus tabel
Adres Deze tabel houdt adresgegevens van een persoon of een instelling bij.
Figuur 32: adres tabel
Dienst_chef
Figuur 33: dienst_chef
Dominick Deman - AZ Sint-Jan A.V.
Ontwerp
Deze tabel houdt de chef van een bepaalde dienst bij. Het dienst_id bevat id’s uit de personeelsdatabank.
40
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
Communicatie Deze tabel houdt alle informatie van een bericht bij
Figuur 34: communicatie tabel
Dienst_share_functie Deze tabel bevat de standaardshares van een bepaalde functie van een dienst. Deze tabel is voorzien voor extra functionaliteit.
Figuur 35: dienst_share_functie tabel
Domeinnaam Deze tabel bevat een lijst van domeinnamen die kunnen gekozen worden bij het toevoegen van een chef.
Figuur 36: domeinnaam tabel
Functie
Figuur 37: functie tabel
Dominick Deman - AZ Sint-Jan A.V.
Ontwerp
Deze tabel bevat de verschillende functies.
41
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
Errlog Deze tabel bevat de informatie rond de opgevangen excepties.
Figuur 38: errlog tabel
Gemeente Deze tabel bevat een lijst van gemeentes en hun postcode van België.
Figuur 39: gemeente tabel
Instelling Deze tabel bevat alle info over een instelling.
Ontwerp
Figuur 40: instelling tabel
Dominick Deman - AZ Sint-Jan A.V.
42
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
Instellingstype Deze tabel bevat de verschillende types instellingen.
Figuur 41: instellingstype tabel
Logging Deze tabel bevat een lijst van acties, zoals het wijzigen van de instellingen.
Figuur 42: logging tabel
Persoon
Figuur 43: persoon tabel
Dominick Deman - AZ Sint-Jan A.V.
Ontwerp
Deze tabel bevat de gegevens van de gebruiker van de aanvraag.
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
Persoon_rechten Deze tabel bevat de programma’s waartoe een personeelslid toegang gekregen heeft.
Figuur 44: persoon_rechten tabel
Persoontype Deze tabel bevat een lijst van de verschillende types personen waarvoor een aanvraag kan gedaan worden (bijvoorbeeld: Personeel, Arts, Stagiair)
Figuur 45: persoontype tabel
Pmcinfo Deze tabel bevat de persoonsgegevens die nodig zijn voor het aanmaken van een nieuwe gebruiker in de AD. Het aanmaken ervan gebeurt in een eigen geprogrammeerde tool: PMC (zie terug).
Figuur 46: pmcinfo tabel
Ontwerp
43
Dominick Deman - AZ Sint-Jan A.V.
44
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
Programma Deze tabel bevat de boomstructuur van de programma’s die kunnen aangevraagd worden.
Figuur 47: programma tabel
Reden Deze tabel bevat de verschillende redenen voor het wijzigen van een aanvraag.
Figuur 48: reden tabel
Share Deze tabel bevat alle shares met hun eigenaar. Deze tabel is voorzien om later extra functionaliteit toe te voegen.
Figuur 49: share tabel
Standaardprogramma
Figuur 50: standaardprogramma tabel
Dominick Deman - AZ Sint-Jan A.V.
Ontwerp
Deze tabel bevat per dienst en per type een standaardprogramma. Deze tabel wordt voorlopig nog niet gebruikt.
45
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
Status Deze tabel bevat een lijst van statussen die een aanvraag kan krijgen (zie verder).
Figuur 51: status tabel
Wijziginginfo Deze tabel bevat extra informatie die nodig is indien een gebruiker een aanvraag doet voor het wijzigen van toegangsrechten.
Ontwerp
Figuur 52: wijziginginfo tabel
Dominick Deman - AZ Sint-Jan A.V.
46
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
3.2.
Objectgeoriënteerd model
3.2.1. Model - View – Presenter en Adapter
Door gebruik te maken van ASP.NET 2.0 en het .NET framework, is het vrij simpel om design patterns te gebruiken. Onderstaande figuur illustreert welke design patterns er in ASP.NET verweven zijn.
Figuur 53: Design Patterns in ASP.NET
Nieuweaanvraag.aspx
|
Nummer: | * * |
|
Dominick Deman - AZ Sint-Jan A.V.
Ontwerp
Er is dus een strikte scheiding tussen datgene wat de gebruiker te zien krijgt (View) en de acties die de verschillende knoppen uitvoeren (Presenter). Dit wordt geïllustreerd in onderstaand voorbeeld.
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
Zoeken op naam: |
Voornaam: | * |
Naam: | * |
| |
Bovenstaande code is een gedeelte uit Nieuweaanvraag.aspx. De output hiervan wordt weergegeven in onderstaande figuur.
Figuur 54: output Nieuweaanvraag.aspx
Alle .aspx bestanden bevatten dus de view a.d.h.v. ASP en HTML tags. Het adapter pattern wordt door ASP.NET gebruikt om de output van de asp server controls (dit zijn de asp tags) te genereren. Standaard worden adapters zoals WebControlAdapter of DataBoundControlAdapter gebruikt om html te genereren. Aangezien er gebruik gemaakt wordt van het Adapter pattern, kan de programmeur zelf zijn adapters coderen. Ontwerp
47
Dominick Deman - AZ Sint-Jan A.V.
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
In de code behind (.vb of .cs bestanden) is er vervolgens aan elke knop een stuk code gekoppeld, zoals te zien is hieronder. Indien data moeten weggeschreven worden, wordt de databanklaag aangesproken. Indien nodig worden ook objecten uit het Model aangemaakt. Protected Sub verderNrImageButton_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles verderNrImageButton.Click errLabel.Text = "" 'de gegevens van de opgezochte persoon opvullen Dim per As Persoon = vulPersoon(Session("persoontype")) Try If Not Session("logintype") Is Nothing And Session("logintype") = "chef" And Not isChef(per.Dienstnr, Session("email")) Then 'de ingelogde persoon is geen chef van de gebruiker errLabel.Text = "U kunt enkel een aanvraag doen voor personeelsleden op een dienst waar u chef van bent." zoekPersNaamPanel.Visible = False Else 'de vorige panels verbergen zoekPersNaamPanel.Visible = False zoekArtsNaamPanel.Visible = False detailPanel.Visible = True 'de persoonsgegevens opvullen vulGegevens(True) End If Catch ex As Exception Database.GetInstance().createError(ex) End Try End Sub
Onderstaande klassen bevatten de objecten die deel uit maken van het model. Elke klasse bevat de nodige constructors en properties.
Figuur 55: overzicht Model
Ontwerp
48
Dominick Deman - AZ Sint-Jan A.V.
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
3.2.2. Databanklaag
Wanneer er data uit de databank moet gehaald worden, wordt de instantie van de overeenkomstige klasse uit de databanklaag opgehaald m.b.v. het singleton design pattern. Elke klasse uit de databanklaag bevat get, add en update functies. Get-functies halen data uit de databank op en geven vaak een object uit het model terug. Add-functies krijgen meestal een object uit het model mee en schrijven het object weg in de juiste tabel van de databank. Update-functies zorgen ervoor dat de data uit het model overeenstemmen met de data uit het model. De werking wordt onder het volgende hoofdstuk geïllustreerd.
Figuur 56: overzicht Databanklaag
Ontwerp
49
Dominick Deman - AZ Sint-Jan A.V.
50
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
4. Programmatie 4.1.
Ontwikkelomgeving
4.1.1. Visual Studio 2008 Professional
Visual Studio is een programmeerontwikkelomgeving van Microsoft. Het biedt een complete set ontwikkelingstools om in diverse programmeertalen, zoals Visual Basic en C#, o.a. webapplicaties te ontwikkelen.
Figuur 57: javascript in Visual Studio 2008
Programmatie
Een grote verbetering t.o.v. Visual Studio 2005 is de ondersteuning voor het testen en ontwikkelen van webapplicaties die gebruik maken van de AJAX-technologie. In Visual Studio 2008 is het mogelijk om Javascript te debuggen; ook de IntelliSense doet zijn werk tijdens het typen van Javascript code. Daarnaast bevat de nieuwste Visual Studio ook tools voor het gebruik van LINQ (zie kritische reflectie).
Dominick Deman - AZ Sint-Jan A.V.
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
4.1.2. .NET framework 2.0
Het .NET-platform, dat door Microsoft ontwikkeld is om moderne Windows toepassingen te vereenvoudigen, staat bekend onder de naam .NET Framework. Het .NET Framework is een klassenbibliotheek die is toegevoegd aan Visual Studio om het ontwikkelen van Windows applicaties te vereenvoudigen en bestaat uit twee hoofdcomponenten:
Figuur 58: .NET framework
De Common Language Runtime (CLR) Het fundamentele principe van de Common Language Runtime is codebeheer. De CLR regelt onder meer het beheer van de programmacode tijdens de uitvoering ervan door faciliteiten te bieden op gebied van geheugenbeheer, het beheer van threads en het zorgen voor een strikte naleving van typeveiligheid ten behoeve van controle op gegevenstypen van variabelen. Dit heeft tot doel de betrouwbaarheid van de code te vergroten en programmeerfouten te verminderen. De code die door de CLR wordt beheerd staat bekend als managed code, de code die niet wordt beheerd noemt men unmanaged code. De .NET Framework Class Library. De Class Library (klassenbibliotheek) van het .NET Framework is een objectgeoriënteerde bibliotheek, bestaande uit klassen en gegevenstypen die de hulpmiddelen bieden voor het ontwerpen van programma's onder .NET en is nauw verbonden met de CLR.
Programmatie
51
Dominick Deman - AZ Sint-Jan A.V.
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
4.1.3. Visual Basic .NET
De code achter het gerealiseerde project is geschreven in VB.NET. Aangezien we in onze opleiding enkel C# en Java gezien hadden dacht ik aanvankelijk dat deze programmeertaal me wat moeilijkheden zou opleveren, maar na enkele dagen zat VB.NET gelukkig al in de vingers. Visual Studio .NET ondersteunt zowel Visual Basic.NET als C# goed. Op dit moment zijn er meer Visual Basicontwikkelaars, maar men verwacht op termijn meer C#- dan Visual Basic ontwikkelaars. Een vergelijking tussen VB.NET en C# vindt u in de bijlage.
Programmatie
52
Dominick Deman - AZ Sint-Jan A.V.
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
4.1.4. ASP.NET 2.0
ASP.NET is de opvolger van ASP en onderdeel van het .NET Framework van Microsoft. ASP staat voor Active Server Pages en is van oorsprong een Microsoft-technologie. ASP.NET 2.0. dateert van november 2005. Ondertussen zijn versie 3 en versie 3.5 reeds uitgekomen. ASP.NET is een manier om op een webserver webpagina's aan te maken met behulp van een programmacode. Je kunt vaste HTML-code combineren met variabele inhoud die door het programma geproduceerd wordt. Hierdoor kunnen met ASP.NET websites gemaakt worden met een dynamisch karakter. ASP.NET maakt uitgebreid gebruik van zogenaamde controls. Pagina-onderdelen zoals labels, knoppen, keuzelijsten en tekstvakken zijn voorbeelden van controls. De ontwerper stelt een pagina samen door de juiste controls toe te voegen, en van elke control de eigenschappen in te stellen. Controls bevatten de nodige programmacode om zelfstandig de juiste paginacode (in HTML-formaat) te produceren. Verder kunnen controls ook reageren op acties van de gebruiker. Als een gebruiker bijvoorbeeld op een knop klikt, kan code uitgevoerd worden om de juiste acties te ondernemen.
Programmatie
53
Dominick Deman - AZ Sint-Jan A.V.
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
4.1.5. Microsoft SQL Server
Microsoft SQL Server is een relationeel databasebeheersysteem, geproduceerd door Microsoft. MS SQL Server gebruikt een dialect van SQL, T-SQL of Transact-SQL. Dit is een uitbreiding van SQL92, de ISO-standaard voor SQL die in 1992 is vastgelegd. De uitbreidingen in T-SQL bestaan voornamelijk uit extra mogelijkheden voor gebruik in opgeslagen procedures en beïnvloeden de manier waarop transacties worden beschreven. MS SQL Server ondersteunt ook Open Database Connectivity (ODBC).
Programmatie
54
Dominick Deman - AZ Sint-Jan A.V.
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
4.1.6. Microsoft SQL Server Management Studio 2005 Developer Edition
Figuur 59: Sql Server Management Studio 2005
SQL Server Management Studio 2005 is een nieuwe tool in SQL Server 2005 (ter vervanging van Enterprise Manager en Query Analyzer in SQL Server 2000). Het bevat een GUI voor toegang, configuratie, beheer en ontwikkeling van alle componenten van SQL Server.
Programmatie
55
Dominick Deman - AZ Sint-Jan A.V.
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
4.1.7. Oboutsuite
Oboutsuite is een pakket dat enkele zeer nuttige en gebruiksvriendelijke AJAX controls aanbiedt. 4.1.7.1. TreeDB control
Onderstaande control laat toe om de data in een boomstructuur zonder page reload te wijzigen, te verplaatsen, te verwijderen en toe te voegen. Deze control wordt gebruikt voor het beheren van de programma’s die kunnen aangevraagd worden.
Figuur 60: TreeDB control
4.1.7.2. Data Grid view
Deze control staat toe data automatisch te sorteren, te groeperen en te filteren via javascript. Deze control werd gebruikt voor het weergeven van de lijsten van de aanvragen.
Figuur 61: Data Grid view
Dominick Deman - AZ Sint-Jan A.V.
Programmatie
56
57
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
4.2.
Applicatiestructuur
4.2.1. Overzicht
De applicatie kan gebruikt worden door drie groepen gebruikers. Als eerste zijn er de niet aangemelde gebruikers. Deze groep gebruikers kan een aanvraag doen. Vervolgens zijn er de chefs die toegang hebben tot de aanvragen en berichten die voor hun van belang zijn. Ze kunnen ook een overzicht opvragen van het personeel en de diensten waarvoor ze verantwoordelijk zijn. Om toegang te krijgen dienen ze zich aan te melden.
Figuur 62: overzicht applicatiestructuur
Dominick Deman - AZ Sint-Jan A.V.
Programmatie
Tot slot zijn er de beheerders. Na het aanmelden kunnen ze aanvragen verwerken en allerlei instellingen wijzigen.
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
Hieronder een overzicht van de .aspx (View) pagina’s en hun inhoud. Alle pagina’s zijn een onderdeel van de masterpage. Elk .aspx bestand heeft een onderliggend .vb bestand, waarin de code te vinden is. Bestandsnaam Default.aspx
Functie De startpagina van waaruit de gebruiker zich kan aanmelden of een aanvraag doen. NieuweAanvraag.aspx De wizard die de gebruiker doorheen het aanvraagproces loodst . NieuwExtern.aspx De persoonsgegevens van een niet personeelslid ingeven. BewerkExtern.aspx De persoonsgegevens van een niet personeelslid aanpassen. NieuweInstelling.aspx Een nieuwe instellingen aanmaken. Berichten.aspx Een overzicht bekijken van de berichten. Bericht.aspx Een nieuw bericht versturen. Aanvragen.aspx Een lijst van aanvragen bekijken. Aanvraag.aspx Een aanvraag bekijken en bewerken. MijnPersoneel.aspx De rechten van personeelsleden waar de gebruiker chef van is opvragen. MijnDiensten.aspx De diensten waar de gebruiker chef van is opvragen. BewerkInstelling.aspx De gegevens van een instelling bewerken. Instellingen.aspx De instellingen waaraan niet personeelsleden kunnen gekoppeld worden opvragen. Logs.aspx De logs opvragen Programmabeheer.aspx Programma’s toevoegen, wijzigen en inactiveren Rechten.aspx De rechten van alle personeelsleden opvragen
Figuur 63: overzicht bestanden
Dominick Deman - AZ Sint-Jan A.V.
Zichtbaar voor Iedereen Gebruiker, chef Gebruiker, chef Gebruiker, chef Iedereen Chef, beheer Chef, beheer Chef, beheer Chef, beheer Chef Chef Beheer Beheer Beheer Beheer Beheer
Programmatie
58
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
Bovenstaande mappen zijn eigen aan asp.net. De map App_code bevat de klassen van het model en de databanklaag. De App_themes map bevat de verschillende afbeeldingen en iconen die op de verschillende pagina’s worden weergegeven. Verder is er een css bestand die alle layout op zich neemt. De bin map bevat alle geïmporteerde dll’s (Dynamically Linked Library). Hieronder een overzicht van alle bestanden. Bestandsnaam AanvraagDB.vb ArtsDB.vb CommunicatieDB.vb ErrorDB.vb Mail.vb PersoneelDB.vb Interop.ActiveDS.dll Obout_ASPTreeview_2_NET.dll Obout_Calendar2_Net.dll Obout_Grid_Net_dll Obout_Tree_DB_Net.dll
Security.dll
Functie Deze klasse bevat alle databankfuncties in verband met een aanvraag. Deze klasse bevat alle databankfuncties voor het ophalen van gegevens van artsen. Deze klasse bevat alle databankfuncties in verband met communicatie tussen de dienst informatica en de chef. Deze klasse bevat functies voor het wegschrijven van een fout in de databank. Deze klasse bevat functies die een mail verzenden. Deze klasse bevat alle databankfuncties voor het ophalen van gegevens voor personeelsleden. Deze library bevat functies voor het ophalen van gegevens uit de Active Directory. Deze dll is een onderdeel van Oboutsuite. Het bevat een API voor het aanmaken van een treeview met AJAX functionaliteit. Deze dll is een onderdeel van Oboutsuite. Het bevat een API voor het aanmaken van een AJAX kalender. Deze dll is een onderdeel van Oboutsuite. Het bevat een API voor het aanmaken en manipuleren van een AJAX gridview. Deze dll is een onderdeel van Oboutsuite. Het bevat een API voor het aanmaken van een treeview die data uit een databank haalt met AJAX functionaliteit. Deze dll bevat encryptie en decryptiemethodes die gebruikt zijn voor het doorgeven van id’s via de url.
Programmatie
59
Dominick Deman - AZ Sint-Jan A.V.
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
4.2.2. Communicatie met de databank
Onderstaand voorbeeld illustreert het systeem dat gebruikt wordt om data uit de databank op te halen. Wanneer er met de databank moet gecommuniceerd worden, wordt de instantie van de klasse aangesproken. In dit geval is dit de AanvraagDB-klasse. AanvraagDB.GetInstance().getWijzigRedenByID(wijziginfo.RedenID)
In alle klassen uit de databanklaag wordt onderstaande structuur gehanteerd. Eerst wordt de query ingesteld. Eventueel worden parameters toegevoegd. Hierdoor wordt SQL-injectie vermeden. Vervolgens worden de data opgehaald door gebruik te maken van een methode uit de Databaseklasse. Hier wordt eveneens gebruik gemaakt van het singleton pattern. Er dienen twee parameters te worden meegegeven. De eerste parameter bevat een nummer dat overeenkomt met de databank. De tweede parameter bevat het SqlCommand. AanvraagDB.vb ''' <summary> ''' haalt de naam op van een reden door een gegeven id ''' ''' <param name="redenid">id van de reden Public Function GetWijzigRedenByID(ByVal redenid As Integer) As String command = New SqlCommand("select omschrijving from reden where reden_id = @redenid") command.Parameters.Add("@redenid", SqlDbType.Int).Value = redenid Dim datar As SqlDataReader = Database.GetInstance().getData(3, command) Try If datar.Read() Then Return datar("omschrijving") End If Catch ex As Exception command.Connection.Close() Database.GetInstance().createError(ex) Finally command.Connection.Close() End Try Return Nothing End Function
Aangezien voor het aanspreken van de Database-klasse gebruik gemaakt wordt van het singelton design pattern, wordt maar één instantie van de klasse aangemaakt. Wanneer de klasse voor het eerst geladen wordt, worden de connectionstrings uit het web.config bestand gehaald. De klasse bevat naast onderstaande functies ook nog functies voor het toevoegen van data. Zo is er een functie (AddDataWithID) die het id van de ingevoegde rij teruggeeft. Database.vb … Private Sub New() For i As Integer = 0 To ConfigurationManager.ConnectionStrings.Count - 1 connlist.Add(New SqlConnection(ConfigurationManager.ConnectionStrings(i).ConnectionString)) Next connlist.Add(conn) End Sub ''' <summary> ''' ophalen van de unieke instantie van de database ''' Public Shared Function GetInstance() As Database If instance Is Nothing Then instance = New Database() End If
Dominick Deman - AZ Sint-Jan A.V.
Programmatie
60
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
Return instance End Function … ''' <summary> ''' haalt data op ''' ''' <param name="connid"> ''' 1.dbbrupers ''' 2.dbarts ''' 3.dbaanvraag ''' ''' <param name="command">sqlcommando Public Function GetData(ByVal connid As Integer, ByVal command As SqlCommand) As SqlDataReader Try command.Connection = connlist(connid) command.Connection.Open() Return command.ExecuteReader() Catch ex As Exception createError(ex) command.Connection.Close() Return Nothing End Try End Function
Programmatie
61
Dominick Deman - AZ Sint-Jan A.V.
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
4.2.3. Communicatie met Active Directory
Controle of een gebruiker in een bepaalde groep zit Onderstaand codevoorbeeld controleert of een gebruiker behoort tot de groep GL_informatica. Private Function IsMemberOfInformatica(ByVal username As String, ByVal password As String) As Boolean 'kijken of deze gebruiker een gebruiker is van de groep GL_informatica Dim entry As New DirectoryEntry("LDAP://BRUSTJAN", "BRUSTJAN\" + username, password) Dim obj As Object = entry.NativeObject Dim Dsearch As DirectoryServices.DirectorySearcher = New DirectoryServices.DirectorySearcher(entry) Dsearch.Filter = "(SAMAccountName=" & username & ")" Dsearch.PropertiesToLoad.Add("SAMAccountName") Dsearch.PropertiesToLoad.Add("memberof") Dim userinfo As SearchResult = Nothing Dim gevonden As Boolean = False Try userinfo = Dsearch.FindOne() If (userinfo.Properties.Contains("memberof")) Then Dim s As String For Each s In userinfo.Properties("memberof") If s.Contains("CN=GL_INFORMATICA") Then gevonden = True End If Next End If Return gevonden Catch ex As Exception Return False End Try End Function
Gegevens van gebruikers opvragen Onderstaand codevoorbeeld haalt de voornaam en de familienaam op. Private Function GetFullNameLoggedOnUser(ByVal username As String, ByVal password As String) As String Dim entry As New DirectoryEntry("LDAP://BRUSTJAN", "BRUSTJAN\" + username, password) Dim obj As Object = entry.NativeObject Dim search As DirectoryServices.DirectorySearcher = New DirectoryServices.DirectorySearcher(entry) search.Filter = "(SAMAccountName=" & username & ")" search.PropertiesToLoad.Add("SAMAccountName") search.PropertiesToLoad.Add("givenname") search.PropertiesToLoad.Add("sn") Try Dim result As DirectoryServices.SearchResult = search.FindOne() Dim fullName As String = result.Properties("givenname")(0).ToString() + " " + result.Properties("sn")(0).ToString() Return fullName Catch ex As Exception Database.GetInstance().createError(ex) Return "" End Try End Function Private Function getProperty(ByVal searchResult As SearchResult, ByVal PropertyName As String) As String 'ophalen van een bepaalde property uit de active directory If (searchResult.Properties.Contains(PropertyName)) Then Return searchResult.Properties(PropertyName)(0).ToString Else Return "" End If End Function
Dominick Deman - AZ Sint-Jan A.V.
Programmatie
62
63
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
4.3.
Testen
Tijdens de programmeerfase werd na iedere nieuwe functionaliteit een scenario doorlopen en gecontroleerd of dit het gewenste resultaat opleverde. Omdat de lay-out en gebruiksvriendelijkheid belangrijke factoren waren in dit project, werd geen gebruik gemaakt van Unit testen. Halfweg mijn stage werd besloten om een eerste versie van de webapplicatie in te zetten. Uiteraard werd het volledige proces door de beheerders op voorhand grondig getest a.d.h.v. oude aanvraagformulieren. Het aantal helpdesk oproepen in verband met dit project, viel goed mee. De belangrijkste bug was dat de gegevens van enkele personen niet volledig waren in de databank, waardoor deze geen aanvraag konden doen. Verder kon er ook geen aanvraag gedaan worden voor algemene accounts (een account die door verschillende mensen wordt gebruikt, bvb. ve100 voor alle verpleegkundigen van verpleeg eenheid 100) . In de laatste versie werden deze functionaliteiten toegevoegd. Enkele oproepen hadden ook verband met de gebruiksvriendelijkheid. Daardoor werden er in de laatste versie nog meer icoontjes toegevoegd.
Programmatie
In die maand werd het programma dus grondig getest zowel door gebruikers, chefs als beheerders. Op de laatste dag van mijn stage waren al meer dan honderd aanvragen succesvol verwerkt.
Dominick Deman - AZ Sint-Jan A.V.
64
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
4.4.
Inzetten
Voor het bekendmaken van het inzetten van de applicatie werden enkele maatregelen genomen. Er werd een mail gestuurd naar de chefs, met de nodige uitleg over hoe ze een aanvraag moeten goedkeuren. De link waar vroeger de aanvraagformulieren stonden werd vervangen door de link naar de webapplicatie. Er kwam een bericht op de startpagina van de intranetwebsite. Deze is eveneens de startpagina van elke browser in het AZ Sint-Jan.
Configuratie webserver (IIS 6) De IIS website werd geconfigureerd met de standaard instellingen. Het project kreeg de naam ‘Aanvraaglogin’. Er was echter één belangrijke instelling die op de webserver diende veranderd te worden nl. het afzetten van de anonieme toegang. Deze instelling zorgt ervoor dat de gebruikersnaam van de gebruiker die aangemeld is op het domein doorgegeven wordt, zodat deze kan gelogd worden.
Verder werd voor deze applicatie ook een aparte application pool ingesteld. Dit zorgt ervoor dat bij problemen niet de gehele webserver dient herstart te worden, maar enkel deze applicatie. Standaard zitten alle webapplicaties in één application pool. Bij het herstarten worden alle sessievariabelen gewist waardoor de gebruiker zich opnieuw dient aan te melden. Het configureren van een aparte application pool was dus zeer belangrijk, aangezien er verschillende belangrijke webapplicaties op de server actief zijn.
Dominick Deman - AZ Sint-Jan A.V.
Programmatie
Figuur 64: IIS anonieme toegang
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
Load balacing Load balancing is een techniek bij computernetwerken om het werk te verdelen tussen verschillende computers. Op deze manier kunnen resources optimaal gebruikt worden en de nodige verwerktijd verminderd. De webapplicatie ‘Aanvraaglogin’ werd op twee nodes geinstalleerd en geconfigureerd.
Figuur 65: load balacing
Load balancing biedt enkele voordelen: Indien de applicatie, verwacht of onverwacht, meer aanvragen dan gebruikelijk te verwerken krijgt, kan het aantal servers in de cluster gemakkelijk worden uitgebreid zonder dat er (veel) aanpassingen aan de bestaande servers of webactiviteiten doorgevoerd moeten worden. Bij storing van een server zal de load balancer de aanvragen naar die server tegenhouden en alleen de overige server(s) gebruiken. Bij onderhoud is het mogelijk een enkele server tijdelijk uit het cluster te halen zonder dat de bereikbaarheid van de website of webapplicatie daardoor vermindert.
Programmatie
65
Dominick Deman - AZ Sint-Jan A.V.
66
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
4.5.
Voorstelling webapplicatie
4.5.1. Gebruikersgedeelte
Startpagina Wanneer de gebruiker via de intranet website klikt op ‘nieuwe login of het wijzigen van toegangsrechten aanvragen’, dan verschijnt onderstaand scherm. De gebruiker kan zonder aan te melden een nieuwe login of het wijzigen van toegangsrechten aanvragen. Aan de chefs wordt gevraagd om zich rechts bovenaan aan te melden met hun gebruikersnaam en hun Windows wachtwoord.
Figuur 66: startpagina
Nieuwe login aanvragen
Figuur 67: nieuwe login aanvragen (stap 1: type kiezen)
Dominick Deman - AZ Sint-Jan A.V.
Programmatie
Wanneer de gebruiker bijvoorbeeld kiest voor nieuwe login, dan wordt deze de vraag gesteld voor welk type persoon hij of zij een aanvraag wenst te doen. Iedereen kan dus een aanvraag doen voor gelijk wie.
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
Wanneer de gebruiker een keuze gemaakt heeft, dient deze de gebruiker te zoeken. Wanneer er personeel gekozen is, kan er gezocht worden op naam of op personeelsnummer. Bij artsen of GSO’s is dit het OG-nummer.
Figuur 68: nieuwe login aanvragen (stap 2: gebruiker zoeken)
Indien het zoeken op naam meerdere resultaten oplevert, wordt een lijst weergegeven van de resultaten. Deze lijst is beperkt tot twintig resultaten.
Figuur 69: nieuwe login aanvragen (stap 3:gebruiker zoeken)
Programmatie
67
Dominick Deman - AZ Sint-Jan A.V.
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
Bij andere personen kunnen de gegevens niet opgehaald worden uit de databanken, dus daarom moeten de nodige gegevens door de gebruiker ingevuld worden.
Figuur 70: aanvraag voor andere personen
Eenmaal de persoonsgegevens verzameld zijn, (bij personeelsleden, artsen en gso’s worden deze automatisch opgehaald), wordt het digitaal aanvraagformulier afgebeeld. De gebruiker kan onderstaande zaken invullen: Intern telefoonnummer: het telefoonnummer waar de dienst informatica de gebruiker kan bereiken . Toegangsrechten activeren: de gebruiker kan programma’s waartoe iemand toegang moet krijgen aanvinken. Gedeelde mappen: hier kan de gebruiker een lijst ingeven van gedeelde mappen die de aanvraag moet bevatten Bijkomende postbussen: wanneer de gebruiker lid moet zijn van bepaalde distributiegroepen, dan dient dit hier vermeld te worden. Opmerkingen: de gebruiker kan extra uitleg of extra zaken vermelden bij opmerkingen.
Programmatie
68
Dominick Deman - AZ Sint-Jan A.V.
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
Figuur 71: nieuwe aanvraag (stap 3: aanvraagformulier)
Wanneer de gebruiker alle nodige informatie heeft ingevuld, dan klikt hij of zij op de ‘verder’ knop. Vervolgens wordt een overzicht van de aanvraag weergegeven. De gebruiker kan deze nu verzenden of door op ‘terug’ te klikken kan hij of zij nog aanpassingen maken aan de aanvraag. Programmatie
69
Dominick Deman - AZ Sint-Jan A.V.
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
Figuur 72: nieuwe login aanvragen (stap 4: overzicht)
Wanneer de aanvraag succesvol is verzonden, wordt onderstaand bericht weergegeven. De gebruiker leest dat de aanvraag dient bevestigd te worden door de chef van de gebruiker. Voor het contacteren van de juiste chef wordt er gekeken naar de dienst van de gebruiker. Per dienst is een e-mailadres van een chef ingesteld. De chef krijgt op dat moment een e-mail met de vraag om de aanvraag te beoordelen.
Figuur 73: nieuwe login aanvragen (stap 5: verzonden)
Wanneer de gebruiker wijzigingen aanvraagt, wordt een ander aanvraagformulier weergegeven bij stap 3. De huidige gebruikersnaam wordt automatisch aan de hand van de AD opgehaald. Vervolgens dient de gebruiker de reden aan te duiden. Er zijn 4 redenen voor het wijzigen van toegangsrechten: Wijzigen van dienst: de gebruiker heeft extra of andere programma’s nodig omdat hij of zij op een andere dienst werkt. De gebruiker dient de oude dienst en de begindatum in te vullen. De nieuwe dienst is standaard ingesteld op de dienst waaraan de gebruiker in de databank gekoppeld is. Wijzigen van functie: de gebruiker heeft een andere functie gekregen en heeft daarom andere toegangsrechten nodig. De gebruiker heeft de mogelijkheid om twee velden in te vullen: de nieuwe functie en extra opmerkingen. Andere programma’s nodig: wanneer de gebruiker andere programma’s nodig heeft, zonder dat één van de bovenstaande redenen van toepassing is. De gebruiker krijgt een veld voorgeschoteld waarin hij meer info kan geven omtrent de juiste reden. Andere: hier kunnen andere redenen opgegeven worden. Eenmaal de reden is aangeduid, krijgt de gebruiker een overzicht van de programma’s waartoe de gekozen persoon geen toegang heeft en de programma’s waartoe de persoon wel toegang heeft.
Dominick Deman - AZ Sint-Jan A.V.
Programmatie
70
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
Figuur 74: wijziging aanvragen
Programmatie
71
Dominick Deman - AZ Sint-Jan A.V.
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
4.5.2. Chefgedeelte
Startpagina Een chef komt meestal op de webapplicatie terecht via e-mail. Daarin wordt gevraagd om zich aan te melden op de website. Om te verifiëren dat de gebruiker een chef is, wordt aan de hand van de ingegeven gebruikersnaam en wachtwoord in de AD gezocht naar het e-mailadres. Deze wordt vervolgens vergeleken met het e-mailadres dat geregistreerd is in de dienst_chef tabel. Wanneer een chef zich correct aanmeldt, komt hij op onderstaand scherm terecht. Op deze startpagina wordt de chef gewaarschuwd indien er nog aanvragen zijn die dienen goedgekeurd te worden of berichten die nog beantwoord dienen te worden.
Figuur 75: startpagina voor chefs
De menustructuur voor de chef ziet er als volgt uit: Aanvragen o Aanvragen goedkeuren: een overzicht van de aanvragen die nog moeten goedgekeurd worden. o Openstaande aanvragen: een overzicht van de aanvragen die goedgekeurd zijn, maar die nog niet afgewerkt zijn door de dienst informatica. o Afgehandelde aanvragen: een overzicht van de aanvragen die verwerkt zijn door de dienst informatica.
Dominick Deman - AZ Sint-Jan A.V.
Programmatie
72
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
Berichten: een overzicht van de berichten van aanvragen die nog niet afgewerkt zijn. De berichten van afgehandelde aanvragen worden automatisch uit de lijst gefilterd. Nieuwe login aanvragen: hier kan de chef rechtstreeks een aanvraag doen voor een personeelslid waar hij of zij chef van is. Deze aanvraag moet dan uiteraard niet meer goedgekeurd worden. Wijziging aanvragen: hier kan de chef rechtstreeks een wijziging aanvragen, maar enkel voor personeelsleden van diensten waar hij of zij chef van is. Mijn diensten: een overzicht van de diensten waarvoor de aangemelde persoon chef van is. De chef heeft eveneens de mogelijkheid om eventuele fouten te melden. Mijn personeel: overzicht van de personeelsleden van de dienst waar hij of zij chef van is. Er kan doorgeklikt worden om de rechten van een bepaalde persoon op te vragen.
Aanvragen goedkeuren Wanneer de chef via de startpagina of via het menu geklikt heeft op ‘aanvragen goedkeuren’, dan komt hij of zij op onderstaand scherm terecht. Er wordt een overzicht gegeven van de aanvragen die door de aangemelde persoon dienen goedgekeurd te worden.
Figuur 76: overzicht aanvragen goedkeuren
Wanneer de chef op een aanvraag klikt, krijgt hij de persoonsgegevens en de aanvraag te zien. Per onderdeel van de aanvraag kan er goedgekeurd of afgekeurd worden.
Programmatie
73
Dominick Deman - AZ Sint-Jan A.V.
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
Figuur 77: aanvraag goedkeuren
Wanneer de gebruiker onderdelen vergeten is, heeft de chef de mogelijkheid om extra onderdelen aan de aanvraag toe te voegen. De programma’s waartoe de gebruiker reeds toegang heeft kunnen niet aangevinkt worden.
Programmatie
74
Dominick Deman - AZ Sint-Jan A.V.
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
Figuur 78: onderdelen toevoegen
Wanneer de chef deze extra onderdelen bevestigd heeft, worden deze automatisch goedgekeurd.
Figuur 79: onderdelen toegevoegd
Wanneer de chef alle onderdelen heeft beoordeeld, wordt de hoofdstatus gewijzigd. Vanaf dan kan deze aanvraag verwerkt worden. Een overzicht van de statussen kan verder gevonden worden.
Dominick Deman - AZ Sint-Jan A.V.
Programmatie
75
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
Figuur 80: alle onderdelen beoordeeld
Communicatie met de dienst informatica Wanneer bij het verwerken door de dienst informatica nog vragen zijn over een bepaalde aanvraag, kan er vanuit deze applicatie op een eenvoudige manier gecommuniceerd worden. Indien de dienst informatica een bericht gestuurd heeft, wordt de chef hiervan op de hoogte gebracht via e-mail. Vervolgens dient de chef in te loggen. De melding wordt op de startpagina weergegeven.
Figuur 81: startpagina, nieuw bericht
Indien de chef doorklikt op de melding, komt hij of zij op onderstaand scherm terecht.
Figuur 82: overzicht berichten
Dominick Deman - AZ Sint-Jan A.V.
Programmatie
76
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
Nadat de chef klikt op een ongelezen bericht, wordt het bericht getoond. Vervolgens kan de chef op ‘beantwoorden’ klikken. De chef dient enkel het bericht in te vullen en op verzenden te klikken.
Figuur 83: bericht beantwoorden
Mijn diensten Onder ‘Mijn diensten’ krijgt de chef een overzicht van de diensten waar hij of zij chef van is. Er wordt een formulier aangeboden waar chefs foutieve gegevens kunnen melden.
Figuur 84: mijn diensten
Tot slot heeft de chef de mogelijkheid om de rechten van zijn of haar personeelsleden op te vragen. Dit gebeurt via het menu item ‘Mijn personeel’. De chef krijgt een overzicht van alle personeelsleden waarvan hij of zij chef is. De chef heeft ook de mogelijkheid om te zoeken of om te groeperen per dienst.
Dominick Deman - AZ Sint-Jan A.V.
Programmatie
77
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
Mijn personeel
Figuur 85: Mijn personeel
Wanneer de chef op de naam van een personeelslid klikt, wordt een lijst gegeven van alle programma’s. De programma’s waartoe de gebruiker toegang heeft zijn aangevinkt in de lijst. De chef heeft de mogelijkheid om vanuit deze lijst een wijziging aan te vragen.
Figuur 86: rechten opvragen
Programmatie
78
Dominick Deman - AZ Sint-Jan A.V.
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
4.5.3. Beheergedeelte
Startpagina Wanneer iemand van de dienst informatica zich aanmeldt, wordt er, net zoals dit bij de chef het geval is, een overzicht gegeven van de aanvragen die nog actie vereisten. De menustructuur voor beheerders ziet er als volgt uit: Aanvragen: o Met communicatie: een overzicht van de aanvragen waarvoor er communicatie met de chef is o Nieuw: een overzicht van de aanvragen voor nieuwe accounts. De aanvragen met communicatie komen hier niet in voor. o Wijziging: een overzicht van de aanvragen voor het wijzigen van toegangsrechten. o Archief: een overzicht van de aanvragen die verwerkt zijn. o Zoeken: hier worden alle aanvragen getoond en kan er gezocht worden op naam. Ongelezen berichten: een overzicht van de berichten die nog niet gelezen zijn Rechten: een overzicht van alle personen waarvoor er rechten zijn opgeslagen. Er kan doorgeklikt worden om de rechten op te vragen. Instellingen: o Programma’s: hier kan de beheerder programma’s toevoegen, wijzigen, inactiveren … . o Chefs: hier kunnen de chefs van een bepaalde dienst worden gewijzigd en toegevoegd. o Extern – Type: hier kunnen types externe personen worden beheerd. o Extern – Instellingen: hier kunnen instellingen worden beheerd. o Extern – Personen: hier kunnen de gegevens van externe personen beheerd worden. o Configuratie: hier kan de mail- en databankinstellingen bekeken worden. Logs: o Acties: een overzicht van de acties die plaatsgevonden hebben. o Errors: een overzicht van de exceptions die zijn opgetreden
Figuur 87: startpagina beheer
Dominick Deman - AZ Sint-Jan A.V.
Programmatie
79
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
Aanvragen verwerken Bij de menu onderdelen ‘nieuw’ , ‘wijziging’ en ‘archief’ wordt telkens een overzicht gegeven zoals in onderstaand voorbeeld.
Figuur 88: wijzigingen
De beheerder heeft de mogelijkheid om de data te groeperen. Daartoe dient de kolom naar boven te worden gesleept. Onderstaand scherm is de gegroepeerde versie van voorgaande figuur.
Figuur 89: wijzigingen groeperen
Verder kan in iedere lijst worden gezocht op datum en op naam.
Figuur 90: wijzigingen filteren
Dominick Deman - AZ Sint-Jan A.V.
Programmatie
80
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
Figuur 91: beheer – aanvraagformulier
Om het aanvraagformulier weer te geven dient de gebruiker te klikken op een naam in het overzicht. Het formulier is onderverdeeld in vijf delen: Statusgeschiedenis: hier wordt weergegeven wanneer, wie en op welke computer de status wijzigde. Dit item is standaard ingeklapt. Communicatie: hier worden alle berichten in verband met de aanvraag weergegeven. Er kan ook doorgeklikt worden naar een nieuw bericht. Dit item is standaard ingeklapt. Indien er communicatie is voor een aanvraag, dan wordt er sowieso een melding gegeven. Persoonsinfo: de nodige gegevens over de gebruiker voor wie de aanvraag is. Toegangsrechten: een overzicht van de applicaties waartoe de gebruiker toegang wenst of waartoe de gebruiker geen toegang meer wenst. Indien de toegangsrechten effectief ingesteld zijn, dient de beheerder de status van het onderdeel te wijzigen. Helpdeskfuncties: o Extra chef: hier kan de aanvraag worden doorgestuurd naar een andere chef.
Dominick Deman - AZ Sint-Jan A.V.
Programmatie
81
82
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
o o o
Opmerkingen: hier kan de beheerder een bericht achterlaten voor de andere beheerders. Aanvraag annuleren: hier kan de aanvraag en alle onderdelen ervan worden geannuleerd. PMC: hier kunnen de nodige gegevens worden doorgegeven naar de tool die nieuwe gebruikers aanmaakt in AD. De gegevens die worden doorgegeven zijn: personeelsnummer, dienst, functie, begindatum, voornaam, naam.
Rechten Onder ‘Rechten’ kan de beheerder de geregistreerde rechten opvragen. Er is ook een mogelijkheid om de persoon te zoeken op voornaam, familienaam of nummer.
Figuur 92: rechten
Programma’s beheren
Programmatie
De programma’s kunnen beheerd worden op onderstaand scherm. Via drag-and-drop kan een programma versleept worden van de ene categorie naar de andere. Verder kunnen nieuwe programma’s toegevoegd worden door een categorie te selecteren en de nodige velden in te vullen. Een programma inactiveren gebeurt door aan de rechterkant de checkbox uit te vinken.
Dominick Deman - AZ Sint-Jan A.V.
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
Figuur 93: instellingen - programma's
Chefs instellen De chefs per dienst kunnen ingesteld worden op onderstaand scherm. Links is er een overzicht van de diensten zonder chef. Dit veld bevat de diensten waar personeel werkt, maar waarvan er nog geen chef is ingesteld. Tussen haakjes is vermeld hoeveel personeelsleden er op die dienst werken. Rechts is een alfabetisch overzicht met de ingestelde diensten.
Figuur 94: instellingen – chefs
Programmatie
83
Dominick Deman - AZ Sint-Jan A.V.
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
Wanneer de beheerder een veld aanklikt, wordt de mogelijkheid gegeven een e-mailadres in te geven of het huidig e-mailadres te wijzigen. Het ingegeven e-mailadres wordt steeds gecontroleerd in de AD, zoals te zien is op onderstaande screenshot.
Figuur 95: instellingen - chef toevoegen
Externe types beheren De types externe personen kunnen eveneens beheerd worden. Er kunnen nieuwe types toegevoegd worden en bestaande types kunnen geïnactiveerd of gewijzigd worden.
Figuur 96: instellingen – types
Instellingen beheren Op onderstaand scherm kunnen de instellingen voor externe personen beheerd worden. Het icoontje links onderaan heeft de mogelijkheid om een nieuwe instelling toe te voegen. Het icoontje aan de rechterkant van de instelling dient om de instelling te wijzigen.
Programmatie
84
Dominick Deman - AZ Sint-Jan A.V.
85
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
Figuur 97: instellingen – instellingen
Externe personen beheren Ook de gegevens van externe personen kunnen gewijzigd worden. Dit gebeurt door het icoontje naast de persoon aan te klikken.
Figuur 98: externe personen beheren
Acties Onder ‘Acties’ kan teruggevonden worden wie, wanneer en op welke computer een gebruiker een bepaalde actie uitvoerde. Deze acties hebben meestal verband met het aanmelden en afmelden of met het wijzigen van de configuratie.
Programmatie
Figuur 99: logs – acties
Dominick Deman - AZ Sint-Jan A.V.
86
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
Errors Tot slot is er het onderdeel ‘Errors’. Hier wordt er een lijst getoond van de excepties die zijn opgetreden. Wanneer er op een rij wordt geklikt, komt er een uitgebreide beschrijving van de exceptie boven de lijst.
Programmatie
Figuur 100: acties – errors
Dominick Deman - AZ Sint-Jan A.V.
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
4.5.4. Status flow
Figuur 101: status flow
Elke aanvraag heeft een specifieke status. Een overzicht van de overgang tussen de verschillende statussen wordt gegeven in bovenstaande figuur. Indien de gebruiker een aanvraag verzendt, krijgt deze de status ‘aangevraagd’. Vervolgens dient de chef elk onderdeel van de aanvraag te beoordelen. Zolang niet alle onderdelen beoordeeld zijn, blijft de status ‘aangevraagd’.
Dominick Deman - AZ Sint-Jan A.V.
Programmatie
87
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
Wanneer de chef alle onderdelen heeft beoordeeld, kan de status veranderd worden in drie statussen. Indien alles is afgekeurd, wordt de hoofdstatus op ‘Afgekeurd door chef‘ gezet. Vervolgens komt deze aanvraag in het archief terecht, omdat er geen wijzigingen meer kunnen gebeuren. Indien de chef alles goedkeurt, dan krijgt de aanvraag de status ‘Goedgekeurd – chef’. Indien niet alle onderdelen zijn goedgekeurd, krijgt de aanvraag de status ‘Gedeeltelijk goedgekeurd – chef’. Vervolgens dienen de onderdelen te worden verwerkt door de dienst informatica. Zodra er een onderdeel verwerkt is, wordt de status op ‘Gedeeltelijk verwerkt’ gezet. Indien alle onderdelen zijn afgekeurd, krijgt de aanvraag de status ‘Afgekeurd – informatica’. In alle andere gevallen krijgt de aanvraag de status ‘Volledig verwerkt’. De aanvraag komt in het archief terecht.
Programmatie
88
Dominick Deman - AZ Sint-Jan A.V.
89
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
4.5.5. Voorbeeldscenario 1
Overzicht
1
2 3 4 5
Er wordt een nieuwe verpleegkundige aangeworven. Ze dient toegang te krijgen tot allerlei applicaties. Omdat de verpleegkundige zelf niet weet welke applicaties ze precies nodig heeft, contacteert ze haar chef. De chef vertelt de verpleegkundige dat hij dit dient aan te vragen via intranet. De chef meldt zich aan en voert de aanvraag uit. De dienst informatica controleert de intranettoepassing en verwerkt de aanvraag. De applicatie stuurt een e-mail naar de chef dat de aanvraag verwerkt is. De chef brengt de gebruiker op de hoogte. De verpleegkundige kan zich nu aanmelden op de computer en de nodige toepassingen gebruiken.
Dominick Deman - AZ Sint-Jan A.V.
Programmatie
Figuur 102: voorbeeldscenario 1
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
De chef vraagt een nieuwe login aan (stap 2) De chef wenst een aanvraag te versturen. Daarvoor surft hij naar het intranetportaal en klikt op de link ‘aanvraag nieuwe login of wijzigen van toegangsrechten’.
Figuur 103: intranet website van het AZ Sint-Jan A.V.
Eenmaal hij op startpagina is gekomen, dient hij zich aan te melden. Vervolgens kiest hij ‘nieuwe login aanvragen’ in het menu. Als eerste stap dient hij aan te duiden voor welk soort persoon hij een aanvraag wenst te doen. In dit geval is dit ‘personeel’. Vervolgens dient hij de persoon op te zoeken aan de hand van haar naam of haar personeelsnummer.
Figuur 104: nieuwe login aanvragen
Programmatie
90
Dominick Deman - AZ Sint-Jan A.V.
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
Indien de persoon is gevonden, wordt het aanvraagformulier getoond. Als eerste zijn er de persoonsgegevens. Deze worden automatisch opgehaald, enkel het intern telefoonnummer waar de gebruiker te bereiken is dient nog ingevuld te worden.
Figuur 105: aanvraagformulier (1)
Het tweede onderdeel bevat de toegangsrechten. Aangezien het om een nieuw personeelslid gaat, wordt automatisch aangevinkt dat deze gebruiker een windows login nodig heeft. Vervolgens duidt de chef aan tot welke applicaties de gebruiker toegang moet hebben.
Figuur 106: aanvraagformulier (2)
Vervolgens klikt de chef op ‘verder’. Hij krijgt onderstaand overzicht. Om de aanvraag te versturen klikt de chef op ‘verzenden’. Hij krijgt een melding dat de aanvraag verzonden is en dat hij op de hoogte zal gebracht worden per e-mail indien deze aanvraag verwerkt is.
Figuur 107: overzicht aanvraag
Dominick Deman - AZ Sint-Jan A.V.
Programmatie
91
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
De dienst informatica verwerkt de aanvraag (stap 3) Wekelijks wordt iemand van de dienst informatica aangesteld om de aanvragen te verwerken. De lijst bevat de aanvraag die zonet is uitgevoerd.
Figuur 108: overzicht aanvragen
Het formulier bevat de persoonsgegevens samen met de aangevraagde onderdelen. Aangezien deze gebruiker nog geen toegang tot het domein heeft, zal deze gebruiker eerst moeten aangemaakt worden in active directory. Om de persoonsgegevens automatisch door te geven, klikt de beheerder op het PMC icoontje. Vervolgens maakt de beheerder deze gebruiker aan in PMC. Voor de overige onderdelen dient de beheerder de gebruiker aan te maken in de applicatie zelf. Tot slot verzet de beheerder de status van alle onderdelen op ‘volledig verwerkt’.
Figuur 109: aanvraagformulier (beheerders)
Dominick Deman - AZ Sint-Jan A.V.
Programmatie
92
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
De chef krijgt een e-mail (stap 4) Op het moment dat de aanvraag verwerkt is krijgt de chef automatisch een e-mail. Hierin wordt gevraagd de gebruiker langs te sturen om zijn persoonlijk wachtwoord te ontvangen. Op dat moment heeft de gebruiker toegang tot het domein en de nodige applicaties.
Figuur 110: e-mail voor chef
Programmatie
93
Dominick Deman - AZ Sint-Jan A.V.
94
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
4.5.6. Voorbeeldscenario 2
Overzicht Enkele maanden later heeft diezelfde verpleegkundige internet nodig. Ze hoorde van collega’s dat ze dit zelf kan aanvragen.
1 2 3 4 5 6 7 8 9
De verpleegkundige surft naar de intranettoepassing en vraagt internet aan. De chef ontvangt een e-mail waarin hij wordt verzocht deze aanvraag goed te keuren. De chef meldt zich aan op de applicatie en keurt deze aanvraag goed. De dienst informatica krijgt de aanvraag digitaal binnen. De dienst informatica had graag een verklaring voor internettoegang. Daarom wordt er via de applicate een bericht gestuurd naar de chef. De chef ontvang een e-mail. De chef leest het bericht en stuurt de reden terug. De aanvraag wordt verwerkt door de dienst informatica. De chef ontvangt een e-mail met de melding dat de aanvraag verwerkt is.
Dominick Deman - AZ Sint-Jan A.V.
Programmatie
Figuur 111: voorbeeldscenario 2
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
De verpleegkundige vraagt internet aan (stap 1) Op de aanvraag applicatie klikt de verpleegkundige op ‘wijziging toegangsrechten’. Vervolgens dient ze zichzelf op te zoeken op dezelfde manier als de chef dit deed in het voorgaande scenario.
Figuur 112: wzijging toegangsrechten aanvragen
Daarna wordt het aanvraagformulier zichtbaar. Ze dient de reden voor het wijzigen op te geven. Merk ook op dat de huidige gebruikersnaam opgehaald is.
Figuur 113: aanvraagformulier (1)
Bij het onderdeel toegangsrechten ziet de verpleegkundige aan de rechterkant de applicaties waartoe ze reeds toegang heeft. Indien ze één van de applicaties niet meer nodig heeft, kan ze dit aanvinken om de toegang te deactiveren. In dit voorbeeld heeft de verpleegkundige bijkomende toegang tot internet nodig. Daarom vinkt ze ‘internet’ aan. Vervolgens klikt ze op ‘verder’.
Programmatie
95
Dominick Deman - AZ Sint-Jan A.V.
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
Figuur 114: aanvraagformulier (2)
Wanneer ze bij het overzicht op verzenden heeft geklikt, krijgt ze een bevestiging te zien. Daarin wordt vermeld dat deze aanvraag dient goedgekeurd te worden door de chef van de gebruiker.
Figuur 115: bevestiging aanvraag
De chef krijgt een e-mail (stap 2) Op het moment dat de aanvraag verzonden is, krijgt de chef automatisch een e-mail waarin wordt gevraagd deze goed te keuren.
Figuur 116: e-mail voor chef
Dominick Deman - AZ Sint-Jan A.V.
Programmatie
96
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
De chef keurt de aanvraag goed (stap 3) Indien de chef zich aanmeldt, krijgt hij een overzicht van het aantal aanvragen die hij nog dient goed te keuren. Indien hij vervolgens doorklikt, wordt het formulier getoond. De chef kiest om dit onderdeel goed te keuren en verzendt deze statuswijziging.
Figuur 117: aanvraagformulier (chef)
De dienst informatica krijgt de aanvraag binnen (stap 4) Op het moment dat het personeel van de dienst informatica de webapplicatie controleert op nieuwe aanvragen, krijgen ze het aanvraagformulier te zien. De beheerder zou graag de reden voor internettoegang vernemen en beslist daarom om een bericht naar de chef te versturen. Bovenaan het aanvraagformulier kan onder ‘communicatie’ gekozen worden voor ‘nieuw bericht’.
Figuur 118: communicatie versturen
De dienst informatica verstuurt een bericht naar de chef (stap 5) De velden ‘van’ , ‘aan’ en ‘onderwerp’ worden automatisch ingevuld. Vervolgens vult de beheerder het bericht in en drukt op versturen.
Dominick Deman - AZ Sint-Jan A.V.
Programmatie
97
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
Figuur 119: communicatie tussen dienst informatica en chef
De chef ontvangt een e-mail (stap 6) De chef wordt op de hoogte gebracht van het nieuwe bericht a.d.h.v. een e-mail. Er wordt gevraagd dit bericht te beantwoorden via de intranettoepassing.
Figuur 120: e-mail bij nieuw bericht
De chef beantwoordt het bericht (stap 7) Vervolgens meldt de chef zich aan op de webtoepassing. Op de startpagina wordt weergegeven dat er één nieuw bericht is. Wanneer er doorgeklikt wordt, krijgt de chef het bericht te zien en heeft hij de mogelijkheid om het bericht te beantwoorden
Figuur 121: bericht beantwoorden
Dominick Deman - AZ Sint-Jan A.V.
Programmatie
98
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
De dienst informatica verwerkt de aanvraag (stap 8) De aanvraag wordt vervolgens door de dienst informatica verwerkt. Deze stap is gelijkaardig aan deze beschreven in voorbeeldscenario 1.
De chef krijgt een e-mail (stap 9) Op het moment dat de aanvraag verwerkt is krijgt de chef automatisch een e-mail. Hierin wordt hij verzocht de gebruiker op de hoogte te brengen van de wijzigingen aan haar toegangsrechten.
Programmatie
99
Dominick Deman - AZ Sint-Jan A.V.
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
4.5.7. Toekomst
Het aanmelden m.b.v. gebruikersnaam en wachtwoord is in een ziekenhuis, waar medische dossiers steeds meer op de computer te raadplegen zijn, niet meer 100% veilig. Daarom is het niet uit te sluiten dat het systeem van aanmelden in de toekomst verandert. Zo zou het eventueel mogelijk zijn dat artsen en personeelsleden zich aanmelden met behulp van hun batch waar ze hun diensturen mee registreren. Dit heeft echter geen gevolgen voor de ontwikkelde webapplicatie, want de aanvragen zullen in dat geval blijven bestaan. De applicatie kan ook een belangrijke rol spelen in het kader van de fusie, doordat de personeelsleden van het Serruysziekenhuis misschien programma’s zullen nodig hebben die in het AZ St. Jan beheerd worden. De databank is voorzien om nog enkele extra functionaliteiten aan de applicatie toe te voegen. Deze tabellen dienen voor twee functies: Standaardshares o Per dienst en per functie zouden er kunnen gedeelde mappen (shares) ingesteld worden. De gebruiker krijgt dan een lijstje met de shares die voor hem van toepassing zijn. Elke share zou ook een eigenaar moeten hebben die dit moet goedkeuren. Standaardprogramma’s o Nieuwe personeelsleden weten vaak niet welke programma’s ze nodig hebben. Daarom zouden er bij nieuwe aanvragen, afhankelijk van de dienst waar de gebruiker werkt, gangbare programma’s kunnen aangevinkt worden. Daarnaast kan in een verder stadium gezorgd worden dat de applicatie de gebruikers automatisch aanmaakt in de verschillende toepassingen. Tot slot is ook de integratie van PMC in de webapplicatie een mogelijkheid die niet uit te sluiten valt.
Programmatie
100
Dominick Deman - AZ Sint-Jan A.V.
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
5. Helpdesk Een dag per week kregen we de kans om te helpen met de helpdesk. De helpdesk wordt gecontacteerd indien er personeel in het ziekenhuis problemen heeft met zowel soft- als hardware. De meeste software problemen kunnen opgelost worden d.m.v. van een tool, Netop, die het bureaublad van de gebruiker kan overnemen. Indien er echter een hardware probleem wordt vastgesteld of er kan geen contact gemaakt worden met de client, is het soms nodig om ter plaatse te gaan. Op dat moment werd ik ingeschakeld om het probleem op te lossen. Het enige dat de helpdeskmedewerker nodig heeft om het bureaublad van de gebruiker over te nemen is het ip-adres van de computer waarop de gebruiker aangemeld is. Aangezien er met statische ipadressering gewerkt wordt, bevat elke computer een label met daarop het ip-adres. De gebruiker dient dit dus door te geven.
Figuur 122: Netop Remote Control
Naast deze omlooptaak, mocht ik ook computers, printers, PDA’s installeren en configureren. Ik vond dit een zeer leerrijke en leuke ervaring en één ding zal ik zeker onthouden: een groot netwerk (meer dan 1000 computers) moet goed gestructureerd zijn.
Dominick Deman - AZ Sint-Jan A.V.
Helpdesk
101
102
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
6. Kritische reflectie 6.1.
Databanktoegang
LINQ Aangezien op alle webservers .NET framework 2.0 geïnstalleerd is, besloot ik om te programmeren m.b.v. dit framework. De manier voor het communiceren met de databank via ADO.NET heeft mij nooit aangesproken, daarom koos ik voor de “klassieke” manier. Deze methode is beschreven onder Object-georiënteerd model. Ik had al gehoord van LINQ, maar ik dacht dat dit enkel bruikbaar was voor .NET framework 3.5. Onlangs hoorde ik dat LINQ eveneens kan gebruikt worden op het .NET framework 2.0, door gebruik te maken van een dll (LinqBridge.dll). Achteraf gezien kon mij dit veel werk bespaard hebben, aangezien alle klassen uit de databanklaag en alle objecten niet zelf geschreven dienden te worden. Alles samen bestaan deze klassen in het huidige programma uit meer dan 5000 regels code. LINQ is de afkorting voor Language INtegrated Query . LINQ biedt een werkwijze aan voor een meer uniforme omgang met gegevens uit heel verschillende systemen, bijvoorbeeld gegevens uit een relationele database, een webservice, een XML-bestand of een array. Met LINQ kunnen al deze verschillende soorten gegevens met één op SQL lijkende set taalelementen worden opgevraagd, gemanipuleerd en gecombineerd. Het vormt een alternatief voor XPath, XQuery en SQL. De programmeertalen C# en Visual Basic .NET ondersteunen LINQ. LINQ kan dus gebruikt worden om gegevens uit een relationele database te halen (momenteel wordt enkel Microsoft SQL server ondersteund). Als eerste stap moet er een dbml bestand gegenereerd worden. Deze zogenaamde ‘Linq to SQL’ bestanden bevatten de structuur van de databank in XML formaat. In Visual studio worden deze grafisch weergegeven. Structuur Dbml bestand
Voorbeeld gegenereerde property
_ Public Property voornaam() As String Get Return Me._voornaam End Get
Dominick Deman - AZ Sint-Jan A.V.
Kritische reflectie
Na het opslaan maakt Visual Studio automatisch voor elke tabel een object aan met de nodige properties en functies voor het toevoegen, wijzigen en verwijderen van data.
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
Set(ByVal value As String) If (String.Equals(Me._voornaam, value) = False) Then Me.OnvoornaamChanging(value) Me.SendPropertyChanging() Me._voornaam = value Me.SendPropertyChanged("voornaam") Me.OnvoornaamChanged() End If End Set End Property
De database is dan toegankelijk via een DataContext. Zoals in onderstaand voorbeeld te zien is, gelijkt de syntax voor het ophalen van data uit de databank op sql. Omdat hier gebruik gemaakt kan worden van de ingebouwde Intellisense, dient het ‘From’ statement eerst geplaatst te worden. Merk ook op dat er geen type dient meegegeven te worden aan het object die de data zal bevatten. Het juiste object zal automatisch worden toegewezen. In onderstaand geval zal het object van het type product zijn.
Figuur 123: voorbeeld LINQ (get data)
Het updaten van data wordt geillustreerd in onderstaand voorbeeld.
Figuur 124: voorbeeld LINQ (update data)
Een nieuwe record toevoegen in een tabel kan door de Add functie van een object te gebruiken.
Figuur 125: voorbeeld LINQ (insert data)
Dominick Deman - AZ Sint-Jan A.V.
Kritische reflectie
103
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
Het verwijderen van een rij uit een bepaalde tabel gebeurt met de functies Remove en RemoveAll. Na een verandering van het model dient telkens de SubmitChanges methode opgeroepen te worden.
Conclusie Had ik eerder geweten dat LINQ ook kon gebruikt worden voor het .NET framework 2.0, dan had ik zeker voor deze methode gekozen. Het lijkt me een makkelijke manier voor manipuleren van data uit de databank. Het zou me toch wel enige dagen werk bespaard hebben.
Kritische reflectie
104
Dominick Deman - AZ Sint-Jan A.V.
105
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
6.2.
Vivaldi Process2Flow
Overzicht Vanaf het begin heb ik mij gefocust op een webapplicatie. Ik heb er nooit bij stilgestaan dat er misschien een mogelijkheid was om het probleem m.b.v. een bestaande applicatie het probleem op te lossen. Aangezien de opdracht bestond uit het digitaliseren van een proces, leek Vivaldi Process2Flow een programma waarmee het probleem kon opgelost worden. Het systeem van Vivaldi Process2Flow wordt geïllustreerd op onderstaande figuren. Eerst dient een formulier aangemaakt te worden, vervolgens dient de flow gedefinieerd te worden en uiteindelijk is er de mogelijkheid om de status en gegevens van elk proces op te vragen en te rapporteren. De eerste stap is het aanmaken van een formulier. Aangezien de data dictionary van de database ter beschikking wordt gesteld, is het mogelijk om dit formulier zelf te programmeren a.d.h.v. van bijvoorbeeld ASP.NET.
Kritische reflectie
Figuur 126: ontwerp van invulformulieren
Dominick Deman - AZ Sint-Jan A.V.
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
Vervolgens dient de flow van het proces gedefinieerd te worden. Per stap kan vastgelegd worden of er e-mail berichten ter notificatie verzonden dienen te worden. Het is mogelijk om personen te emailen die een stap moeten uitvoeren, maar ook andere personen kunnen op de hoogte gehouden worden van het uitvoeren van een bepaalde stap. Per stap kan er ook een deadline ingesteld worden.
Figuur 127: ontwerp van de flow
Vervolgens kan de applicatie verschillende analyses en statistieken op de data uitvoeren. Zo kunnen de gemiddelde doorlooptijden van elk proces in kaart gebracht worden.
Figuur 128: statistieken en analyse van gegevens
Dominick Deman - AZ Sint-Jan A.V.
Kritische reflectie
106
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
In één oogopslag kan a.d.h.v. kleurcodes gezien worden in welk stadium elk proces zich bevindt. Verder kan een proces teruggevonden worden door een krachtige zoekfunctie. Tot slot kan er van elk proces een overzicht opgevraagd worden van wie wat heeft gedaan en wie wat nog moet doen.
Figuur 129: status van elk proces opvragen
Conclusie Indien ik geprobeerd zou hebben om het project uit werken in Process2Flow, had ik kans om in een zeer korte tijd een oplossing voor het probleem gevonden te hebben. Ik ben er echter niet van overtuigd dat dit een betere oplossing geweest zou zijn, aangezien het toevoegen van extra functionaliteiten niet mogelijk zou zijn en daarbovenop zou dit programma bij iedere beheerder moeten geïnstalleerd worden, waardoor de kostprijs van de licenties zou oplopen tot enkele duizenden euro’s. Daarnaast is het ook helemaal niet zeker dat ik dit systeem zelf had kunnen implementeren, aangezien er in de documentatie gesproken wordt dat de software geïmplementeerd wordt volgens de wensen en behoeften van de gebruiker.
Kritische reflectie
107
Dominick Deman - AZ Sint-Jan A.V.
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
7. Conclusie Vanaf de eerste dag kon ik zelfstandig aan mijn opdracht werken. Dit houdt in dat ik zowel op technisch, als op grafisch vlak mijn eigen creativiteit kon uiten. Een keer per week diende ik verslag uit te brengen en werd ik, indien nodig, bijgestuurd. Volgens mij is het zelfstandig opzoeken van problemen dan ook de beste manier om bij te leren. Bij vorige projecten die we tijdens onze opleiding dienden uit te werken zag ik niet altijd het nut in van analyse. Na enkele dagen analyseren op mijn stage werd het me echter duidelijk dat je via analyse veel noodzakelijke inzichten krijgt die anders misschien nooit ontdekt zouden worden. Het proces bleek ook wat ingewikkelder dan aanvankelijk gedacht. Het leuke aan dit project was ook dat het effectief in gebruik genomen werd tijdens mijn stage. Dit gaf me de tijd om de webapplicatie verder te verbeteren en aan te passen aan de wensen van de gebruiker. Als je uiteindelijk hoort van de beheerders dat ze opgelucht zijn van het papierwerk af te zijn en dat ze tevreden zijn van het programma, dan geeft dit een grote voldoening. Mede door het feit dat er op de laatste dag van mijn stage al meer dan honderd aanvragen verwerkt zijn, vind ik mijn stage meer dan geslaagd. Natuurlijk liep het programmeren niet altijd even vlot. De eerste dagen moest ik wat wennen aan het programmeren in VB, waar haakjes en puntkomma’s niet gebruikt worden. Verder moest er bij het overzetten van de databank op een definitieve server ook gesleuteld worden aan enkele geavanceerde queries, waar data uit verschillende databanken werden gecombineerd. Het leuke aan elk probleem is natuurlijk dat je er uiteindelijk altijd wel een oplossing voor vindt. De frustratie die er soms aan vooraf gaat, moet er bijgenomen worden. Indien ik voor het programmeren gebruik gemaakt had van LINQ, kon ik misschien enkele dagen winnen om zo nog extra functionaliteit toe te voegen. Het is echter eigen aan de IT-sector dat er steeds nieuwe en betere technologieën worden ontwikkeld en van elke nieuwe methode moet de programmeur eigenlijk de voor- en nadelen afwegen. Specifiek aan programmeren is ook dat alles op zeer veel verschillende manieren kan opgelost worden en zo leer je zeer veel uit ervaring met vorige projecten, waardoor je steeds beter en efficiënter gaat coderen. Je moet dus steeds openstaan voor vernieuwing en bijscholing. Aan de dienst informatica in het AZ Sint Jan heb ik goeie herinneringen overgehouden. Er was een goede sfeer en iedereen stond open om een vraag te beantwoorden. Ik ben iedereen zeer dankbaar voor de kennis die ze met me gedeeld hebben. Verder was de richting Toegepaste Informatica een goede basis voor het werk dat een echte informaticus dient uit te voeren.
Conclusie
108
Dominick Deman - AZ Sint-Jan A.V.
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
Literatuurlijst MCCOWN, F., VB.NET and C# comparison [webpagina], 2007, [email protected] URL: http://www.harding.edu/fmccown/vbnet_csharp_comparison.html Gezien d.d. 3 maart 2008. Wikimedia Foundation, ASP.NET – Wikipedia [webpagina], 20 mei 2008, URL: http://nl.wikipedia.org/wiki/ASP.NET Gezien d.d. 26 mei 2008. Wikimedia Foundation,.NET – Wikipedia[webpagina], 22 mei 2008, URL: http://nl.wikipedia.org/wiki/.NET Gezien d.d. 26 mei 2008. HOMER, H., Design Patterns in ASP.Net [webpagina], 2006 URL: http://www.daveandal.net/articles/ASPNETDesignPatterns/ASPNETDesignPatterns1.htm Gezien d.d. 8 juni 2008. SCOTT, G., Using LINQ to SQL (Part 1) [webpagina], 19 mei 2007 URL: http://weblogs.asp.net/scottgu/archive/2007/05/19/using-linq-to-sql-part-1.aspx Gezien d.d. 7 juni 2008. EVJEN, B., HANSELMAN, S., MUHAMMAD, F., SIVAKUMAR, S., RADAR, D., Professional ASP.NET 2.0, Wiley Publishing, 2006
LUNN, K., Software engineering met UML, Academic Service, Den Haag, 2004
Literatuurlijst
109
Dominick Deman - AZ Sint-Jan A.V.
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
Bijlagen Huidige invulformulieren
Bijlagen
110
Dominick Deman - AZ Sint-Jan A.V.
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
Bijlagen
111
Dominick Deman - AZ Sint-Jan A.V.
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
VB.NET versus C#
Bijlagen
112
Dominick Deman - AZ Sint-Jan A.V.
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
Bijlagen
113
Dominick Deman - AZ Sint-Jan A.V.
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
Bijlagen
114
Dominick Deman - AZ Sint-Jan A.V.
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
Bijlagen
115
Dominick Deman - AZ Sint-Jan A.V.
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
Bijlagen
116
Dominick Deman - AZ Sint-Jan A.V.
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
Bijlagen
117
Dominick Deman - AZ Sint-Jan A.V.
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
Bijlagen
118
Dominick Deman - AZ Sint-Jan A.V.
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
Bijlagen
119
Dominick Deman - AZ Sint-Jan A.V.
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
Bijlagen
120
Dominick Deman - AZ Sint-Jan A.V.
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
Colofon Dit eindwerk werd uitgewerkt met behulp van: IBM Thinkpad R52 Besturingssysteem: Windows XP professional Tekstverwerkingsprogramma: Microsoft Word 2007 Tekenprogramma: Microsoft Visio 2007 Grafisch programma: Adobe Photoshop De lopende tekst is uitgewerkt in het lettertype Calibri 11 pts, de koppen in Cambria. De codevoorbeelden staan gedrukt in het lettertype Courier New.
Colofon
121
Dominick Deman - AZ Sint-Jan A.V.
Eindwerk: Digitaliseren van de aanvragen voor Windows- en toepassingsaccounts
Voor akkoord verklaard:
Heidi Meeuws Stagementor
Helge De Neve Stagementor
Corneel Theben Tervile Stagebegeleider
Colofon
122
Dominick Deman - AZ Sint-Jan A.V.