Arkitektur for distribuerte systemer In 140 Sommerville kap 11.

Slides:



Advertisements
Liknende presentasjoner
Høgskolen i Oslo Webprogrammering Tilstandsbevaring Sessions og cookies.
Advertisements

Programvare for nisje SMS
1 Objektorientert samvirke - del 4 av Arne Maus, Institutt for informatikk, Universitetet i Oslo.
Service Discovery Chau Bui Tuan Pham Marie Fuglesang Bent Erik Skogstad Hong Nhung thi Vo.
Tjenestebasert design med dynamiske proxyer og Spring Bjørn Vidar Bøe, JavaZone 2005.
MS kap 61 Nye trender  Vi skal se på  Virtualisering  ”Cloud computing”
Programmering av dynamiske websider i C# - hva er det, og hvordan undervise? Tom Heine Nätt.
Java Server Faces (JSF) en introduksjon Frode Eika Sandnes.
Klient - server nettverk Et nettverk består (ofte) av en (eller flere) server(e), og mange klienter. Klientene bruker tjenester levert av servere(ne).
Klient - server nettverk Et nettverk består (ofte) av en (eller flere) server(e), og mange klienter. Klientene bruker tjenester levert av servere(ne).
Utforming av arkitektur
Verifikasjon og validering
Prototyping In 140 Sommerville kap. 8. Mål Forstå hensikten med prototyping i forskjellige utviklingsprosjekt Forstå forskjellen mellom evolusjonær og.
Systemmodeller In 140 Sommerville kap. 7. Mål Forstå hensikten med kontekstmodell Forstå ideene bak –oppførselsmodellering –datamodellering –objektmodellering.
Objektorientert utforming In 140 Forelesning Nr 13 Sommerville kap 12 – del 2.
Oppkobling VPN.
(I NoTify U - resepsjonsvarslingssystem) Presentert av gruppe 11: Rune Hovde Gard Maurud.
Datalagrings- og databehandlingsarkitekturer
WiPro et samarbeid mellom: Studenter: Veileder: Oppdragsgiver:
Patterns (mønstre) Patterns er erfaringer Patterns er best-practices Patterns er how-to Patterns er velkjent design Larman: ” ’new Pattern’ is an Oxymoron”
Læring og tenkning Systemutvikling er læring Gjensidig respekt og samarbeid Følge en konkret oppskrift Velge blant flere oppskrifter Nå målet uten oppskrift,
Bendik Bygstad Høgskolen i Vestfold RUP-prosjekt Sammenhengen med UML 1.Hovedstruktur i RUP-prosjekter 2.Faser og iterasjoner 3.Sammenhengen med.
Strukturerende elementer i UML
I dag snakker vi om: Brukergrensesnitt med kvalitet Bruksegenskaper Normans 7 stadier Testing med papirprototyp.
Combining Compound Conceptual User Interface Components with Modelling Patterns - a Promising Direction for Model-based Cross-platform User Interface Development.
Gruppe 3 – Presentasjon 2 Henning Kristiansen, Mats Lindh, André Hauge og Vegard Simensen.
Singleton & Adapter Pattern Gruppe 3. Singleton Pattern Sørger for at en klasse kun kan ha en instans Vanligvis implementert med globale variabler –Singleton.
Automated Testing Tool & When to Stop Testing
Programmering i Java versjon Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik.
Livet etter Frontpage og Access Tom Heine Nätt. Agenda Frontpage Hvorfor bytte? Krav til et webutviklingsverktøy Alternative webutviklingsverktøy Dreamweaver.
Høgskolen i Oslo Webprogrammering Ajax og PHP. I dag l Hvordan få en bedre brukeropplevelse via Ajax- script l Gjennomgang av kode l Oppgaveløsning på.
Publisering på verdensveven Kursdag 1 VÅFF, våren 2002.
Verktøy i faget ”Objektorientert systemutvikling og UML” Eclipse Together Architect for Eclipse
PARLAY/OSA Referanser: Referanser Foredraget er i all hovedsak basert på to artikler. Disse kan finnes på:
TAPAS Presentasjon TTM47AC Hva er TAPAS?  Telematics Architecture for Plug and play Systems  Et forskningsprosjekt ved institutt for Telematikk,
Prosjektoppgave Modelldrevet utvikling og brukeragenter for kommunikasjon i sykehusomgivelser Marie S. Fuglesang NTNU, høsten 2004.
”Open Source” som strategisk virkemiddel i kommunen
TTM3 Self Configuring Systems Topic 5: Service Discovery Protocols and middleware: HAVi, SLP Maxim Langebrekke, ITEM.
The Peer-to-Peer Architecture Av Ingunn Lund og Anja Lønningen.
CARISMA Context-Aware Reflective Middleware System for Mobile Applications.
Programvareendring del 2 In 140 Forelesning Nr 22 Sommerville kap 27, 2. Del.
CORBA Noen hull som må fylles: ORB Object Adapters CORBA services IDL Factory Objects.
Samordning, arkitektur, PKI Hva skjer? Endre Grøtnes, Statskonsult
Parallellisering av Coin3D for Systems in Motion av Sveinung Thunes.
1 Java Database Connectivity (JDBC) Norvald H. Ryeng
Objektorientert utforming In 140 Sommerville kap. 12.
Freenet A Distributed Anonymous Information Storage and Retrieval System.
1 GeoPortal – Rammeverk Introduksjon. 2 Teknisk rammeverk - Interoperabilitet Interoperabilitet evne til å kommunisere, kjøre programmer, eller overføre.
X10 webservices/IM -> mobilklient. Oppdragsgiver:
Forstudie Nå situasjonen: dagens situasjon med ulemper og fordeler
Gamle systemer In 140 Sommerville kap 26. Forelesninger fremover 8/4:Gamle systemer 22/4: Systemevolusjon og vedlikehold 28/4: Konfigurasjonsstyring.
Presentasjon av hovedprosjekt 31E Microsoft Deployment Tools 2010.
Gamle systemer In 140 Forelesning Nr 19 Sommerville kap 26.
OPPGRADERING AV REQUEST TRACKER OG VIDEREFØRING AV PHP WEBSKJEMA.
Objektorientert design
1 Kap. 57 – Cloud Computing How Information Technology Is Conquering the World: Workplace, Private Life, and Society Professor Kai A. Olsen, Universitetet.
COTS Software Evaluation and Integration Issues Håkon Solberg Karl Morten Dahl.
Objektorientert utforming In 140 Forelesning Nr 11 Sommerville kap 12 – del 1.
Conceptual Modeling of Styles for Mobile Systems Anders Linseth.
Systemmodeller In 140 Forelesning nr. 9 Sommerville kap. 7.
P11 – PRESENCE MANAGMENT IN TELECOM. P11 – Presence managment in telecom Prosjektet er blitt gjort av: Sondre Husby Rostad Pål Eilertsen Prosjektet er.
Implementering og drift av virtuelt datasystem med VMware View
Objektorientert design In 140 Sommerville kap 12 – del 1.
Android-Programmering Våren Oversikt Long-running operasjoner Introduksjon til Android services On-demand service Bruk av servicer på tvers av prosesser.
IN 265 Våren 2003 : Forelesning : Design av arkitektur og komponent 1 IN250 – Om komponent design Mål for forelesningen: l Se på prinsipper.
IT-arkitektur – leveransemodell
Nye trender Vi skal se på Virtualisering ”Cloud computing”
Internett som elektronisk kommunikasjonsmiddel
Utskrift av presentasjonen:

Arkitektur for distribuerte systemer In 140 Sommerville kap 11

Mål Forstå fordeler og ulemper med distribuerte arkitekturer Forstå forskjellige tilnærminger til utvikling av klient tjener arkitektur Forstå forskjellen mellom klient-tjener og distribuert (objekt)arkitektur Forstå ideen med objekt request broker og prinsippene for CORBA-standarden

Introduksjon Nesten alle større databaserte systemer er distribuerte Et distribuert system fordeler databehandlingen på flere maskiner Før sentraliserte stormaskiner med mange dumme terminaler Nå tre hovedtyper –Personlige systemer som ikke er distribuerte –Innebygde systemer som kjører på en prosessor eller en integrert gruppe av systemer –Distribuerte systemer som kjører på løst koblede prosessorer over nettverk.

Karakteristiske egenskaper ved distribuerte systemer. (Coulouris1994) Ressursdeling Åpenhet Parallelle prosesser Skalerbarhet Feiltoleranse Transparens

Ulemper ved distribuerte systemer Kompleksitet –Vanskelig å forstå –Vanskelig å teste Sikkerhet –Mange maskiner –Avlytting Drifting Uforutsigbarhet

Emner i distribuert systemutforming Ressursidentifikasjon –Gjør ressursene tilgjengelige –Navnesystem eks:URL Kommunikasjon –TCP/IP er pålitelig og effektiv –Alternativer kan være aktuelt Tjenestekvalitet –Ytelse, tilgjengelighet, pålitelighet Programvarearkitektur –Fordeling av funksjonalitet på komponenter og komponenter på prosessorer

