lunes, 28 de abril de 2014

Arquitectura de Componentes - II

Servicio de datos 
El servicio de datos contiene bases de datos de soporte como almacenes persistentes y seguimiento para el tiempo de ejecución del flujo de trabajo. En esta arquitectura, también es probable que exista un almacén que contenga resultados o agregados a resultados. Es posible que los archivos de entrada y salida de datos se traten como archivos para mover de un modo más fácil los clústeres hacia los nodos de proceso respectivos. Finalmente, hay una base de datos que contiene un catálogo de los flujos de trabajo disponibles para su ejecución. 

Servicio de cómputos 
El servicio de cómputos es el “más simple” de la arquitectura y está compuesto de un clúster de x nodos en una configuración determinada. 

Comunicación 
La comunicación en todo el proceso de arquitectura se gestiona utilizando Windows Communication Foundation mediante un TCP (conexión remota) o un canal HTTP. Esto mantiene a la arquitectura escalable y desacoplada y ofrece beneficios para las interfaces de usuario diferentes, según requisitos del usuario (autoría, ejecución, emisión de informes).

Seguridad 
En una estructura distribuida orientada al servicio, que potencialmente pasa por varios dominios de seguridad, es fundamental la federación de identidades para permitir el control de acceso a nivel del usuario y el inicio de sesión único para todos los aspectos de la arquitectura de componentes. Las tecnologías que ofrecen estas capacidades son aquellas que están basadas en certificados, federación de directorio activo (junto con extensiones para integrarse con los sistemas Unix) y Windows CardSpace de Microsoft.

domingo, 27 de abril de 2014

Arquitectura de Componentes - I

La arquitectura principal se parece a la conocida arquitectura de aplicación de n-capas y, en líneas generales, éste es de hecho el caso. La organización de la funcionalidad es bastante lógica. La Figura 1 muestra los componentes necesarios para la arquitectura. 
Interfaz de usuario 
La experiencia de la interfaz de usuario puede dividirse en tres partes. Cada una desempeña una función diferente de la solución general: 
• La experiencia de usuario principal para planificar y ejecutar un procesamiento puede proporcionarse mediante varias tecnologías. Algunos ejemplos podrían ser Windows Forms, Windows Presentation Foundation, ASP.NET o Microsoft Office SharePoint Server. La elección de la tecnología debe ser apropiada para las características de un entorno particular (por ejemplo, el uso de tecnologías de Web en las que se requiere amplia disponibilidad o WPF en el que se necesita una interacción muy variada). 
• La experiencia de autoría del flujo de trabajo es proporcionada por Visual Studio 2005 que utiliza la superficie de diseño de autoría del Windows Workflow Foundation (WF). El uso del modelo “code beside” (código al lado) de los flujos de trabajo en desarrollo permite utilizar una nueva interfaz API de Control de Código Fuente para enviar archivos “XAML” de WF hacia un depósito de bases de datos central, por ejemplo, para ejecutar en la interfaz de usuario. 
• Para los administradores informáticos, el Microsoft Operations Manager puede utilizarse para controlar el buen funcionamiento y el estado del clúster de HPC, si bien para los usuarios finales de un sistema HPC, se pueden poner a disposición observaciones más comprensibles para el usuario mediante el uso de Windows PowerShell. 
 Capa de aplicación 
La capa de aplicación está compuesta por el tiempo de ejecución del WF alojado como un servicio NT. Esta capa se utiliza principalmente para comunicarse con el programador de tareas del clúster, pero ofrece una variedad de funciones: 
• Biblioteca de flujos de trabajo y actividades para controlar el clúster y realizar movimientos de datos y otros pasos pre y post procesamiento. 
• Motor de reglas y políticas para administrar el acceso a un clúster y, potencialmente, proporcionar prioridades y capacidades de “metaprogramación” y seguridad. 
• Información de seguimiento para la ejecución de trabajos brindando información documentada, según sea necesario. 
• Información de persistencia que permita escalar la solución y proporcionar eficacia a los flujos de trabajo de larga duración y, potencialmente, la capacidad de volver a ejecutar un flujo de trabajo desde un estado en particular

sábado, 26 de abril de 2014

Bibliotecas de actividades

Las bibliotecas de actividades son los bloques de construcción necesarios para la solución del HPC. Algunos ejemplos son los siguientes: 
• Comunicación del clúster. Es posible crear una actividad personalizada que utilice la interfaz de programación de la aplicación CCS para comunicarse con el programador de tareas y crear o cancelar trabajos en el clúster. Esta actividad personalizada puede entonces ser utilizada por cualquier flujo de trabajo que necesite comunicarse con el programador de tareas y proporcionar un nivel más alto de abstracción para los “usuarios avanzados” quienes pueden necesitar crear nuevos flujos de trabajo o corregir los existentes sin conocimiento detallado de programación

viernes, 25 de abril de 2014

Lógica de aplicación con Windows Workflow Foundation

