Inhoud. Gelaagde Architecturen (4): Voorbeelden. Gelaagde Architecturen (4): Voorbeelden

Maat: px
Weergave met pagina beginnen:

Download "Inhoud. Gelaagde Architecturen (4): Voorbeelden. Gelaagde Architecturen (4): Voorbeelden"

Transcriptie

1 Gelaagde Architecturen (4): Voorbeelden Voorbeelden bij de artikelen Gelaagde architecturen -3 van Leo Pruijt en Wiebe Wiersema, Hogeschool Utrecht. De artikelen beschrijven het Logica In Lagen -referentiemodel en de stappen om tot een Logisch en Fysiek Lagenmodel te komen. De artikelen zijn gepubliceerd in Release - Vakblad voor de Software Architect, vanaf december 200. En in Optimize Onafhankelijk vakblad voor de Oracle professional, vanaf februari 20. Inhoud. CASUS: AANWEZIGHEIDSREGISTRATIESYSTEEM LOGISCH LAGENMODEL... 3 STAP : BEPAAL DE KWALITEITSDOELEN... 3 STAP 2: ONDERKEN LOGISCHE LAGEN... 4 STAP 3: BEPAAL DE COMMUNICATIEREGELS TUSSEN DE LAGEN... 5 STAP 4: TOETS DE GESCHIKTHEID VAN HET LAGENMODEL... 6 STAP 5: DOCUMENTEER HET LAGENMODEL FYSIEK LAGENMODEL: PHP IMPLEMENTATIE... 8 STAP 6: EVALUEER DE KWALITEITSDOELEN EN KIES DE TECHNOLOGIE... 8 STAP 7: ONDERKEN EN ONTWERP DE FYSIEKE LAGEN... 9 STAP 8: ONTWERP DE COMMUNICATIE TUSSEN DE LAGEN... 0 STAP 9: TOETS DE GESCHIKTHEID VAN HET LAGENMODEL... STAP 0: DOCUMENTEER HET LAGENMODEL FYSIEKLAGENMODEL: RUBY ON RAILS IMPLEMENTATIE... 2 STAP 6: EVALUEER DE KWALITEITSDOELEN EN KIES DE TECHNOLOGIE... 2 STAP 7: ONDERKEN EN ONTWERP DE FYSIEKE LAGEN... 3 STAP 8: ONTWERP DE COMMUNICATIE TUSSEN DE LAGEN... 5 STAP 9: TOETS DE GESCHIKTHEID VAN HET LAGENMODEL... 6 STAP 0: DOCUMENTEER HET LAGENMODEL... 6 Hogeschool Utrecht/Leo Pruijt en Wiebe Wiersema

2 . Casus: Aanwezigheidsregistratiesysteem Een Regionaal Opleiding Centrum is wettelijk verplicht de aan- en afwezigheid van een deelnemer aan een van de (vele) opleidingen te registreren. Het betreffende ROC is voortgekomen uit fusies van verschillende instituten die zeer verschillend omgingen met de aanwezigheidsregistratie. Eén uniform bedrijfsproces, ondersteunt door een nieuw informatiesysteem, moet eenheid brengen en een aanzet geven tot een goede registratie van de aan- en afwezigheid. Significante use cases (onder de 26 use cases) Aanwezigheid registreren per klas Docent Overzicht aanwezigheid per student Ziekmelding deelnemer registreren Administratief medewerker Activiteiten beheren Belangrijke domeinklassen Location * * Education Department Institute * * Classroom Course Participant Class * Activity -starttime -endtime Teacher 0.. Presence -presence : bool -reason : string ActivityType Hogeschool Utrecht/Leo Pruijt en Wiebe Wiersema 2

3 2. Logisch Lagenmodel Leo Pruijt Stap : Bepaal de kwaliteitsdoelen Kwaliteitsdoel De informatie die wordt vastgelegd moet absoluut betrouwbaar zijn. Vereiste kwaliteiten:. Alle gegevens die worden vastgelegd, moeten gecontroleerd zijn. Het systeem moet eenvoudig en tegen lage kosten aangepast en uitgebreid kunnen worden, omdat het een lange tijd gebruikt zal gaan worden. Vereiste kwaliteiten: 2. Goede analyseerbaarheid van het systeem. 3. Domeingenerieke logica wordt slechts op één plek vastgelegd en van daaruit hergebruikt. 4. De applicaties zijn zoveel mogelijk onafhankelijkheid van wijzigingen in de database-structuur. 5. DBMS, applicatieserver, randapparatuur, et cetera moeten eenvoudig vervangen kunnen worden. De mogelijkheid tot fraude met de aanwezigheidsregistratie moet voorkomen worden. Vereiste kwaliteiten: 6. Het systeem moet op alle toegangsniveaus beveiligd zijn. De beheerkosten van het systeem moeten laag zijn en ook bij groeiend gebruik (meer opleidingen, ook toegang voor studenten) zal een hoge responsiesnelheid gegarandeerd moeten worden. 7. Goede schaalbaarheid. 8. Responsiesnelheid gemiddeld max sec (rapportages uitgezonderd). Het systeem moet eenvoudig met andere applicaties (zoals Schoolplan) en hun opvolgers/vervangers kunnen communiceren. 9. Open standaard voor communicatie. ISO 9 26 Quality Attribute Accuracy Maintainability: Analysability, Changeability, Stability Portability: Adaptability Security Efficiency: Resource utilasation, Time behaviour Interoperability Hogeschool Utrecht/Leo Pruijt en Wiebe Wiersema 3

4 Stap 2: Onderken logische lagen 2. Bepaal welke lagen nodig zijn om de kwaliteitsdoelen te realiseren In onderstaande tabel staat aangegeven welke lagen (uit het LIL-referentiemodel) onderscheiden zijn om de kwaliteitsdoelen uit de vorige stap te behalen. Kwaliteitsdoel Benodigde lagen. Alle gegevens die worden vastgelegd, moeten gecontroleerd zijn. Domeingeneriek 2. Goede analyseerbaarheid van het systeem. Presentatie Taakspecifiek, Domeingeneriek Infrastructuur abstractie 3. Domeingenerieke logica wordt slechts op één plek vastgelegd en van daaruit hergebruikt. Presentatie/Taakspecifiek, Domeingeneriek 4. De applicaties zijn zoveel mogelijk onafhankelijkheid van wijzigingen in de database-structuur. Infrastructuur abstractie, Infrastructuur 5. DBMS, applicatieserver, randapparatuur, et cetera moeten eenvoudig vervangen kunnen worden. Infrastructuur abstractie, Infrastructuur 6. Het systeem moet op alle toegangsniveaus beveiligd zijn. Infrastructuur 7. Goede schaalbaarheid Responsiesnelheid gemiddeld max sec (rapportages uitgezonderd) Open standaard voor communicatie Orden de lagen en definieer ze Taak Domein InfrastructuurAbstractie Infrastructuur Laag Taak Domein Infrastructuurabstractie Infrastructuur Bevat de logica (conform het LIL-referentiemodel) Presentatie en Taakspecifieke logica Domeingenerieke logica Infrastructuurabstractie Infrastructuur Hogeschool Utrecht/Leo Pruijt en Wiebe Wiersema 4

5 Stap 3: Bepaal de communicatieregels tussen de lagen 3. Bepaal welke standaardregels gelden en waarom De regels, 2, 3 en 5 in de onderstaande tabel zijn afgeleid van de standaardregels. Het gerelateerde kwaliteitsdoel vormt de motivatie voor de regel. 3.2 Bepaal welke uitzonderingsregels gelden en waarom Regel 4 en 6 vormen uitzonderingsregels. Regel 7 ondervangt een nadeel van regel 6. Regel. Bij verwijdering, wijziging of invoer (DUC-acties) van gegevens mag de domeinlaag niet worden overgeslagen. 2. Geen aanroepen van de Domeinlaag naar de Taaklaag die ten koste gaan van de herbruikbaarheid. Dit wordt bereikt met regel 3 en De infrastructuurabstractielaag mag nooit worden overgeslagen. 4. Aanroep vanuit alle lagen naar de security component in de Infrastructuurlaag is toegestaan (via de infrastructuurabstractielaag). Kwaliteitsdoel. Alle gegevens die worden vastgelegd, moeten gecontroleerd zijn. 2. Goede analyseerbaarheid van het systeem. 3. Domeingenerieke logica wordt slechts op één plek vastgelegd en van daaruit hergebruikt. 4. De applicaties zijn zoveel mogelijk onafhankelijkheid van wijzigingen in de database-structuur. 5. DBMS, applicatieserver, randapparatuur, et cetera moeten eenvoudig vervangen kunnen worden. 6. Het systeem moet op alle toegangsniveaus beveiligd zijn Goede schaalbaarheid. 6. Bij read-only acties mag de domeinlaag worden overgeslagen 7. Read-only acties, waarbij de domeinlaag wordt overgeslagen moeten via een databasestructuurabstractie mechanisme werken. 8. Responsiesnelheid gemiddeld max sec (rapportages uitgezonderd) Open standaard voor communicatie. Grafische weergave van het lagenmodel op hoofdlijnen NB De details van de regels zijn niet zichtbaar! Taak Domein InfrastructuurAbstractie Infrastructuur Hogeschool Utrecht/Leo Pruijt en Wiebe Wiersema 5

