De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

Minicollege Architectuur

Verwante presentaties


Presentatie over: "Minicollege Architectuur"— Transcript van de presentatie:

1 Minicollege Architectuur

2 Overzicht Deel 1: Introductie architectuur
Begripsbepaling: wat is architectuur en waarom is het zo belangrijk? Verschillende soorten architectuur Twee aanvliegroutes naar SOA Enterprisearchitectuur Softwarearchitectuur De architect

3 Wat is architectuur? De belangrijkste elementen
van een complex systeem Visualiseren en structureren van complexe systemen Samenhang Kwaliteit “Grand design” Beschrijving van wat fundamenteel is Toekomstvisie Relatie met de omgeving Flexibiliteit Beschrijvend én voorschrijvend Principes, uitgangspunten, spelregels

4 Wat is architectuur? Een paar quotes
A way to think about, visualize, structure and shape complex systems (Van Waes) The most important elements of a (complex) system, and the relationships between them (Van Waes) Manageable and realizable description of what is fundamental in a certain area of interest (Ligthart & Vis) Overall structure of a complex system, embodied in its components, their relationships to each other and to the environment, and principles guiding its design and development over time

5 Waarom is architectuur zo belangrijk?
Communicatie tussen alle belanghebbenden Het biedt inzicht en overzicht Belicht verschillende aspecten in samenhang Helderheid in principes en uitgangspunten Scheppen van kaders en richtlijnen Beperking van ontwerpvrijheid Sturend voor ICT-projecten en technologiekeuzes Basis voor flexibiliteit en integratie Definieert gemeenschappelijke basis om systemen te integreren Blauwdruk voor de ontwikkeling van toekomstige systemen Beheersing van ICT-uitgaven Alleen doen wat past in de architectuur Waarborgen van toekomstvastheid van investeringen

6 Definitie van ICT-architectuur IEEE 1471
The fundamental organization of a system embodied in its components, their relationships to each other, and to the environment, and the principles guiding its design and development Dus: Fundamentele inrichting van een complex systeemn Opbouw in componenten Hun onderlinge relatie én de relatie met de omgeving Principes t.a.v. ontwerp en ontwikkeling in de tijd IEEE 1471: Recommended Practice for Architectural Descriptions of Software-intensive Systems IEEE: Institute of Electrical and Electronics Engineers a non-profit, technical professional association a leading authority in technical areas ranging from computer engineering, biomedical technology and telecommunications, to electric power, aerospace and consumer electronics

7 ‘Dé’ architectuur bestaat niet
Verschillende reikwijdte Verschillend niveau van detaillering Verschillende aspecten van een complex systeem

8 De reikwijdte van een ICT-architectuur
Schaalverschillen Source: Gartner Group

9 Verschillende niveaus van detaillering
Voor het overbrengen van een boodschap heb je niet veel detail nodig Voor verschillende belanghebben zijn verschillende detailleringsniveaus vereist Uiteindelijk moet een architectuur worden vertaald naar een ontwerp, en dan is voldoende detaillering wel belangrijk

10 Verschillende aspecten
De componenten waaruit de architectuur is opgebouwd Processen, producten en diensten, functionaliteiten, gegevens, applicaties, infrastructuur De deelaspecten die inzichtelijk worden gemaakt Structuur, gedrag, locatie, verantwoordelijkheid, doelstellingen Of andere specifieke invalshoeken Beveiliging, kosten, kwaliteit, strategisch belang

11 We onderscheiden drie typen architectuur
Voor het overzicht maken we onderscheid in drie ‘typen’ architectuur Reikwijdte Focus Doel Enterprisearchitectuur Bedrijf Strategie Communicatie Softwarearchitectuur (Verzameling van) systemen Ontwerp en realisatie Specificatie Servicegeoriënteerde architectuur Conceptuele basis Combinatie van organisatorische en technische aspecten Reikwijdte zowel organisatiebreed als individuele systemen

12 Drie ‘typen’ architectuur
Enterprise- architectuur Software- architectuur Service- georiënteerde architectuur Conceptuele basis Organisatiebrede scope Gericht op strategie en communicatie Individuele systeemscope Gericht op ontwerp, realisaties en specificatie

