SilverLight version 1.0

0 comentarios

Silverlight es una tecnologia multi-Navegador (IE, Firefox, etc.) y multi-Plataforma(Win, Linux, Mac, etc.) que permite el desarrollo de una nueva generación de interfaces de usuario potenciando el desarrollo de interfaces multimedia RIA (Rich Interactive Applications).
XAML (Extensible Application Markup Lenguaje) es un lenguaje declarativo, derivado de XML cuya finalidad principal es la de permitir definir la interfaz visual.
Silverlight es un complemento de navegador que representa XAML (al igual que el navegador representa xhtml o html) exponiendo su modelo de objeto de documentos (DOM) y su modelo de Eventos con lo cual podemos ejecutar código desde el lado cliente ahorrándonos la ida y procesamiento en el servidor. Se basa en la tecnología plug in por lo que se requiere la instalación de un pequeño componente para poder visualizar el contenido de Silverlight en nuestro navegador.
XAML está basado en texto y así se descarga en el cliente por lo que no da problemas en buscadores, firewalls, muy útil si se desea utilizar SEO (Search Engine Optimization). XAML es fundamentalmente vectorial, por lo que permite desarrollar con muy poco esfuerzo aplicaciones “Pixel free” independientes de la resolución.

Silverlight tiene herramientas orientadas al programador y al diseñador, estas son:
- Silverlight v1.0: plug in disponible para Win, Linux y Mac.
- VS2008: permite hacer desarrollos en Silverlight.
- Expression Blend 2: permite diseñar espectaculares experiencias interactivas en XAML sin necesidad de escribir ni una línea.
- Expression Encoder: permite codificar y mejorar ficheros de video para poder ser utilizados en silverlight.
- Expression Desing: herramienta de diseño vectorial que permite crear diseños y elementos silverlight.

WINDOWS WORKFLOW FUNDATION

0 comentarios

En este post voy a explicar en que consiste y como se conforma Windows WorkFlow Fundation (WF). WF Sirve para desarrollar aplicaciones disponiendo de una forma natural de expresar la lógica del negocio. Permite expresar la lógica de una forma natural sin entrar en las complicaciones de los lenguajes con las que esté construida.
La función principal de WF es facilitar la escritura de los procesos de negocio de forma declarativa, sin concentrándonos en el proceso que queremos implementar sin sacrificar la escalabilidad y robustez que ofrecen las nuevas tecnologías.

Arquitectura de WF
Todos los elementos del WF están basados en el principio de extensabilidad. Por este motivo es posible utilizarlo como “marco de trabajo” para incluirlo en otros productos de Microsoft ya existentes.
En la siguiente figura podemos ver las piezas fundamentales de la arquitectura del WF.




a) Capa Runtime = es el nucleo del WF y contiene la mayoria de los servicios críticos de WF. Estos servicios son:
Servicio de Ejecución: es el encargado de organizar la ejecución de las actividades y de los comportamientos más comunes de estos últimos (como eventos, manejo de excepciones, tracking, etc.)
Servicio de Scheduler: es uno de los servicios más importantes de WF. Se encarga de cómo se van a ejecutar los flujos de trabajo.
Motor de Reglas: permite crear y administrar las reglas que se evaluaran el ejecutar el programa.
b) Workflow Model = es donde los desarrolladores utilizaran la mayor parte de su tiempo ya que incluye las principales APIs y modelos del WF. Existen 2 modelos con los que se puede trabajar en WF, estos son:
Workflows Secuenciales: son los más utilizados debido a nuestra naturaleza de dividir las tareas en pasos.
Máquinas de Estado: permite definir diferentes estados y las transiciones que permiten cambiar de un estado a otro los que se asocian a eventos.
c) Hosting = se encarga de dar soporte de ejecución de WF permitiendo establecer los servicios necesarios, además de facilitar las comunicaciones de los flujos de trabajo con componentes externos tales como librerías u otros procesos.

Actividades (Workflow Model)
Las actividades pueden dividirse en:
- Act. de Proceso (tareas sencillas – code, delay, secuence, parallel, etc - )
- Act. de Control (Condicionales – if, while, etc - )
- Control de Excepciones
- Act. de Modelado (provee la funcionalidad necesaria para que nuestro flujo de trabajo pueda comunicarse con el proceso que los Aloja – ExternalDataExchangeService -)

Servicios (Hosting)
- Persistence (WorflowPersistenceService): permite que los flujos de trabajo sean durables en el tiempo a la espera de un determinado evento. WF proporciona una implementación de sqlWorkflowPersistenceService la que permite utilizar SQL Server como almacén de persistencia.
- Scheduler (WorkflowSchedulerService): permite configurar si deseamos que cada uno de nuestros flujos de trabajo se ejecuten en hilos separados o en el mismo hilo. Por defecto defaultWorkflowSchedulerService crea un nuevo hilo por cada instancia y con Manual WorkflowSchedulerService podemos establecer como lo deseamos.
- Tracking (WorkflowTrackingService): permite instrumentar un proceso de negocio y brinda un servicio de repositorio (BD) que poder explotar. Se basa en 2 elementos fundamentales: Tracking Profile: define un perfil de eventos que deben ser instrumentalizados (Ej: Act. o Flujos de trabajo) y Tracking Channel: es el repositorio (txt o BD) donde se depositan todas las trazas de información.