Inconvenientes
Los servidores en proceso proporcionan la ventaja de velocidad y tamaño de un controlador de objetos con la funcionalidad de edición de un servidor local. Por lo tanto, ¿por qué alguna vez elegiría implementar la aplicación OLE como un servidor local en lugar de un servidor en proceso? Hay varias razones:
- Seguridad. Solo un servidor local tiene su espacio de direcciones aislado del cliente. Un servidor en proceso comparte el espacio de direcciones y el contexto de proceso del cliente y, por tanto, puede ser menos sólido en caso de errores o programación malintencionada.
- Granularidad. Un servidor local puede hospedar varias instancias de su objeto en muchos clientes diferentes, compartiendo el estado del servidor entre objetos de varios clientes de maneras que serían difíciles o imposibles si se implementa como un servidor en proceso, que es simplemente un archivo DLL cargado en cada cliente.
- Compatibilidad. Si decide implementar un servidor en proceso, renuncia a la compatibilidad con OLE 1, que no admite dichos servidores. Esto no será una consideración para muchos desarrolladores, pero si es así, entonces es de preocupación crítica.
- Incapacidad de admitir vínculos. Un servidor en proceso no puede servir como origen de vínculo. Dado que un archivo DLL no se puede ejecutar por sí mismo, no puede crear un objeto de archivo al que se vinculará.
A pesar de estas desventajas, un servidor en proceso puede ser una excelente opción para su velocidad y tamaño, si se ajusta a todos sus demás requisitos.
Temas relacionados