¿Cuáles son las aplicaciones de la serialización de objetos en ingeniería de software?

La serialización de objetos es una técnica extremadamente común y extremadamente poderosa utilizada para servir una amplia variedad de casos de uso. Estos son algunos de ellos sin ningún orden en particular:

  • Almacenamiento en bases de datos para su posterior recuperación : los blobs JSON en lugar de esquemas complicados, por ejemplo, son una buena manera de reducir ciertos tipos de sobrecarga asociados con el mantenimiento de una base de datos.
  • Almacenamiento en caché para una búsqueda rápida : similar al caso anterior, es común almacenar objetos en cachés para garantizar que se puedan buscar rápidamente. La serialización de objetos se puede utilizar para almacenar estos elementos relevantes en la memoria caché.
  • Comunicación entre procesos (IPC): incluye marcos RPC como Thrift, interfaces RESTful, CORBA, etc. Los objetos se serializan antes de enviarse entre el servicio y el cliente.
  • Almacenamiento para depuración posterior : en relación con lo anterior, almacenar el estado del programa / función / objeto en caso de falla es una técnica de depuración poderosa (aunque un poco difícil de implementar efectivamente).
  • Pruebas, burlas y tropezones: estas son una serie de técnicas relacionadas mediante las cuales puede asegurarse de que su programa se esté comportando adecuadamente. Es común crear objetos ficticios, almacenarlos y luego deserializarlos y usarlos para verificar que su sistema se está comportando como se esperaba.