13 Overzicht Deel 2: Enterprisearchitectuur
Introductie architectuur Enterprisearchitectuur Waarom is enterprisearchitectuur zo belangrijk? Centrale concepten: views, viewpoints, stakeholders Het ‘oerraamwerk’ voor enterprisearchitectuur: Zachman Andere architectuurraamwerken Softwarearchitectuur De architect

14 Enterprisearchitectuur
Software- architectuur Service- georiënteerde architectuur Conceptuele basis Organisatiebrede scope Gericht op strategie en communicatie Individuele systeemscope Gericht op ontwerp, realisaties en specificatie

15 Enterprisearchitectuur Waarom is het zo belangrijk? (1)
Veel ICT-projecten mislukken Het merendeel (50% - 70%) van technologie-implementaties mislukt1 75% van alle pogingen om automatisering op de werkvloer te introduceren, is mislukt1 Het gaat om meer dan ICT alleen Introductie van technologie vereist (belangrijke) veranderingen buiten het domein van de technologie, maar de introductie van technologie brengt die niet ‘automatisch’ teweeg2 Door alleen naar technologie te kijken krijg je die technologie niet ‘werkend’2 Meer financiële sturing helpt (meestal) niet Geen correlatie tussen ICT-investering en business success3 1. Rechting, E. – Systems Architecting of Organizations (2000) 2. Scott Morton, M.S. – The Corporation of the 1990s (1991) 3. Pisello, T., Strassmann, P. – IT Value Chain Management – Maximizing ROI from IT Investments Bron: dr.ir. J.A.P. Hoogervorst

16 Enterprisearchitectuur Waarom is het zo belangrijk?(2)
Een integrale architectuurbenadering helpt wel! Succes van ICT-implementaties kan worden verhoogd door bedrijfs- organisatie, informatievoorzienings- en technische aspecten in samenhang te ontwerpen Op organisatiebrede schaal ‘Operationaliseer’ business-IT alignment (dus waar draagt ICT bij, en hoe?) Dat is enterprisearchitectuur

17 Enterprisearchitectuur Wat is het?
Enterprisearchitectuur geeft inzicht in en een geïntegreerd overzicht van Bedrijfsprocessen (Informatievoorzienings)functionaliteiten Informatiesystemen/applicaties Technische infrastructuur in samenhang! Omvat ook de relaties met de omgeving Naast modellen omvat een enterprisearchitectuur ook de principes en uitgangspunten die het ontwerpen en de ontwikkeling door de tijd sturen Definieert het gemeenschappelijk ICT-platform, zoals middleware etc. Rechtvaardigt langetermijninvesteringen in ICT (bijvoorbeeld voor het gemeenschappelijk ICT-platform) Bewerkstelligt de gewenste flexibiliteit en integratie Is het belangrijkste, inhoudelijke communicatiemiddel in de ICT

18 Definitie van ICT-architectuur IEEE 1471
The fundamental organization of a system embodied in its components, their relationships to each other, and to the environment, and the principles guiding its design and development Dus: Fundamentele inrichting van een complex systeem Opbouw in componenten Hun onderlinge relatie én de relatie met de omgeving Principes t.a.v. ontwerp en ontwikkeling in de tijd IEEE 1471: Recommended Practice for Architectural Descriptions of Software-intensive Systems IEEE: Institute of Electrical and Electronics Engineers a non-profit, technical professional association a leading authority in technical areas ranging from computer engineering, biomedical technology and telecommunications, to electric power, aerospace and consumer electronics

19 Centraal begrip in definitie Views and viewpoints
Dé architectuur van een complex systeem kan niet worden beschreven op een eendimensionale manier Geen enkel gezichtspunt biedt uitzicht op de gehele architectuur Je moet verschillende inzichten bieden aan de verschillende belanghebbenden (concerns of stakeholders) Vandaar de begrippen Viewpoint (gezichtspunt) Een manier van kijken, gericht op het belang van een bepaalde stakeholder View Wat je ziet, als je vanuit een bepaald gezichtspunt (viewpoint) kijkt

