Servicios de serialización

Microsoft RPC admite dos métodos para codificar y descodificar datos, denominados colectivamente serialización de datos. La serialización significa que los datos se serialicen en los búferes que se controlan y desmarcalan. Esto difiere del uso tradicional de RPC, en el que los códigos auxiliares y la biblioteca en tiempo de ejecución rpc tienen control total de los búferes de serialización y el proceso es transparente. Puede usar el búfer para el almacenamiento en medios permanentes, cifrado, etc. Al codificar los datos, los códigos auxiliares RPC serializarán los datos en un búfer y le pasarán el búfer. Al descodificar datos, se proporciona un búfer de serialización con datos en él y los datos no se separan del búfer a la memoria. Puede serializarse según un procedimiento o tipo.

Nota

El término pickling se usa normalmente entre los desarrolladores para describir la serialización. De hecho, los ejemplos de Windows SDK contienen un directorio denominado pickle que conserva los programas de ejemplo de serialización RPC.

 

La serialización aprovecha los mecanismos RPC para serializar y desacoplar datos con otros fines. Por ejemplo, en lugar de usar varias operaciones de E/S para serializar un grupo de objetos en una secuencia, una aplicación puede optimizar el rendimiento serializando varios objetos de diferentes tipos en un búfer y después escribiendo todo el búfer en una sola operación. Las funciones que manipulan los identificadores de serialización son independientes del tipo de serialización que se usa.

Como otro ejemplo, si necesita usar un mecanismo de transporte de red además de RPC, como Microsoft Windows Sockets (Winsock). Con la serialización RPC, el programa puede realizar llamadas a funciones que serialicen los datos en búferes y, a continuación, transmitir estos datos mediante Winsock. Cuando la aplicación recibe datos, puede usar el mecanismo de serialización RPC para desmarshalar datos de búferes rellenados por las rutinas winsock. Esto le proporciona muchas de las ventajas de las aplicaciones de estilo RPC y, al mismo tiempo, le permite usar mecanismos de transporte que no son RPC.

También puede usar la serialización con fines no relacionados con las comunicaciones de red. Por ejemplo, una vez que use las funciones de codificación RPC para serializar datos en un búfer, puede almacenarlos en un archivo para que lo use otra aplicación. También puede cifrarlo. Incluso puede usarlo para almacenar una representación independiente del sistema operativo y de hardware de los datos en una base de datos.

En los temas siguientes se presenta una explicación de los servicios de serialización compatibles con RPC de Microsoft: