Mellomvare

Mellomvare eller logikk for utveksling av informasjon mellom applikasjoner ( interlogical ), eller Intermediate Agent , refererer til et programvaresystem som tilbyr vanlige tjenester og funksjoner for applikasjoner. Generelt håndterer mellomvare oppgavene dataadministrasjon, applikasjonstjenester, meldingstjenester, autentisering og API-administrasjon. Det er programvare som hjelper en applikasjon til å samhandle eller kommunisere med andre applikasjoner, eller programvarepakker, nettverk, maskinvare eller operativsystemer. Dette forenkler arbeidet til programmerere i den komplekse oppgaven med å generere tilkoblinger og synkroniseringer som er nødvendige i distribuerte systemer. På denne måten gis det en løsning som forbedrer kvaliteten på tjenesten, samt sikkerheten, sending av meldinger, oppdatering av tjenestekatalogen mv. [ 1 ]

Det fungerer som et distribuert programvareabstraksjonslag , som sitter mellom applikasjonslagene og de nedre lagene ( operativsystem og nettverk ). Mellomvare abstraherer fra kompleksiteten og heterogeniteten til underliggende kommunikasjonsnettverk, operativsystemer og programmeringsspråk, og gir et API for enkel programmering og administrasjon av distribuerte applikasjoner. Avhengig av problemet som skal løses og funksjonene som kreves, vil ulike typer mellomvaretjenester være nyttige. Generelt er mellomvaren på klientsiden implementert av operativsystemet, som har bibliotekene som utfører alle funksjonene for kommunikasjon gjennom nettverket.

Den har ansvaret for dataadministrasjonsoppgaver, applikasjonstjenester, selvindikasjonsmeldinger og appadministrasjon. Det gjør det også lettere å få tilgang til et nettverk og øker hastigheten på systemutførelsen.

Det er definert i to kategorier kjent som integrasjon og applikasjon. Hver mellomvare har visse protokoller og paradigmer.

Den er basert og orientert mot datainteraksjonsprosedyrer slik at synkroniseringen av en spesifikk prosess utføres.


Mellomvare spenner fra webservere til autentiseringssystemer og meldingsverktøy:

- Smart bedriftsautomatisering - Datastreaming - Full integrasjon - Smart bedriftsautomatisering - Datastreaming - Full integrasjon

Definisjon

Mellomvare er all programvare som sitter mellom operativsystemet og applikasjonene som kjører på det . Det fungerer som et oversettelseslag som muliggjør kommunikasjon og databehandling i distribuerte applikasjoner. Mellomvare søker å gi distribuerte systemer egenskapen åpenhet, det vil si å maskere systemets heterogene natur. Dette oppnås ved å tilby følgende funksjoner:

I praksis er mellomvare representert av prosesser eller objekter i et sett med datamaskiner som samhandler med hverandre for å implementere kommunikasjon og ressursdeling for distribuerte applikasjoner.


Historikk

Opprinnelsen til ordet mellomvare dateres tilbake til år 1960, hvor ordet ble brukt under 'NATO Software Engineering Conference' i 1960, [ 2 ] som en idé om hvordan man kobler ny programvare med eldre systemer. I løpet av tiårene før 1990-tallet ble det bare beskrevet som programvare for nettverkstilkobling, men da nettverksteknologien nådde tilstrekkelig gjennomtrengning og synlighet, hadde mellomvareprogramvare utviklet seg til et sett med paradigmer og tjenester. På denne måten ble det tilbudt en enklere, mer robust og kontrollerbar måte å bygge distribuerte applikasjoner på. [ 3 ]

Taksonomi av mellomvareprogrammer

Taksonomien eller klassifiseringen av mellomvareprogramvare kan beskrives i to hovedkategorier: en for integrasjon og den andre for applikasjon. Disse har igjen ulike klasser.

Integreringskategori

Det er den typen integrasjon som har evnen til å forene seg med heterogene systemer. Hver mellomvare har forskjellige kommunikasjonsprotokoller eller måter å operere på i forskjellig programvare . Integrasjonstyper kan sees på som:

Prosedyre- eller prosessorientert

Prosessorientert mellomvare bruker synkronisert kommunikasjon ( som telefon). En av egenskapene til disse er at de bruker klientstubben og serverskjelettet . Klientstubben konverterer forespørselen til en melding som sendes til serveren; så mottar serverskjelettet meldingen, konverterer den til forespørselen og kaller serverapplikasjonen der den behandles. Etter behandlingen skjer den omvendte prosessen. Klientstubben ser etter feil, sender resultatene til programvaren som startet forespørselen, og stanser deretter behandlingen . Fordelene med disse mellomvarene er at de bruker en standardtype i navn på tjenester og eksterne prosesser, de kan returnere svar selv med nettverksproblemer, og de kan håndtere flere typer dataformater og heterogene nivåer av tjenestesystemer. Ulempene er at de ikke har skalerbarhet, de kan ikke returnere informasjonen til et annet program enn det som gjorde forespørselen (refleksjon) og de har veldig rigide prosesser.

Objektorientert

De støtter distribuert objektbestilling. Kommunikasjonen mellom objektene kan være synkronisert, utsatt synkronisert eller ikke-synkronisert. De støtter flere lignende bestillinger gjort av flere kunder i en transaksjon. Måten å operere på er:

  1. Klientobjektet kaller en logisk metode for å hente et eksternt objekt.
  2. En proxy ORB (også kjent som en stubb ) samler informasjonen ( rangering eller serialisering) og overfører den gjennom agenten ( megler ).
  3. Agenten fungerer som et midtpunkt og kontakter ulike informasjonskilder, skaffer deres henvisnings-IDer, samler inn informasjon, og noen ganger omorganiserer den.
  4. Den eksterne proxyen (også kjent som skjelett ) marshalerer ( unmarshaller eller deserialiserer) informasjonen som kommer fra agenten og sender den til serverobjektet.
  5. Serverobjektet behandler informasjonen og genererer et resultat som returneres til klienten etter de omvendte trinnene.

Fordelene er at de tillater refleksjon og skalerbarhet, at den opererer med flere typer informasjon og tilstander, og at den støtter flere prosesser. Ulempene er å få koblinger til å eksistere før kjøring og innpakningskode for noen eldre systemer.

Meldingsorientert mellomvare (MOM )

De kan deles inn i to typer, vent og publiser/abonner. Ventetrinnet kan deles inn i melding og vent. Meldingstrinnet starter med at applikasjonen sender en melding til en eller flere klienter, med klientens MOM. MOM-serveren samler forespørslene fra køen ( Message Broker ) i en forhåndsbestemt rekkefølge eller ventesystem. MOM-serveren fungerer som en ruter og samhandler vanligvis ikke med dem. Publiser og abonner MOM handler litt annerledes, det er mer hendelsesdrevet. Dersom en kunde ønsker å delta for første gang, blir de med på informasjonsbussen. Avhengig av rollen, enten det er som utgiver, abonnent eller begge deler, logger den en hendelse. Utgiveren sender en melding om en hendelse til minnebussen. MOM-serveren sender en kunngjøring til den registrerte abonnenten når informasjonen er tilgjengelig.

Komponentorientert

En komponent er et "program som utfører en spesifikk funksjon, designet for enkelt å betjene og samhandle med andre komponenter og applikasjoner." Mellomvaren i dette tilfellet i en komponentkonfigurasjon. Styrken til denne mellomvaren er at den er konfigurerbar og rekonfigurerbar. Rekonfigurering kan gjøres ved kjøretid, og tilbyr stor fleksibilitet for å møte behovene til et stort antall applikasjoner.

Agenter

Agenter er en type mellomvare som har flere komponenter:

  • Entiteter. De kan være objekter eller prosesser.
  • Media. De kan være kanaler, rør osv.
  • Lover. De identifiserer den interaktive naturen til agenter. De kan være timing eller skjematype.

