Bas Kruiswijk Amersfoort 2 november 2011 Softwarearchitectuur.

Slides:



Advertisements
Verwante presentaties
Objectgeoriënteerd Programmeren in C++
Advertisements

De zin en onzin van escrow
Unleash your productivity with Startup TOOLS today •Configuratie voor de PTC product ontwikkeling omgeving, •Applicaties voor een gecentraliseerd, grafisch.
Service oriented architecture (SOA) voor meavita: in house outsourcen jeroen j van beele ERIA fase 2 14 november 2007.
D-Rainfall Runoff de nieuwe neerslagafvoermodule in SOBEK 3.0 Govert VerhoevenDonderdag 17 november Next Generation Hydro Software.
Software Architectuur Over de samenhang der dingen = Over de connecties tussen componenten Over de afhankelijkheden tussen modules Over de belangen van.
RUP Elaboration Analyse en Ontwerp Jef Bergsma.
Server Management Framework
Organisatie en sourcing van de DLWO Jacco Jasperse Informatie- en procesmanager Manager Dienst Informatievoorziening en Automatisering.
© Copyright 1998 by KPMG Management Consulting N.V De IV-infrastructuur (vervolg)
01 van 06 Portal4U Loe Hameleers Twan Saleming Klanten: Wat kost dat artikel? Wanneer wordt geleverd? Die werkt hier niet meer.. Die factuur ken ik niet.
Kennis Sessie PSO 2013.
1 Demo of Praktijk Over de problematiek bij het ontwerpen van informatiesystemen Mark Dumay Afstudeervoordracht 15 oktober 2004.
Bedrijfspresentatie.
HALLO OPLETTEN : Waarom sql DOEN : Introductie opdracht
Presentatie titel Rotterdam, 00 januari 2007 Profiel TI Scholingsdag
Auteursomgeving voor Digitale Componenten
Woensdag 24 juni 2009 Web 2.0 en Technologie Bram de Kruijff.
Business Marketing Sabine Vermuyten
Service Oriented Architecture
Minicollege Architectuur
Marc de Roos Amersfoort 29 november 2007 ID-game een ervaring in samenspel.
Tussentijdse presentatie
Exploratie van de ontwerpruimte 3. Prototypes, emulatie en simulatie Prof. dr. ir. Dirk Stroobandt Academiejaar
1 Orientatie InformatieSystemen K.M.van Hee hgl. architectuur van informatiesystemen dir. Deloitte & Touche Bakkenist TU/e 2001.
Ontwerpen van Informatiesystemen met
Interaction diagrams: Sequence Diagram
1 Het probleem RO Milieu Landbouw SocZekerheid Etc. LerenWerkenWonenPensioenEtc. Overheids- organisatie Burger ??? Regelgeving per domein Vraag op levensmoment.
Voorlichting oktober Voorlichting Opleiding Technische Informatica TU Delft Faculteit Informatietechnologie en Systemen (ITS) oktober 2001 Hans.
TUDelft Knowledge Based Systems Group Zuidplantsoen BZ Delft, The Netherlands Caspar Treijtel Multi-agent Stratego.
1 Voorwaarden hergebruik Modulair ontwerp Low coupling High cohesion.
1 Uit ons domein: Verzameling programmatuur voor het toewijzen van afstudeerders aan examinatoren. Invoer van voorkeuren Toewijzen Overzichten Practicum.
Databases I (H. 1) Wiebren de Jonge Vrije Universiteit, Amsterdam Voorlopige versie 2003.
Digitaal Sociaal Huis Samenwerkingsproject Vlaams-Brabantse sociale huizen 2 februari 2009.
Dit wordt het DSH Herent, 7 april Wettelijk kader Decreet van 3 maart 2008 Deadline van 22 mei 2009 voor het “sociaal huis” Minimale vereisten:
Designing Knowledge Systems b Hoofdstuk 11 van Knowledge Engineering and Management. The CommonKADS Methodology. b A.Th. Schreiber, J.M. Akkermans, A.A.Anjewierder,
Werken aan Intergenerationele Samenwerking en Expertise.
Van JBF via Degelijkheid naar Pro-actief Beheer
CoreNet Ontbijtsessie
Informatieanalyse.
Kansen voor Samenwerken
Dia 1 Productencatalogus: technische sessie Samen beter informeren.
Schitterende Organisaties®
Module 7 – Hoofdstuk 3 Unified Modeling Language.
OO Analyse in de praktijk OO Analyse in de praktijk V Enkele Design Patterns.
Bas Kruiswijk Amersfoort 12 september 2009 Service Oriented Architecture Deel 1: Basisconcepten.
Service Oriented Architecture
Service Oriented Architecture
Service Oriented Architecture
Minicollege Service Oriented Architecture
Bas Kruiswijk Amersfoort 20 september 2009 Service Oriented Architecture Deel 3b: Event Driven Architecture.
Implementatie van een service georiënteerde architectuur
Ontwikkeld door CWB3. Opbouw Presentatie 1.Wat is GeoSport? 2.Ontwerp 1.Gebruikte ontwerpmethodieken 2.Ervaring 3.Implementatie 1.Gebruikte technologieën.
3D Topografie bij Rijkswaterstaat Paul van Asperen (RWS-AGI) Louise de Jong (RWS-AGI) Edward Verbree (TU Delft) Jeroen van Winden (ESRI NL) GIN studiedag.
Kennis ontwikkelen en delen in TechNetkringen Ruud Bolsius mei 2011 TechNet, TechniekTalent.nu 2011.
Cobolkwaliteit bij Rabobank Sonar voor Cobol
Onsight Managed Security Services
PADS4 maakt het eenvoudig om informatie te verspreiden naar een specifiek publiek op de juiste plaats en het juiste moment PADS4 is een professionele oplossing.
Risk Based Testing van pakketsoftware
© Copyright Dragon1 - Alle rechten voorbehouden.
Indoor navigation Presentatie Increment 3 EII6RTa Ingmar te Raa
ArchiValue: de APG-Case
Kennisnet – Copacabana Van Dienst naar Service.
Agenda Inleiding en Lagerhuis: Proces management en proces keten optimalisatie gaat ons helpen inzicht te krijgen in de impact van toekomstige veranderingen.
ANALYSE 3 INFANL01-3 WEEK CMI Informatica.
Enterprise Service Bus IBK3ESB01
TOGAF Albert Gjaltema / Tech. Consultant II 11 maart 2008 getronicspinkroccade.nl.
Ministerie van BZK – 3 november 2016
Technische Architectuur & Discimus
Lectora als ontwikkeltool voor interactieve multimedia programma’s
Transcript van de presentatie:

