Marshaling

Versiunea actuală a paginii nu a fost încă revizuită de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită la 27 noiembrie 2014; verificările necesită 13 modificări .

Marshaling (din engleză  marshal  - a aranja) în informatică  este procesul de conversie a informațiilor (date, o reprezentare binară a unui obiect) stocate în RAM într-un format adecvat pentru stocare sau transmisie. Procesul este similar cu serializarea (vezi mai jos pentru diferențe ). Este de obicei folosit atunci când informațiile (date, obiecte) trebuie să fie transferate între diferite părți ale unui program sau de la un program la altul.

Procesul opus se numește unmarshaling (similar cu deserializarea).

Aplicație

Marshaling-ul este utilizat la trecerea datelor între procese și/sau fire de execuție , de exemplu:

Comparație cu serializarea

În Biblioteca Standard Python , termenul „marshaling” este similar în sensul termenului „serializare” [1] , dar termenii nu sunt sinonimi în RFC 2713 („Schema for Representing Java(tm) Objects in an LDAP Directory”; octombrie 1999), pe care se bazează standardul limbajului Java :

A „marshal” un obiect înseamnă a-i înregistra starea și baza(le) de cod [2] (URI-ul care indică locația codului de clasă al obiectului de încărcat) în așa fel încât operația inversă să producă o copie a originalului, probabil. prin încărcarea automată a obiectului de definire a clasei. Puteți comanda orice obiect care este serializabil sau la distanță (...). Marshaling este similar cu serializarea, cu excepția faptului că marshaling specifică locația codului executabil. Marshaling diferă de serializare prin faptul că este aplicată într-un mod special obiectelor la distanță, pentru care nu este creată o copie a obiectului în sine, ci este specificată doar o adresă de la distanță la care ar trebui să se lucreze cu acesta.

Text original  (engleză)[ arataascunde] A „marshal” un obiect înseamnă a-i înregistra starea și codul (bazele) în așa fel încât atunci când obiectul marcat este „unmarshalled”, se obține o copie a obiectului original, eventual prin încărcarea automată a definițiilor de clasă ale obiectului. Puteți comanda orice obiect care este serializabil sau la distanță (...). Marshalling-ul este ca serializarea, cu excepția faptului că marshalling-ul înregistrează și bazele de cod. Distribuirea este diferită de serializare prin aceea că repartizarea tratează în mod special obiectele aflate la distanță. (...) Marshalling înregistrează „stub” al obiectului la distanță în loc de obiectul la distanță în sine. - RFC 2713

A „serializa” un obiect înseamnă a-i transforma starea într-un flux de octeți în așa fel încât fluxul menționat să poată fi convertit înapoi într-o copie a obiectului original.

Text original  (engleză)[ arataascunde] A „serializa” un obiect înseamnă a-i converti starea într-un flux de octeți în așa fel încât fluxul de octeți să poată fi convertit înapoi într-o copie a obiectului. - RFC 2713

Protocoale de rețea

Când se aplică rețelelor de calculatoare , marshaling se referă la procesul de conversie a datelor într-un format în care datele pot fi transmise prin rețea și pot trece prin constrângerile rețelei. Datele sunt convertite într-un flux de octeți, împachetate, împărțite în părți, transmise în rețea prin intermediul unui protocol de rețea . Datele primite sunt convertite înapoi în formatul original.

Note

  1. Modulul de Marshalling pentru Python . Preluat la 18 iulie 2014. Arhivat din original la 15 august 2014.
  2. Baza de cod aici nu este un sens comun , ci unul specific Java - un set de URI-uri care indică locația unui cod executabil la distanță pentru interacțiunea cu un obiect la distanță

Link -uri

Vezi și