Åpne arkitektursystemer. Konstruksjonsprinsipper. Typer programvarearkitektur for nettverksinformasjonssystemer. Metodisk rammeverk for åpne systemer

Jobben til et nettverk er å overføre data fra en datamaskin til en annen. I denne prosessen kan flere separate oppgaver skilles:

· Gjenkjenne data (velg data som skal overføres fra filsystemet);

· Del data i håndterbare blokker (melding - i pakker);

· Legg til informasjon til hver blokk (kildeadresse, destinasjonsadresse, tidsinformasjon og informasjon om feilkontroll);

· Plasser dataene på nettverket og send dem til den angitte adressen.

Nettverksoperativsystemet følger et strengt sett med prosedyrer for alle oppgaver. Disse prosedyrene kalles protokoller eller atferdsregler. Protokoller styrer hver nettverksoperasjon. Standardprotokoller tillater programvare og maskinvare forskjellige produsenter samhandle normalt.

OSI (Open System Interconnection Reference Model) er et sett med standardprotokoller. Den ble opprettet på grunnlag av tekniske forslag Internasjonalt institutt ISO-standarder i 1984

Modellarkitektur

I modellen OSI nettverk funksjonene er fordelt på syv nivåer. Hvert lag har forskjellige nettverksoperasjoner, utstyr og protokoller.

Tabell 9.1.

Modell nettverksarkitektur

På hvert lag utføres visse nettverksfunksjoner som samhandler med funksjonene til nabolag, over og under. Transportlaget skal for eksempel bare samhandle med økt- og nettverkslag.

De nedre lagene - fysisk og kanal, definerer det fysiske mediet for dataoverføring og relaterte oppgaver (som overføring av databiter gjennom tavlen nettverksadapter og kabel). De øverste lagene definerer hvordan applikasjoner får tilgang til kommunikasjonstjenester. Jo høyere nivå, jo mer vanskelig oppgave bestemmer han.

OSI Model Layer Interaction

Oppgaven til hvert nivå er å tilby tjenester til høyere nivå, og "maskere" detaljene rundt implementeringen av disse tjenestene. Dessuten fungerer hvert nivå på en datamaskin som om det er direkte koblet til samme nivå på en annen datamaskin. Dette logiske, eller virtuelle, forholdet mellom like lag er vist i figur 9.9. Men i virkeligheten utføres kommunikasjon mellom tilstøtende nivåer på en datamaskin - programvare kjører på hvert lag, implementerer den visse nettverksfunksjoner i henhold til et sett med protokoller.

Utveksling av data i kommunikasjonssystemer skjer ved å flytte dem fra det øvre nivået til det nedre, deretter transport og til slutt, omvendt avspilling på klientens datamaskin som et resultat av flytting fra det nedre nivået til det øvre (se figur 9.9). .

Figur 9.9 Samspill mellom nettverksmodelllag

La oss se nærmere på denne prosessen. La applikasjonen sende en forespørsel til applikasjonslaget, for eksempel til filtjeneste... Basert på denne forespørselen genererer applikasjonsprogramvaren en melding i et standardformat. Vanlig melding består av en overskrift og et datafelt. Toppteksten inneholder tjenesteinformasjon som må overføres gjennom nettverket til applikasjonslaget til destinasjonsmaskinen for å fortelle den hvilket arbeid som må gjøres (hodet må inneholde informasjon om plasseringen av filen og typen operasjon som skal utføres utført på den). Applikasjonslaget ruter meldingen nedover stabelen til det representative laget.

Presentasjonslagsprotokollen, basert på informasjonen hentet fra applikasjonslagsoverskriften, utfører de nødvendige handlingene og legger til sin egen tjenesteinformasjon til meldingen - presentasjonslagsoverskriften, som inneholder instruksjoner for presentasjonslagprotokollen til adressatens maskin.

Til slutt når meldingen det fysiske laget, som overfører det over kommunikasjonslinjene til destinasjonsmaskinen. På dette tidspunktet er meldingen "overgrodd" med overskrifter på alle nivåer. Når en melding kommer over nettverket til destinasjonsmaskinen, mottas den av det fysiske laget og beveger seg sekvensielt opp fra lag til lag. Hvert nivå analyserer og behandler overskriften på sitt nivå, utfører funksjonene som tilsvarer dette nivået, og fjerner deretter denne overskriften og sender meldingen til det høyere nivået.

Søknadsnivå

Det er et vindu for søknadsprosesser for å få tilgang til nettverkstjenester. Dette laget gir tjenester som direkte støtter brukerapplikasjoner som filoverføringsprogramvare, databasetilgangsprogramvare og e-post. Dataenheten på dette nivået er en melding. På dette nivået fungerer følgende protokoller: FTP ( Filoverføring Protocol - filoverføringsprotokoll), HTTP (Hyper Text Overføringsprotokoll- Hypertext Transfer Protocol), SMTP (Simple Mail Transfer Protocol) E-post), Telnet (terminalemuleringsprotokoll), etc.

Representativt nivå