Bas Kruiswijk Amersfoort 2 november 2011 Softwarearchitectuur

© Twynstra Gudde | Universiteit Leiden Softwarearchitectuur 2 Enterprise- architectuur Software- architectuur Service- georiënteerde architectuur Individuele systeemscope Gericht op ontwerp, realisaties en specificatie Organisatiebrede scope Gericht op strategie en communicatie Conceptuele basis

© Twynstra Gudde | Universiteit Leiden Softwarearchitectuur 3 Softwarearchitectuur begint met software engineering –Software engineering is in de informatica het vakgebied dat zich bezighoudt met (de totstandkoming van) ‘goede’ software (qua product en proces) –Wat is ‘goede’ software eigenlijk? –Correct, betrouwbaar, robuust –Performance –Gebruikersvriendelijk –Verifieerbaar –Onderhoudbaar –Herbruikbaar –Portable –Begrijpelijk –Interoperabiliteit –Productiviteit

© Twynstra Gudde | Universiteit Leiden Softwarearchitectuur 4 Software engineering principes Top 3 (?) –Separation of concerns –Vanwege de inherente complexiteit van softwaresystemen zorgen dat verschillende aspecten gescheiden kunnen worden aangepakt (bijvoorbeeld functionaliteit en performance) –Modulariteit –Reduceer de complexiteit door het totaal op te delen in kleinere, relatief zelfstandige delen die zelfstandig kunnen worden ontworpen, ontwikkeld en geïmplementeerd –Modules hebben een hoge interne cohesie en een lage externe koppelingsgraad –Anticiperen op veranderingen –In het ontwerp, de ontwikkeling en de implementatie van software rekening houden met waarschijnlijke veranderingen

