Enterprise Service Bus (ESB)

 

Si creíais que WCF era lo último, estábais equivocados, y si CSF era un paso más, tomad otro, ESB.

El mundo SOA parece que no tiene límites, no deja de sorprendernos cada día y si, como me dijo alguien hace ya un tiempo, “SOA es el futuro”. No lo creía del todo pero creo que tenía toda la razón, Microsoft no deja de hacer incapié en ella y la verdad, lo consigue.

Hace unos días comentaba algunas diferencias entre CSF, WCF, BizTalk y WWF pues bien, aún hay más. Ayer, hablando con Pilar (“Mira que dejarnos!!!, :-D”), me comentaba sobre ESB, así que hoy, aprovecho la oportunidad de poder contaoslo a vosotros, y si,  aquí tenemos otra nueva tecnología. Aun está en sus primeros pasos, pero la verdad, “tiene buena pinta”, esta engloba y hace uso de todo lo lo habído y por haber, jejeje…, “¡la verdad, a este ritmo me comienzo a perder!”.

ESB: Se trata de un Servicio Orientado a Infraestructuras (SOI), formado por una coleción de patrones de arquitectura basados en la tracicional Enterprise Application Integration (EAI), Web services, .NET y la interoperabilidad con JAVA, integración de sistemas host e interoperabilidad con servicios de registro y repositorio de activos [más].

Aquí le podéis echar un vistazo a la “Enterprise Bus Architecture”:

Enterprise Bus Architecture

Una PPT que brevemente muestra de que se trata.  Microsoft ESB Overview y otro enlace a la community de ESB en CodePlex;  http://www.codeplex.com/esb.

La evolución de la mensajería SOA:

[Descentralización —–> Broker —–> BUS]

 

Saludos desde algún sitio por ahí en algún “EndPoint”, 😀
Juanlu

ReadyBoost y Windows Vista II. Decisión, Compra, Test y Éxito por 36€.

 

Seguro que más de uno está esperando la salida al mercado de nuevos Pen Drives, si, para utilizarlos en Windows Vista como ReadyBoost, pues bien, seguro que salen, y mejores, pero, ¿para cuando?, mientras tanto aquí os cuento mi decisión, así como algunas pruebas y argumentos para decidir si usar o no ReadyBoost.

Hace unos días comentaba cual era el funcionamiento de esta nueva oportunidad (ReadyBoost) así como algunas de sus ventajas e inconvenientes, pues bien, ahora toca el siguiente paso, la elección del pendrive y algunos test para demostrar su rapidez y la necesidad o no de usarlo.

Eligiendo el Pen Drive.  4GB y por 36€.

Bueno, la verdad es que no he pensado mucho, sino que me he arriesgado un poco, jejeje… he buscado uno con “High Speed”, con “lifetime warranty” y que sea soportado por Vista, lo demás ya son hechos.

Funciona muy bien y soporta “ReadyBoost”, sin “trucaje” claro, :-D. Yo lo he comprado en Carrefour, o sea, que no tenéis que pensar mucho como adquirirlo. Haciendo un poquito de venta, eeehhh!

Aquí tenéis más datos sobre el por si os interesa: http://www.adata.com.tw/adata_en/product_show.php?ProductNo=AP09ZZZBU

 

NTFS vs FAT32

Este es un punto que hay que discutir muy en detalle, y para ello conocer muy en profundidad como funcionan exactamente, pero creo que tampoco es ese el objetivo. Os indico las definiciones que da Wikipedia, y que son bastante extensas y detalladas [NTFS] y [FAT].

Comparando tiempos y velocidades entre mi Disco Duro y el nuevo Pen Drive.

En este apartado muestro simplemente un test de mi Disco duro en primer lugar y de la nueva adquisicón (Pen Drive) en segundo lugar.  En este test el pendrive está formateado con NTFS y utilizando la capacidad total de 4GB como ReadyBoost.

Es curioso, pero la velocidad de lectura en Fat32 es un poco mayor que la de Ntfs según el test de windows. Aunque, también es cierto que no siempre. La velocidad de escritura siempre es superior.

Ahora que cada uno compruebe las velocidades y tome sus decisiones, pero vamos, creo que está claro.