Klassifisering av distribuerte systemer To hovedtyper arkitektur –Klient-tjener arkitektur Tjenester leveres av servere og brukes av klienter –Distribuert objektarkitektur Systemet er samarbeidende objekter der plassering er irrelevant Komponentene kan lages med forskjellig programmeringsspråk og kjøres på forskjellig prosessortype

Middleware Kan være –Programvare for kommunikasjon med databaser –Transaksjonsmanagere –Datakonvertere –Kommunikasjonskontrollere

Multiprosessorarkitekturer Systemet består av prosesser som kan kjøres på forskjellige prosessorer Vanlig i store sanntidssystemer Kan også kjøres på en prosessor (styrt av scheduler) Flere prosessorer gir større ytelse og motstandsdyktighet Fast prosessortildeling eller despatcher styrt

Multiprosessor-trafikkontrollsystem

Klient-tjenerarkitektur Tjenere leverer tjenester til klienter Klientene må vite om tjenere, men ikke nødvendigvis om hverandre Klient og tjenerprosesser vs. prosessorer

Et klient-tjener system

Datamaskiner i et K/T-nettverk

Lagdelt programarkitektur Vanlig utformingsarkitektur Presentasjonslag Behandlingslag Datalagringslag Disse lagene kan fordeles mellom klient og tjener. Fordelingen kan gjøres forskjellig

Applikasjonslag

Tykke og tynne klienter Tynne klienter –Har bare presentasjonslag –Behandling og lagring skjer på server Tykke klienter –Har både presentasjon og behandling –Lagring skjer på server Tolags arkitektur (Two tier) er den enkleste K/T-arkitektur

Tynne og tykke klienter

Tynne klienter Enklest når gamle sentraliserte systemer skal omarbeides til K/T Systemer som bygger på nettleser er tynnklientsystemer Stor arbeidsbelastning på server og nettverk, mens det er ledig kapasitet hos klienten

Tykke klienter Bruker kapasitetsreserven i klienten Serveren er da en transaksjonsserver, som ordner alle databasetransaksjoner Også her mulighet for stor nettverkstrafikk Minibanker er eksempel på tykk klient Mer komplisert systemadministrasjon –Funksjonalitet spredt på mange maskiner –Komplisert oppgradering

Eller en mellomting.. Java-appletter Kompatibilitetsproblemer Trelags (Three-tier) –Presentasjon, behandling og datalagring på hver sin maskin –Behandling og datalagring kan starte som separate prosesser på samme maskin og senere skilles for å skalere systemet

Trelags K/T arkitektur

Nettbank Trelagsløsning –Tynn klient – nettleser –Webserver gir tilgang til tjenester –Databaseserver har ansvar for lagring SQL Lavnivåprotokoller Mangelagsløsning –Forskjellige databaser –Integrasjonsserver –Skalerbare løsninger

Nettbanksystem

Bruk av klient/tjener-arkitekturer

