Distributed Systems Architectures



Vergelijkbare documenten
The OSI Reference Model

Software Processen. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 1. Het software proces

Socio-technisch systemen. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 2 Slide 1

Inhoudsopgave. Hoofdstuk 1.JMS...2

Software Mobiliteit. UAMS - 6 maart Theo D'Hondt Lab voor Pogrammeerkunde Vrije Universiteit Brussel

Samengaan van Geo-informatie en Service Oriëntatie

Zelftest Java EE Architectuur

Application interface. service. Application function / interaction

Systeem modellen. Topics covered

Model driven Application Delivery

Component-based software engineering

ONTWERP VAN GEDISTRIBUEERDE SOFTWARE ACADEMIEJAAR STE EXAMENPERIODE, 15 JANUARI 2010, 14U 17U30 VRAAG 1: INLEIDENDE BEGRIPPEN[20 MIN]

Cerussa FIN Pre-requirements

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

CareConnect Fin Pre-requirements

Vraag 1. Vraag 1a TERUGKOPPELING PROEFTENTAMEN. Software architecture

Het einde van de cloud zoals wij die nu kennen. Dell EMC Hans Timmerman

9 Conclusie 109. A Publisher API 111. B Custody en ownership API 113. C Inquiry API 114. D Replication API 116

Van Big Data tot waardevolle informatie op maat van de (interne)gebruiker en de burger

Een Inleiding tot Software Engineering. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 1

1 Client/Server. 2 Geschiedenis. 3 Toekomst

Inhoudsopgave. Hoofdstuk 1.RMI...2

Zelftest Java concepten

Informatiearchitectuur

Integratie in de praktijk

HANDBOEK LSM BASISPRINCIPES LSM

De Lync naar Het Nieuwe Werken. Utrecht - 25 januari 2011

Enterprise Architectuur de link tussen Business & ICT

GERACC.net suite Systeemsoftware- en hardwarevereisten

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

Organiseer uw verschillende SOAP services in één scenario

Multi-tier client/server revolutie

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

Betekent SOA het einde van BI?

Self Service BI. de business

Cerussa HR Pre-requirements

Welkom bij IT-Workz. Etten-Leur, 16 november Altijd en overal werken en leren. Applicatie en Desktop Delivery met Quest vworkspace

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

Technische implementatie De infrastructuur rondom Transit kent de volgende rollen:

Gimme Five! Op weg naar TYPO3 5.0 'Phoenix'

Generiek framework voor administratieve toepassingen in een webgeörienteerde omgeving

Software Factories. Toepassing van Domain Specific Languages. achtergrond

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

Portability, Interoperability of toch maar Connectivity Portability, Interoperability of toch maar Connectivity.

Oracle Application Server Portal Oracle Gebruikersgroep Holland Oktober 2003

Capita Selecta Design Patterns voor administratieve applicaties

UZI-pas in gebruik. Maarten Schmidt Risk en Security manager 22 november Remco Schaar Consultant UL Transaction Security service

Centrale begrippen hoofdstuk 3. Waarom multiprogramming? Vandaag. processen proces state: running, ready, blocked,... Vragen??

Droom of werkelijkheid? Integratie VMware NSX en F5 zorgt voor effectieve uitrol van applicaties.

1. SPDE, een ontwikkelomgeving voor diensten.

TranSearch WEBPlus. Overzicht

Object bus en objecten zijn de toekomst van het Internet

RESEARCH DATA MANAGEMENT INNOVATIE & SURF

High Performance Computing

Zelftest Informatica-terminologie

Applicatie-Architecturen

Workflows voor SharePoint met forms en data K2 VOOR SHAREPOINT

Infrastructuur en platformen

INFITT01 - Internettechnologie WEEK 8

Waarom Cloud? Waarom nu? Marc Gruben April 2015

Software architectuur

Verantwoording van het Logica In Lagen referentiemodel

Software Test Plan. Yannick Verschueren

Structuur. Kenmerken. Architectuur van de Cloud. Functionaliteit. Infra Platform Apps

Software Design Document

Architecten-debat 21 juni 2006 PI GvIB Themamiddag. Renato Kuiper. Principal Consultant Information Security

Network Computing Architecture Toekomstige rol van Oracle Developer marginaal

Monitoring. SolidBE B.V. Maarten Schoutenstraat SV Waddinxveen

Enterprise JavaBeans 3.1

Software Engineering Groep 4

Tim Mallezie Architectuur van besturingssystemen: Vraag A2.