20 Het modelleren van de enterprisearchitectuur
Architecture (conception) stake holder Enterprise (domain) Architecture description (representation)

21 Views and viewpoints View View Architecture View Stakeholder Viewpoint

22 Architectuurraamwerken
Gebaseerd op het concept van views en viewpoints Keuze voor te onderscheiden viewpoints, gerelateerd aan belangen van stakeholders Architectuurraamwerken Definiëren een set (deel)architecturen Benoemen de deelaspecten die per architectuur worden belicht En op welke stakeholders ze zijn gericht Definiëren (soms) de schematechniek e.d. Definiëren (soms) het proces van totstandkoming Definiëren (soms) een verzameling tools die kunnen worden gebruikt

23 Voorbeelden van architectuurraamwerken
Theoretische raamwerken Zachman Architecture Framework (het ‘oerraamwerk’) TOGAF (The Open Group Architecture Framework) DYA (Sogeti) Praktische toepassingen Voorbeeld Centrum voor Werk en Inkomen Twynstra Gudde

24 Zachman raamwerk A framework for information systems architecture
Gepubliceerd in IBM Systems Journal, 1987 Gebaseerd op hoe traditionele architectuur tot stand komt Toepassing van views en viewpoints ‘avant la lettre’ Een generieke set van architectuurbeschrijving Een verschillende architectuurbeschrijving voor elke stakeholder Daarnaast onderscheid in de verschillende aspecten Verschillende architectuurbeschrijvingen die verschillen ‘by nature’, dus niet alleen in de mate van detaillering

25 Some quotes... “The increased scope of design and levels of complexity of information systems implementations are forcing the use of some logical construct (or architecture) for defining and controlling the interfaces and the integration of all of the components of the system.” “Since the technology permits ‘distributing’ large amounts of computing facilities in small packages to remote locations, some kind of structure (or architecture) is imperative because decentralization without structure is chaos.” “What, in fact, is information systems architecture?” ... the words’ information systems architecture’ are already losing their meaning. ”

26 Gebaseerd op het bouwen van een huis ‘onder architectuur’
Representation Nature / purpose Bubble charts Basic concepts for building Gross sizing, shape, spatial relationships Architect/owner mutual understanding Initiate project Architect’s drawing Final building as seen by the owner Floor plans, cutaways, pictures Architect/owner agreement on building Establish contract Architect’s plans Final building as seen by the designer Translation of an owner’s view of a product Detailed drawings – 16 categories Basis for negotiation with general contractor Contractor’s plans Final building as seen by the builder Architect’s plans constrained by laws of nature and available technology “How to build it” description Directs construction activities Shop plans Subcontracter’s design of a part/section Detailed stand-alone model Specification of what is to be constructed Pattern Building Physical building

27 Observations Three fundamental architectural representations, one for each “player in the game” Owner: A product that will serve some purpose Designer: A design of a physical product Builder: A producable product Preliminary actions: Establish the ball park where all of the ensuing architectural activities take place Subsequent actions: Detailed, out-of-context representations These architectural representations differ in nature, independent of the level of detail

28 Zachman raamwerk De views van de stakeholders
Reikwijdte (Scope - Ballpark view) Definitie van het speelveld: de organisatie en zijn doelen – de context waarin de informatiebehoefte geplaats moet worden Bedrijfsmodel (Model of the business - Owner’s view) Modelering en definitie van de organisatie in termen van structuur, functie en organisatie Informatiesysteemmodel (Model of the information system - Architect’s view) Modelering en beschrijving van informatiebehoefte in formelere informatiesysteemtermen Technologiemodel (Technology model - Designer’s view) Vertaling van informatiebehoefte in concrete, technologische oplossingen Gedetailleerd ontwerp (Detailed representations - Builder’s view) Gedetailleerde specificaties en programmacode Werkend, gerealiseerd systeem (Functioning system)

29 Zachman raamwerk De aspecten
Data (What) Function (How) Network (Where) People (Who) Time (When) Motivation (Why)

30

31

32