Para llevar a la perfección y ser más exhaustivos en estos tests hay que ralizar muchas más pruebas y tener en cuenta cantidadd de datos, etc., pero, creo que mi objetivo ha sido cubierto, bueno, eso espero.

Como recomendación personal diría, que ánimo chicos, adelante con el ReadyBoost y más aún vosotros, que seguro que trabajáis con máquinas virtuales e infinidad de aplicaciones a la vez, ¡yo no lo he dudado!, la verdad es que merece la pena. ¡Si tenéis sobrada memoria RAM, seguro que no os hace falta, pero, entre utilizar el Disco Duro y el Pen Drive, creo que la cosa está clara.

Por si también os ayuda, os dejo algunas intentos: Yo tengo Vista en un Dell Latitude 620 (Centrino Core Duo) con 2GB de RAM, y he estado trabajando con 5 máquias virtuales,  Excel,  Access, Project, Visio, Word, IE7, Messenger, Resource Monitor, compilando una aplicación de 11 proyectos en  Visual estudio . NET 2005, escribiendo este post en Windows Live Writer y unas cuantas cosillas más, y la verdad, creedme que funciona.  “Es evidente, que durante la carga del las máquinas virtuales el disco duro hace toda la labor, tenedlo en cuenta“.

Todo esto con Windows Vista Aero y resistiendo “el tío” como un campeón, el que diga que Vista no es bueno que venga aquí y lo vea.

Si existe una oportunidad, ¿Por qué no aprovecharla?

Saludos
Juanlu

ReadyBoost y Windows Vista. Forzando al Pen Drive para ReadyBoost.

 

Veamos en esta ocasión, que eso del ReadyBoost, pues bien, llegado este momento y aunte la necesidad de un nuevo Pen Drive, durante estos días he estado investigando, un poco por mi cuenta en como conseguir un buen Pen Drive para hacer un buen uso de esta nueva tecnología que presenta Microsoft.

¿Que es ReadyBoost? Prefiero no mirar en este caso ninguna descripción en Wikipedia ni en ningún sitio, la defino yo a mi manera. Pues bien, se trata nada más y nada menos de hacer uso de un Pen Drive para destinar la memoria Swap(llamada así en Linux, y el cual la utiliza ya desde tiempos remotos) o PageFile (en Windows) a un dispositivo más rápido que el propio disco duro. Hasta ahora, windows permitía hacer esta asignación de la swap a diferentes unidades, no sólo a un disco duro, sino también a un pendrive o disco duro externo. Así visto esto es un poco más complicadillo, ya que en la mayoría de los casos no es posible debido al dispositivo, se necesita realizar un “reseteo” del equipo, cosa que no nos gusta en exceso, jejeje…, etc. Con esta nueva técnología, lo que podemos conseguir es usar al Pen Drive como Swap y conseguir una mayor velocidad y una seríe de nuevas y mejores ventajas.

Todo esto ha dado que pensar y discutir bastante, tanto  por la gente de Linux, como por aquellos que defienden esta nueva oportunidad, como por aquellos que no la defiende tanto.

Aprovecho, para comentar y dar mi propia opinión y espero que con ella muchos de vosotros aclareis dudas, bueno, esa es mi intención, :-D.

Tenemos que tener claro unos cuantos conceptos, pero vamos, tampoco voy a entrar en detalle de como se accede a la información de disco cuando esta no se encuentra en la RAM, y los fallos, que se producen en este acceso, bla, bla…… Esto es otra cosa y además ya me estoy extendiendo, 😀

En primer lugar, no se trata de una nueva tecnología, esta ya existía y además, windows la usa desde sus principios, si, ese magnifico fichero (C:PageFile.sys) por defecto. Se trata de un fichero que contiene aquella información que el ordenador necesita y usa más frecuentemente para el acceso a datos y que al ser excesiva no puede ser almacenada en la memoria RAM. Windows permite desactivar esta opción y únicamente usar la memoria RAM, esto aunque no es recomendable, pero también es cierto que si la memoria disponible es muy alta, y siempre que no la sobrepasemos, podría ser conveniente, es más, diría que es recomendable desactivarla. Existen procesos que hacen uso de la swap aún teniendo memoria RAM suficiente (esto ya no sé a que se debe, jeje… dejemoslo ahí,).

Entendido más o menos lo anterior, si la swap la situamos en una partición diferente o incluso mejor aún, en disco duro diferente al que se encuentra instalado Windows, el acceso a esta información siempre será más rápido.  Esto es debido a que los discos duros son mécanicos y si en un mismo disco duro tiene que acceder a su propia informacicón como a la del fichero de paginación entonces implica más movimientos de los cabezales y accessos al disco, lo que lleva un duro y continuo trabajo. Si este trabajo se distribuye en varios discos, cada uno es independiente y por lo tanto el tiempo de acceso será menor. Si en lugar de aplicar la swap a otro disco duro la aplicamos mediante ReadyBoost y teniendo en cuenta que el Pen Drive que es digital, el acceso aleatorío siempre será más rápido.

Si el volumen de información a recuperar es grande y esta se encuentra almacenada secuencialmente, el tiempo de acceso es menor en el disco duro, sin embargo, esta información no está organizada secuencialmente con normalidad. Aunque en algún caso así lo sea, siempre vamos a obtener una mejora (aunque sea poca) con un acceso aleatorio rápido.

Windows Vista establece unos mínimos en cuanto a la velocidad de lectura/escritura para que los Pen Drives puedan ser usados como ReadyBoost, claro, esto es así, para poder aprovechar la velocidad de estos dispositivos, de no ser así, aunque se consigue un mejor rendimiento que con el disco duro, dependiendo en que casos será apreciable o no, y es esto lo que realmente tenemos que considerar.

Comentado todo esto, ahora os voy a mostrar como forzar el uso de un Pen Drive que no soporta los requisitos mínmos para ReadyBoost. Tened en cuenta que esto no es lo recomendable ni para lo que ha sido preparada esta nueva oportunidad.

Forzando el uso de ReadyBoost. Pasos:

  1. Inicio – Run. Escribir RegEdit
  2. Conecta el dispositivo y evita que sea analizado este dispositivo marcando la casilla correspondiente en las propiedades del Pen Drive.
  3. Busca la rama “HKLM (Local Machine)SOFTWAREMicrosoftWindows
    NTCurrentVersionEMDgmt
  4. Localizar el dispositivo a forzar.
  5. Establecer los valores:
    • “DeviceStatus” a 2
    • “ReadSpeedKBs” a 1000
    • “WriteSpeedKBs” a 1000
  6. Desconecta el dispositivo y vuelvelo  a conectar.
  7. Elige propiedades del Pen Drive y establece el tamáño a usuar.
  8. Actívalo com ReadyBoost.

 

Notas:

  • Hay que tener en cuenta que si formazos el usuo del Pen Drive, aunque se consigue un mejor rendimiento, no será el adecuado y por ello no es recomendable.
  • Son necesarios como mínimo unos 256Mb de espacio libre.
  • Si el Pen Drive es formateado como NTFS el acceso siempre será más rápido.
  • Otra cosa muy importante a tener en cuenta es que el tiempo de vida de un Pen Drive está limitado y el uso de esta nueva opción acorta dicho tiempo. Actualmente los fabricantes están trabajando en conseguir aumentar este tiempo de vida.
  • No utilizar el Pen Drive para almacenar datos cuando se está utilizando como ReadyBoost, esto implica mayor tiempo de acceso.

Esta vez quizás me he extendido más de lo que realmente es un Post, pero sinceramente el contenido es lo que interesa, espero que os sirva y que se haya entendido el propósito.

Saludos
Juanlu

CSF vs WCF vs BizTalk vs WWF

En esta ocasión y dado que me encuentro involucrado en un proyecto bastante interesante (sobre CSF) relacionado con web services y teniendo en cuenta que WCF está pegando fuerte y que BizTalk tampoco se queda atrás, me gustaría comentar un poco sobre CSF y hacer alguna distinción entre todas estas tecnologías.

En primer lugar, BizTalk es una herramienta servidor basada en la integración de sistemas de negocio. Hace uso de distintos Adaptadores para simplificar el trabajo y dejando así en manos de terceros parte de dicha integración. BizTalk, consigue una integración con infinidad de sistemas y productos que actualmente se encuentran entre todos nosotros, pegando fuerte; SAP, Oracle, SQL Server, Sharepoint, InfoPath, etc. [más]

En segundo lugar, WCF (Windows Communication Foundation, inicialmente, Indigo). Basado en EndPoints donde cada uno de estos esta formado por; Address, que es donde se encuentra ubicado, Binding, la manera de comunicarse y Contract, una serie de acciones que exponen aquello que ofrece el EndPoint. [más]

En tercer lugar WWF (Windows Workflow Foundation, inicialmente, WinFX). Haciendo uso de Framework 3.0 permite la realización de flujos de trabajo que son llevados a cabo mediante un facil proceso de diseño en el amigable y conocido entorno de Visual Studio 2005. [más]

Y por último CSF(Connected Services Framework). También hace uso de EndPoints de una forma muy parecida a WCF, pero su fuerte, es que, está más enfocado a las telecomunicaciones, aunque, también es cierto que en otras industrias se están llevando a cabo numerosas PoC (Pruebas de Conceptos), de echo, yo estoy currando en una de estas pruebas, :-D.
Otro punto a tener en cuenta es que CSF puede hacer uso de BizTalk para la lógica de negocio, no siendo obligatorio su uso. CSF, permite integrar diferentes Servicios(siempre que sean Web Services) a diferencia de BizTalk que intetra Sistemas (a groso modo), preguntaréis, ¡ya!, entonces, ¿Qué me aporta CSF que no pueda aportarme BizTalk?, esta es una pregunta que nos hacemos todos aquellos que comenzamos a trabajar con CSF. La diferencia está, en que BizTalk haciendo uso de WebServices podría suplir a CSF, pero sin embargo, CSF además de disponer de un servicio centralizado para la comunicación entre todos y cada uno de los Web Services, permite que toda esta comunicación sea dinámica, es decir, pueden añadirse Web Services y eliminarse de toda esta comunicación. Esta centralización está basada en sesiones a donde cada Participante (siempre Web Service) pertenece y en una Tabla de Enrutamiento (Manifiesto XML o como dígo creada dinámicamente) que es la que gestiona las acciones que cada uno de los participantes puede hacer. [más].

Todo esto, siempre haciendo uso de WS-* y fuentemente de WS-Addressing, WS-Security y WS-Eventing.

Como adelanto y finalización a este post, he de decir, que la proxima versión de CSF estará basada en WCF y .Net 3.0.

Aquí os dejo una demo que aclarará un poco más, sobre de CSF: DEMO

Más siglas para aprender, jejeje…
Saludos desde el otro lado del canal.
Juanlu

IIS7 y HttpHandlers = <System.WebServer>

 

Por fin llegó IIS 7 (bueno ya hace un tiempo :-D), pero ahora tocan unas cuantas cosillas a tener en cuenta y una de ellas es la que os quiero contar, si, los HttpHandlers, que cada día se encuentran mas en cada una de nuestras aplicaciones.

Si creamos en Visual Studio un proyecto de tipo Web Services y queremos trabajar un un HttpHandler, lo primero que hacemos es añadir algo similar a esto en el web.config:

<configuration>
   <system.web>

   …
      <httpHandlers>
         <add verb=”*” path=”CualquierCosa.ashx” type=”MyNameSpace.MiClase”/>
      </httpHandlers>

   …
   </system.web>
</configuration>

En el momento de ejecutar nuestro código ocurre lo siguiente:

Ejecuta lo siguiente:

  • %systemroot%system32inetsrvAPPCMD.EXE migrate config “Default Web Site/WebSite”

o, esto otro

  • %systemroot%system32inetsrvAPPCMD.EXE set app “Default Web Site/WebSite” /applicationPool:”Classic .NET AppPool”

La verdad, la solución a estos errores esta muy conseguida, y, hay poco que añadir.

El primer comando, añade una nueva sección al web.config y además coexiste con la inicial y se ejecutará aquella que se corresponda con la configuración establecida.

   <configuration>

   …
   <system.webServer>
      <handlers>
         <add name=”CualquierCosa.ashx_*” path=”CualquierCosa.ashx” verb=”*” type=”CualquierCosa” preCondition=”integratedMode,runtimeVersionv2.0″ />
      </handlers>
      <validation validateIntegratedModeConfiguration=”false” />
   </system.webServer>

   …

   </configuration>