Definerer formatet som brukes til å utveksle data mellom datamaskiner i nettverk... Dette nivået kan kalles en oversetter. På avsenderdatamaskinen blir dataene mottatt fra applikasjonslaget oversatt på dette nivået til et generelt forståelig mellomformat. På den mottakende datamaskinen på dette nivået er det en oversettelse fra mellomformatet til det som brukes av applikasjonsnivået. denne datamaskinen... Representativt nivå er ansvarlig for å konvertere protokoller, overføre data, kryptere dem, endre eller konvertere det brukte tegnsettet (kodetabell), kontrollerer datakomprimering for å redusere de overførte bitene.

Sesjonsnivå

Dette nivået lar to applikasjoner forskjellige datamaskiner opprette, bruke og avslutte en tilkobling kalt en økt. Sesjonslaget gir synkronisering mellom brukeroppgaver ved å plassere sjekkpunkter i datastrømmen. Altså i saken nettverksfeil, bare dataene etter det siste sjekkpunktet må sendes på nytt. På dette nivået utføres styringen av dialogen mellom de samvirkende prosessene, d.v.s. regulerer hvilken side som sender, når, hvor lenge osv. i praksis er funksjonene til dette nivået vanligvis kombinert med påføringslag og implementeres i én protokoll.

Transportlag

På transportnivå, meldinger fra øvre nivåer, pakkes om: de lange deles i flere pakker, og de korte er kombinert til én. Dette øker effektiviteten av pakkeoverføring over nettverket. På overføringsveien kan pakker forvrenges / gå tapt, derfor gir transportlaget de øvre lagene (økt og applikasjon) dataoverføring med det nødvendige nivået av pålitelighet.

OSI-modellen sørger for flere klasser av tjenester levert av transportlaget, som er forskjellige i kvaliteten på tjenesten:

1) hvor haster overføringen er;

2) muligheten til å gjenopprette den avbrutte forbindelsen;

3) evnen til å oppdage og rette feil;

4) muligheten til å bestemme tap eller duplisering av pakker.

På dette nivået fungerer to protokoller UPD og TCP, som implementerer forskjellige moduser pakkelevering.

UPD-protokoll(User Datagram Protocol) brukes når problemet med pålitelig datautveksling enten ikke oppstår i det hele tatt, eller løses ved hjelp av flere høy level(systemapplikasjonstjenester eller tilpassede applikasjoner).

TCP-protokoll(Transmission Control Protocol) sikrer garantert levering av pakker. Protokollen etablerer en logisk forbindelse mellom abonnentdatamaskiner, som lar den nummerere pakker, bekrefte mottak med kvitteringer, i tilfelle tap av dem, organisere reoverføringer, gjenkjenne og ødelegge duplikater.

Nettverkslag

Nettverkslaget tjener til å danne et enkelt transportsystem som forener flere nettverk, ev ulike teknologier... Inne i det lokale nettverket brukes linklagsadressering - mac - adressering, slik adressering er ikke egnet for overføring av pakker mellom nettverk. Obligatorisk nytt system adressering - en strukturert IP-adresse der minst 2 deler er tildelt (nettverksnummer og nodenummer i dette nettverket). På nettverksnivå er altså begrepet "nettverk" en samling arbeidsstasjoner koblet sammen med en typisk teknologi og som bruker en av linklagsprotokollene. Det er en samling datamaskiner med samme nettverksnummer.

Nettverk er koblet til hverandre ved hjelp av rutere som fungerer med IP-adresser. For å overføre en pakke fra et nettverk til et annet, er det nødvendig å utføre flere transittoverføringer gjennom andre nettverk, dvs. utføre flere "hopp" (hopp - hopp).

Før overføring av data, bygger hver ruter en rutetabell som spesifiserer hvordan pakken skal videresendes til hvert destinasjonsnettverk. For å gjøre dette utveksler ruteren data med andre rutere, og derfor har hver ruter som et resultat en struktur av tilkoblinger i nettverket, som den kan velge ruter gjennom. Ved valg av ruter brukes kriteriene, som er angitt i IP - overskriften til pakken.

Andre nettverkslagsoppgaver:

1) koordinering av ulike teknologier (pakkeoversettelse);

2) transformasjon av IP-adressen til neste ruter til en mac-adresse for å danne overskriften til lenkelaget når du utfører et hopp;

3) hvis en pakke overføres fra et nettverk med stor MIT-verdi til et nettverk med lavere MIT-verdi (Ethernet → Token Ring), så vil ruteren fragmentere pakken, dvs. bryter den ned i mindre blokker.

På nettverksnivå er det minst to typer protokoller:

1) Nettverksprotokoller som direkte promoterer pakker til komplekst nettverk

IP - Internett-protokoll

IPX - Internett-protokoll fra Novell

2) Rutingprotokoller, som før sending av pakker samler informasjon om tilkoblinger i nettverket og til slutt bygger en rutingtabell, etter hvilken nettverksprotokoller fungerer.

RIP - Ruting Internet Protocol; OSPF, RIP

Linklag