33 TOGAF The Open Group1 Architecture Framework
Architecture Development Method (ADM) An iterative sequence of steps to develop an enterprise-wide architecture The Enterprise Continuum During application of the ADM, assets are created or drawn from existing assets, used, modified and returned to the virtual repository that is the Enterprise Continuum Resource Base During application of the ADM, processes, templates, checklists and other items from the Resource Base are deployed as methods to develop the architecture 1) The Open Group is a vendor-neutral and technology-neutral consortium, whose vision of Boundaryless Information Flow™ will enable access to integrated information, within and among enterprises, based on open standards and global interoperability.

34 TOGAF De deelarchitecturen
Business (or business process) architecture Defining the business strategy, governance, organization, and key business processes of the organization Applications architecture Providing a blueprint for the individual application systems to be deployed, the interactions between the application systems, and their relationships to the core business processes of the organization Data architecture Describing the structure of an organization's logical and physical data assets and the associated data management resources Technology architecture Describing the software infrastructure intended to support the deployment of core, mission-critical applications

35 TOGAF ADM: Architecture Development Methodology

36 DYA Dynamische architectuur - het DYA-model
Visie van Sogeti op het omgaan met architectuur DYA is dus in eerste plaats een methode

37 DYA Het DYA-architectuurraamwerk
Objecten Abstractieniveaus

38 DYA De 10 principes Architectuur is strategisch als ICT dat is
Architectuur moet snelheid dienen Communicatie tussen business- en ICT-management staat centraal Het ontwikkelen van architectuur wordt gestuurd door businessdoelen Het architectuurniveau wordt verhoogd door mee te liften op de energiegolven van belangrijke veranderingstrajecten Architectuur wordt ontwikkeld volgens het ‘just enough’ en ‘just in time’- principe Een denk-/werkmodel ondersteunt het werken onder architectuur Verbanden moeten inzichtelijk zijn Er worden meerdere ontwikkelscenario's onderscheiden De architectuurprincipes en -processen moeten ingebed zijn in de organisatie

39 NORA Architectuurmatrix
Kapstok van (deel)architecturen om best-practices aan op te hangen

40 Voorbeeld: Architectuurraamwerk CWI
Bedrijf Informatie Applicatie Technische WAAROM Rapport business- architectuur Contextuele technische architectuur Contextuele applicatie- architectuur Contextueel SUWI-wet Gegevens- gebieden architectuur WAT BP2002 Basis bedrijfs- model Conceptuele applicatie- architectuur Conceptuele technische architectuur Conceptueel Architectuur van de bedrijfs ondersteuning HOE RWP (architectuur) Proces- model Logische applicatie- architectuur Informatie- systeem architectuur Logische technische architectuur Logisch WAARMEE CWI- werkprocessen Proces- simulatie Fysiek Infrastructuur

41 Voorbeeld: Architectuurraamwerk TG
4 deelarchitecturen Business, Informatie, Applicatie, Techniek Onderlinge samenhang Aplicaties ondersteunen bedrijfsprocessen Bedrijfsprocessen worden ondersteund door informatievoorziening Informatievoorziening wordt gerealiseerd door applicaties Applicaties maken gebruik van technische infrastructuur 4 typen vraagstukken Integratievraagstuk Functioneel vraagstuk Toekomstvisie Migratievraagstuk

42 Voorbeelden van enterprisearchitecturen
Uit de ervaringen van Twynstra Gudde met enterprise- architectuur, verzameld in het boek ‘Architectuur in beeld’

43 Voorbeeld van een businessarchitectuur

44 Financiële administratie Specifieke toepassingen
Kantoor automa- tisering Kennis bank Medewerkers Relaties Objecten Projecten Kerngegevens Scenarioplanning Eindwaarde variant 2 Eindwaarde variant 3 Risicocalculatie Eindwaarde variant 1 Rekenmodel Planning & control Financiële administratie Specifieke toepassingen beheer Presentatie & Communicatielaag Internet Extranet Actuele documenten Post - registratie Document- flow Archief Intranet Gebouwen- exploitatie Administratie Plan- Grond- Erfpacht administratie Onroerend goed Uren Personeels Relatie Kartografie Representa- vormen object Project planning Voorbeeld van een informatie- architectuur (1)