Meerdere clouds samensmeden tot één grote, hybride omgeving

EVO:RAIL VDI AANPAK Plaveit VMware EVO:RAIL de weg voor VDI?

Samba Windows Netwerken onder Linux

SuperOffice Systeemvereisten

Mitel User Group. Mitel-licentiestructuur. Jan Jansen. Account Director april 2015

Remote maintenance 4.0

Business Architectuur vanuit de Business

Remote maintenance 4.0

Applicatie-Architecturen

De Digitale Transformatie en de impact op IT. Capgemini Edwin Leinse

Software Test Plan. Yannick Verschueren

Portals & Open Source

Weblogic 10.3 vs IAS

ArcGIS Mobile ADF. Smart Client Applicaties voor ArcGIS Server Eva Dienske, Wim Ligtendag

Beveiliging in Industriële netwerken. Waarom monitoring een goed idee is

Voor en nadelen (spatieel) gedistribueerd

Systeemvereisten. Systeemvereisten voor Microsoft Dynamics NAV Rolgebaseerde client

Cerussa HR Pre-requirements

De FAS (Federal Authentication Service) Peter Strick SmartCities IDM workshop 07/05/2009

Vergelijking Sun certificering voor Enterprise architect voor J2EE en het CPP Gecertificeerd softwarearchitect van de Open Universiteit Nederland

Rapport. i-bridge FleetBroker en LocationBroker. Versie 1.0. Datum 22 December 2010

De Enterprise Security Architectuur

GETTING THE BEST OUT OF YOUR SOURCE CODE MODERNISEREN MET UNIFACE

Veelgestelde vragen van Partners WorkloadIQ Veelgestelde vragen 17 augustus 2010

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

Perceptive Process. Technische Specificaties. Versie: 3.4.x

Technical Deep Dive Microsoft Dynamics CRM 4.0. Dennis Schut

Transcriptie:

Distributed Systems Architectures Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 12 Slide 1 Topics covered Multiprocessor architectures Client-server architectures Distributed object architectures Inter-organisational computing Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 12 Slide 2

Distributed systems Virtueel zijn alle grote computer-based systemen gekend als distributed systems. Informatie verwerking wordt verdeeld over verschillende computers ipv op één enkle machine. Distributed software engineering is daarom zeer belangrijk voor computer systemen op bedrijfsniveau. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 12 Slide 3 Systeem types Personal systems die niet distributed zijn en die werden ontwikkeld om te werken op een personal computer of workstation. Embedded systems die lopen op één enkele processor of op een geïntegreerde groep van processors. Distributed systems waar de systeem software loopt op een geïntegreerde groep van samenwerkende processoren die gelinkt zijn via een netwerk. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 12 Slide 4

Distributed system characteristics Resource sharing Openheid Gebruik van hard- en software van verschillende fabricanten. Concurrency Concurrente processing om de prestaties te verhogen. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 12 Slide 5 Distributed system nadelen Complexiteit Complexer dan gecentraliseerde systemen. Security Gevoeliger voor indringers van buitenaf. Manageability Het systeembeheer is complexer. Onvoorspelbaarheid Onvoorstelbare responses afhankelijk van de systeem organisatie en het netwerk. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 12 Slide 6

Distributed systems architectures Client-server architectures Distributed services die worden opgeroepen door clients. Clients gebruiken services geleverd door servers. Distributed object architectures Geen onderscheid tussen clients en servers. Om het even welk object op het systeem kan services leveren aan- of gebruiken van andere objecten. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 12 Slide 7 Middleware Software die het beheer en het onderhoud doet van de verschillende componenten van een distributed system. Het zit essentieel middenin het systeem. Voorbeelden: Transaction processing monitors; Data converters; Communication controllers. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 12 Slide 8

Multiprocessor architectures Het eenvoudigste distributed systeem model. Een systeem opgebouwd uit verschillende processen die al of niet worden uitgevoerd op verschillende processoren. Het Architectuur model van vele grote realtime systemen. De procesverdeling kan vooraf zijn vastgesteld of onder de controle van een dispatcher. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 12 Slide 9 A multiprocessor traffic control system Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 12 Slide 10

Client-server architecturen De toepassing is gemodelleerd als een set van services die worden geleverd door servers en een set van clients die deze services gebruiken. Clients kennen de servers mar de server hoeven de clients niet te kennen. Clients en servers zijn logische processen De mapping van processors naar processen is niet noodzakelijk 1 : 1. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 12 Slide 11 A client-server system Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 12 Slide 12