Overfører datarammer fra nettverkslaget til det fysiske. En ramme er en logisk organisert struktur som data kan plasseres i (se figur 9.10). Datalinklaget til destinasjonsdatamaskinen pakker den "rå" bitstrømmen fra det fysiske laget inn i datarammer. Dette nivået løser problemet med tilgang til kommunikasjonskanalen, oppdager og retter feil med bruker CRC(resten av den overflødige sykliske summen), styrer reoverføringen (i tilfelle skade eller tap av rammer), kontrollerer mac - adressen. Eksempler på protokoller som opererer på datalinklaget: Token Ring, FDDI, Ethernet, Fast Ethernet, Gigabit Ethernet, ATM, som er implementert i personlige datamaskiner, svitsjer, rutere, nettverksadaptere.

Ris. 9.10 Rammestruktur

Fysisk lag

Dette nivået utfører overføringen av en ustrukturert, "rå" bitstrøm over fysisk miljø(For eksempel, nettverkskabel). Elektrisk, optisk, mekanisk og funksjonelle grensesnitt med kabel. Det fysiske laget genererer også signaler som bærer data fra høyere lag. Dette nivået definerer typen nettverkskabel og måten den er koblet til nettverksadapterkortet på, spesielt antall kontakter i kontaktene og deres funksjoner. Den definerer også hvordan dataene overføres over nettverkskabelen (Ethernet og Token Ring). Det fysiske laget er designet for å overføre bits (nuller og enere) fra en datamaskin til en annen. Innholdet i selve bitene er irrelevant på dette nivået. Dette laget er ansvarlig for datakoding og bitsynkronisering, og sikrer at den overførte oppfattes som en ener og ikke som null. Dette nivået angir varigheten av hver bit og hvordan biten oversettes til de tilsvarende elektriske eller optiske pulsene som sendes over nettverkskabelen. Ved det fysiske laget bestemmes det også om simpleks, halv-dupleks eller dupleksmodus kommunikasjon. Den inneholder detaljer om nettverkstopologien.

For å bestemme oppgavene som er tildelt komplekst objekt, i tillegg til å fremheve hovedegenskapene og parameterne som den skal ha, opprettes generelle modeller av slike objekter. Den generelle modellen for et datanettverk bestemmer egenskapene til nettverket som helhet og egenskapene og funksjonene til hovedkomponentene.

Datanettverksarkitektur- en beskrivelse av dens generelle modell .____

Variasjonen av produsenter av datanettverk og nettverksprogramvareprodukter har skapt problemet med nettverkssammenkobling ulike arkitekturer... For å løse det utviklet MoE åpen systemarkitekturmodell.

Åpent system- et system som samhandler med andre systemer i henhold til aksepterte standarder.

Den foreslåtte åpne systemarkitekturmodellen tjener som grunnlag for produsenter i utviklingen av kompatibelt nettverksutstyr. Denne modellen er ikke en slags fysisk kropp, individuelle elementer som du kan ta på. Modellen representerer det meste generelle anbefalingerå bygge standarder for interoperable nettverk programvareprodukter... Disse anbefalingene bør implementeres både i maskinvare og programvare i datanettverk.

Open Systems Interconnection (OSI)-modellen er for tiden den mest populære nettverksarkitekturmodellen. Modell vurderer generelle funksjoner, ikke spesialløsninger, så ikke alle ekte nettverk de følger den absolutt. Interaksjonsmodellen for åpne systemer består av syv nivåer (Figur 6.15).

7. nivå - anvendt- gir støtte for. Dette nivået definerer utvalget av anvendte oppgaver implementert i dette datanettverket. Den inneholder også alle nødvendige tjenesteelementer for brukerapplikasjoner. Noen oppgaver i nettverksoperativsystemet kan tas ut til applikasjonsnivå.

6. nivå - representativ- definerer syntaksen til dataene i modellen, dvs. presentasjon av data. Det garanterer presentasjon av data i koder og formater akseptert i det gitte systemet. I noen systemer kan dette laget kombineres med påføringslaget.

5. nivå - økt- implementerer etablering og vedlikehold av en kommunikasjonsøkt mellom to abonnenter gjennom kommunikasjonsnettverk... Den tillater utveksling av data i modusen definert av applikasjonsprogrammet, eller gir muligheten til å velge utvekslingsmodus. Sesjonslaget vedlikeholder og avslutter kommunikasjonsøkten.

De tre øverste nivåene kommer sammen under vanlig navn - prosess eller søknadsprosess... Disse nivåene bestemmer funksjonelle funksjoner datanettverk som et applikasjonssystem.

4. nivå- transport - gir et grensesnitt mellom prosesser og nettverket. Den etablerer logiske kanaler mellom prosesser og sikrer overføring av informasjonspakker gjennom disse kanalene, som utveksles mellom prosesser. De logiske kanalene etablert av transportlaget kalles transportkanaler.

Pakke- en gruppe byte som overføres av nettverksabonnenter til hverandre.

3. nivå - nettverk- definerer grensesnittet dataterminalutstyr bruker med et pakkesvitsjenettverk. Den er også ansvarlig for å rute pakker i et kommunikasjonsnettverk og for kommunikasjon mellom nettverk - den implementerer internettarbeid.

Ris. 6.16. Meldingsbehandling etter lag av OSI-modellen

