Distribueret objekt - Distributed object
Ved distribueret computing er distribuerede objekter objekter (i betydningen objektorienteret programmering ), der er fordelt over forskellige adresserum , enten i forskellige processer på den samme computer eller endda i flere computere, der er forbundet via et netværk , men som arbejder sammen af dele data og påberåbe sig metoder. Dette involverer ofte placeringsgennemsigtighed , hvor fjernobjekter vises det samme som lokale objekter. Den vigtigste metode til distribueret objektkommunikation er med fjernmetodeinvokation , generelt ved at videresende meddelelser: et objekt sender en meddelelse til et andet objekt i en fjernmaskine eller -proces for at udføre en opgave. Resultaterne sendes tilbage til det opkaldende objekt.
Distribuerede genstande var populære i slutningen af 1990'erne og begyndelsen af 2000'erne, men er siden faldet uden for fordel.
Udtrykket kan også generelt henvise til en af udvidelserne af det grundlæggende objektkoncept , der bruges i forbindelse med distribueret computing, såsom replikerede objekter eller live distribuerede objekter .
- Replikerede objekter er grupper af softwarekomponenter ( replikaer ), der kører en distribueret flerpartsprotokol for at opnå en høj grad af konsistens mellem deres interne tilstande, og som besvarer anmodninger på en koordineret måde. At henvise til gruppen af kopier i fællesskab som et objekt afspejler det faktum, at det at interagere med nogen af dem udsætter den samme eksternt synlige tilstand og opførsel.
- Live distribuerede objekter (eller simpelthen levende objekter ) generaliserer det replikerede objektkoncept til grupper af kopier, der muligvis internt kan bruge en distribueret protokol, måske resulterer kun i en svag konsistens mellem deres lokale stater. Live distribuerede objekter kan også defineres som kørende forekomster af distribuerede flerpartsprotokoller, set fra det objektorienterede perspektiv som enheder, der har distinkt identitet, og som kan indkapsle distribueret tilstand og adfærd.
Se også Internet-protokolsuite .
Lokale vs distribuerede objekter
Lokale og distribuerede objekter adskiller sig i mange henseender. Her er nogle af dem:
- Livscyklus: Oprettelse, migrering og sletning af distribuerede objekter adskiller sig fra lokale objekter
- Reference: Fjernhenvisninger til distribuerede objekter er mere komplekse end enkle pegepunkter til hukommelsesadresser
- Anmod om forsinkelse: En anmodning om distribueret objekt er størrelsesordrer langsommere end lokal metodeangivelse
- Objektaktivering: Distribuerede objekter er muligvis ikke altid tilgængelige til at betjene en objektanmodning på ethvert tidspunkt
- Parallelisme: Distribuerede objekter kan udføres parallelt.
- Kommunikation: Der er forskellige kommunikationsprimitiver tilgængelige for anmodninger om distribuerede objekter
- Fejl: Distribuerede objekter har langt flere svigtpunkter end typiske lokale objekter.
- Sikkerhed: Distribution gør dem sårbare over for angreb.
eksempler
RPC-faciliteterne til tværplatforms serialiseringsprotokollen, Cap'n Proto, udgør en distribueret objektprotokol. Distribuerede objektmetodekald kan udføres (kædet i en enkelt netværksanmodning, hvis nødvendigt) gennem interfacehenvisninger / muligheder .
Distribuerede objekter implementeres i Objekt -C ved hjælp af Cocoa API med NSConnection-klassen og understøttende objekter.
Distribuerede objekter bruges i Java RMI .
CORBA lader en bygge distribuerede blandede objektsystemer.
DCOM er en ramme for distribuerede objekter på Microsoft-platformen.
DDObjects er en ramme for distribuerede objekter ved hjælp af Borland Delphi.
Jt er en ramme for distribuerede komponenter ved hjælp af et meddelelsesparadigme.
JavaSpaces er en solspecifikation for en distribueret, delt hukommelse ( pladsbaseret )
Pyro er en ramme for distribuerede objekter ved hjælp af Python programmeringssprog .
Distribueret Ruby (DRb) er en ramme for distribuerede objekter ved hjælp af Ruby-programmeringssprog .