Hajautettu esine - Distributed object
In hajautetun tietojenkäsittelyn , jaetaan esineet ovat objekteja (siinä mielessä olio-ohjelmointi ), jotka on hajautettu eri osoiteavaruuksien , joko eri prosesseissa samassa tietokoneessa, tai jopa useita tietokoneita kytketty verkkoon , mutta jotka toimivat yhdessä tietojen jakaminen ja menetelmien käyttäminen. Tähän sisältyy usein sijainnin läpinäkyvyys , jossa etäobjektit näyttävät samoilta kuin paikalliset objektit. Hajautetun objektiviestinnän päämenetelmä on etämenetelmäkutsu , yleensä viestin välittämisellä: yksi objekti lähettää viestin toiselle objektille etäkoneessa tai prosessissa jonkin tehtävän suorittamiseksi. Tulokset lähetetään takaisin kutsuvalle objektille.
Hajautetut esineet olivat suosittuja 1990-luvun lopulla ja 2000-luvun alkupuolella, mutta ovat sittemmin pudonneet suosion puolesta.
Termi voi myös viitataan yleensä yksi laajennuksia perus esineen käsitettä käytetään osana hajautetun tietojenkäsittelyn, kuten jäljitellä esineitä tai live hajautettujen olioiden .
- Replikoidut objektit ovat ohjelmistokomponenttien ( replikoiden )ryhmiä,jotka ajavat hajautettua monen osapuolen protokollaa korkean johdonmukaisuuden saavuttamiseksi sisäisten tilojensa välillä ja jotka vastaavat pyyntöihin koordinoidusti. Viittaus replikaryhmään yhdessä objektina heijastaa tosiasiaa, että vuorovaikutus minkä tahansa kanssa paljastaa saman ulkoisesti näkyvän tilan ja käyttäytymisen.
- Live-hajautetut objektit (tai yksinkertaisesti elävät objektit ) yleistävät replikoidun objektin käsitteen replikaryhmille, jotka voivat käyttää sisäisesti mitä tahansa hajautettua protokollaa, mikä saattaa johtaa vain heikkoon johdonmukaisuuteen paikallisten tilojen välillä. Suorat hajautetut objektit voidaan myös määritellä juokseviksi jaettujen monipuolisten protokollien esiintymiksi, joita tarkastellaan oliokeskeisestä näkökulmasta kokonaisuuksina, joilla on erillinen identiteetti ja jotka voivat kapseloida hajautettu tila ja käyttäytyminen.
Katso myös Internet Protocol Suite .
Paikalliset vs. hajautetut objektit
Paikalliset ja hajautetut objektit eroavat monilta osin. Tässä on joitakin niistä:
- Elinkaari: Hajautettujen objektien luominen, siirtäminen ja poistaminen eroaa paikallisista kohteista
- Viite: Etäviitteet hajautettuihin objekteihin ovat monimutkaisempia kuin yksinkertaiset osoittimet muistiosoitteisiin
- Pyyntölatenssi: Hajautettu objektipyyntö on suuruusluokkaa hitaampaa kuin paikallisen menetelmän kutsuminen
- Objektin aktivointi: Hajautetut objektit eivät aina ole käytettävissä palvelemaan objektipyyntöä milloin tahansa
- Parallelismi: Hajautetut objektit voidaan suorittaa samanaikaisesti.
- Kommunikaatio: Hajautettujen objektien pyynnöille on saatavana erilaisia viestintäprimitiivit
- Epäonnistuminen: Hajautetuilla objekteilla on paljon enemmän vikakohtia kuin tyypillisillä paikallisilla kohteilla.
- Turvallisuus: Jakelu tekee heistä alttiita hyökkäyksille.
esimerkit
Platformienvälisen sarjausprotokollan, Cap'n Proto, RPC-palvelut ovat jaetun objektiprotokollan mukaisia. Hajautetut objektimenetelmäpuhelut voidaan suorittaa (ketjutetaan yhdeksi verkkopyynnöksi tarvittaessa) käyttöliittymäviitteiden / ominaisuuksien avulla .
Hajautetut objektit toteutetaan Objective-C: ssä käyttämällä Cocoa API : ta NSConnection-luokan ja tukiobjektien kanssa.
Hajautettuja objekteja käytetään Java RMI: ssä .
CORBA antaa yhden rakentaa hajautettuja sekoitettujen kohteiden järjestelmiä.
DCOM on kehys hajautettuille objekteille Microsoft-alustalla.
DDObjects on kehys jaetuille kohteille, jotka käyttävät Borland Delphiä .
Jt on kehys hajautetuille komponenteille, jotka käyttävät viestinnän paradigmaa.
JavaSpaces on Sun-määritelmä hajautetulle, jaetulle muistille (avaruuspohjainen)
Pyro on kehys jaetuille kohteille, jotka käyttävät Python-ohjelmointikieltä .
Hajautettu Ruby (DRb) on kehys hajautettuihin kohteisiin, jotka käyttävät Rubyn ohjelmointikieltä .