Merk. Innen kommunikasjonsteknologi brukes begrepet dataterminalutstyr. Den definerer alt utstyr som er koblet til en kommunikasjonskanal i et databehandlingssystem (datamaskin, terminal, spesialutstyr).

2. nivå - kanal- datalinknivå - implementerer prosessen med å overføre informasjon over en informasjonskanal. Informasjonskanal- en logisk kanal, den er installert mellom to datamaskiner koblet til fysisk kanal... Linklaget gir flytkontroll i form av rammer som informasjonspakker, oppdager overføringsfeil og implementerer en infoi tilfelle feil eller tap av data.

1. nivå - fysisk- utfører alle nødvendige prosedyrer i kommunikasjonskanalen. Dens hovedoppgave er å kontrollere dataoverføringsutstyret og kommunikasjonskanalen som er koblet til det.

Ved overføring av informasjon fra søknadsprosess inn i nettverket, behandles det av nivåene til modellen for interaksjon av åpne systemer (fig. 6.16). Meningen med denne behandlingen er at hvert nivå legger til sin egen prosessinformasjon overskrift- tjenesteinformasjon, som er nødvendig for adressering av meldinger og for enkelte kontrollfunksjoner. I tillegg til overskriften legger datalinklaget også til en trailer – en sjekksekvens som brukes til å kontrollere riktigheten av meldingsmottak fra kommunikasjonsnettverket.

Det fysiske laget legger ikke til en overskrift. Meldingen, innrammet av overskrifter og trailer, går inn i kommunikasjonsnettverket og går inn i abonnentdatamaskinene til datanettverket. Hver abonnentdatamaskin som har mottatt en melding dekrypterer adressene og avgjør om denne meldingen er beregnet på den.

I dette tilfellet foregår den omvendte prosessen i abonnentdatamaskinen - lesing og avskjæring av overskrifter etter nivåene til modellen for interaksjon av åpne systemer. Hvert nivå reagerer kun på sin egen tittel. Overskriftene til de øvre nivåene oppfattes eller endres ikke av de lavere nivåene - de er "gjennomsiktige" for lavere nivåer... Så når man beveger seg gjennom nivåene til OSI-modellen, kommer informasjon til slutt frem til prosessen den ble adressert til.

Merk følgende! Hvert nivå i interaksjonsmodellen for åpne systemer reagerer kun på sin egen tittel.

Merk. I fig. 6.16 viser flyten av data gjennom lagene i modellen. Hvert nivå legger til sin egen overskrift - 3.

Hva er hovedfordelen med syv-nivå OSI-modellen? I prosessen med utvikling og forbedring av ethvert system, er det behov for å endre dens individuelle komponenter. Noen ganger gjør dette det nødvendig å endre andre komponenter, noe som kompliserer og kompliserer prosessen med å oppgradere systemet betydelig.

Det er her fordelene med syv-nivåmodellen spiller inn. Hvis grensesnitt er unikt definert mellom nivåene, betyr ikke endring av et av nivåene behov for å gjøre endringer på andre nivåer. Dermed er det en relativ uavhengighet av nivåene fra hverandre.

Det er nødvendig å komme med en bemerkning til angående implementeringen av nivåene til OSI-modellen i ekte datanettverk. Funksjonene beskrevet av lagene i modellen må implementeres enten i maskinvare eller i form av programmer.

Fysiske lagfunksjoner er alltid implementert i maskinvare. Dette er adaptere, dataoverføringsmultipleksere, nettverkskort etc.

Funksjonene til de resterende nivåene implementeres som programvaremoduler- sjåfører.

Konseptet "system" er todelt. På den ene siden, av generell definisjon, er et system en samling av interagerende elementer (komponenter), maskinvare og/eller programvare. På den annen side kan systemet fungere som en komponent i et annet, mer komplekst system, som igjen kan være en komponent i neste nivåsystem.

I denne forbindelse er det nødvendig å avklare ideen om arkitekturen til systemer og verktøy som deres eksterne beskrivelse (referansemodell) fra synspunktet til den som bruker dem. Arkitekturen til et åpent system viser seg dermed å være en hierarkisk beskrivelse av dets ytre utseende og hver komponent i form av:

  • bruker (brukergrensesnitt),
  • systemdesigner (designmiljø),
  • applikasjonsprogrammerer (systemer og verktøy / programmeringsmiljøer),
  • systemprogrammerer(Datamaskinarkitektur),
  • maskinvareutvikler (maskinvaregrensesnitt).

Det foreslåtte synet på arkitekturen til åpne systemer følger av det ovennevnte behovet for kompleks implementering generelle egenskaperåpenhet og er en utvidelse av det aksepterte konseptet dataarkitektur ifølge G. Myers.

Som et eksempel kan du vurdere en arkitektonisk representasjon av et databehandlingssystem som består av komponenter av fire områder: brukergrensesnitt(i henhold til synspunktene til alle de ovennevnte gruppene), databehandlingsfasiliteter, datapresentasjon og lagringsfasiliteter, kommunikasjonsfasiliteter. Dette synet krever bruk av tre nivåer av beskrivelser: miljøet, som er representert av systemet, driftsmiljø(system) som applikasjonskomponentene er basert på, og utstyr. For enkelhets skyld er hvert av disse nivåene delt inn i to undernivåer (se tabell).