Computers in a C/S network Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 12 Slide 13 Layered application architecture Presentation layer Betrokken bij het voorstellen van de resultaten van een bewerking aan system users en met het verzamelen van user inputs. Application processing layer Voorziet de toepassing van de specifieke functionaliteit b.v., in een banksysteem, functies zoals het openen en sluiten van rekeningen, etc. Data management layer Betrokken bij het beheer van de systeem databases. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 12 Slide 14

Application layers Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 12 Slide 15 Thin and fat clients Thin-client model In een thin-client model, wordt de volledige verwerking van de toepassing en alle data management uitgevoerd op de server. De client is alleen verantwoordelijk voor het uitvoeren van de presentation software. Fat-client model In dit model, is de server alleen verantwoordelijk voor het data management. De software op de client implementeert de applicatie logica en de interacties met de systeemgebruiker. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 12 Slide 16

Thin and fat clients Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 12 Slide 17 Thin client model Worden gebruikt wanneer bestaande systemen worden gemigreerd naar client server architecturen. Het bestaande systeem handelt als een server met een grafische interface geïmplementeerd op een client. Het grote nadeel is een zware druk op de server en het netwerk. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 12 Slide 18

Fat client model Meer verwerking is gedelegeerd naar de client omdat de verwerking lokaal gebeurt. Meest topasbaar voor nieuwe C/S systemen waar de mogelijkheden van het client systeem vooraf zijn gekend. Complexer dan het thin client model zeker voor het beheer. Nieuwe versies van de toepassing moeten op de clients geïnstalleerd worden. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 12 Slide 19 A client-server ATM system Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 12 Slide 20

Three-tier architectures In een three-tier architectuur, kan elk van de application architecture layers uitgevoerd worden op een afzonderlijke processor. Presteert beter dan een thin-client en is gemakkelijker te beheren dan een fat-client benadering. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 12 Slide 21 A 3-tier C/S architecture Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 12 Slide 22

An internet banking system Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 12 Slide 23 Use of C/S architectures Architecture Two-tier C/S architecture with thin clients Two-tier C/S architecture with fat clients Three-tier or multi-tier C/S architecture Applications Legacy system applications where separating application processing and data management is impractical. Computationally-intensive applications such as compilers with little or no data management. Data-intensive applications (browsing and querying) with little or no application processing. Applications where application processing is provided by off-the-shelf software (e.g. Microsoft Excel) on the client. Applications where computationally-intensive processing of data (e.g. data visualisation) is required. Applications with relatively stable end-user functionality used in an environment with well-established system management. Large scale applications with hundreds or thousands of clients Applications where both the data and the application are volatile. Applications where data from multiple sources are integrated. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 12 Slide 24

Distributed object architectures Geen onderscheid tussen clients en servers. Elke gedistribuerde entiteit is een object dat services voorziet voor andere objecten en services ontvangt van andere objecten. Object communicatie is over een middleware system een object request broker gnoemd. Gedistribueerde object architecturen zijn complexer om te ontwikkelen dan C/S systemen. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 12 Slide 25 Distributed object architecture Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 12 Slide 26

Voordelen van de distributed object architecture Het laat de systeem designer toe om beslissingen van waar en hoe services moeten worden voorzien, uit te stellen. Een open systeem, zodat nieuwe resources kunnen toegevoegd woden waar nodig. Het is een flexibel en uitbreidbaar systeem. Kan dynamisch geherconfigureerd worden met objecten die migreren over het netwerk, waar nodig. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 12 Slide 27 Uses of distributed object architecture Het is een logisch model dat ons toelaat om het systeem te structureren en te organiseren In dit geval denken we voor het leveren van functionaliteit van de toepassing enkel in termen van services en combinaties van services. Als een flexiebele benadering van de implementatie van client-server systemen. Het logisch systeemmodel is een client-server model maar zowel clients als servers worden gerealiseerd als distributed objects die communiceren over een gemeenschappelijk communication framework. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 12 Slide 28

A data mining system Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 12 Slide 29 Data mining system Het logisch model van het system is er niet een van service provision omdat er afzonderlijke data management services zijn. Het aantal databases kan worden verhoogd zonder onderbreking van het systeem. Nieuwe types van relaties kunnen worden omschreven door het toevoegen van nieuwe integrator objects. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 12 Slide 30