Distribuerte objektarkitekturer Problemer med K/T –Lite fleksibel –Plassering av tjenester må bestemmer på forhånd –Lastfordeling og skalering må planlegges Løsning: –Fjern skillet mellom K og T –Bygg systemet med distribuerte objekter –Objektene gir tilgang til tjenester for andre objekter – intet skille mellom K og T

Distribuerte objektarkitekturer Objektene kan spres på forskjellige datamaskiner Kommunikasjon skjer gjennom middleware Programvarebuss (Software Bus) –Kommunikasjonsmuligheter –Tilkopling og frakopling –Sømløs sammenkobling Sammenkoblingsprogramvaren kalles Object Request Broker

Fordeler med distribuert objektarkitektur Avgjørelse om plassering av tjenester kan utsettes Svært åpen systemarkitektur Fleksibelt og skalerbart Dynamisk omkonfigurering av systemet – behovstyrt objektmigrering over nett

To anvendelsesområder for distribuert objektarkitektur i utforming Logisk modell for systemstrukturering –Store tjenesteobjekter leverer alt innenfor et område: Lagerstyring, kundekommunikasjon, vareinnkjøp Fleksibel tilnærming til K/T –Både K og T utformes som distribuerte objekter på software-buss –Lett å omkonfigurere

Et data mining system

Eksempel - Datamining Logisk sett: Ikke tjenesteyting Nye databaser kan legges til uten å avbryte systemet Nye sammenhenger kan undersøkes ved å legge til nye integratorer.

Ulemper ved distribuert objektarkitektur Mer komplisert å utforme enn K/T –K/T er mer intuitivt – likner mellommenneskelige forhold Lite erfaring med større forretningsobjekter

CORBA Middleware skal sikre sømløs kommunikasjon mellom objekter skrevet i ulike språk, på ulike plattformer To hovedstandarder CORBA(Common Object Request Broker Architecture) definert av OMG. –Mange implementeringer av standarden –UNIX og Microsoft OS DCOM(Distributed Component Object Model). Definert og implementert av Microsoft –Mindre generell enn CORBA –Bare på microsoftsystemer

CORBA Sannsynlig konvergens mellom CORBA, DCOM, Java-RMI til CORBA OMG(Object Management Group) består av over 500 selskaper –CORBA –UML –Common Business Objects

Komponenter i en distribuert applikasjon Applikasjonsobjekter skrevet for denne applikasjonen Standardobjekter for anvendelses-områder (under arbeid) Fundamentale CORBA-tjenester f.eks katalogtjeneste, sikkerhetstjeneste Horisontale CORBA støttetjenester for brukergrensesnitt, systemadministrasjon osv. Horisontal står for at tjenestene er felles for mange applikasjoner

Elementer i CORBA-standarden Objektmodell for applikasjonsobjekter. Innkapslet tilstand og språknøytralt grensesnitt beskrevet i IDL ORB Object Request Broker håndterer forespørsler etter objekttjenester –Finne objektet –Klargjøre objektet –Sende tjenesteforespørslene –Returnere resultatet Felles objekttjenester –katalogtjenester –transaksjonstjenester –Persistenstjenester Felles komponenter som det kan bli bruk for –Vertikale eller horisontale

CORBA applikasjonsstruktur

CORBA Objektet er en innkapsling av attributter og tjenester CORBA objekter har separat grensesnitt- definisjon av public attributter og operasjoner Språkuavhengig grensedefinisjonsspråk IDL objektet må ha en IDL stub for hvert objekt man ønsker tilgang til objektet må ha et IDL skeleton for grensesnitt man vil vise Unik IOR Interoperable Object Reference

ORB – Object Request Broker IDL isolerer objektene fra ORB. Med ORB er objektenes plassering uinteressant En ORB per prosessor ORB til ORB kommunikasjon –Tilgang til IDL-definisjoner –GIOP (Generic Inter Orb Protocol) –Kan fungere over TCP/IP

ORB-basert objektkommunikasjon

Inter-ORB kommunikasjon

CORBA-tjenester Siden åttitallet, stadig i utvikling Navnetjenester (Hvite sider) Trading services (Gule sider). med spesifikasjoner. Meldingstjenester og abonnement på meldinger Transaksjonstjenester