Hierarki av representasjon av arkitekturen til databehandlingssystemet

Miljønivå for slutt bruker(brukermiljø) er preget av input- og output-beskrivelser (generatorer av skjemaer og rapporter), designspråk informasjonsmodell fagområde(4GL-språk), funksjoner til verktøy og bibliotekprogrammer og applikasjonslag i kommunikasjonsmiljøet når eksterne kreves. På samme nivå er applikasjonsprogrammeringsmiljøet (verktøysett) definert: programmeringsspråk og systemer, kommandospråk(skall operativsystemer), DBMS-spørringsspråk, øktnivåer og representative kommunikasjonsmiljøer.

På operativsystemnivå presenteres komponentene i driftsmiljøet som implementerer funksjonene for å organisere prosessprosessen, tilgang til datalagringsmediet, vindusgrensesnittet og også transportlaget til kommunikasjonsmediet. Det nedre undernivået av operativsystemet er kjernen, filsystem, utstyrskontrolldrivere, nettverkslag av kommunikasjonsmiljø.

På maskinvarenivå er det lett å se komponentene i maskinvarearkitekturen som er kjent for datautviklere:

  • instruksjonssystem for prosessoren(e),
  • organisering av minne,
  • organisering av input-output, etc.,

i tillegg til fysisk gjennomføring som:

  • systembuss,
  • masseminne dekk,
  • grensesnitt for eksterne enheter,
  • dataoverføringslag,
  • fysiske laget av lagringsmiljøet.

Det presenterte synet på arkitekturen til et åpent databehandlingssystem refererer til en-maskinimplementeringer inkludert i et dataoverføringsnettverk for informasjonsutveksling. Det er klart at det enkelt kan generaliseres til multiprosessorsystemer med separasjon av funksjoner, samt til distribuerte databehandlingssystemer. Siden komponentene som utgjør systemet er tydelig identifisert her, kan man vurdere både grensesnittene for interaksjon av disse komponentene på hvert av de angitte nivåene, og grensesnittene for interaksjon mellom nivåene.

Beskrivelser og implementeringer av disse grensesnittene kan kun vurderes innenfor et gitt system. Da manifesteres egenskapene til dens åpenhet bare på det ytre nivået. Betydningen av ideologien til åpne systemer er imidlertid at den åpner metodiske måter å forene grensesnitt innenfor funksjonelt relaterte grupper av komponenter for hele klassen av systemer for et gitt formål eller for hele settet av åpne systemer.

Grensesnittstandardene til disse komponentene (de facto eller offisielt vedtatt) definerer ansiktet til masseprodukter på markedet. Omfanget av disse standardene er gjenstand for koordinering av interesser til ulike grupper av deltakere i informatiseringsprosessen - brukere, systemdesignere, programvareleverandører og utstyrsleverandører.

Ovenfor ble et eksempel på en arkitektur av åpne systemer som implementerer databehandlingsteknologi vurdert. Man kunne tenke seg på lignende måte åpne systemer for alle klasser informasjonsteknologier: behandling av ord, bilder, tale, datagrafikk. Det er spesielt viktig å utarbeide åpne systemtilnærminger for multimedieteknologier som kombinerer flere ulike representasjoner av informasjon. Som du vet, utføres disse arbeidene i utlandet av forskjellige sammenslutninger og konsortier av interesserte firmaer og akademiske organisasjoner og internasjonale standardiseringsorganisasjoner. Dessverre er russiske spesialister i disse arbeidene fortsatt med beste tilfelle spille rollen som observatører.

Konseptet "system" er todelt. På den ene siden, i henhold til den generelle definisjonen, er et system et sett av interagerende elementer (komponenter), maskinvare og/eller programvare. På den annen side kan systemet fungere som en komponent i et annet, mer komplekst system, som igjen kan være en komponent i neste nivåsystem.

I denne forbindelse er det nødvendig å avklare ideen om arkitekturen til systemer og verktøy som deres eksterne beskrivelse (referansemodell) fra synspunktet til den som bruker dem. Arkitekturen til et åpent system viser seg dermed å være en hierarkisk beskrivelse av dets ytre utseende og hver komponent i form av:

bruker (brukergrensesnitt),

systemdesigner (designmiljø),

applikasjonsprogrammerer (systemer og verktøy / programmeringsmiljøer),

systemprogrammerer (dataarkitektur),

maskinvareutvikler (maskinvaregrensesnitt).

Det foreslåtte synet på arkitekturen til åpne systemer følger av det ovennevnte behovet for en omfattende implementering av de generelle egenskapene til åpenhet og er en forlengelse av det aksepterte konseptet dataarkitektur ifølge G. Myers.