6 Stap 4: Toets de geschiktheid van het lagenmodel De significante use case Aanwezigheid registreren is hiervoor uitgekozen, omdat die de kern van de systeemfunctionaliteit representeert. In het sequence diagram op analyseniveau is te zien welke functionaliteit nodig is om de use case af te handelen. In het sequence diagram op designniveau is te zien hoe de use case kan worden afgehandeld, rekening houdend met het lagenmodel. Ook is te zien waar de functionaliteit dan (logisch) terecht komt, zonder dat er al voor een specifieke implementatietechniek gekozen is. Aanwezigheid registreren Docent Sequence diagram op analyse-niveau voor de use case: Aanwezigheid registreren Teacher getallclasses() :Class :Activity :Participant :Presence getactivities() getdetails() getparticipants() getdetails() createpresence() create() Hogeschool Utrecht/Leo Pruijt en Wiebe Wiersema 6

7 Sequence diagram op design-niveau voor de use case: Aanwezigheid registreren Taaklaag Domeinlaag Infrastructuur Abstractielaag :RegPresenceUI :RegPresenceController :Class :Activity :Participant :Presence DbFacade Teacher initialise() initialise() getallclasses() getallclassdata() selectclass() selectclass() getactivities() getdetails() getactivitydata() selectactivity() selectactivity() getparticipants() getdetails() getparticipantdata() setpresence() setpresence() createpresence() create() InsertPresenceData() Stap 5: Documenteer het lagenmodel De resultaten van de stappen -3 vormen de kern van de documentatie. In het artikel Gelaagde architecturen(): Introductie wordt behandeld wat in de documentatie van een lagenmodel duidelijk gemaakt moet worden, zodat de systeemontwikkelaars er goed mee aan het werk kunnen gaan. Hogeschool Utrecht/Leo Pruijt en Wiebe Wiersema 7

8 3. Fysiek Lagenmodel: PHP implementatie Leo Pruijt Met dank aan de studententeams van de Informatica-opleiding van de Hogeschool Utrecht voor hun inbreng, onderzoek en toepassingen op het gebied van PHP: Ruben Mijwaart, Onno Dijkstra, Bili Xiahilil, Ismaël sadkaoui; Martijn Gastkemper, Redmar Stienstra, Tom Zitter. Stap 6: Evalueer de kwaliteitsdoelen en kies de technologie 6. Evalueer de kwaliteitsdoelen De in stap geïnventariseerde kwaliteitsdoelen dekken ook de gangbare technologische risico s af. Er worden geen nieuwe kwaliteitsdoelen onderkend. Wel wordt als extra, technische maatregel vastgesteld dat het MVC-pattern zal worden toegepast in verband met het kwaliteitsdoel Goede analyseerbaarheid van het systeem. 6.2 Kies de technologie die bij die doelen past Met Doctrine.2 kunnen de kwaliteitsdoelen, 2, 3, 4, 5, 6 en 7 gehaald worden. Met Zend en Smarty kan met name kwaliteitsdoel 2 gehaald worden. Met Zend-ACL kan kwaliteitsdoel 6 (deels) gehaald worden, met de beperking dat de beveiliging alleen op controllerniveau geïmplementeerd wordt. Met XML/SOAP voor externe communicatie kan kwaliteitsdoel 8 gehaald worden. Met JQuery kan de interactie dynamisch gemaakt worden. NB Een meer complete verantwoording van de technologie keuzen vormt onderdeel van het Architecture Notebook/SAD. Hogeschool Utrecht/Leo Pruijt en Wiebe Wiersema 8

9 Stap 7: Onderken en ontwerp de fysieke lagen 7. Onderken de fysieke lagen 7.. Tier model Een 3-tier deployment model combineert een goede performance met een (voor dit systeem) afdoend niveau van beveiliging. Client Tier Web Tier EIS Tier Apache/PHP server: Browser HTML Smarty Zend Framework Oracle Database JavaScript ondersteund door jquery Doctrine 7..2 Lagenmodel Het logische lagenmodel en het technische raamwerk uit stap 5 moeten gecombineerd worden tot een fysiek lagenmodel, waardoor goed werkende applicaties kunnen worden ontwikkeld die voldoen aan de gestelde kwaliteitseisen. Taak (View & Controller: Zend, Smarty, JQuery) Domein (Model: Doctrine) InfrastructuurAbstractie (Doctrine) Infrastructuur 7.2 Ontwerp de fysieke implementatie van de lagen Onder 7. is al aangegeven welke technologie per laag gebruikt zal worden. Hogeschool Utrecht/Leo Pruijt en Wiebe Wiersema 9