© Twynstra Gudde | Universiteit Leiden Softwarearchitectuur 5 Modules en objectoriëntatie –Modules –Groepering van functionaliteit en gegevensverzamelingen –Hoger abstractieniveau dan functies, eenheid van (overigens beperkt) hergebruik –Min of meer zelfstandig realiseerbaar en implementeerbaar –Objectoriëntatie –Eigenlijk een programmeerconcept –Objecten zijn een directere representatie van objecten in de reële wereld –Objecten combineren structuur (statische aspect) en gedrag (dynamische aspect) in een ontwerp- en programmeerconcept –Scheiding van interface en implementatie

© Twynstra Gudde | Universiteit Leiden Softwarearchitectuur 6 Objectoriëntatie Scheiding van interface en implementatie implementatie van het object De van buitenaf zichtbare beschrijving van de functie van het object en hoe deze te gebruiken De van buitenaf niet-zichtbare interne realisatie van het object middels werkende software interface

© Twynstra Gudde | Universiteit Leiden Softwarearchitectuur 7 Componenten –Gebaseerd op de concepten van objectoriëntatie –Gericht op het samenstellen van applicaties uit componenten: component based developement –Componenten hebben vergeleken met objecten enkele extra eigenschappen –Distribueerbaar (platformonafhankelijk, koppelbaar aan middleware) –Op run-time te (de)activeren (disconnectable) –Bruikbaar (herkenbaar, inspecteerbaar, configureerbaar) door ontwikkeltools om applicaties te assembleren

© Twynstra Gudde | Universiteit Leiden Softwarearchitectuur 8 Services –In technische zin een doorontwikkeling van object- en componenttechnologie –Brede adoptie van (internet)standaarden voor webservices –Platformonafhankelijk –Basisconcept van (bijna) alle ontwikkelplatforms –Diensten aan gebruikers staan centraal –Niet (alleen) de softwareconstructie staat centraal, maar de dienst die geleverd wordt –Niet (alleen) relevant voor ontwikkelaars, maar ook voor gebruikers / organisaties –Applicaties worden minder relevant – het gaat om services

© Twynstra Gudde | Universiteit Leiden Softwarearchitectuur 9 Service Dienstinhoud (implementatie) Dienstaanvraag (request) Dienstbeschrijving (interface) Dienstresultaat (respons) De van buitenaf zichtbare beschrijving van dienst De interne realisatie van de dienst middels werkende software request respons

© Twynstra Gudde | Universiteit Leiden Softwarearchitectuur 10 Programmeertalen en modulariteit 1 e generatie machine 2 e generatie assembler 3 e generatie gestructureerd 4 e generatie abstract 5 e generatie functioneel ModulairObject- georiënteerd Component- gebaseerd Service- georiënteerd C++ Java Visual Basic C# COBOL C Oracle forms SQL LISP Prolog J2EE.Net

© Twynstra Gudde | Universiteit Leiden Softwarearchitectuur 11 Monolitische en modulaire softwarearchitectuur

© Twynstra Gudde | Universiteit Leiden Softwarearchitectuur 12 Client/Server architectuur Client Server Client Centraal Decentraal

© Twynstra Gudde | Universiteit Leiden Softwarearchitectuur 13 Gedistribueerde drie- en meerlaagse softwarearchitectuur Presentatie Businesslogica Data Presentatie Processervices Data Samengestelde services Basisservices

© Twynstra Gudde | Universiteit Leiden Softwarearchitectuur 14 Integratie van applicatie ontwikkelingen in de tijd geplaatst (1) Applicatie 1 Applicatie 2 Applicatie 3 Applicatie 4 Client Server Client Server Client Server Generieke faciliteiten Doorgaans bulkuitwisseling Corporate databases 1:1 Interfaces Gemeenschappelijke databases specifiek generiek