La oss for eksempel vurdere den arkitektoniske representasjonen av et databehandlingssystem som består av komponenter av fire områder: brukergrensesnittet (i henhold til synspunktene til alle de ovennevnte gruppene), databehandlingsfasiliteter, datapresentasjon og lagringsfasiliteter og kommunikasjon fasiliteter. Denne visningen krever bruk av tre nivåer med beskrivelser: miljøet som er representert av systemet, operativsystemet (systemet) som applikasjonskomponentene er avhengige av, og maskinvare. For enkelhets skyld er hvert av disse nivåene delt inn i to undernivåer (se tabell 1).

Tabell 1

Hierarki av representasjon av arkitekturen til databehandlingssystemet

Databehandlingssystemarkitekturnivå

Databehandlingssystemkomponenter

Grensesnitt

Databehandlingsverktøy

Datapresentasjon og lagring

Kommunikasjon

Verktøysett for sluttbrukermiljø og applikasjonsprogrammerer

Skjema- og rapportgeneratorer

Verktøy og biblioteker

4GL programmeringsspråk

OSI. Søknadsnivå

Programmerings- og kommandospråk (skall)

Søknadsprogrammer

DBMS-spørringsspråk

OSI. Sesjonsnivåer og representativ

Operativsystem

Verktøy for vindugrensesnitt

Det øvre nivået av OS (organisering av prosessprosessen)

Lagringsmedium

OSI. Transportlag

Drivere

Operativsystemkjernen

Filsystem

OSI. Nettverkslag

Utstyr

Systemgrensesnitt (inkludert I/O-organisasjon)

Prosessorer (instruksjonssett)

Organisering av minne

OSI. Dataoverføringslag

Periferiutstyr

Systembuss

Buss (grensesnitt) masseminne

OSI. Fysisk lag

Brukermiljønivået er preget av inngangs- og utdatabeskrivelser (generatorer av skjemaer og rapporter), designspråk for domeneinformasjonsmodellen (4GL-språk), funksjoner til verktøy og bibliotekprogrammer, og applikasjonsnivået til kommunikasjonsmiljøet når det er eksternt kreves. På samme nivå er applikasjonsprogrammeringsmiljøet (verktøysettet) definert: programmeringsspråk og systemer, kommandospråk (operativsystemskall), DBMS-spørringsspråk, sesjonsnivåer og et representativt kommunikasjonsmiljø.

På operativsystemnivå presenteres komponentene i driftsmiljøet som implementerer funksjonene for å organisere prosessprosessen, tilgang til datalagringsmediet, vindusgrensesnittet og også transportlaget til kommunikasjonsmediet. Det nedre undernivået til et operativsystem er kjernen, filsystemet, maskinvarekontrolldrivere og nettverkslaget i kommunikasjonsmiljøet.

På maskinvarenivå er det lett å se komponentene i maskinvarearkitekturen som er kjent for datautviklere:

instruksjonssystem for prosessoren(e),

organisering av minne,

organisering av input-output, etc.,

samt en fysisk implementering i form:

systembusser,

masseminne dekk,

grensesnitt for eksterne enheter,

dataoverføringslag,

fysiske laget av lagringsmiljøet.

Det presenterte synet på arkitekturen til et åpent databehandlingssystem refererer til en-maskinimplementeringer inkludert i et dataoverføringsnettverk for informasjonsutveksling. Det er klart at det enkelt kan generaliseres til multiprosessorsystemer med separasjon av funksjoner, samt til distribuerte databehandlingssystemer. Siden komponentene som utgjør systemet er tydelig identifisert her, kan man vurdere både grensesnittene for interaksjon av disse komponentene på hvert av de angitte nivåene, og grensesnittene for interaksjon mellom nivåene.

Beskrivelser og implementeringer av disse grensesnittene kan kun vurderes innenfor et gitt system. Da manifesteres egenskapene til dens åpenhet bare på det ytre nivået. Betydningen av ideologien til åpne systemer er imidlertid at den åpner metodiske måter å forene grensesnitt innenfor funksjonelt relaterte grupper av komponenter for hele klassen av systemer for et gitt formål eller for hele settet av åpne systemer.

Grensesnittstandardene til disse komponentene (de facto eller offisielt vedtatt) definerer ansiktet til masseprodukter på markedet. Omfanget av disse standardene er gjenstand for koordinering av interesser til ulike grupper av deltakere i informatiseringsprosessen - brukere, systemdesignere, programvareleverandører og utstyrsleverandører.

Ovenfor ble et eksempel på en arkitektur av åpne systemer som implementerer databehandlingsteknologi vurdert. Man kunne tenke seg på en lignende måte åpne systemer for alle klasser av informasjonsteknologi: tekstbehandling, bilder, tale, datagrafikk. Det er spesielt viktig å utarbeide åpne systemtilnærminger for multimedieteknologier som kombinerer flere ulike representasjoner av informasjon. Som du vet, utføres disse arbeidene i utlandet av forskjellige sammenslutninger og konsortier av interesserte firmaer og akademiske organisasjoner og internasjonale standardiseringsorganisasjoner. Dessverre spiller russiske spesialister i disse verkene fortsatt rollen som observatører i beste fall.

Merknad: Metodisk underbyggelse av åpne systemer som et sett med konsepter og referansemodeller basert på dem. OSI-modell.

2.1. Metodisk rammeverk for åpne systemer

