¿Quien dijo miedo?

Ayer tuvimos en la Universidad Pública de Navarra,  un evento de 5 horas sobre  AJAX, XNA, WF, WCF y WPF

A pesar de que el tiempo no nos acompaño,  el guru bilbaíno, le hecho un par de pelotix y se vino a Pamplona.  La asistencia no le hecho tantas pelotix así que de los 150 nos quedamos en 90, no está nada mal.


250107_UPNA_6.jpg


Lo pasamos de miedo y nos reímos un montón. Hubo buen feeling con la gente. Lo mejor es que grabamos las 5 horas en DVD así que en breve puede que las pongamos on-line.

Os dejo unas fotos de la sesión


David, hablando de WCF.



Iñaki, mostrando el simulador (totalmente programado en C# y DirectX) – hizo una demo con un sensor de movimiento – ESPECTACULAR




Sergio, hablando de WCF




El menda, hablando de cocina y WF



El staff de NavarraDotNet muy cool para la ocasión, el reverso de la camiseta …. be a pointer my friend …


Wfpad, para rtm, el mejor ejemplo para integrar el diseñador workflows en nuestras aplicaciones

Mark Schmidt’s a puesto una última versión del WFPad, para Windows Workflow Foundation. Lo acabo de bajar para jugar un poquito, para los que aún no lo sepan, este ejemplo es el mejor ejemplo que hay sobre como integrar el Diseñador de flujos de trabajo dentro de nuestras aplicaciones.



Justito lo he compilado y añadido mi propia biblioteca de actividades (sin ir más lejos la que he creado hoy en el evento de la UPNA, mañana pondré fotos). Podéis ver FritoDeGamba y Visor de eventos.



Así que ya sabéis que este es un punto de partida estupendo para incorporar Vuestro propio diseñador de flujos de trabajo dentro de las aplicaciones, también os recuerdo que no hace mucho Unai, nos dejo un ejemplo de como albergar el Diseñador de reglas.


Dos ejemplos a tener en cuenta.

Versiones RTM del SDK de WSS 3.0 y MOSS 2007

No sé pero últimamente me ha dado por las siglas … Bueno que ya tenemos las versiones finales para descargar…


Windows SharePoint Services 3.0: Software Development Kit (SDK)


The Windows SharePoint Services 3.0 software development kit (SDK) contains conceptual overviews, programming tasks, samples, and references to guide you in developing solutions based on Microsoft Windows SharePoint Services 3.0.


Versión en línea


SharePoint Server 2007 SDK: Software Development Kit and Enterprise Content Management Starter Kit


The Microsoft Office SharePoint Server 2007 Software Development Kit (SDK) contains conceptual overviews, programming tasks, code samples, references, and an Enterprise Content Management (ECM) starter kit to guide you in developing solutions based on Microsoft Office SharePoint Server 2007.


Versión en línea


 

Tagged

Tagged by Mark Kruger


1- I used to read 4 or 5 books at time and they are all over my home; in the kitchen, in the bathroom, in the sitting room …
2- Many years ago I’m able to read and understand Englishg books but I’m unable to speak English (at moment)
3- My favourite films are the old black & white movies like the Maltese Falcon (1941) and muy soundtrack is Once Upon a Time in America by Ennio Morricone
4- I like grunge music, specially Pearl Jam, Nirvana, Alice in Chains and Soundgarden
5- I love cooking and good meals (as good Navarro I am).


1- Puedo leer entre 4 y 5 libros al mismo tiempo, los voy dejando por toda la casa, en la cocina, en el baño, el cuarto de estar etc…
2- Leo inglés desde hace muchos años pero soy incapaz de hablarlo (por el momento)
3- Mis películas favoritas son las de blanco y negro, mi película favorita es el Halcón Maltes (1941) y mi banda sonora cinematográfica es la de “Erase una vez en América” de Ennio Morricone.
4- Me gusta el grunge, en especial  Pearl Jam (esto supongo que es conocido), NirvanaAlice in Chains y Soundgarden
5- Me encanta la cocina y la buena mesa (como buen Navarro)


Os a tocado: Gustavo Velez, Luis Du Solier, Iñaki Ayucar, Ander Muñoz y Elena Santacana

WF1 – Workflow scheduling services

Una de las coas que más me cuesta explicar cuando hablo de Windows Workflow Foundation, es el dichoso AutoResetEvent.

El AutoResetEvent, es una variable que nos ayudará en la sincronización de los distintos hilos de proceso (threads), no es más que un simple mutex (exclusión mutua), ó semáforo, que nos va a permitir es proteger ciertos datos compartidos cuando se llevan a cabo escrituras, previniendo las condiciones de carrera.



Para entender bien este concepto, revisemos como son programadas las distintas instancias de los flujos de trabajo en el runtime.
El runtime de Workflow Foundation, tiene un servicio de temporización (scheduler) que nos va a permitir ejecutar las distintas instancias que se lleven a cabo de manera Asíncrona (por defecto) ó Síncrona (utilizando el servicio manual).



El DefaultWorkflowSchedulerService, que es el servicio por defecto, crea y maneja los hilos de ejecución de forma asíncrona sobre el runtime. Conforme se van creando instancias de los flujos de trabajos, estas se almacenan en una cola que mantiene este servicio, más tarde cuando la instancia se ejecuta, este servicio solicitará un nuevo hilo (al .Net CLR) para ejecutar dicha instancia.



Otro importante aspecto es que nosotros podemos establecer el número máximo de hilos (MaxSimultaneousWorkflows)  que queremos que mantenga en uso este servicio, por defecto son 5. Si queremos establecerlo en 2:


DefaultWorkflowSchedulerService defaultWorkflowSchedulerService = new DefaultWorkflowSchedulerService(2);
workflowRuntime.AddService(defaultWorkflowSchedulerService);


De modo que el resto de instancias, tendrán que esperar a que se libere alguno de los hilos antes de empezar a funcionar.


Este hecho es el que nos obliga en cierta medida a lanzar el AutoResetEvent.Set() para indicar que ese hilo ha quedado liberado.


Cuando digo en cierta manera, lo digo porque generalmente se han de dar dos casos, el primero que necesitemos acceder al mismo objeto o recurso en el mismo hilo, o que necesitemos manejar eventos. 


AutoResetEvent, pone en el estado de no-señlizado automáticamente después de que un hilo haya sido liberado. Si tenemos distintos hilos que intentan acceder a un recurso y no queremos que lo hagan a la vez para que no se prodúzcanlos casos de exclusión, estos se quedarán esperando a que termine el que esta accediendo que estará señalizado, en ese momento el estado del hilo pasará a no-señalizado, permitiendo el acceso a el siguiente hilo.


Por otro lado disponemos también de un servicio manual como he comentado antes, este servicio es ManualWorkflowSchedulerService,  será el runtime quien cederá a la instancia un hilo para su ejecución,  de modo que la instancia se ejecutará sobre un único hilo (en modo síncrono) bloqueando la ejecución del host, mientras la instancia del flujo de trabajo este activa.


Para hacer esto, tendremos que arrancar cada una de las instancias manualmente, usando RunWorkflow y pasándole el Id de la instancia.


ManualWorkflowSchedulerService manualWorkflowSchedulerService = new ManualWorkflowSchedulerService(false);
workflowRuntime.AddService(manualWorkflowSchedulerService);

…..

instance1.Start();
manualWorkflowSchedulerService.RunWorkflow(instance1.InstanceId);



Hace algún tiempo leí (no he conseguido encontrar la referencia) que el uso manual, tendría sentido cuando el host funcione sobre ASP.NET o Servicios Web.

AJAX, XNA, WF, WCF, WPF, WTF does that mean?










En la corta vida de NavarraDotNet vamos a por nuestro segundo Evento, donde veremos lo más representativo del Framework 3.0, aquí os dejo el cartel (a mi juicio impresionante) que Sergio Jimenez a preparado así como el link de registro y la agenda del evento.




 

09:30 – 10:30 ASP.NET AJAX Web Development
Repasaremos la evolución en la interfaz web asíncrona desde el MSXML XMLHttpRequest hasta el momento actual y los problemas que se planteaban en el desarrollo. Veremos los nuevos controles existentes en ASP.NET y como facilitan
al desarrollador mejorar la experiencia de navegación del usuario.

 
Ponente: David Salgado Bermejo, Development Advisor Microsoft Ibérica

10:30 – 11:30 Desarrollo de juegos con DirectX / XNA.
En la charla se dará una introducción a los módulos clave que componen un videojuego así como la oferta tecnológica de Microsoft para cada uno de ellos.También se dara un rápido vistazo a la evolución de los videojuegos en los últimos 30 años para entender los motivos de la aplicación de la nueva oferta tecnológica: ManagedDirectX y XNA. Después se pasará a describir la tecnología subyacente en cada una de ellas incluyendo demostraciones.
 
Ponente: Iñaki Ayucar, Proyecto Simax, miembro de NavarraDotNET

11:45 – 12:45 Windows Workflow Foundation
En esta charla revisaremos la situación actual de la programación, que son los flujos de trabajo así como donde encajan dentro del paradigma actual. Descubriremos en qué consiste Windows Workflow Foundation y cómo funciona, con demostraciones sobre algunas de sus características más relevantes.

Ponente: Carlos Segura Sanz, MVP Microsoft Office SharePoint Server, miembro de NavarraDotNET

13:00 – 14:00 Desarrollo de la capa de negocio con Windows Communication Foundation
WCF es un API unificado para el desarrollo de aplicaciones
conectadas/distribuidas.Vamos a ver los cambios que esto Implica a la hora de desarrollar con respecto al resto de alternativas: ws, wse, remoting, enterpriseServices, msmq, COM+


Ponente: David Salgado Bermejo, Development Advisor Microsoft Ibérica

14:00 – 15:00 Construcción del cliente rico con Windows Presentation Foundation
En las aplicaciones modernas el interfaz de usuario y la usabilidad de la aplicación son otro factor más sobre el que trabajar. WPF es el nuevo API de presentación para desarrollo de interfaces de usuario, veremos como nos facilita el trabajo a la hora de integrar elementos multimedia, documentos, elementos
3D,… en nuestras interfaces.


Ponente: David Salgado Bermejo, Development Advisor Microsoft Ibérica

Jueves 25 de Enero 2007
Universidad Pública de Navarra
Aula Anexo 04
Campus de Arrosadia
Edificio El Sario Pamplona Navarra 31006
Spain

Registrarse en:


Microsoft
Centro de excelencia de Software en Navarra