Ya que podemos considerar que el proceso informático total es una instancia de un flujo de trabajo de máquinas y personas de larga duración, podemos considerar a Windows Workflow Foundation (WF) como el punto de inicio para la construcción de una estructura y capa de aplicación de la solución de HPC. En realidad, HPC posee varios componentes que se pueden utilizar para proporcionar una capa de aplicación completa para la solución de HPC. Las áreas particulares (pero no exhaustivas) que puede cubrir el WF se muestran en la Figura 6. WF forma una parte fundamental del marco de trabajo .NET 3.0 y ofrece un motor de flujo de trabajo completo que se puede alojar en varios entornos. La sección de recursos de este artículo contiene varios vínculos para obtener más información sobre el Windows Workflow Foundation. Algunas de las características principales del WF para considerar son las siguientes: 
• Flujos de trabajo de estado y en secuencia: El tiempo de ejecución del WF puede administrar flujos de trabajo orientados al estado y secuenciales, por lo tanto, se pueden describir una gran variedad de procesos. Estos flujos de trabajo también pueden gestionar excepciones y reintentos. 
• Bibliotecas de actividades: Los flujos de trabajo están compuestos de “actividades” como toma de decisiones, ejecución de bucles y ejecuciones en paralelo, así como también, actividades de “código” arbitrario y varias de estas actividades están listas para usar en el .NET 3.0. Además, debido a que el WF se utiliza para productos de servidor muy eficaces (por ejemplo, Microsoft Office SharePoint Server 2007), estos productos poseen actividades básicas para utilizar dentro del WF. Finalmente, las actividades se pueden construir en la medida que sean necesarias para crear una biblioteca individualizada y cumplir con un requisito específico. 
• Motor de reglas: WF posee un variado motor de reglas de encadenamiento progresivo que se puede utilizar para la toma de decisiones dentro de un flujo de trabajo, pero también se puede ejecutar fuera de las instancias del flujo de trabajo. Las actividades se diseñan para que funcionen con este motor de reglas. 
• Diseñador y realojamiento: WF también posee una superficie de diseño completa de “arrastrar y soltar” que se utiliza dentro de Visual Studio 2005 pero también puede ser realojada dentro de, por ejemplo, una aplicación de formularios de Windows. 
• Servicios en tiempo de ejecución: El tiempo de ejecución del WF puede contar con servicios que han sido incluidos antes de la ejecución del flujo de trabajo para interceptar la ejecución de un flujo de trabajo y desempeñar acciones como persistencia o seguimiento. Los servicios también se pueden construir en la medida que sean necesarios. 
• Lenguaje de Marcado de Aplicaciones Extensible (XAML): Por último, WF utiliza en gran medida el XAML para describir flujos de trabajo y conjuntos de reglas, lo que significa que la serialización es trivial y que realmente es posible la generación de administradores de reglas y superficies de diseño individualizadas. Dadas estas características, podemos ahora ver el modo en el que WF ofrece capacidad a la arquitectura.

jueves, 24 de abril de 2014

Workflow Foundation

Workflow Foundation puede brindar una capa de aplicación completa que abarque la mayoría de las áreas en los pasos de Solicitud, Proceso y Análisis.

miércoles, 23 de abril de 2014

Una cadena de valor mejorada

Proporcionar una solución basada en HPC utilizando una arquitectura similar a la descripta puede tener varios beneficios para la cadena de valor total. (Figura 2) Existen varias áreas que podrían estar afectadas inicialmente: 
• Planificación para un trabajo de larga ejecución. Las reducciones de tiempo y gastos son posibles mediante el uso de interfaces intuitivas, validación y otra lógica para garantizar la captura de información adecuada. Además, los administradores o codificadores especializados pueden ya no ser necesarios en esta instancia del proceso. 
• Publicar un trabajo de larga ejecución. Tanto el tiempo como los gastos se pueden reducir debido a que la información es capturada por el sistema y, por lo tanto, la publicación del trabajo puede automatizarse completamente 
• Costo de la informática. El costo se reduce mediante la especialización de las funciones – el monitoreo puede ocurrir desde la perspectiva de un usuario final– y el costo total entre varios trabajos puede reducirse mediante el reconocimiento mejorado de trabajos erróneos o fallas que pueden cancelarse antes de haber finalizado la ejecución. Este reconocimiento mejorado es nuevamente proporcionado por el uso del monitoreo y mecanismos de feedback que se presentan a la interfaz del usuario. 
• Análisis. El análisis se puede iniciar de un modo más rápido si la interfaz del usuario presenta información durante la ejecución del trabajo; puede estar disponible algún análisis automático que reduce los costos iniciales antes de que se necesite intervención especializada.
• Análisis paramétrico: Este tipo de trabajo podría ejecutar varias instancias de un único programa pero con una serie de parámetros diferentes, permitiendo varios resultados en el mismo período de tiempo como una tarea única.
• Tarea de interfaz de paso de mensajes: El trabajo más sofisticado sería el uso de una Interfaz de Paso de Mensajes (MPI) para paralelizar un algoritmo y dividir el trabajo del procesamiento entre varios procesadores que se coordinan para proporcionar aumentos de velocidad en procesamientos complejos y largos. Varios o todos estos tipos de trabajo se pueden encontrar dentro de un único proceso de informática. CCS debe poder ofrecer una plataforma sólida para cualquiera de las tareas de pre- o postprocesamiento así como también la tarea principal de procesamiento.