Fordelene med mellomvareagenter er deres evne til å utføre et stort antall oppgaver på vegne av brukeren og dekke et bredt spekter av strategier basert på omgivelsene. Imidlertid er implementeringen komplisert på grunn av kompleksiteten og vanskelighetene gitt av operasjonene de håndterer.

Applikasjonskategori

Klassifiseringen etter applikasjon inkluderer mellomvare som er innstilt for spesifikke applikasjoner.

Data Access Middleware ( DAM )

Mellomvare for informasjonstilgang har karakteristikken av å kunne samhandle med ulike datakilder. Denne typen mellomvare inkluderer de som behandler transaksjoner, databasegatewayer og distribuerte transaksjons-/prosedyresystemer.

Fordelene deres ligger i kommunikasjonen de har mellom flere datakilder, konverteringen av applikasjonens programmeringsspråk til et språk akseptert av destinasjonsdatakilden, og muligheten til å svare i et format og et språk som er akseptabelt for forespørselen.

Desktop mellomvare

Desktop - mellomvare kan gjøre variasjoner i presentasjonen av informasjon etterspurt av brukeren ved sporings- og assistanseapplikasjoner, kontrollere eventuelle transporttjenester og gi backup og andre bakgrunnsoperasjoner. Andre kan være vedlikehold og grafikk, bestilling, tjenestekataloger, administrasjon av databaseinformasjon, prosessadministrasjon, jobbplanlegging, varsling av servicehendelser, administrasjon av programvareinstallasjon, krypteringstjenester og tilgangskontroll.

Nettbasert mellomvare

Denne typen mellomvare hjelper brukeren med nettsurfing, bruk av grensesnitt som lar dem finne sider av interesse, og oppdage endringer i brukerens interesse basert på deres søkehistorikk. Den gir en identifiseringstjeneste for et stort antall applikasjoner og kommunikasjon mellom prosesser uavhengig av operativsystem, nettverksprotokoll og maskinvareplattform . Mellomvare som er tett knyttet til nettverket kalles applikasjonsservere, ettersom den forbedrer ytelse, tilgjengelighet, skalerbarhet, sikkerhet, informasjonsinnhenting og støtter samarbeidsadministrasjon og bruk. Mellomvare kan kontakte applikasjonen direkte og få bedre kommunikasjon mellom server og klient. Andre viktige tjenester levert av denne typen mellomvare er katalogtjenester, e- poster , store forsyningskjeder, ekstern tilgang til informasjon, filnedlastinger, tilgang til programmer og tilgang til eksterne applikasjoner.

Sanntidsmellomvare _

Informasjon i sanntid kjennetegnes ved at riktig informasjon i et øyeblikk kanskje ikke er korrekt i et annet. Sanntidsmellomvare støtter tidssensitive forespørsler og planleggingspolicyer . Dette gjøres med tjenester som forbedrer effektiviteten til brukerapplikasjoner. Sanntidsmellomvare kan deles inn i forskjellige applikasjoner :

  • Sanntids databaseapplikasjon.
  • prosesseringssensor.
  • Overføring av informasjon.

Informasjon som går gjennom mellomvare i sanntid har økt dramatisk med introduksjonen av Internett, trådløse nettverk og nye kringkastingsbaserte applikasjoner.

Fordelene med denne typen mellomvare er at de gir en beslutningsprosess som bestemmer de beste kriteriene for å løse tidssensitive prosesser, og muligheten for å hjelpe operativsystemer med å lokalisere ressurser når de har driftstidsbegrensninger.

Multimediemellomvare er en viktig gren av sanntidsmellomvare. Disse kan håndtere et bredt spekter av informasjon. Disse typene kan være tekst, bilder av alle slag (GPS, bilder osv.), prosessorer for naturlig språk, musikk og video. Informasjonen skal samles inn, integreres og sendes deretter til den tidssensitive brukeren. Multimedieenheter kan inkludere en blanding av både fysiske (høyttalere, kameraer, mikrofon) og logiske enheter.

Mellomvarespesialister _

I mange tilfeller gir mellomvare en veldig spesifikk oppgave som ikke kan passe inn i kategoriene ovenfor. Et eksempel kan være medisinsk mellomvare .

