Compartir a través de


Uso del inicio de sesión único de forma eficaz en la solución de administración de procesos empresariales

Al igual que la solución Orientada a servicios, la solución Business Process Management usa Enterprise Single Sign-On (SSO) para almacenar valores de configuración como el número de fases de procesamiento de pedidos. Usa el almacén de secretos porque está presente cada vez que se instala BizTalk, SSO almacena en caché la información de configuración para que los valores estén disponibles fácilmente y puede proteger información como cadenas de conexión de base de datos y contraseñas. Por todas estas razones, el almacén de secretos es un buen lugar para la información de configuración, incluso si Single Sign-On no se usara para administrar las conexiones a las aplicaciones back-end.

Para reducir la latencia, la solución usa una caché local para los valores de configuración. La solución actualiza la memoria caché cada cinco minutos.

En este tema se describe el mecanismo de almacenamiento en caché que usa la solución. Esta solución adopta un enfoque ligeramente diferente al almacenamiento en caché de SSO que la solución orientada al servicio. Para obtener una descripción de cómo la solución orientada a servicios almacena en caché los valores de SSO, consulte Usar eficientemente el inicio de sesión único en la solución orientada a servicios.

Almacenamiento en caché de valores de configuración localmente

La solución de gestión de procesos empresariales utiliza propiedades en un objeto singleton para proporcionar acceso a los valores de SSO.

Nota:

Recuerde que un objeto singleton es un objeto que solo puede tener una instancia. Para obtener más información sobre los objetos singleton y crearlos en C#, vea Implementación de Singleton en C#.

En la solución, una orquestación recupera primero el objeto singleton y, a continuación, hace referencia a los valores a través de las propiedades del objeto. Aquí está el código de orquestación de OrderManager

configData = Microsoft.Samples.BizTalk.SouthridgeVideo.Utilities
                .SsoConfigHelper.Singleton;
numStages = configData.TotalStages;

La orquestación llama al método Singleton en el objeto SsoConfigHelper para obtener acceso a la copia del objeto . Con el objeto en mano, la orquestación recupera el número de fases de procesamiento, TotalStages.

La solución sigue un método común de creación de un singleton: haga que el constructor sea privado, haga que el objeto cree una instancia de sí misma y asígnela a una variable privada y, a través de un método o propiedad, proporcione acceso al valor de esa variable. El objeto SsoConfigHelper usa una propiedad Singleton para proporcionar acceso a la copia única de sí misma.

Nota:

El objeto SsoConfigHelper usa un constructor estático para obtener los valores iniciales de la memoria caché de SSO y para configurar el mecanismo de actualización. Dado que no se puede invocar un constructor estático, se mantiene el diseño único. Para obtener más información, vea Constructores estáticos (Guía de programación de C#).

Todos los objetos a los que hace referencia una orquestación, ya sea directa o indirectamente, deben ser serializables. Para obtener más información, vea "Serialización" en Persistencia y el motor de orquestación. Aunque el objeto SsoConfigHelper es necesariamente serializable, si el motor deshidrata la orquestación, cuando la orquestación se rehidrata, seguirá usando la instancia actual única del objeto. Para obtener más información sobre la serialización y las variables de BizTalk Server, vea Tipos de variables de orquestación.

Nota:

Todos los métodos públicos del objeto de la solución orientada al servicio son estáticos. Por lo tanto, la orquestación no necesita asignar una instancia a una variable y no es necesario serializar la clase.

El objeto SsoConfigHelper usa los mismos mecanismos para recuperar y actualizar los valores de configuración que la solución orientada al servicio. También se usa el mismo patrón de bloqueo. Para obtener más información sobre estos mecanismos, consulte "Uso Eficiente del SSO en la Solución Orientada a Servicios" y el código fuente de SsoConfigHelper.

Al igual que el almacenamiento en caché de Single Sign-On realizado por la solución orientada a servicios, la solución de gestión de procesos empresariales implementa la interfaz IPropertyBag del espacio de nombres Microsoft.BizTalk.SSOClient.Interop para almacenar los valores. La solución de administración de procesos empresariales usa un objeto HybridDictionary en lugar de un objeto NameValueCollection .

A diferencia de la solución Orientada a servicios, la solución Administración de procesos empresariales expone un objeto con propiedades que corresponden a los datos de configuración. Esto impide que la orquestación tenga que tratar las diferencias en los tipos de mensaje.

Véase también

Aspectos destacados de la implementación de la solución de administración de procesos empresariales