10 Als aanvulling daarop worden de volgende implementatiekeuzen gemaakt: Taak-laag View-functionaliteit en Controller functionaliteit (conform het MVC pattern) worden gescheiden in aparte klassen. View en Controller klassen worden niet gescheiden in aparte packages of directories, maar samenhangende combinaties van view- en controllerklassen worden juist bij elkaar geplaatst. Domein-laag: Alle domeingenerieke logica (validaties, berekeningen, ) wordt herbruikbaar gemaakt door deze in (OO)entities op te nemen. Daarmee wordt het Domain Model pattern [Fowler03] gevolgd voor DUC-acties. De domeinfunctionaliteit zal in logische componenten worden ingedeeld. Infrastructuurabstractie-laag Doctrine bevat een Object Relational Mapper (ORM) die de vertaalslag tussen de objectgeörienteerde klassen (entities) en de database tabellen regelt. Daarmee wordt het Data Mapper pattern [Fowler03] gevolgd. Er zal gebruik gemaakt worden (juist ook voor de R- en zoekacties) van de Doctrine Query language (DQL), die Doctrine automatisch vertaald naar DBMS-specifieke SQL. Daarmee wordt het Data Mapper pattern [Fowler03] gevolgd. Stap 8: Ontwerp de communicatie tussen de lagen 8. Evalueer de communicatieregels gedefinieerd op logisch niveau. De regels van logisch model kunnen gehandhaafd blijven, met de volgende beperkingen: Regel 4 is overbodig, omdat er geen aparte security component komen. Voor deze applicatie wordt een afdoende niveau van beveiliging bereikt met Zend-ACL, maar daarbij wordt de beveiliging alleen op controllerniveau geïmplementeerd. Doctrine is een framework dat een deel van de infrastructuurabstractielaag invult m.b.t. database benadering. Maar Doctrine wordt ook gebruikt voor de implementatie van de domein functionaliteit. Dit gebeurt op zo n manier dat Doctrine niet eenvoudige manier vervangen kan worden door een ander framework of ORM-mapper. 8.2 Ontwerp de fysieke communicatie tussen de lagen De koppeling tussen taaklaag en domeinlaag wordt op de volgende wijze geminimaliseerd. De domeinfunctionaliteit (verdeeld over logische componenten zal alleen via een Facade benaderbaar zijn. Aanroepen vanuit de Taaklaag naar de Infrastructuurabstractielaag mag alleen Read-acties betreffen en mogen alleen in DQL. Aanroepen vanuit de Domeinlaag naar de Infrastructuurabstractielaag mag alle soorten acties betreffen, maar mag alleen in DQL. Er worden geen domeinobjecten geretourneerd van domein- naar taaklaag, maar er wordt gebruik gemaakt van het Data Transfer Objects pattern [Fowler03] of van arrays. In dit specifieke geval zullen de facade methodes van de domeinlaag multidimensionale PHP arrays retourneren. Hogeschool Utrecht/Leo Pruijt en Wiebe Wiersema 0

11 Stap 9: Toets de geschiktheid van het lagenmodel Op fysiek niveau ziet de afhandeling van een use case er modelmatig als volgt uit: Taaklaag Domeinlaag Infrastr. abstr.laag Infrastruct. laag :View :Controller :Facade :Domain :Domain2 :Doctrine-ORM :DBMS Teacher read() update() Verder verdient het aanbeveling om door middel van een prototype aan te tonen dat de gemaakte keuzen leiden tot een werkende applicatie die aan de diverse niet-functionele eisen voldoet. Stap 0: Documenteer het lagenmodel De resultaten van de stappen -3 en 6-8 vormen de kern van de documentatie. In het eerste artikel over de Gelaagde Architecturen wordt behandeld wat in de documentatie van een lagenmodel duidelijk gemaakt moet worden, zodat de systeemontwikkelaars er goed mee aan het werk kunnen gaan. Hogeschool Utrecht/Leo Pruijt en Wiebe Wiersema

12 4. FysiekLagenmodel: Ruby on Rails Implementatie Wiebe Wiersema Stap 6: Evalueer de kwaliteitsdoelen en kies de technologie Het gekozen raamwerk is Ruby on Rails (RoR), Rails is een open-source framework dat is bedoeld om webapplicaties in korte tijd te bouwen met behoud van goed onderhoudbare applicatie code. RoRvolgt het MVC principe voor de indeling van de applicatielogica en is technologie onafhankelijk opgezet. RoR kan zowel op Windows als op de Unix familie van operating systemen ontwikkeld en gehost worden en kan gebruik maken van de meeste populaire databases zoals Oracle, MySql, SqlServer etc. Daarnaast heeft RoR het convention over configuration principe waardoor heel veel zaken standaard ingevuld zijn zonder dat daarvoor extra instellingen nodig zijn. Evalueer de kwaliteitsdoelen De kwaliteitsdoelen zijn haalbaar, met als kanttekening dat de doelen 5,6,7 zorgvuldig met de opdrachtgever afgestemd moeten worden of ze door de te kiezen technologie afgedekt zijn. Kies de technologie die bij die doelen past Kwaliteitsdoel 0. Alle gegevens die worden vastgelegd, moeten gecontroleerd zijn.. Goede analyseerbaarheid van het systeem. 2. Domeingenerieke logica wordt slechts op één plek vastgelegd en van daaruit hergebruikt. 3. De applicaties zijnzoveel mogelijk onafhankelijkheid van wijzigingen in de database-structuur. 4. DBMS, applicatieserver, randapparatuur, et cetera moeten eenvoudig vervangen kunnen worden. 6. Het systeem moet op alle toegangsniveaus beveiligd zijn. 7. Goede schaalbaarheid. 8. Responsiesnelheid gemiddeld max sec (rapportages uitgezonderd). Invulling. Dit doel wordt ingevuld door alle domein generieke logica in de Model classes onder te brengen en in de overige classes (View, Controller) geen gegevens logica onder te brengen. 2. Door een indeling van de applicatie in model, view en controller classes is de opbouw overzichtelijk 3. De model classes dwingen dit af 4. Wijzigingen in de database structuur werken door in de Model classes. De view classes wijzigen alleen als dit nodig is vanwege wijzigingen in de te tonen informatie. 5. RoR is technologie onafhankelijk opgezet. Wijzigingen in infrastructuur worden verborgen door de configuratie en de infrastructuur abstractie logica. 6. Functie beveiliging in Ruby vindt plaats in de controller classes. Hiervoor dient een zogenaamd filter ingesteld te worden die valideert of de toegang tot een functie geautoriseerd is (bijv. met behulp van de gem declarative_authorization). Het beperken van gegevens toegang is geen standaard ondersteuning voor, hiervoor dient in de model classes extra logica geprogrammeerd te worden.toegang naar de database is met een wachtwoord beveiligd. 7. RoR is een stateless applicatie. Dit type applicaties kenmerkt zich door een goede schaalbaarheid. RoR is op dit vak geen uitzondering maar vraagt wel meer resources (RAM en CPU) dan een bijvoorbeeld een Java, PHP of.net applicatie. Door gebruik te maken van software zoals Passenger wordt het gebruik van RAM beperkt. 8. Lijkt realistisch gegeven de performance van RoR websites op dit moment. Is wel een punt van aandacht. 9. Open standaard voor communicatie. 0. RoR communiceert met XML en REST webservices door middel van de ActiveResource component en kan XML/SOAP gebruiken middels het SOAP4R component. Hogeschool Utrecht/Leo Pruijt en Wiebe Wiersema 2

13 Stap 7: Onderken en ontwerp de fysieke lagen 7. Onderken de fysieke lagen 7..Tier model Een 3-tier deployment model combineert een goede performance met een (voor dit systeem) afdoend niveau van beveiliging. Rails is een stateless architectuur. Dit betekent dat deze heel goed horizontaal te schalen is, mits de database snel genoeg kan blijven reageren gedurende piekbelasting. Het product Phusion Passenger werkt als loadbalancer door verscheidene Rails instances op te starten en aanvragen over deze instances te verdelen Lagenmodel Het logische lagenmodel en het technische raamwerk uit stap 5 moeten gecombineerd worden tot een fysiek lagenmodel, waardoor goed werkende applicaties kunnen worden ontwikkeld die voldoen aan de gestelde kwaliteitseisen. Hogeschool Utrecht/Leo Pruijt en Wiebe Wiersema 3

14 7.2 Ontwerp de fysieke implementatie van de lagen Onder 7. is al aangegeven welke technologie per laag gebruikt zal worden. Het onderstaande figuur gaat dieper in op de componenten die een Ruby on Rails applicatie bevat. Browser or Web Enabled Application HTTP, RSS, ATOM Apache, Nginx Requests Webserver Forwards Runs forked rails instances XML XHTML, XML, CSS, JS, Images Passenger Responds Responds Loadbalances RAILS Action Webservice Action View Dispatcher Renders Starts Delegates Action Controller Action View Redirects Instantiates Models Delivers Instantiates Models Active Record Action Mailer Active Resource Queries Data Mails Mail Server Requests Replies RESTfull Service HTTP, XHTML Database Elementen van de Ruby on Rails architectuur:. Dispatcher De webserver (bijv. apache) geeft aanroepen door aan de Dispatcher. De Dispatcher start de afhandeling van de aanroep door een controller class (kind van Action Controller) te instantierenen een eenmethod aan te roepen op basis van de routing regels die ingesteld zijn in de routing configuratie. Hiermee worden aanroepen gekoppeld aan de logica die de aanroep kan afhandelen. 2. Controller De controller class bevat de logica rondom het verloop en de afhandeling van een aanroep. De meeste methods in een controller class zijn de volgende twee smaken: a. Presentatie voorbereidend Als een gebruiker een object opvraagt met een zogenaamde get, dan instantieert de controller de juiste model classes en geeft deze door aan de view die gebruikt wordt om het gevraagde object te tonen. b. Actie verwerkend Als een gebruiker een bewerking van een object wil uitvoeren (bijv. post of delete) dan instantieert de controller de juiste model classes, verwerkt de gevraagde verandering en vraagt de model classes om zichzelf te valideren en op te slaan. 3. Active Record Alle model classes erven van Activerecord. De logica om de database te benaderen is veilig geabstraheerd achter de methods van ActiveRecord. In een model class wordt gegevens specifieke logica, berekeningen en veld validaties opgenomen. Hogeschool Utrecht/Leo Pruijt en Wiebe Wiersema 4

15 4. Action View Action laadt templates op basis van de aangeroepen method op de controller en converteert deze naar html, xml etc. naar gelang de behoefte van de aanroeper. 5. Action Webservice Deze class is bedoeld om op makkelijke wijze SOAP XML Services en de bijbehorende WSDL te publiceren. Door deze class te overerven met een zogenaamde api class en in deze api class de interface te specificeren kan vrij eenvoudig een webservice worden opgebouwd en gepubliceerd. 6. Action Mailer Actionmailer wordt gebruikt om mails vanuit de Rails applicatie te versturen. Het opbouwen van de inhoud van de mail gebeurt op dezelfde wijze als de inhoud van webpagina s alleen worden nu templates gebruikt die mailinhoud genereren. 7. Active Resource Activeresource is bedoeld om eenvoudig restfull services aan te roepen en het resultaat van de aanroep als een model class terug te geven. Het stelt wel specifieke eisen aan hoe gegevens worden opengesteld door de leverende partij. Een alternatief hiervoor is het gebruik van SOAP4R. Door het volgen van de standaard Ruby on Rails architectuur zijn de volgende implementatiekeuzen gemaakt: Taak-laag View-functionaliteit en Controller functionaliteit (conform het MVC pattern)worden gescheiden in aparte klassen Controllers en Views. Models worden geïnstantieerd als kinderen van Active Resource of Active Record. Model, View en Controller klassen worden gescheiden in aparte directories geplaatst conform de rails conventies. Domein-laag: Alle domeingenerieke logica (validaties, berekeningen, ) wordt herbruikbaar gemaakt door deze in de model classes op te nemen. Daarmee wordt het Domain Model pattern [Fowler03] gevolgd. Alle benadering van de database gaan via een Model class die erft van ActiveRecord. Infrastructuurabstractie-laag ActiveRecord verzorgt de vertaalslag tussen de objectgeörienteerde klassen (entities) en de database tabellen. Daarmee wordt het Data Mapperpattern[Fowler03] gevolgd. Het systeem gebruikt (juist ook voor de R- en zoekacties) de ActiveRecordQuery interface, die ActiveRecordautomatisch vertaald naar DBMS-specifieke SQL. Daarmee wordt het Data Mapperpattern[Fowler03] gevolgd. Het systeem volgt voor het benaderen van externe webservices dezelfde aanpak de externe services worden achter modellen verborgen en daarmee zijn deze op het juiste abstractie niveau vanuit de de controller classes te gebruiken. Stap 8: Ontwerp de communicatie tussen de lagen 8. Evalueer de communicatieregels gedefinieerd op logisch niveau. De regels van logisch model kunnen gehandhaafd blijven zonder beperkingen. 8.2 Ontwerp de fysieke communicatie tussen de lagen Dekoppeling tussen taaklaag en domeinlaag wordt op de volgende wijze geminimaliseerd. De taaklaag maakt alleen gebruik van de interfaces zoals aangeboden door de methods en getters/setters van de Model classes. Hogeschool Utrecht/Leo Pruijt en Wiebe Wiersema 5

16 Stap 9: Toets de geschiktheid van het lagenmodel Op fysiek niveau ziet de afhandeling van een use case er modelmatig als volgt uit: Stap 0: Documenteer het lagenmodel De resultaten van de stappen -3 en 6-8 vormen de kern van de documentatie. In het artikel Gelaagde architecturen(): Introductie wordt behandeld wat in de documentatie van een lagenmodel duidelijk gemaakt moet worden, zodat de systeemontwikkelaars er goed mee aan het werk kunnen gaan. Hogeschool Utrecht/Leo Pruijt en Wiebe Wiersema 6

Methods. Meer inzicht in een gelaagde architectuur. Het bepalen van het fysieke lagenmodel is een. Deel 3: Ontwerpen van een fysiek lagenmodel

Methods. Meer inzicht in een gelaagde architectuur. Het bepalen van het fysieke lagenmodel is een. Deel 3: Ontwerpen van een fysiek lagenmodel Methods Een lagenmodel maakt deel uit van de meeste software architecturen. Het gekozen lagenmodel kan het succes van een applicatie maken of breken. Een goed lagenmodel zorgt ervoor dat bepaalde kwaliteitsdoelen

Nadere informatie

Technisch ontwerp. Projectteam 6. Project "Web Essentials" 02 april 2009. Versie 2.1.0

Technisch ontwerp. Projectteam 6. Project Web Essentials 02 april 2009. Versie 2.1.0 Projectteam 6 Faculteit Natuur en Techniek Hogeschool Utrecht Projectleider: Hans Allis, hans.allis@student.hu.nl Technisch ontwerp Project "Web Essentials" 02 april 2009 Versie 2.1.0 Teamleden: Armin

Nadere informatie

Capita Selecta Design Patterns voor administratieve applicaties

Capita Selecta Design Patterns voor administratieve applicaties Capita Selecta voor administratieve applicaties Bij afstudeerproject: Generiek framework voor administratieve toepassingen in een webgeörienteerde omgeving Henk van de Ridder 26 augustus 2006 Inhoud 26

Nadere informatie

Gebruik van cryptografie voor veilige jquery/rest webapplicaties. Frans van Buul Inter Access

Gebruik van cryptografie voor veilige jquery/rest webapplicaties. Frans van Buul Inter Access Gebruik van cryptografie voor veilige jquery/rest webapplicaties Frans van Buul Inter Access 1 Frans van Buul frans.van.buul@interaccess.nl 2 De Uitdaging Rijke en veilige webapplicaties Een onveilig en

Nadere informatie

Meer inzicht in een gelaagde architectuur

Meer inzicht in een gelaagde architectuur 22 Methodology Leo Pruijt is als hogeschooldocent verbonden aan het lectoraat Architectuur van Digitale Informatiesystemen aan de Hogeschool Utrecht. Lagenmodellen vormen een belangrijk onderdeel van de

Nadere informatie

Verantwoording van het Logica In Lagen referentiemodel

Verantwoording van het Logica In Lagen referentiemodel Verantwoording van het Logica In Lagen referentiemodel Bijlage bij Meer inzicht in gelaagde architectuur - Deel 1: Uitleg, terminologie en methoden [Pruijt10]. Leo Pruijt, Lectoraat Architectuur van Digitale

Nadere informatie

De architect: in spagaat tussen mensen en technische details. Illustratie met een simpel voorbeeld

De architect: in spagaat tussen mensen en technische details. Illustratie met een simpel voorbeeld De architect: in spagaat tussen mensen en technische details Illustratie met een simpel voorbeeld Illustratie van stap voor stap naar een architectuur aan de hand van een voorbeeld Overview Exercise Assistant:

Nadere informatie

INFITT01 - Internettechnologie WEEK 8

INFITT01 - Internettechnologie WEEK 8 INFITT01 - Internettechnologie WEEK 8 Programma Databases (JDBC, JNDI, ORM, JPA) MVC & Spring/Struts EJB Databases Veel web applicaties moeten informatie over langere tijd op kunnen slaan. Een voor de

Nadere informatie

HDN DARTS WEB AUTHENTICATIE

HDN DARTS WEB AUTHENTICATIE HDN DARTS WEB AUTHENTICATIE HDN Helpdesk T: 0182 750 585 F: 0182 750 589 M: helpdesk@hdn.nl Copyright Communications Security Net B.V. Inhoudsopgave 1. INLEIDING OP HET ONTWERP... 3 1.1 HET DOEL VAN DIT

Nadere informatie

Technologie en Interactie 3.2: software architectuur

Technologie en Interactie 3.2: software architectuur Technologie en Interactie 3.2: software architectuur Manual IAM-TDI-V2-Technologie en Interactie. Jaar 0809 blok 2 Oktober 2008 Fons van Kesteren 1/8 Inhoud Technologie en Interactie 3.2: software architectuur...

Nadere informatie

icafe Project Joeri Verdeyen Stefaan De Spiegeleer Ben Naim Tanfous

icafe Project Joeri Verdeyen Stefaan De Spiegeleer Ben Naim Tanfous icafe Project Joeri Verdeyen Stefaan De Spiegeleer Ben Naim Tanfous 2006-2007 Inhoudsopgave 1 2 1.1 Programmeertaal PHP5..................... 2 1.2 MySQL database......................... 3 1.3 Adobe Flash...........................

Nadere informatie

Dit voorbeeldproject beschrijft het gebruik van web services (open standaarden) voor de ontsluiting van kernregistraties bij de gemeente Den Haag.

Dit voorbeeldproject beschrijft het gebruik van web services (open standaarden) voor de ontsluiting van kernregistraties bij de gemeente Den Haag. Voorbeeldproject Een Haagse SOA Dit voorbeeldproject beschrijft het gebruik van web services (open standaarden) voor de ontsluiting van kernregistraties bij de gemeente Den Haag. Aanleiding Vanuit de visie

Nadere informatie

Technisch Ontwerp W e b s i t e W O S I

Technisch Ontwerp W e b s i t e W O S I Technisch Ontwerp W e b s i t e W O S I WOSI Ruud Jungbacker en Michael de Vries - Technisch ontwerp Website Document historie Versie(s) Versie Datum Status Omschrijving / wijzigingen 0.1 20 nov 2008 Concept

Nadere informatie

Object Oriented Programming

Object Oriented Programming Object Oriented Programming voor webapplicaties Door Edwin Vlieg Waarom OOP? Basis uitleg over OOP Design Patterns ActiveRecord Model View Controller Extra informatie Vragen OOP Object Oriented Programming

Nadere informatie

Generiek framework voor administratieve toepassingen in een webgeörienteerde omgeving

Generiek framework voor administratieve toepassingen in een webgeörienteerde omgeving Generiek framework voor administratieve toepassingen in een webgeörienteerde omgeving Henk van de Ridder Stand van zaken 17 Maart 2007 Inhoud Probleemgebied afstudeerproject Oplossingsgebied afstudeerproject

Nadere informatie

Sparse columns in SQL server 2008

Sparse columns in SQL server 2008 Sparse columns in SQL server 2008 Object persistentie eenvoudig gemaakt Bert Dingemans, e-mail : info@dla-os.nl www : http:// 1 Content SPARSE COLUMNS IN SQL SERVER 2008... 1 OBJECT PERSISTENTIE EENVOUDIG

Nadere informatie

Samengaan van Geo-informatie en Service Oriëntatie

Samengaan van Geo-informatie en Service Oriëntatie Samengaan van Geo-informatie en Service Oriëntatie Waterbodem Applicatie (WAB*info) 10 juli 2008 Gaston Lamaitre Data-ICT-Dienst, Delft Inhoud Wat doet Rijkswaterstaat? Doel van WAB*info De randvoorwaarden

Nadere informatie

Een suite van web applicaties om geografische informatie in de organisatie te presenteren

Een suite van web applicaties om geografische informatie in de organisatie te presenteren M A P I N F O E X P O N A R E Een suite van web applicaties om geografische informatie in de organisatie te presenteren INTRODUCTIE VAN MAPINFO EXPONARE MapInfo Exponare is ontwikkeld om gebruikers toegang

Nadere informatie

Technisch ontwerp. Projectteam 6. Project "Web Essentials" 05 juni 2009. Versie 3.8.0

Technisch ontwerp. Projectteam 6. Project Web Essentials 05 juni 2009. Versie 3.8.0 Projectteam 6 Faculteit Natuur en Techniek Hogeschool Utrecht Projectleider: Hans Allis, hans.allis@student.hu.nl Technisch ontwerp Project "Web Essentials" 05 juni 2009 Versie 3.8.0 Teamleden: Armin Ghassemi

Nadere informatie

Responsive web applicaties op Oracle

Responsive web applicaties op Oracle APEX Responsive web applicaties op Oracle Spreker(s) : Datum : E-mail : Arian Macleane & Jacob Beeuwkes 06-06-2013 info@transfer-solutions.com WWW.TRANSFER-SOLUTIONS.COM Outline Trends APEX intro APEX

Nadere informatie

NHibernate als ORM oplossing

NHibernate als ORM oplossing NHibernate als ORM oplossing Weg met de SQL Queries Wat is ORM? ORM staat in dit geval voor Object Relational Mapping, niet te verwarren met Object Role Modeling. ORM vertaalt een objectmodel naar een

Nadere informatie

Oracle Application Server Portal Oracle Gebruikersgroep Holland Oktober 2003

Oracle Application Server Portal Oracle Gebruikersgroep Holland Oktober 2003 Oracle Application Server Portal Oracle Gebruikersgroep Holland Oktober 2003 Page 1 1 Kees Vianen Senior Sales Consultant Technology Solutions Oracle Nederland Agenda Geschiedenis van Oracle Portal Portal

Nadere informatie

Uitleg algemene structuur WTell

Uitleg algemene structuur WTell Uitleg algemene structuur WTell Brondocument C:\WebServer\Handleiding\WTellAlgemeen\WTellStructuurGlobaal.odt Versiebeheer Versie Datum Uitleg 1.0v 21-09-11 1e versie met uitleg globale structuur WTell

Nadere informatie

Opdrachtformulering (pagina 3 van 7)

Opdrachtformulering (pagina 3 van 7) Afstudeerovereenkomst van Tim Wils Bijlage 1 Opdrachtformulering (pagina 3 van 7) Dit project betreft een eigen framework (soort API) waarmee relatief gemakkelijk en in korte tijd eindproducten opgezet

Nadere informatie

Project plan. Erwin Hannaart Sander Tegelaar 61849 62407

Project plan. Erwin Hannaart Sander Tegelaar 61849 62407 Project plan Erwin Hannaart Sander Tegelaar 61849 62407 I4C2 I4C1 1 Inhoudsopgave Doel en doelgroep van het project... 3 Beschrijving van het project... 4 Benodigde materialen... 5 Te verwachten resultaten,

Nadere informatie

Applicatie-Architecturen

Applicatie-Architecturen Applicatie-Architecturen joost.vennekens@kuleuven.be http://www.cs.kuleuven.be/~joost/dn/ Onderwerp Programming in the large! ( programming in the small)! Bijvoorbeeld: KU Leuven Veel verschillende functionaliteit

Nadere informatie

Technisch ontwerp. Projectteam 6. Project "Web Essentials" 11 maart 2009. Versie 1.1.0

Technisch ontwerp. Projectteam 6. Project Web Essentials 11 maart 2009. Versie 1.1.0 Projectteam 6 Faculteit Natuur en Techniek Hogeschool Utrecht Projectleider: Hans Allis, hans.allis@student.hu.nl Technisch ontwerp Project "Web Essentials" 11 maart 2009 Versie 1.1.0 Teamleden: Armin

Nadere informatie

Databases - Inleiding

Databases - Inleiding Databases Databases - Inleiding Een database is een verzameling van een aantal gegevens over een bepaald onderwerp: een ledenbestand van een vereniging, een forum, login gegevens. In een database worden

Nadere informatie

Technisch Ontwerp VISSIM-PPA Koppeling

Technisch Ontwerp VISSIM-PPA Koppeling 1 Technisch Ontwerp VISSIM-PPA Koppeling Revisie Versie Datum Omschrijving 1.0 25 juli 2013 Initiële versie 1.1 26 juli 2013 Toevoeging van TDI regeltoestand. Toevoeging van bestandsnaam filtering. 1.2

Nadere informatie

CEL. Bouwstenen voor een elektronische leeromgeving

CEL. Bouwstenen voor een elektronische leeromgeving CEL Bouwstenen voor een elektronische leeromgeving FACTSHEET CEL VERSIE 1.0 DECEMBER 2001 CEL - Bouwstenen voor een elektronische leeromgeving Inhoudsopgave Wat is CEL? 1 Uitgangspunten 1 De eindgebruiker

Nadere informatie

TECHNICAL DESIGN DOCUMENT

TECHNICAL DESIGN DOCUMENT TECHNICAL DESIGN DOCUMENT BACHELORPROJECT IN3405 John Ciocoiu 1358227 Elwin Dokter 1275909 TECHNISCHE UNIVERSITEIT DELFT FACULTEIT EWI WOENSDAG 28 APRIL 2010 VERSIE 1 COMMISSIE: Ing. D.J. van Roest (opdrachtgever)

Nadere informatie

Inhoudsopgave. Hoofdstuk 1.Inleiding...3

Inhoudsopgave. Hoofdstuk 1.Inleiding...3 Struts Inhoudsopgave Hoofdstuk 1.Inleiding...3 1.1.Design patterns...3 1.1.1.Model 1 Architectuur...3 1.1.2.Model 2 Architectuur (MVC)...4 1.2.Frameworks...6 Hoofdstuk 2.Struts installatie...7 2.1.Installatie

Nadere informatie

APEX en JasperReports

APEX en JasperReports APEX en JasperReports een Dream Team! Spreker(s) : Datum : E-mail : Vincent Deelen 28 mei 2013 vincent.deelen@transfer-solutions.com WWW.TRANSFER-SOLUTIONS.COM Outline APEX en rapporten Oracle BI publisher

Nadere informatie

Copyright IBS 2006. Nieuwbouw. Vereenvoudigd en versnelt Java ontwikkeling. Huub Cleutjens

Copyright IBS 2006. Nieuwbouw. Vereenvoudigd en versnelt Java ontwikkeling. Huub Cleutjens Nieuwbouw Vereenvoudigd en versnelt Java ontwikkeling Huub Cleutjens Inhoud IBS en Java Keuzes: taal / architectuur Productiviteit / arbeidsdeling IBS Java Development Accelerator Persistence UI Persistence

Nadere informatie

Onder de motorkap van Microsoft Azure Web Sites. Eelco Koster Software architect ORDINA

Onder de motorkap van Microsoft Azure Web Sites. Eelco Koster Software architect ORDINA Onder de motorkap van Microsoft Azure Web Sites Eelco Koster Software architect ORDINA Agenda Introductie Architectuur Project Kudu Azure Resource Manager Doel Dieper inzicht geven in de werking van Azure

Nadere informatie

Kennis na het volgen van de training. Na het volgen van deze training bent u in staat:

Kennis na het volgen van de training. Na het volgen van deze training bent u in staat: Training Trainingscode Duur Gepubliceerd Taal Type Leermethode Kosten SF2015V8 4 dagen 02/02/2015 Nederlands & Engels Developer, basis Invidueel & klassikaal Op aanvraag Deze training richt zich op het

Nadere informatie

Cursus Software Architecture (T32311 en T32811)

Cursus Software Architecture (T32311 en T32811) Software Architecture, T 32311 en T32811 Cursus Software Architecture (T32311 en T32811) Dit tentamen bestaat uit 3 vragen, waarbij vraag 1 en vraag 3 elk uit 2 deelvragen bestaan. Voor dit tentamen kunt

Nadere informatie

INHOUDSOPGAVE 3. 3.5 Het Boekenwinkeltje... 90 3.5.1 Registreer.aspx... 90 3.6 Opgaven... 97

INHOUDSOPGAVE 3. 3.5 Het Boekenwinkeltje... 90 3.5.1 Registreer.aspx... 90 3.6 Opgaven... 97 Inhoudsopgave 1 Inleiding 8 1.1 Het.Net Framework................................ 8 1.1.1 Het.Net Ontwikkelingsmodel....................... 8 1.1.2 Compilatie en Uitvoering in.net.....................

Nadere informatie

Weblogic 10.3 vs IAS 10.1.3

Weblogic 10.3 vs IAS 10.1.3 Vision ~ Knowledge ~ Results Weblogic 10.3 vs IAS 10.1.3 OGh Fusion Middleware/ SOA Dag 19 Mei 2010, Het Oude Tolhuys Edwin Biemond email edwin.biemond@whitehorses.nl Web http://blogs.whitehorses.nl/,

Nadere informatie

Vraag 1. Vraag 1a TERUGKOPPELING PROEFTENTAMEN. Software architecture

Vraag 1. Vraag 1a TERUGKOPPELING PROEFTENTAMEN. Software architecture Software architecture IM0203 TERUGKOPPELING PROEFTENTAMEN Vraag 1 Vraag 1a Veel van de in het werkboek besproken patterns kunnen ingezet worden voor het referentiesysteem. We lopen de patterns hier stuk

Nadere informatie

Een website maken met databasetoegang.

Een website maken met databasetoegang. Hoofdstuk 5 Een website maken met databasetoegang. In dit hoofdstuk gaan we het weblog dat je in hoofdstuk 4 hebt gemaakt verder uitbreiden. Een belangrijk onderdeel wordt toegevoegd aan de applicatie,

Nadere informatie

Je gaat nu een Zend-Project maken in de map C:/wamp/www (de document root van de webserver) met behulp van Zend Tool..

Je gaat nu een Zend-Project maken in de map C:/wamp/www (de document root van de webserver) met behulp van Zend Tool.. Hoofdstuk 2 Een ZF project maken het Model-View-Controller pattern Je hebt nu ZF geïnstalleerd en geconfigureerd. We gaan aan de hand van een Zend-project onderzoeken of deze installatie en configuratie

Nadere informatie

A.C. Gijssen. 0.3 PHP en MySQL

A.C. Gijssen. 0.3 PHP en MySQL PHP en MySQL A.C. Gijssen 0.3 PHP en MySQL PHP en MySQL 0.4 Inhoudsopgave Voorwoord Deel 1 Over PHP 1.1 Inleiding...13 1.2 Wat is PHP?...14 1.3 De geschiedenis van PHP...15 1.4 Editor...16 1.5 PHP en websites...17

Nadere informatie

Generiek framework voor administratieve toepassingen in een webgeörienteerde omgeving

Generiek framework voor administratieve toepassingen in een webgeörienteerde omgeving Generiek framework voor administratieve toepassingen in een webgeörienteerde omgeving Henk van de Ridder Stand van zaken 3 november 2007 Inhoud Aanleiding Design Patterns XML en Webservices Keuze administratief

Nadere informatie

Is APEX a worthy substitute for Oracle Forms?

Is APEX a worthy substitute for Oracle Forms? your oracle solu+ons partner Is APEX a worthy substitute for Oracle Forms? APEX for mission critical applications: the Groupm business-case By Ronny Boeykens & Stijn Van Raes iadvise o Opgericht in 2004

Nadere informatie

Zelftest Java EE Architectuur

Zelftest Java EE Architectuur Zelftest Java EE Architectuur Document: n1218test.fm 22/03/2012 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INLEIDING BIJ DE ZELFTEST JAVA EE ARCHITECTUUR Nota:

Nadere informatie

Stappenplannen MailPlus SOAP API

Stappenplannen MailPlus SOAP API Stappenplannen MailPlus SOAP API Stappenplannen MailPlus SOAP API oktober 2009 Introductie Dit document bevat stappenplannen welke u als technische gebruiker van MailPlus op weg kunnen helpen met de koppeling

Nadere informatie

icafe Een digitaal bestelsysteem voor de horeca Joeri Verdeyen Stefaan De Spiegeleer Naim Ben Tanfous

icafe Een digitaal bestelsysteem voor de horeca Joeri Verdeyen Stefaan De Spiegeleer Naim Ben Tanfous icafe Een digitaal bestelsysteem voor de horeca Joeri Verdeyen Stefaan De Spiegeleer Naim Ben Tanfous 2006-2007 Voorwoord 1 Inhoudsopgave 2 Hoofdstuk 1 Inleiding 3 Hoofdstuk 2 icafe 2.1 Het idee 2.2 Mogelijkheden

Nadere informatie

Zelftest Java concepten

Zelftest Java concepten Zelftest Java concepten Document: n0838test.fm 22/03/2012 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INLEIDING BIJ DE ZELFTEST JAVA CONCEPTEN Om de voorkennis nodig

Nadere informatie

Kennissessie INSPIRE. Algemene vereisten & architectuur Metadata View Services Download Services Ondersteuning vanuit Geonovum.

Kennissessie INSPIRE. Algemene vereisten & architectuur Metadata View Services Download Services Ondersteuning vanuit Geonovum. Kennissessie Algemene vereisten & architectuur Metadata View Services Download Services Ondersteuning vanuit Geonovum Thijs Brentjens Inhoud Download Services Pre-defined datasets via Atom feeds Pre-defined

Nadere informatie

Software Test Plan. Yannick Verschueren

Software Test Plan. Yannick Verschueren Software Test Plan Yannick Verschueren November 2014 Document geschiedenis Versie Datum Auteur/co-auteur Beschrijving 1 November 2014 Yannick Verschueren Eerste versie 1 Inhoudstafel 1 Introductie 3 1.1

Nadere informatie

Vergelijking Oracle certificering voor Java en het CPP Gecertificeerd Javaprogrammeur van de Open Universiteit

Vergelijking Oracle certificering voor Java en het CPP Gecertificeerd Javaprogrammeur van de Open Universiteit Vergelijking Oracle certificering voor Java en het CPP Gecertificeerd Javaprogrammeur van de Open Universiteit Inleiding Op het gebied van scholing van de taal Java zijn er vele aanbieders op de markt.

Nadere informatie

Les 2 Eenvoudige queries

Les 2 Eenvoudige queries Les 2 Eenvoudige queries XAMP Apache server ( http ) mysql server PHP myadmin IAM SQL oefeningen Database phpmyadmin Import : sql_producten.sql, sql_winkel.sql, sql_festival.sql SAMS SQL in 10 minuten

Nadere informatie

Toepassingen van webservices. Hans Janssen, SaNS-Expertisecentrum

Toepassingen van webservices. Hans Janssen, SaNS-Expertisecentrum Toepassingen van webservices Hans Janssen, SaNS-Expertisecentrum 2 Toepassingen van Webservices: App s en meer Even voorstellen: SaNS en Hans Webservices voor applicatie-integratie Iedereen z n eigen SOA

Nadere informatie

XAMPP Web Development omgeving opzetten onder Windows.

XAMPP Web Development omgeving opzetten onder Windows. XAMPP Web Development omgeving opzetten onder Windows. Inhoudsopgave 1. Lees dit eerst... 2 2. Inleiding... 2 1 Xampp downloaden... 2 2 Installatie Xampp 1.7.4 op externe harddisk... 3 3 XAMPP herconfiguren...

Nadere informatie

Software Design Document

Software Design Document Software Design Document Mathieu Reymond, Arno Moonens December 2014 Inhoudsopgave 1 Versiegeschiedenis 2 2 Definities 3 3 Introductie 4 3.1 Doel en Scope............................. 4 4 Logica 5 4.1

Nadere informatie

SOA Security. en de rol van de auditor... ISACA Roundtable 2 juni 2008. Arthur Donkers, 1Secure BV arthur@1secure.nl

SOA Security. en de rol van de auditor... ISACA Roundtable 2 juni 2008. Arthur Donkers, 1Secure BV arthur@1secure.nl SOA Security en de rol van de auditor... ISACA Roundtable 2 juni 2008 Arthur Donkers, 1Secure BV arthur@1secure.nl 1 SOA Web 2.0, web services en service oriented architecture (SOA) is tegenwoordig de

Nadere informatie

TaskCentre Web Service Connector: Creëren van requests in Synergy Enterprise

TaskCentre Web Service Connector: Creëren van requests in Synergy Enterprise TaskCentre Web Service Connector: Creëren van requests in Synergy Enterprise Inhoudsopgave 1. Voorbereiding... 4 2. Web Service Connector tool configuratie... 5 3. TaskCentre taak voor het aanmaken van

Nadere informatie

..over. Geoportalen. en: Interoperabiliteit, Open Standaarden en WebService Architecturen. Presentatie GIN 17 november 2004 Theo Thewessen Geodan IT

..over. Geoportalen. en: Interoperabiliteit, Open Standaarden en WebService Architecturen. Presentatie GIN 17 november 2004 Theo Thewessen Geodan IT ..over Geoportalen en: Interoperabiliteit, Open Standaarden en WebService Architecturen Presentatie GIN 17 november 2004 Theo Thewessen Geodan IT Locatie als integrator binnen Geoportalen Location Interoperabiliteit:

Nadere informatie

Objectgeorïenteerd werken is gebaseerd op de objecten die door het systeem gemanipuleerd worden.

Objectgeorïenteerd werken is gebaseerd op de objecten die door het systeem gemanipuleerd worden. Herhaling Objectgeorïenteerd werken is gebaseerd op de objecten die door het systeem gemanipuleerd worden. De basisbouwsteen is het object; een geïntegreerde eenheid van data en operaties werkend op deze

Nadere informatie

Gestart als demo/research voor cloud-oplossing. Een Afslagveiling

Gestart als demo/research voor cloud-oplossing. Een Afslagveiling WAZUG BCC Veiling Concept Gestart als demo/research voor cloud-oplossing Een Afslagveiling Afslag variant Prijsdump variant Windows Azure CMS: Orchard Admin app: dynamic data Auction Manager Proces: worker

Nadere informatie

Parasoft toepassingen

Parasoft toepassingen Testen op basis van OSB en Digikoppeling Voor de bestaande Overheid Service Bus en de nieuwe standaard Digikoppeling zijn verschillende test- omgevingen opgezet. Hiermee kan het asynchrone berichtenverkeer

Nadere informatie

Technologieverkenning

Technologieverkenning Technologieverkenning Videocontent in the cloud door de koppeling van MediaMosa installaties Versie 1.0 14 oktober 2010 Auteur: Herman van Dompseler SURFnet/Kennisnet Innovatieprogramma Het SURFnet/ Kennisnet

Nadere informatie

Zelftest OOAD/UML. Document: N0767Test.fm 30/08/2010. ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium

Zelftest OOAD/UML. Document: N0767Test.fm 30/08/2010. ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium Zelftest OOAD/UML Document: N0767Test.fm 30/08/2010 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INTRODUCTIE Deze test is gebaseerd op de inhoud van onze cursus OO

Nadere informatie

B.Sc. Informatica Module 4: Data & Informatie

B.Sc. Informatica Module 4: Data & Informatie B.Sc. Informatica Module 4: Data & Informatie Djoerd Hiemstra, Klaas Sikkel, Luís Ferreira Pires, Maurice van Keulen, en Jan Kamphuis 1 Inleiding Studenten hebben in modules 1 en 2 geleerd om moeilijke

Nadere informatie

JSF webapplicatie performance

JSF webapplicatie performance JSF webapplicatie performance Kees Broenink (JSF expert), 27 januari 2009 JSF webapplicatie performance... 1 Applicatieserver in productie... 2 HotSpot... 2 Geheugen... 2 Webapplicatie performance analyse...

Nadere informatie

UML is een visuele taal om processen, software en systemen te kunnen modeleren.

UML is een visuele taal om processen, software en systemen te kunnen modeleren. Vragen inleinding UML 1. Wat is UML? UML is een visuele taal om processen, software en systemen te kunnen modeleren. 2. Waar bestaat UML uit? Notaties(zijn symbolen, commentaar en waarden etc.) en diagrammen(grafische

Nadere informatie

asp.net / c# / Sql Server programmeur Persoonskenmerken: geduldig, sociaal, integer, innemend, vastberaden, buiten eigen denkkader denken.

asp.net / c# / Sql Server programmeur Persoonskenmerken: geduldig, sociaal, integer, innemend, vastberaden, buiten eigen denkkader denken. Jaap Goddijn en architect asp.net / c# / Sql Server programmeur Persoonlijke gegevens Naam: Jaap Goddijn Geboortedatum: 20 juli 1974 Woonplaats: Utrecht Email: jaap.goddijn@quebuss.nl Telefoon: 06 151

Nadere informatie

Gimme Five! Op weg naar TYPO3 5.0 'Phoenix'

Gimme Five! Op weg naar TYPO3 5.0 'Phoenix' Gimme Five! Op weg naar TYPO3 5.0 'Phoenix' Waarom TYPO3 5.0? Waarom TYPO3 5.0? Enkele redenen: Waarom TYPO3 5.0? Enkele redenen: Complexiteit De TYPO3 Core architectuur heeft zijn limiet bereikt en is

Nadere informatie

Speaking OData to SharePoint 2010 in a RESTful manner

Speaking OData to SharePoint 2010 in a RESTful manner 1 Speaking OData to SharePoint 2010 in a RESTful manner Welkom bij mijn presentatie over REST, OData en SharePoint 2010. 2 Voorstellen Als eerste wil ik mijzelf voorstellen. Mijn naam is Michaël Hompus

Nadere informatie

Base24 database suite

Base24 database suite Base24 database suite Introductie De Base24 database suite is een zeer geavanceerde database oplossing die ontworpen is voor de management, opslag, inzage en uitwisseling van medische informatie zoals

Nadere informatie

Zope. Een technische introductie. Martijn Pieters Antraciet BV mj@antraciet.nl. V1.2-26 september 1999

Zope. Een technische introductie. Martijn Pieters Antraciet BV mj@antraciet.nl. V1.2-26 september 1999 Een technische introductie Zope Martijn Pieters Antraciet BV mj@antraciet.nl V1.2-26 september 1999 Kerkstraat 19 Postbus 256 1400 AG Bussum The Netherlands e info@antraciet.nl t +31 (0)35 625 4545 f +31

Nadere informatie

Portals & Open Source

Portals & Open Source Portals & Open Source OGh Jaarcongres 2003 Zeist, 7 october R.V.L.P. Schaaf Agenda Introductie Begrippenkader en standaards Open Source portals Onder de loep: Imbrium Praktijk case Open Source in uw organisatie?

Nadere informatie

ECTS fiche. Module info. Evaluatie. Gespreide evaluatie OPLEIDING. Handelswetenschappen en bedrijfskunde HBO Informatica

ECTS fiche. Module info. Evaluatie. Gespreide evaluatie OPLEIDING. Handelswetenschappen en bedrijfskunde HBO Informatica ECTS fiche Module info OPLEIDING STUDIEGEBIED AFDELING MODULE MODULENAAM Programmeren 5 MODULECODE B STUDIEPUNTEN 10 VRIJSTELLING MOGELIJK ja Handelswetenschappen en bedrijfskunde HBO Informatica Evaluatie

Nadere informatie

Programming Content Management Server 2002

Programming Content Management Server 2002 Met behulp van Content Management Server 2002 (CMS) kun je eenvoudig te onderhouden websites bouwen en beheren. De business driver van CMS is het gebruiksvriendelijk beheer van een website, in het bijzonder

Nadere informatie

Maximo Tips and Tricks

Maximo Tips and Tricks Maximo Tips and Tricks Agenda Tips & Tricks 1. Scherm lay-out on demand 2. Koppelen Excel en Maximo 3. Foto s toevoegen aan records 4. Type ahead functie 5. Scripting voor calculaties en validaties 6.

Nadere informatie

Application interface. service. Application function / interaction

Application interface. service. Application function / interaction Les 5 Het belangrijkste structurele concept in de applicatielaag is de applicatiecomponent. Dit concept wordt gebruikt om elke structurele entiteit in de applicatielaag te modelleren: softwarecomponenten

Nadere informatie

Generieke interface energielabels

Generieke interface energielabels Handleiding Generieke interface energielabels In opdracht van het ministerie van Binnenlandse Zaken en Koninkrijksrelaties (Directie Woningbouw) 1 Inleiding 3 1.1 Doel 3 1.2 Korte omschrijving 3 1.3 Indeling

Nadere informatie

Inhoud. Introductie tot de cursus

Inhoud. Introductie tot de cursus Inhoud Introductie tot de cursus 1 De functie van de cursus 7 2 De inhoud van de cursus 7 2.1 Voorkennis 7 2.2 Leerdoelen van de cursus 8 2.3 Opbouw van de cursus 8 3 Leermiddelen en wijze van studeren

Nadere informatie

Aansluiten op VPI. (VolmachtBeheer Producten Interface)

Aansluiten op VPI. (VolmachtBeheer Producten Interface) Aansluiten op VPI (VolmachtBeheer Producten Interface) Auteur : Max Wout en Bram Doveren (Colimbra) Versie : 1.1 Datum : 27 april 2009 Inhoudsopgave 1 Algemeen... 3 1.1 Aanleiding... 3 1.2 Doel van dit

Nadere informatie

Xampp Web Development omgeving opzetten onder Windows.

Xampp Web Development omgeving opzetten onder Windows. Xampp Web Development omgeving opzetten onder Windows. Inhoudsopgave 1. Lees dit eerst... 2 2. Inleiding... 2 3. Installatie Xampp... 3 1.1 Installatie Xampp Launcher... 7 1.2 Controle geïnstalleerde bestanden...

Nadere informatie

GeoKey en Catalog Services

GeoKey en Catalog Services GeoKey en Catalog Services de sleutel tot geo-informatie Studiedag NCG 18 mei 2004 ronald.bottelier@geodan.nl Programma > Begrippen > Actualiteiten in meta-informatie > Visie op doorontwikkeling > GeoKey

Nadere informatie

Whitepaper. Connected Android Apps. Inleiding

Whitepaper. Connected Android Apps. Inleiding Whitepaper Connected Android Apps Inleiding Dit jaar zou wel eens het jaar van de tablet kunnen worden. De mobiele markt heeft met de komst van de tablet al laten zien dat mobiliteit niet stopt bij het

Nadere informatie

Service Oriented Architecture voor interne beheersing

Service Oriented Architecture voor interne beheersing Service Oriented Architecture voor interne beheersing Bedrijfsprocessen overschrijden steeds vaker de grenzen van de organisatie, bijvoorbeeld in het geval van processen met toeleveringsbedrijven. Dergelijke

Nadere informatie

Oracle Portal in een Service-Oriented Architecture (SOA) ir. Jeroen F. van Schaijk Senior Consultant Emerging Technologies

Oracle Portal in een Service-Oriented Architecture (SOA) ir. Jeroen F. van Schaijk Senior Consultant Emerging Technologies Oracle Portal in een Service-Oriented Architecture (SOA) ir. Jeroen F. van Schaijk Senior Consultant Emerging Technologies voorheen 10 jaar Oracle-specialist! Agenda Wat is een Service-Oriented Architecture?

Nadere informatie

Kies File>New>Blank Page>PHP. Je kunt eventueel nog een stylesheet koppelen. Definieer nu eerst een site! Dat betekent: Site>New Site

Kies File>New>Blank Page>PHP. Je kunt eventueel nog een stylesheet koppelen. Definieer nu eerst een site! Dat betekent: Site>New Site Kies File>New>Blank Page>PHP Je kunt eventueel nog een stylesheet koppelen. Definieer nu eerst een site! Dat betekent: Site>New Site Geef de site een passende naam. Kies ook de juiste map voor de webdocumenten.

Nadere informatie

Kenmerken van DLArchitect

Kenmerken van DLArchitect Kenmerken van DLArchitect Bert Dingemans, e-mail : bert@dla-os.nl www : http://www.dla-os.nl 1 Inhoud KENMERKEN VAN DLARCHITECT... 1 INHOUD... 2 INLEIDING... 3 ARCHITECTUUR... 3 Merode... 3 Methode en

Nadere informatie

VAN USE CASE NAAR TEST CASE ORDINA SMART COMPETENCE CENTER

VAN USE CASE NAAR TEST CASE ORDINA SMART COMPETENCE CENTER VAN USE CASE NAAR TEST CASE ORDINA SMART COMPETENCE CENTER Sander Hoogendoorn Versie 1.0 15 april 2002 Documentbeheer Versie Datum Auteur Omschrijving 0.1 15 April 2002 Sander Hoogendoorn 0.2 15 april

Nadere informatie

Koppeling met een database

Koppeling met een database PHP en MySQL Koppeling met een database 11.1 Inleiding In PHP is het eenvoudig om een koppeling te maken met een database. Een database kan diverse gegevens bewaren die met PHP aangeroepen en/of bewerkt

Nadere informatie

ENERGIE BEDRIJVEN EN ICT

ENERGIE BEDRIJVEN EN ICT ENERGIE BEDRIJVEN EN ICT De energiemarkt in Nederland is continu in beweging. Nieuwe toetreders veroveren marktaandeel en slimme meters, sectorwijzigingen en splitsing zorgen voor veranderingen. Energiebedrijven

Nadere informatie

SURFconext Cookbook. Het koppelen van Alfresco aan SURFconext. Versie: 1.0. Datum: 8 december 2013. 030-2 305 305 admin@surfnet.nl www.surfnet.

SURFconext Cookbook. Het koppelen van Alfresco aan SURFconext. Versie: 1.0. Datum: 8 december 2013. 030-2 305 305 admin@surfnet.nl www.surfnet. SURFconext Cookbook Het koppelen van Alfresco aan SURFconext Auteur(s): Frank Niesten Versie: 1.0 Datum: 8 december 2013 Radboudkwartier 273 3511 CK Utrecht Postbus 19035 3501 DA Utrecht 030-2 305 305

Nadere informatie

Frontend ontwikkeling

Frontend ontwikkeling Frontend ontwikkeling Mark Jansen Edwin Vlieg PHPFreakz ledendag 10 november 2007 Frontend ontwikkeling De interface is je product richting de eindgebruiker Goede PHP code met een slechte interface geeft

Nadere informatie

Client Applicaties (Browser+Desktop) http/https. Apache Webserver. http proxy. WMS WFS Adm SLD Tomcat. Tomcat. GeoServer. PostGIS

Client Applicaties (Browser+Desktop) http/https. Apache Webserver. http proxy. WMS WFS Adm SLD Tomcat. Tomcat. GeoServer. PostGIS WMS voor Kadastrale kaart Limburg GEORZ-lab Datum: 17 juli 2009 Auteur: GEORZ-lab, Just van den Broecke Versie: 2 Contact: Ebrahim Hemmatnia (Adviseur PPI GEO, Kadaster), tel. 088 183 22 16. Inleiding

Nadere informatie

Domeinmodellen en klassendiagrammen

Domeinmodellen en klassendiagrammen Overview Architectuur Deployment-diagram Software-architectuur 1 Architectuur Deployment-diagram Software-architectuur 2 3 Architectuur Architectuur Deployment-diagram Software-architectuur Webapplicatie

Nadere informatie

SAMENVATTING ERVARING. Programmeur, All-In-Media Delden, Overijssel 2012-heden. Winkelmedewerker, Dirk van den Broek Delden, Overijssel 2009-2012

SAMENVATTING ERVARING. Programmeur, All-In-Media Delden, Overijssel 2012-heden. Winkelmedewerker, Dirk van den Broek Delden, Overijssel 2009-2012 Roy Spoolder Vossenbrinkweg 54 7491 DE, Delden 074 376 4143 063 630 2979 roy-spoolder@live.nl royspoolder.nl kieknwatwordt.nl SAMENVATTING Als kleine jongen al geobsedeerd door computers en andere techniek.

Nadere informatie

Zelftest Informatica-terminologie

Zelftest Informatica-terminologie Zelftest Informatica-terminologie Document: n0947test.fm 01/07/2015 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INTRODUCTIE Deze test is een zelf-test, waarmee u

Nadere informatie

Dynamiek met VO-Script

Dynamiek met VO-Script Dynamiek met VO-Script Door Bert Dingemans DLA Ontwerp & Software bert@dla-architect.nl Inleiding Op de SDGN nieuwsgroep voor Visual Objects ontstond laatst een draad van berichten over de nieuwe libraries

Nadere informatie