Archivo del Autor: Liarjo

Avatar de Desconocido

Acerca de Liarjo

....

How To: Desarrollo avanzado con Web Services

Jueves, 31 de Agosto de 2006 18:15 – Jueves, 31 de Agosto de 2006 21:30 Santiago
Hora de bienvenida: 18:15

Idioma: Español

Microsoft Chile

Mariano Sanchez Fontecilla 310, Piso 6
Las Condes Región Metropolitana Chile

 

El desarrollo con Web Services es una realidad en los sistemas actuales. Muchos desarrolladores usan Web Services actualmente para conectar sus aplicaciones con otras propias y de terceros, y están necesitando implementar soluciones más avanzadas. En esta conferencia revisaremos las posibilidades que nos entregan los Web Services, Enhancements 3.0 y Windows Comunication Foundation.

Específicamente revisaremos temas de diseño, técnicas de programación, depuración, extensibilidad y tareas comunes (por ejemplo validación de mensajes, caché de respuestas, manejo de sesiones, transacciones). La presentación será basada en cómo trabajar con estas cuestiones (modo How-To).

Inauguramos un nuevo formato de evento denominado: How To, está más orientado a cuestiones prácticas, a resolver situaciones concretas que se plantean en el trabajo diario de los programadores. Se entregará CD con material técnico
 
Oradores: Juan Pablo García (Microsoft MVP – Software Developer Manager de Datco) – David Jirón (Arquitecto .NET de Soluziona)
Orientado a Arquitectos y Desarrolladores
*Se entregará material técnico

 

Próxima conferencia técnica: Desarrollo avanzado con Web Service