45 Voorbeeld van een informatie- architectuur (2)

46 Voorbeeld van een informatie- architectuur (3)

47 Relatie tussen business- en informatiearchitectuur
289GROT1f Presentatie, kantoorautomatisering en communicatie Object/medewerker/relaties Projectadministratie Erfpacht adm. Grondexploitatie Onr. goed adm. Gewenste ondersteunende functies: Financiële administratie Planning en control PKL/RPE/271299 5.1 Uitvoeren economische projecten 5.2 ruimtelijke 6.1 Monitoren afgeronde ruimtelijke en 6.2 Beheren erfpacht- contracten 6.3 onroerend goed *2 Kansen ter verbetering van het woon/werk-, verblijf- en leefklimaat van de stad Rotterdam Tevreden gebruikers van de stad Rotterdam Goedgekeurde (definitief) Gerealiseerde 3.1 Vertalen programma’s naar projecten (i.s.m. partners) 3.2 Toetsen haalbaarheid: - financieel - politiek - mensen - middelen - maatschappelijk draagvlak - etc. 3.3 Voorstel ter politieke besluitvorming uitwerken 3.4 Go/No Go-besluit nemen 4.1 Fasering aanbrengen (i.s.m. partners) 4.2 Uitwerken project- beheersing: - tijd - geld - kwaliteit - informatie - organisatie 4.3 Voorstel ter politieke besluitvorming uitwerken 4.4 Go/No Go-besluit nemen 4.5 Partners en belang- hebbenden informeren over genomen besluit Verwerven Ontwikkelen en planbegeleiding 5.2.3 Tijdelijk beheren 5.2.4 Markt bewerken 5.2.5 Uitgeven/verhuren 5.2.6 Evalueren 5.2.7 Overdragen Partners aanschakelen en binden 5.1.2 Draagvlak creëren 5.1.3 Verwerven & beheren middelen (geld, inspanning, ruimte, etc.) voor uitvoering 5.1.4 Markt bewerken 5.1.5 Uitvoeren geplande activiteiten 5.1.5 Evalueren 5.1.6 Overdragen Nazorg verlenen Account- management uitvoeren Registreren Factureren Indexeren Verwerken mutaties: - heroverwegingen - splitsing - wijzigen bestemmingen Registreren Factureren Verwerken mutaties 1.1 Signaleren kansen (antennefunctie) 1.2 Vertalen kansen naar beleid (i.s.m. partners) 1.3 Toetsen aan gemeentelijke kaders (inclusief Rijks- en provinciale overheid) 1.3 Voorstel ter politieke besluitvorming (m.n. gemeenteraad) 1.4 Go/No Go 2.1 Vertalen beleid naar programma’s (i.s.m. partners) 2.2 Toetsen haalbaarheid: - mensen (capaciteit) - middelen (bijvoorbeeld grond gebouwen) 2.3 Uitwerken programma-beheersing: - tempo - haalbaarheid - efficiency - flexibiliteit - doelgerichtheid 2.4 Voorstel ter politieke besluitvorming uitwerken 2.5 Go/No Go-besluit nemen (kaders) programma’s OBR beleid *1 Hoeft niet per definitie een gevolg te zijn van projecten *2 Bedrijfsruimte Huurcontracten Visrecht Pachten etc. 6. Beheren en monitoren resultaat *1 2. Ontwikkelen 5. 4. Voorbereiden 3. Onderzoeken 1. Beleids- ontwikkeling Stedelijke op het gebied van ruimte en economie

48 Relatie tussen business- en applicatiearchitectuur

49 Specifieke toepassingen Financiële administratie
Kennis bank Kerngegevens Scenarioplanning Eindwaarde variant 2 Eindwaarde variant 3 Risicocalculatie Eindwaarde variant 1 Rekenmodel Specifieke toepassingen Presentatie & Communicatielaag Actuele documenten Archief Plan- exploitatie Administratie Representa- vormen object Personeels administratie Onroerend goed Erfpacht Gebouwen- Grond- Objecten beheer Project planning Uren Relatie Kartografie Medewerkers Relaties Projecten Kantoor automa- tisering Planning & control Financiële administratie Document- flow Post - registratie Internet Intranet Extranet Relatie tussen informatie- en applicatie- architectuur