En cuanto al segundo, os cuento como configurar esto mismo, pero a través de clicks que es, lo que mejor recordamos, jejeje… Es fácil, pero bueno, no siempre vamos a postear lo dificil, ¿no?

1.- Abrir el IIS7

2.- Para el Web-Site a configurar y una vez seleccionado, hacer click en “Advanced Settings…” en el menú Actions situado a la derecha.

3.- Cambiar el Application Pool, para ello, bastará con seleccionar [Behavior-Application Pool] y elegir “Classic .NET AppPool”. 

Ahora, nuestra aplicación funcionará perfectamente utilizando el modo Clásico de Pipeline.

Saludos, Juanlu

UDDI y SQL 2005

Muy buenas a todos, y en primer lugar perdon por mi temporal desaparición.

Llevo unos días aquí en WALQA (Huesca) currando en un proyecto de MCSF (Microsoft Connected Services Framework), y la verdad es que tiene buena pinta, bueno, ya os iré comentando sobre mis peripecias al respecto, por el momento veamos como instalar UDDI en SQL Server 2005.

Si alguno ha intentado instalar UDDI bajo SQL 2000, no habrá encontrado ningún, problema, :-D. Este, ocurre al intentar instalarlo en SQL 2005. Seguro que más de uno, y me incluyo, ha instalado SQL 2000 y SQL 2005 en el mismo servidor debido a este “bug”, pues bien, que sepamos que UDDI está soportado por SQL 2005 SP1 y por SP2 también, esto último os lo digo yo, :-D. Para conseguir que la instalación funcione y UDDI quede correctamente instalado seguiremos los siguientes pasos:

Agregar la entrada de Registro CSDVersion al Registro de Windows antes de intentar instalar los componentes de base de datos de Servicios UDDI. Para ello:

  1. Haga clic en Inicio, haga clic en Ejecutar, escriba regedit y a continuación, haga clic en Aceptar.
    • Si la instancia de SQL Server 2005 es la instancia predeterminada, busque y a continuación, seleccione la subclave siguiente de Registro: KEY_LOCAL_MACHINESOFTWAREMicrosoftMSSQLServerMSSQLServerCurrentVersion
    • Si la instancia de SQL Server 2005 es una instancia con nombre, busque y a continuación, seleccione la subclave siguiente de Registro: MSSQLServerCurrentVersion instance name Server de SQL de HKEY_LOCAL_MACHINESOFTWAREMicrosoftMicrosoft
  2. En el menú Edición, elija Nuevo y a continuación, haga clic en Valor de cadena.
  3. Escriba CSDVersion y a continuación, presione ENTRAR.
  4. En el panel izquierdo, hace clic en CurrentVersion a continuación, anota el valor predeterminado CurrentVersion subclave en el panel derecho.
  5. Haga doble clic en CSDVersion.
  6. En el cuadro Información del valor, escriba el valor que anotó en paso 5 y después, haga clic en Aceptar.
  7. Instale los componentes de base de datos de Servicios UDDI.
  8. Elimine la entrada de Registro CSDVersion del registro de Windows.

Para la instalación en cluster:

Hay que añadir la clave “Cluster” y el valor “ClusterName” con el nombre de la base de datos del clúster.

Para más información: http://support.microsoft.com/kb/927230

Saludos y hasta muy pronto

Juanlu

Saludos

Hola a tod@s

Mi nombre es Juan Luis Guerrero conocido ya por alguno de vosotros como “Juanlu, El Guerre”, actualmente posteo en “El Bruno” y en “Blogspot” a partir de ahora también voy a estar por aquí, ¡vamos, que me váis a tener hasta en la sopa! jeje…

Bueno, espero poder compartir con vosotros muchas de mis experiencias y poder ayudaos en la medida de lo posible.

Gracias a Rodrigo por brindarme esta oportunidad (y también al “El Bruno” por haberme encaminado a este encuentro).

Aquí os dejo el link a mi blog: http://www.eljuanlu.blogspot.com

Saludos a todos.

Juanlu, El Guerre