Standardiseringsprosessen for informasjonsteknologi bør ha et metodisk grunnlag som gjør det mulig å definere objektene, metodene og standardiseringsverktøyene på en rimelig måte. Dessuten konseptet Informasjonsteknologi tolkes som følger: " Informasjonsteknologi inkluderer spesifikasjon, design og utvikling av programvare og maskinvare og telekommunikasjonssystemer og verktøy som omhandler søk og innsamling av informasjon, presentasjon, organisering, prosessering, sikkerhet, lagring, overføring og utveksling og administrasjon av informasjon. " Basen er implementert som et metodisk grunnlag for åpne systemer.

Metodisk basis for åpne systemer består av et sett med konsepter og referansemodeller basert på dem:

  • konseptuelle rammeverk og prinsipper for å bygge åpne systemer;
  • Referansemodell for åpent systemmiljø (OSE RM)
  • Open Systems Interconnection Reference Model (OSI RM)
  • apparat for utvikling og bruk av IT / IS-profiler, designet for å skape åpne systemer i rommet med standardiserte løsninger;
  • taksonomi av profiler;
  • konseptet med å teste IT-systemers samsvar med kildestandarder og profiler.

De viktigste resultatene i etablering av metoden med basis for åpne systemer i dag er:

  • opprettelse av et system med spesialiserte internasjonale organisasjoner for helhetlig utvikling og standardisering av åpne systemer;
  • utvikling av referansemodeller og de tilsvarende grunnleggende spesifikasjonene for de viktigste delene av IT-feltet, som gjorde det mulig å danne et konseptuelt og funksjonelt grunnlag for rommet for å lage informasjonsteknologier og -systemer (IT / IS);
  • utvikling og utbredt bruk av begrepet profil, som gir et apparat for å spesifisere og dokumentere kompleks og flerfaglig åpen IT/IS som definerer funksjonaliteten til grunnleggende spesifikasjoner og/eller profiler;
  • utvikling av en taksonomi av profiler, som er et IT / IS-klassifiseringssystem og gir en systematisk identifikasjon av profiler i IT / IS-rommet;
  • utvikling av et konsept og metodikk for overholdelse av IT/IS-implementeringer med de spesifikasjonene de implementerer.

Metodisk grunnlaget for informasjonsteknologi, hvor hoveddelen består av IT-spesifikasjoner for ulike abstraksjonsnivåer, er dannet på grunnlag av en hierarkisk tilnærming, som bidrar til analysen av strukturen ved hjelp av en viss flernivåmodell.


Ris. 2.1.

Modellen er rettet mot CIOer og prosjektledere med ansvar for oppkjøp/utvikling, implementering, drift og utvikling informasjonssystemer bestående av heterogen programvare og maskinvare og kommunikasjonsmidler... OSE-applikasjoner kan omfatte:

  • sanntidssystemer (RTS) og innebygde systemer (Embedded System - ES);
  • Transaksjonsbehandlingssystem (TPS);
  • databasestyringssystemer ( Database ledelse System - DBMS);
  • en rekke beslutningsstøttesystemer (Decision Support System - DSS);
  • admfor den administrative (Executive Informasjon System- EIS) og produksjon (Enterprise Resource Planning - ERP) formål;
  • geografiske informasjonssystemer (Geographic Information System - GIS);
  • andre spesialiserte systemer der spesifikasjonene anbefalt av internasjonale organisasjoner kan brukes.

Fra produsentens og brukernes synspunkt er OSE en ganske universell funksjonell infrastruktur som regulerer og legger til rette for utvikling eller anskaffelse, drift og vedlikehold av sikre applikasjonssystemer som:

  • utføres på en hvilken som helst brukt plattform til leverandøren eller brukeren;
  • bruk et hvilket som helst operativsystem;
  • gi databasetilgang og databehandling;
  • utveksle data og samhandle gjennom nettverkene til alle leverandører og i de lokale nettverkene til forbrukere;
  • samhandle med brukere gjennom standard grensesnitt i et felles bruker-datamaskin grensesnittsystem.

Dermed støtter OSE "bærbare, skalerbare og interoperable applikasjoner. dataprogrammer gjennom standard funksjonalitet, grensesnitt, dataformater, utvekslings- og tilgangsprotokoller".

Standarder kan være internasjonale, nasjonale og andre offentlig tilgjengelige spesifikasjoner og avtaler. Disse standardene og spesifikasjonene er tilgjengelige for enhver utviklere, leverandør og bruker av data- og kommunikasjonsprogramvare og -maskinvare når de bygger systemer og verktøy som oppfyller OSE-kriteriene.

bærbar hvis de er implementert på standardplattformer og skrevet på standardiserte programmeringsspråk. De jobber med standard grensesnitt som kobler dem til datamiljøet, leser og lager data i standard formater og overføre dem i samsvar med standardprotokoller som kjører i ulike datamiljøer.

OSE-applikasjoner og -verktøy skalerbar i miljøet ulike plattformer og nettverkskonfigurasjoner- fra personlige datamaskiner til kraftige servere, fra lokale systemer for parallell databehandling til store GRID-systemer. Brukeren kan merke forskjellen i mengden dataressurser på en hvilken som helst plattform av noen indirekte tegn, for eksempel av hastigheten til applikasjonsprogrammet, men aldri av systemfeil.