Nivåkategori

Tiering er differensiert i to typer: mellomvare på lavt nivå og mellomvare på høyt nivå.

Mellomvare på lavt nivå

Mellomvare som tilbyr viktig funksjonalitet, generelt relatert til endringer i grunnleggende TCP/UDP + IP-støtte.

Dens viktigste egenskaper er:

  • Serialisering (på engelsk, Marshalling ): Serialisering er prosessen med å transformere et objekt, plassert på et lagringsmedium, til et dataformat som er egnet for lagring eller overføring.
  • Multicast over IP: IP Multicast er en metode for å overføre IP-datagrammer til en gruppe interesserte mottakere.
  • Overleggsnettverk: Et overleggsnettverk er et virtuelt nettverk av logisk koblede noder som er bygget på toppen av ett eller flere underliggende nettverk.
Mellomvare på høyt nivå

Dette nivået er dedikert til kommunikasjon og ekstern innkalling. Det er en mellomvare fokusert på å sende og motta data, det vil si hvordan prosesser kommuniserer i et distribuert system.

Tre typer skilles:

  • Remote Procedure Call ( RPC): Remote Procedure Call er et program som bruker én datamaskin til å kjøre kode på en annen ekstern maskin uten å måtte bekymre deg for kommunikasjon mellom de to maskinene.
  • Remote Method Invocation (RMI): Java Remote Method Invocation er en mekanisme som tilbys av Java for å påkalle en metode eksternt. Det er en utvidelse av RPC for direkte overføring av distribuerte objekter.
  • Request-response- protokoller : Request -response-protokollen inkluderer en rekke protokoller som gir relativt lavt nivå støtte for å be om utførelse av en ekstern operasjon. De legger grunnlaget for Remote Procedure Call (RPC) og Remote Method Invocation (RMI).

Applikasjoner

Mellomvaretjenester gir et mer funksjonelt sett med APIer for å tillate en applikasjon å:

  • Finn tydelig over nettverket, og gir dermed en interaksjon med en annen tjeneste eller applikasjon
  • Data filtrert for å være brukbare i et offentlig miljø gjennom anonymiseringsprosess for personvern (for eksempel)
  • Vær uavhengig av nettverkstjenesten
  • Vær pålitelig og alltid tilgjengelig
  • Legg til komplementære attributter som semantikk sammenlignet med operativsystemet og nettverkstjenester.

Mellomvare tilbyr noen unike teknologiske fordeler for næringslivet og industrien. For eksempel er tradisjonelle databasesystemer ofte utplassert i lukkede miljøer, der brukere kun får tilgang til systemet via et begrenset nettverk eller intranett (for eksempel et selskaps interne nettverk). Med veksten av World Wide Web kan brukere få tilgang til praktisk talt alle databaser som de har riktige tilgangsrettigheter til fra hvor som helst i verden. Mellomvare tar opp problemet med ulike nivåer av interoperabilitet mellom ulike databasestrukturer. Mellomvare forenkler tilgang til eldre databasebehandlingssystem (DBMS) eller applikasjoner gjennom en webserver, uten hensyn til databasespesifikke funksjoner. [ 4 ]

Bedrifter bruker ofte mellomvareapplikasjoner for å koble informasjon fra avdelingsdatabaser, for eksempel lønn, salg og regnskap, eller databaser som er vert for flere geografiske steder. [ 5 ] I det svært konkurranseutsatte helsevesenet bruker laboratorier utstrakt bruk av mellomvareapplikasjoner for datautvinning og Laboratory Information System (LIS), og for å kombinere informasjonssystemer under sykehusfusjoner. Mellomvare bidrar til å bygge bro mellom separate LIS-er i et nyopprettet helsenettverk etter et sykehuskjøp. [ 6 ]

Utviklere av trådløse nettverk kan bruke mellomvare for å møte utfordringene knyttet til trådløst sensornettverk (WSN), eller WSN-teknologier. Implementering av en mellomvareapplikasjon gjør det mulig for WSN- utviklere . For å integrere operativsystemer og maskinvare med det store utvalget av forskjellige applikasjoner som er tilgjengelige i dag. [ 7 ]

