Uso del inicio de sesión único de forma eficaz en la solución de administración de procesos empresariales
Como la solución orientada a servicios, la solución Administración de procesos empresariales utiliza el inicio de sesión único (SSO) empresarial para almacenar valores de configuración como el número de fases de procesamiento de pedido. Utiliza el almacén secreto porque está presente siempre que se instala BizTalk, SSO almacena la información de configuración en caché para que los valores estén fácilmente disponibles y pueda proteger información como cadenas de conexiones de base de datos y contraseñas. Por todas estas razones, el almacén secreto es un buen sitio para la información de configuración incluso si el inicio de sesión único no se estaba utilizando para administrar conexiones a las aplicaciones de servidor.
Para reducir latencia, la solución utiliza una caché local para los valores de configuración. La solución actualiza la caché cada cinco minutos.
En este tema se describe el mecanismo de almacenamiento en caché que utiliza la solución. Esta solución trata el almacenamiento de SSO en caché de un modo ligeramente diferente al de la solución orientada a servicios. Para obtener una descripción de cómo la solución orientada a servicios almacena en caché los valores de SSO, consulte Using SSO Efficiently in the Service Oriented Solution (Uso del inicio de sesión único de forma eficaz en la solución orientada a servicios).
Almacenar en caché localmente valores de configuración
La solución Administración de procesos empresariales utiliza propiedades en un objeto Singleton para proporcionar acceso a los valores SSO.
Nota
Recuerde que un objeto Singleton es un objeto que sólo 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. Este es el código de la orquestación 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 para crear un singleton: hacer que el constructor sea privado, haga que el objeto cree una instancia de sí mismo 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. Debido a que no se puede llamar a un constructor estático, éste conserva el diseño Singleton. 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 serializarse. 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 rehidrata, seguirá usando la única instancia actual 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 en el objeto de la solución orientada a servicios son estáticos. Por lo tanto, la orquestación no necesita asignar una instancia a una variable y no es necesario que se serialice 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 utiliza el mismo patrón de bloqueo. Para obtener más información sobre estos mecanismos, consulte Using SSO Efficiently in the Service Oriented Solution y el código fuente de SsoConfigHelper.
Al igual que el almacenamiento en caché de Sign-On único realizado en la solución orientada a servicios, la solución de administración de procesos empresariales implementa la interfaz IPropertyBag desde el 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 evita que la orquestación tenga que ocuparse de diferencias en los tipos de mensaje.
Consulte también
Aspectos destacados de la implementación de la solución de administración de procesos empresariales