El desarrollo con Web Service es una realidad en los sistemas actuales. Muchos desarrolladores usan Web Services actualmente en sus sistema y estan necesitando implementar soluciones más avanzadas. En esta conferencia revisaremos las posibilidades que nos entregan los Web Services, Enhancements 3.0 y Windows Comunication foundation.

 Específicamente revisaremos temas de diseño, técnicas de programación, depuración, Extensibilidad y tareas comunes (Por ejemplo validación de mensajes, Caché de respuestas, manejo de sesiones, Transacciones. Veremos ejemplos del tipo HOW-TO.

 Esta conferencia está orientada a Arquitectos y desarrolladores.

 

Occasionally Connected Computing (OCC)

Existen muchas cosas que se  deben tomar en cuenta cuando se identifican escenarios en los cuales se utilizarán aplicaciones móviles. Por ejemplo el dispositivo que se utilizará para implementar la solución. La funcionalidad más compleja que se agrega a este tipo de soluciones tiene relación  con la administración de las comunicaciones y el intercambio de información entre la aplicación y los servidores de Back-End, ya que se tiene en estos momentos conexiones poco confiables o intermitentes.

Este tema obliga al desarrollar capacidades de trabajo Off-line en cada dispositivo. Para poder desarrollar aplicaciones que trabajen Off-line se debe tener en cuenta aspectos cómo Cache Local de datos, sincronización, transacciones basadas en compensaciones, etc. 

 

Este problema es conocido como Occasionally Connected Computing (OCC). Para hacer aplicaciones que se comporten bien ante los desafíos del OOC existe un modelo llamado OCC MODEL

 

Las aplicaciones OCC son la nueva generación de aplicaciones empresariales para la plataforma móvil. Las aplicaciones se ejecutan en los dispositivos, no como el Browser que obliga a estar conectado siempre;  donde se ingresan datos, se maneja la consistencia y se le da al usuario la sensación de trabajar sin importar el estado de la conectividad. Los criterios que establecen la diferencia entre una aplicación OCC y cliente servidor o basadas en Browser son:

 

Ø      Una aplicación OCC, sigue trabajando tenga o no conexión con los servidores centrales.

Ø      La aplicación OCC, trabaja con un Cache de datos local en ausencia de conectividad.

Ø      Las colas de la aplicación actúan al fallar la conectividad (Mensajería asíncrona)

Ø      La aplicación detecta cuando existe conectividad y procesa las colas de mensajes y refresca el Cache de datos local. (Publicación y Suscripción)

 

Las aplicaciones que cumplen con estos criterios son OCC. 

¿Por qué tengo un Blog?

Cada vez que estoy cansado y un poco sobrepasado por los eventos de la vida, me formulo la pregunta ¿Para qué tengo un Blog?

 

Hoy, después de varios días sin acordarme, escribir, revisar, imaginar y todo lo demás  de este Blog lo revisé. En ese momento, ya casi por un compromiso intangible, revisé el Blog y me encuentro con un comentario de alguien que no conozco y que además está de acuerdo conmigo. Esto no tiene precio,  cómo siempre digo cuando hablo de integración de sistemas “no estamos solos en el universo”.

 

Entonces, después de esta confesión emocional haré lo que hacen los buenos sistemas móviles, una transacción Store And Forward. Que para humanos sería, sigo haciendo cosas y después sincronizo con este Blog.

¿Por qué me gusta SKYPE?

Yo no usaba SKYPE, porque MSN cubría todas las necesidades para chatear que tenía. Cuando comencé ha hacer tareas del Magíster en línea con mis compañeros, muchos de ellos por no decir el 100% son anti Microsoft.

 

Mis compañeros de estudio usaban SKYPE, así que lo instalé para poder trabajar con ellos. En ese momento descubrí que tenía una funcionalidad maravillosa, que no tiene MSM. Esta maravilla no tiene que ver con expresarse en el Chat, ya que MSN es mucho mejor para eso, sino con el buscador.

 

Se puede buscar usuarios SKYPE por nick, nombre, apellidos, ciudad etc. Esto me ha permitido tomar contacto con gente de la cual nada sabía desde hace “Siglos”. Con MSM la propagación de los contactos es casi Boca a Boca.

 

Está funcionalidad, mueve poderosamente la balanza hacia SKYPE, pero no lo suficiente, porque lo primero que hago cuando encuentro a alguien en SKYPE es pedirle su usuario MSN 😉

Próxima conferencia MSDN: Biztalk Server

Estoy parado en Calama, en pleno desierto de Atacama, esperando salir hacia el interior rumbo a San Pedro de Atacama.

 

Le he estado dando una vuelta a cómo debe ser el temario, de la primera conferencia de Microsoft BizTalk Server de la comunidad MSDN en Chile. Por esto se debe explicar desde el principio, en rigor el producto es tan completo que es imposible tocar todas las funcionalidades y escenarios posibles donde aplicarlo.

 

Pensando en cuales son  los temas mas interesantes para los desarrolladores que asisten a estas conferencias, llegué a la siguiente pauta para trabajar en el temario de la conferencia.

 

  • Aproximación al problema de la Integración
  • Introducción a BizTalk Server
    • Arquitectura
    • Escenarios EAI y B2B
  • Introducción al desarrollo con BizTalk Server
    • Documentos estructurados XML Schemas
    • Mapas de documentos
    • Mensajería.
      • Puertos Físicos
      • Adaptadores
    • Procesos de Negocio
      • Orquestaciones
      • Transacciones
      • Manejo de Excepciones
    • HAT
    • Web Services
  • Otras cosas de BizTalk (no verlas en detalle)
    • BRE
    • BAM
    • BAS
    • SSO
  • Conclusiones y Preguntas

 Este es el temario tentativo, en la parte de de introducción al desarrollo pienso adecuado hacer una demos por cada concepto importante que sea progresiva. Esto quiere decir que sea un solo caso de negocios que vamos refinando con las diferentes herramientas que vamos viendo.

 

Atento a sus comentarios y aportes, y por supuesto los esperamos el jueves 29 a las 18:30 horas en la casa club 😉.

Diferentes intereses en una misma audiencia

El martes tengo que dar una conferencia para clientes de mi empresa sobre integración. Es de un nivel técnico comercial. No es fácil plasmar un mensaje claro para estos dos segmentos de audiencia.

 

La audiencia técnica, suele descalificar de entrada a todos los comerciales y gente que hace presentaciones. En su pragmática mente, cualquier persona que no sepa hacer no es un interlocutor válido. Además muchas veces su visión es consumida por sus actividades del día a día, por lo que no pueden enfocarse en las necesidades futuras del negocio.

 

La audiencia comercial, no entiende nada del cómo hacer las cosas y no quieren que los agobien con complejidad. Esperan que sus problemas de negocio se resuelvan de manera “transparente” para ellos, y sólo participar el las felicitaciones del final del proyecto.

 

Ambos tipos de audiencia son válidos, lo difícil es hablarle a los dos en una misma conferencia y que todos se vayan a su casa contentos.

Integración: BizTalk mítica herramienta de integración.

Desde hace un tiempo hasta ahora, la integración es un tema de todos los días para los desarrolladores de software. Esto se debe a una evolución natural de aplicaciones aisladas de su entorno que es necesario hacer “conversar” con otras aplicaciones dentro de un proceso de negocio integrado END-TO-END.

 

Existen diferentes tendencias en el ámbito de la integración, muchos de estas tendencias tienen siglas de tres letras como SOA y  ESB.

 

Muchos se confunden respecto a que es Biztalk Server y cómo se usa. Es un gran desconocido que muchos ven en PPT de arquitectura, como responsable de integrar, dirigir procesos de negocio, explotar datos de negocio y muchas otras cosas. Si uno ve esas cantidad de cosas en una PPT piensa que es magia envasada en un producto de software.

 

Bueno, Biztalk Server hace muchas cosas relacionadas con la integración entre sistemas computacionales en escenarios de EAI y B2B. Además es capas de soportar la implementación de un ESB o SOA, como herramienta de trabajo.

 

Creo una buena idea que se muestre este producto en una conferencia para desarrolladores de software, así pueden borrar las ideas míticas y acotar el alcance de la herramienta. Paso fundamental para que pase a ser parte de futuros sistemas.

Arquitectura Orienta a Servicios (SOA). Vista de Negocios

La arquitectura orientada a servicios no es una tecnología, sino una forma de hacer negocios. Ella podrá incluso modificar la forma en que se hacen negocios.

 

Moverse hacia SOA le constará tiempo y dinero, por lo cual el “driver” por el cual usted toma la decisión de hacerlo debe estar muy bien fundamentada. SOA incrementará su agilidad y eventualmente disminuirá sus costos de desarrollo de sistemas.

 

Para poder llevar adelante este cambio, y hacer lo correcto, usted debe hacer que la gente de IT cambie su forma de ver el negocio. Esto fuerza a que la gente del lado de negocio postergue oportunidades de corto plazo versus objetivos de largo plazo. Por otro lado la gente de IT debe cambiar su forma de ver los sistemas, pensando ahora en niveles de servicios y reusabilidad.

 

Definición de SOA

 

En palabras simples, SOA trasforma las funcionalidades de las aplicaciones en piezas de Lego. Toma una pieza de software con una interfaz bien definida y la pone a disposición de diferentes aplicaciones a través de un contrato de uso. Lugo usted puede construir nuevas aplicaciones como construye nuevas figuras de Lego, uniendo las piezas.

 

Esto suena a juego de niños, sobre todo la parte Lego de los servicios. Debemos ser escépticos, SOA no soluciona todos los problemas ni es tan simple como suena.

 

 

La tecnología es dura, pero el staff es peor

 

Los precursores de SOA en una organización tienen claro que no será fácil cambiar la inercia de “la forma como hacemos las cosas”. Por eso la mejor aproximación es tomar pequeños procesos de negocio de alto impacto y llevarlos a SOA. Siempre la decisión de que pieza del proceso de negocio será transformada, se debe tener en mente el riesgo y retorno de la inversión.

 

Lo que se espera como resultado inmediato es que la pieza llevada a SOA reduzca la complejidad de integración y mantención. Esto impacta directamente los costos operacionales del sistema.

Mejores prácticas ASPNET

Hola,

 

Un cliente me preguntó ¿Tienes Links de buenas prácticas?

 

Yo dije “…por supuesto, miles de millones..”

 

Así que me puse a googlear, no fue nada fácil. Todo el mundo habla de las mejores prácticas pero nadie las explica, clasifica, desarrolla etc.

 

Así que hablando con diferentes personas y consultando en foros llegué a esta lista de mejores prácticas para ASPNET.

 

 

Poderosa recopilación de links

 

http://weblogs.asp.net/Varad/archive/2005/09/25/425938.aspx

 

Buenas prácticas organizadas como el ciclo de vida (10 eventos) de ASPNET.

 

http://www.aspfree.com/c/a/ASP.NET/ASP.NET-Life-Cycle-and-Best-Practices/

 

Para aplicaciones escalables y rápidas

 

http://msdn.microsoft.com/msdnmag/issues/05/09/SessionState/default.aspx

 

http://www.codeproject.com/useritems/ASPNET_Best_Practices.asp

 

http://www.codeproject.com/csharp/effective1.asp

 

Mejores prácticas de PAG, diferentes guías.

 

http://msdn.microsoft.com/practices/guidetype/Guides/default.aspx