OSE-applikasjoner og -verktøy samhandle med hverandre dersom de leverer tjenester til brukeren ved bruk av standardprotokoller, datautvekslingsformater og grensesnitt til systemer for felles eller distribuert databehandling for målrettet bruk av informasjon. Prosessen med å overføre informasjon fra en plattform til en annen via et lokalnettverk eller en kombinasjon av nettverk (opptil globale) bør være helt gjennomsiktig for applikasjonsprogrammer og brukere og bør ikke forårsake tekniske problemer ved bruk. Samtidig bør plassering og plassering av andre plattformer, operativsystemer, databaser, programmer og brukere ikke ha betydning for applikasjonen som brukes.

POSIX IEEE Working Group 1003.0 utviklet Open Systems Environment / Reference Model (OSE / RM). Denne modellen er beskrevet internasjonalt i JTC1 Technical Report TR 14250 (Figur 2.2).

Det er to typer elementer som brukes i beskrivelsen av modellen:

  • logiske objekter, inkludert applikasjonsprogramvare (PPO), applikasjonsplattformer og eksternt funksjonelt miljø;
  • grensesnitt som inneholder et applikasjonssystemgrensesnitt og et utvekslingsgrensesnitt med det eksterne miljøet.

Logiske objekter er representert av tre klasser, grensesnitt - med to. I sammenheng med OSE-referansemodellen inkluderer applikasjonsprogramvare direkte programkoder, data, dokumentasjon, testing, hjelpe- og opplæringsverktøy (fig. 2.3).


Ris. 2.3.

Applikasjonsplattform består av et sett med maskinvare- og programvarekomponenter som implementerer systemtjenester som brukes av applikasjonsprogramvaren. Konseptet med en applikasjonsplattform inkluderer ikke en spesifikk implementering funksjonalitet... For eksempel kan en plattform være en prosessor som brukes av flere applikasjoner eller et stort distribuert system.

Eksternt plattformmiljø består av elementer utenfor applikasjonsprogramvaren og applikasjonsplattformen (arbeidsstasjoner, eksterne periferiutstyr innsamling, behandling og overføring av data, objekter for kommunikasjonsinfrastruktur, tjenester fra andre plattformer, operativsystemer eller nettverksenheter).

Applikasjonsprogramgrensesnitt(Application Program Interface - API) er grensesnittet mellom applikasjonsprogramvaren og applikasjonsplattformen. Hoved API funksjon- støtte for portabilitet av programvaren. API-klassifisering gjøres avhengig av typen tjenester som implementeres: interaksjon i "bruker - datamaskin"-systemet, informasjonsutveksling mellom applikasjoner, interne systemtjenester, kommunikasjonstjenester.

Det eksterne miljøgrensesnittet (EEI) gir informasjonsoverføring mellom applikasjonsplattformen og det eksterne miljøet, samt mellom applikasjonsprogrammer som kjører på samme plattform.


Ris. 2.4.

OSE / RM-referansemodellen implementerer og regulerer forholdet mellom leverandør og bruker. Logiske objekter av applikasjonsplattformen og eksternt miljø er en tjenesteleverandør, er applikasjonsprogramvare en bruker. De samhandler ved hjelp av et sett med APIer og EEI-grensesnitt, identifisert av modellen POSIX OSE (Figur 2.4).

EEI-grensesnittet er en samling av alle tre grensesnittene (CSI, HCI, ISI), som hver har egenskaper bestemt av en ekstern enhet (Figur 2.5):

  • grensesnitt kommunikasjonstjenester (Communication Service Interface - CSI) - et grensesnitt som gir en tjeneste for å implementere interaksjon med eksterne systemer... Interaksjon implementeres ved å standardisere protokoller og dataformater som kan utveksles ved hjelp av etablerte protokoller
  • menneske-maskin grensesnitt(Human Computer Interface - HCI) - grensesnittet som den fysiske interaksjonen mellom brukeren og programvaresystemet utføres gjennom
  • grensesnitt informasjonstjenester (Information Service Interface - ISI) - grensen for interaksjon med eksternt minne langtidslagring data. Levert av standardisering av formater og syntaks for datapresentasjon.


Ris. 2.5.

Applikasjonsplattformen, gjennom begge hovedgrensesnitt til plattformen, leverer tjenester til ulike bruksområder.

OSE gir driften av applikasjonsprogramvaren ved å bruke visse regler, komponenter, metoder for grensesnitt av systemelementer (Plug Compatibility) og en modulær tilnærming til utvikling av programvare og informasjonssystemer. Fordelene med modellen er separasjonen av det ytre miljøet i et uavhengig element, som har visse funksjoner og det tilsvarende grensesnittet, og muligheten for dens anvendelse for å beskrive systemer bygget på grunnlag av "klient-server"-arkitekturen. Relativ ulempe - ikke alle nødvendige spesifikasjoner presenteres på nivå med internasjonale harmoniserte standarder.