© Twynstra Gudde | Universiteit Leiden Softwarearchitectuur 15 Integratie van applicatie ontwikkelingen in de tijd geplaatst (2) Business- logica Generieke middleware Synchroon (services) Asynchroon (berichten) Presentatie Data Business- logica Presentatie Data Business- logica Presentatie Data Middleware (generieke servicebus) Business- logica Middleware Presentatie Data Business- logica Presentatie Data Webservices (technologie neutraal) Middleware Berichtuitwisseling gebaseerd op webservice- standaarden (SOAP) Technologische of organisatorische grens specifiek generiek

© Twynstra Gudde | Universiteit Leiden Softwarearchitectuur 16 Integratie van applicatie ontwikkelingen in de tijd geplaatst (3) Business- logica Presentatie Data Business- logica Data Business- logica Data Portaal voor geïntegreerde werkprocesondersteuning Orkestratie Business- logica Presentatie Data Business- logica Presentatie Data Business- logica Presentatie Data Portaal voor geïntegreerde toegang en authenticatie Portaal Authenticatie, single sign-on personalisatie look-and-feel Portaal Authenticatie, single sign-on Personalisatie specifiek generiek

© Twynstra Gudde | Universiteit Leiden Softwarearchitectuur 17 Andere benadering m.b.t. softwarearchitectuur –4+1 View model (Kruchten, UML) –Design patterns –Model Driven Architecture

© Twynstra Gudde | Universiteit Leiden Softwarearchitectuur 18 Het 4+1 View-model –In het 4+1 View-model worden vier views onderkend die samen de architectuur van een systeem beschrijven. Elke view geeft daarbij weer wat, bezien vanuit het perspectief van een bepaalde belanghebbende, fundamenteel is. Logical view Process view Component view Physical view Use cases

© Twynstra Gudde | Universiteit Leiden Softwarearchitectuur 19 The 4+1 Views –Logical view –Logische opbouw van het systeem –Objecten en hun onderlinge relaties –Component view –Wijze waarop de objecten (in de logical view) zijn samengesteld tot componenten of zijn gecombineerd tot services –Process view –De ‘runtime’-componenten, de ‘executables’ –De onderdelen waaruit de te implementeren applicatie bestaat –Physical view –De benodigde hardware en andere fysieke componenten om het systeem daadwerkelijk te kunnen laten werken –De vijfde view (de +1-view) –Illustreert de samenhang vanuit de invalshoek van het beoogde gebruik van het systeem in de vorm van ‘use cases’

© Twynstra Gudde | Universiteit Leiden Softwarearchitectuur 20 Design patterns –Geïntroduceerd door ‘The gang of four’: Gamma, Helms, Johnson,’ Vlissides, in ‘Design Patterns, Elements of Reusable Object- Oriented Software’ –Herbruikbare oplossingen, templates voor ontwerpproblemen –Ervaring en kennis van ‘goede’ architectuuroplossingen herbruikbaar gemaakt –Goed gedocumenteerd –Doel, wanneer gebruiken, voorbeeld van gebruik etc. –Bijvoorbeeld –Scheiding van presentatie, interactie en logica (model-view-controller of Observer pattern) –Verbergen van een verzameling interfaces (Facade pattern)

© Twynstra Gudde | Universiteit Leiden Softwarearchitectuur 21 Model Driven Architecture –Architectuurbenadering gericht op interoperabiliteit –Genereren van model tot implementatie (Extreme Non- Programming) –Platform Independent Model –Modelleert functionaliteit en gedrag, zonder technologische beperkingen –Gebruikmakend van gangbare middleware features –Extra details toegevoegd om vertaling naar Platform Specific Model mogelijk te maken –Platform Specific Model –Toepassing van een profile op het Platform Independent Model, om dit sterk geautomatiseerd te kunnen vertalen naar Platform Specific Model –Uiteindelijk automatisch genereren van software uit het model Computation Independent Model Platform Independent Model Platform Specific Model mapping

© Twynstra Gudde | Universiteit Leiden Softwarearchitectuur 22 Alle intellectuele eigendomsrechten met betrekking tot deze presentatie berusten bij Twynstra Gudde. Niets uit deze presentatie mag worden verveelvoudigd of openbaar gemaakt zonder schriftelijke toestemming van Twynstra Gudde. Bas Kruiswijk