50 Applicatiearchitectuur

51 Overzicht Deel 3: Softwarearchitectuur
Introductie architectuur Enterprisearchitectuur Softwarearchitectuur Waarom is softwarearchitectuur zo belangrijk? Software engineering als de basis Van modules naar objecten, componenten en services Generieke voorzieningen voor integratie Softwarearchitecturen: van monolieten naar client/server, drie- en meerlaagse architecturen Andere softwarearchitectuurbenaderingen: UML, Patterns en Model Driven Architecture De architect

52 Softwarearchitectuur
Enterprise- architectuur Software- architectuur Service- georiënteerde architectuur Conceptuele basis Organisatiebrede scope Gericht op strategie en communicatie Individuele systeemscope Gericht op ontwerp, realisaties en specificatie

53 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

54 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

55 Modules en objectoriëntatie
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

56 Objectoriëntatie Scheiding van interface en implementatie
De van buitenaf zichtbare beschrijving van de functie van het object en hoe deze te gebruiken interface interface implementatie van het object interface interface De van buitenaf niet-zichtbare interne realisatie van het object middels werkende software

57 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

58 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

59 Service request Dienstaanvraag (request) respons Dienstresultaat
De van buitenaf zichtbare beschrijving van dienst request Dienstbeschrijving (interface) Dienstaanvraag (request) Dienstinhoud (implementatie) respons Dienstresultaat (respons) De interne realisatie van de dienst middels werkende software

60 Programmeertalen en modulariteit
5e generatie functioneel LISP Prolog 4e generatie abstract Oracle forms SQL C++ Java Visual Basic C# J2EE .Net 3e generatie gestructureerd COBOL C 2e generatie assembler 1e generatie machine Modulair Object- georiënteerd Component- gebaseerd Service- georiënteerd

61 Monolitische en modulaire softwarearchitectuur

62 Client/Server architectuur
Decentraal Client Decentraal Decentraal Client Client Server Centraal

63 Gedistribueerde drie- en meerlaagse softwarearchitectuur
Presentatie Presentatie Processervices Businesslogica Samengestelde services Basisservices Data Data

64 Integratie van applicatie ontwikkelingen in de tijd geplaatst (1)
1:1 Interfaces Gemeenschappelijke databases Applicatie 1 Applicatie 2 Client Client Client Server Server Server Generieke faciliteiten Doorgaans bulkuitwisseling Corporate databases Applicatie 3 Applicatie 4 specifiek generiek

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

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

67 Andere benadering m.b.t. softwarearchitectuur
4+1 View model (Kruchten, UML) Design patterns Model Driven Architecture

68 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 Component view Use cases Process view Physical view

69 The 4+1 Views Logical view Component view Process view Physical 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’

70 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)

71 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 mapping Platform Independent Model mapping Platform Specific Model

72 Overzicht Deel 4: De architect
Introductie architectuur Enterprisearchitectuur Softwarearchitectuur De architect Zijn relatie met de klant Zijn relatie met de projectleider Zijn relatie met de ontwikkelaar

73 ‘wilde’ visualisaties
De architect? Vraag Business Oplossing ICT Klant Architect Ontwerper Bouwer Communicatie Supervisie Specificatie Beeldvorming Uitleggen ‘wilde’ visualisaties Schetsen Uitzoeken Blauwdruk

74 Architecten in projecten (1) De architect loopt voor de muziek uit

75 Architecten in projecten (2) De architect moet kiezen tussen verschillende petten

76 Architecten in projecten (3) Er is gebrek aan urgentie voor architectuur

77 Architecten in projecten (4) Je moet de architect op zijn blauwe ogen geloven

78 Bas Kruiswijk bkr@tg.nl www.twynstragudde.nl
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.


Download ppt "Minicollege Architectuur"

Verwante presentaties


Ads door Google