Mellomvare kan hjelpe programvareutviklere til å slippe å skrive APIer for alle kontrollprogrammer, som fungerer som et eget programmeringsgrensesnitt for applikasjonene deres. For fremtidens internett er drift av nettverket gjennom trafikkovervåking i scenarier med flere domene , bruk av formidlingsverktøy ( mellomvare ) et kraftig hjelpemiddel, siden de lar operatører , forskere og tjenesteleverandører overvåke tjenestekvalitet og analysere ev . feil i telekommunikasjonstjenester. [ 8 ]

Til slutt bruker e-handel mellomvare for å hjelpe til med å håndtere raske og sikre transaksjoner på tvers av mange forskjellige typer datamiljøer. [ 9 ] Kort sagt, mellomvare har blitt et kritisk element i en lang rekke bransjer, takket være dens evne til å samle ressurser på tvers av ulike nettverk eller dataplattformer.

I 2004 har medlemmene av European Broadcasting Union (EBU) utført en studie av mellomvare med hensyn til integrering av systemer i kringkastingsmiljøer. Det involverte systemdesigningeniøreksperter fra 10 store europeiske nettverk, som jobbet over en 12-måneders periode for å forstå effekten av produkter, først og fremst programvare, basert på medieproduksjonsteknikker og kringkasting av mediesystemdesign. De resulterende rapportene 3300S Technology og 3300 Tech ble publisert og er fritt tilgjengelige fra EBU-nettstedet. [ 10 ]​ [ 11 ]

Se også

Det er mange kommersielle mellomvarespesifikasjoner og implementeringer :

  • JBOSS
  • Mellomvare RFID Data Suite
  • smoking
  • Tibco
  • webmetoder
  • IBM WebSphere MQ (tidligere MQSeries )
  • JMS
  • CICS
  • Borland Visi Megler
  • SAP PI SAP-prosessintegrasjon

Referanser

  1. Karne, biskop. "En undersøkelse av mellomvare " . 
  2. Gall, Nick (29. juli 2005). "Opprinnelsen til begrepet mellomvare " . 
  3. ^ D., Bakken (29. juli 2005). Mellomvare . 
  4. ^ Peng, C, Chen, S, Chung, J, Roy-Chowdhury, A, og Srinivasan, V. (1998). Tilgang til eksisterende forretningsdata fra World Wide Web. IBM Systems Journal, 37(1), 115-132. Hentet 7. mars 2009 fra ABI/INFORM Global database. (Dokument-ID: 26217517)
  5. ^ Bougettaya, A, Malik, Z, Rezgui, A, og Korff, L. (2006). En skalerbar mellomvare for webdatabaser. Journal of Database Management, 17(4), 20-39, 41-46. Hentet 7. mars 2009 fra ABI/INFORM Global database. (Dokument-ID: 1155773301)
  6. ^ Bagwell, H. (2008). Mellomvare: gir verdi utover autoverifisering Arkivert 12. oktober 2009 på Wayback Machine .. IVDT. Hentet 3. mars 2009.
  7. Hadim, S. og Mohamed, N. (2006). Mellomvareutfordringer og tilnærminger for trådløse sensornettverk. IEEE Distributed Systems Online vol 7. Utgave 3. Hentet 4. mars 2009 fra iEEE Distributed Systems Online Archived 2011-09-28 at the Wayback Machine .
  8. Kai Oswald Seidler. «ØYEBLIKK» . Fp7-moment.eu. Arkivert fra originalen 28. februar 2009 . Hentet 19. august 2010 . 
  9. ^ Charles, J. (1999). Mellomvare beveger seg i forkant (krever abonnement) . Teknologinyheter. Hentet 2. mars 2009.
  10. ^ "EBU mellomvarerapport Tech 3300" (PDF) . Hentet 19. august 2010 . 
  11. ^ "EBU mellomvare rapporterer Tech 3300s" (PDF) . Hentet 19. august 2010 . 

Eksterne lenker