CORBA CORBA is een internationale standaard voor een Object Request Broker - middleware voor het beheer van communicaties btussen distributed objects. Middleware voor distributed computing is vereist op 2 levels: Op logisch communication level: de middleware laat objecten op verschillende computers toe om data uit te wisselen en control informatie; Op component level: de middleware voorziet een basis voor het ontwikkelen van compatibele componenten. CORBA component standaarden zijn gedefinieerd. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 12 Slide 31 CORBA application structure Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 12 Slide 32

Application structure Application objecten. Standaard objecten, gedefinieerd door de OMG, voor een specifiek domein b.v. insurance. Fundamentele CORBA services zoals directory en security management. Horizontaal faciliteiten zoals user interface faciliteiten. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 12 Slide 33 CORBA standaards Een object model voor applicatie objecten Een CORBA object is een encapsulation van properties en methods met een goed gedefinieerde, languageneutral interface gedefinieerd in een IDL (interface definition language). Een object request broker die aanvragen voor object services beheert. Een set van algemene object services bruikbaar voor vele distributed applications. Een set van gemeenschappelijke componenten gebouwd bovenop deze services. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 12 Slide 34

CORBA objects CORBA objecten zijn, in principe, vergelijkbaar met objecten in C++ en Java. Ze MOETEN een afzonderlijke interface definitie hebben die wordt uitgedrukt gebruikmakend van een gemeenschappelijke taal (IDL) gelijkend op C++. Er is een mapping van deze IDL naar programmeeertalen (C++, Java, etc.). Daarom kunnen objecten, geschreven in verschillende talen communiceren met mekaar. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 12 Slide 35 Object request broker (ORB) De ORB verwerkt object communications. Het kent alle objecten in het systeem en hun interfaces. Gebruikmakend van een ORB, bindt het calling object zich met een IDL stub die de interface definieert van het opgeroepen object. Het oproepen van deze stub resulteert in calls naar de ORB die vervolgens het vereiste object oproept via een gekend IDL skeleton die de interface linkt aan de service implementation. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 12 Slide 36

ORB-based object communications Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 12 Slide 37 Inter-ORB communications ORBs zijn gewoonlijk geen afzonderlijke programma s, maar behoren tot een set van objecten in een library die worden gelinkt aan een toepassing wanneer ze wordt ontwikkeld. ORBs verwerken communications tussen objects die worden uitgevoerd op dezelfde mahine. Meerdere ORBS kunnen beschikbaar zijn en iedere computer in een distributed system heeft zijn eigen ORB. Inter-ORB communications worden gebruikt voor distributed object calls. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 12 Slide 38

Inter-ORB communications Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 12 Slide 39 CORBA services Naming en trading services Laten toe aan objecten om te refereren naar andere objectn op het network. Notification services Deze laten toe aan objecten om andere objecten op de hoogte te brengen van een optredend event. Transaction services Deze ondersteunen atomaire transacties en rollback bij een fout. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 12 Slide 40

Inter-organisational computing Om praktische- en om veiligheidsredenen, zijn de meeste gedistribueerde systemen geïmplementeerd op enterprise level. Nieuwere modellen van distributed computing werden ontworpen om informatiesystemen tussen bedrijven te ondersteunen. In dit geval zijn verschillende nodes gelokaliseerd in verchillende organisaties. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 12 Slide 41 Peer-to-peer architectures Peer to peer (p2p) systemen zijn gedecentraliseerde systemen waar bewerkingen kunnen uitgevoerd worden door elke node in het netwerk. Het totale systeem is ontworpn om voordeel te halen uit de werkkracht en opslag van een groot aantal computers over een netwerk. De meeste p2p systemen waren ooit personal systems maar het gebruik van deze technologie stijgt voortdurend. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 12 Slide 42

P2p architectural models De logische netwerk architectuur Decentralised architectures; Semi-centralised architectures. Applicatie architectuur De generieke organisatie van componenten waaruit een p2p applicatie bestaat. De nadruk ligt op netwerk architecturen. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 12 Slide 43 Decentralised p2p architecture Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 12 Slide 44

Semi-centralised p2p architecture Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 12 Slide 45 Service-oriented architectures Gesteund op extern aangeboden services (web services). Een web service is een standaard benadering om een herbruikbare component beschikbaar te stellen en toegangkelijk over het WWW Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 12 Slide 46

Web services Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 12 Slide 47 Services standards Services zijn gebaseerd op aanvaarde, XMLbased standaarden en kunnen bijgevolg ook voor elk platform worden gebruikt en geschreven in elke prorammeertaal Key standards SOAP - Simple Object Access Protocol; WSDL - Web Services Description Language; UDDI - Universal Description, Discovery and Integration. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 12 Slide 48