Archive for the ‘.NET’ Category

Jnbridge. Interoperabilidad Java & .NET

Monday, May 5th, 2008

Probablemente a la gente de .NET no le descubriré nada nuevo, imagino que habrán usado algo similar en sus proyectos. Aunque espero que a la parte java le sirva para conocer una iniciativa que parece interesante, y que Microsoft está probando como parte de su infraestructura de integración de componentes.

Se trata de la línea de productos de la empresa JNBridge. Su filosofía es la de hacer transparente la comunicación e interoperabilidad de componentes java y .NET. Hasta el momento ofrecen los siguientes paquetes:

* JNBridgePro - Java & .NET Interoperability:
Permite la interoperabilidad entre componentes java y .NET.

* JNBridge JMS Adapter for .NET
Permite el consumo y la escritura en colas JMS (Java Message Service) por una aplicación .NET.

* JNBridge JMS Adapter for Biztalk Server
Proporciona integración de JMS con Biztalk Server 2006

La manera de lograrlo es la instalación de un runtime a cada lado que se encarga de lo siguiente:

* Establecer la comunicación entre las plataformas, principalmente con TCP y serialización binaria.
* Crear un proxy C# para cada clase Java que se quiere acceder.
* Crear un proxy Java para cada clase .Net que se quiere acceder.
* El mapeo de clases y tipos y la conversión de los valores de retorno en cada caso.
* La invocación de métodos en objetos .Net desde Java.
* La invocación de métodos en objetos Java desde .Net.
* Propagar excepciones entre Java y .Net, y viceversa.
* Brindar soporte de callbacks.

De esta manera, tanto desde el lado java como desde el de .NET se puede acceder a los componentes de manera transparente.

Existen otras maneras de implementar esta interoperabilidad entre sistemas (webservices, CORBA…) pero, posiblemente, esta es la más sencilla…pagando por ello, claro.

El enlace a Jnbridge es el siguiente
http://www.jnbridge.com/

MOS o MOSS: Se me perdió la S de SharePoint?

Wednesday, April 9th, 2008

MOS no es MOSS… MOS es Microsoft Online Services. No se pudieron inventar otra sigla? Después de años y años de bombardearnos con siglas y más siglas, parece que se les están acabando. Seria interesante empezar a usar nombres que signifiquen algo. Pero MOS si es MOSS. O, por lo menos MOSS es una parte de MOS. Bueno, no realmente… ya se me lengua la traba con todas esas siglas…

Bueno, que es MOS? Fuera de lo de Online Services, es la nueva arma de Microsoft en su competencia para tomarse el mundo de las aplicaciones en línea por sorpresa. O la nueva arma contra Google. O la mejor forma de matar la gallina de los huevos de oro (Microsoft Office). Poniéndolo en pocas palabras, MOS no es más que unir a Microsoft Exchange como servidor de correo, Microsoft Live Meeting como servidor de comunicación y Microsoft SharePoint como servidor de colaboración en una batería de servidores, y venderlos como servicio, no como servidores. Es decir, en lugar de que usted tenga que comprar el software, luego tenga que comprar el hardware, luego tenga que pagarle a alguien para que instale y configure todo (hardware y software), y luego tenga que seguir pagando hasta la eternidad por mantenimiento, backups, upgrades y demás plagas, Microsoft instala y configura todo el rollo para usted, y usted se dedica a utilizar el servicio… pero eso sí, hay que pagarle el mismo dinero (sino mas) a Microsoft, pues MOS no es gratis… Suena razonable…

MOS está en beta en el momento, y no es mucho lo que se sabe al respecto. Si os interesa, darle una mirada al sitio beta inclusive podeis inscribiros como usuario beta (solamente para residentes de USA), para encontrarle todas las fallos al sistema, gratis y por nada y contárselo a Microsoft, de tal forma que cuando el producto este terminado y sin fallos, usted le pueda pagar a Microsoft un dineral por el placer de utilizar el sistema que usted ayudó a crear. Así funciona el sistema… para ver más información al respecto

Al final, Microsoft ha anunciado, usuarios de MOS disfrutarán de una consola de manejo y monitoreo (Web) desde donde se podrán hacer todas las labores de configuración y administración. Y, aunque los precios no han sido anunciados, si se sabe que las licencias se podrán obtener en base al número de usuarios, y que no es necesario contratar todo el paquete (Exchange + Live Meeting + MOSS), sino que se puede hacer cualquier combinación de ellos. Microsoft planea hacer el servicio público a mediados de 2008.
Como no es conocido el esquema de precios, no es posible en el momento saber si será rentable utilizarlo en la compañía. Lo que sí es interesante es que si la empresa no dispone de un departamento de IT, o por lo menos de una persona que se defienda con cosas de hardware, software, instalación y configuración, probablemente será atractivo tener algo por el estilo. Microsoft te garantizara que el sistema seguirá funcionando, aunque llueva, truene y relampaguee. Por el otro lado, en nuestra realidad hispanohablante (Latinoamérica + España), personal cuesta mucho menos que infraestructura (hardware + software), lo que es diferente a lo que ocurre en USA, el norte de Europa, Australia y demás; en este caso, me puedo muy bien imaginar que MOS no será atractivo económicamente.

Al otro lado de la moneda, llamémoslo el lado paranoico de la historia, no sé si sea tan buena idea poner toda la información confidencial de la empresa fuera de la empresa. Ya lo sé, ya lo sé, todo está protegido con claves y mas claves, pero de todas formas, un administrador puede ver un montón de cosas en SharePoint y Exchange, y un super-administrador puede ver casi que todo. Y al final, prácticamente toda la información confidencial y no-confidencial de una empresa que utilice a SharePoint termina en las Bases de Datos de SharePoint. Y aunque no creo que Microsoft utilice esa información de la forma que Google SI usa la información que adquiere de nosotros, hay que recordar que la actualidad en Norte América es que la paranoia es rey, y que si a algún presidente o congresista o simple policía histérico le da por querer ver nuestra información empresarial, y ella se encuentra en un servidor de Microsoft, Microsoft se verá obligado a entregarla… ya lo sé también: si no ha hecho nada malo, no tiene de que preocuparse… pero de todas formas la sola idea me pone los pelos de punta, aunque no haya hecho nada malo…

Creación de tareas desde comentarios en VS2005 / VS2008

Friday, April 4th, 2008

A veces, mientras estamos editando un archivo de código, ya sea en C# o VB.NET, queremos apuntar alguna tarea que debemos llevar a cabo en otro momento. Visual Studio 200x nos ofrece la posibilidad de agrupar esas tareas de dos formas distintas: tareas de usuario o tareas en comentarios.

(more…)

Presentación Windows Server 2008, Visual Studio .Net 2008, SQL SERVER 2008 (3/3)

Monday, March 31st, 2008

Cuando estuvimos en "The Evolution Show" tuvimos la oportunidad de realizar un recorrido bastante rápido por Visual Studio 2008, junto a sus novedades y correcciones con respecto a la versión 2005.

Mejoras en el desarrollo de Aplicaciones Web

Los de Microsoft, que últimamente están sufriendo serios ataques de standarismos y una extraña inclinación al Open Source (siempre desde el punto de vista Microsoft-iano), han realizado mejoras en el IDE orientadas principalmente a proveer a los diseñadores web de un arsenal de herramientas para estilos y accesibilidad.

El motor de Microsoft Expression Web, que tan buen resultado les ha dado, ha sido integrado dentro del Visual Studio para manejar las páginas desde la vista de Diseño. También han incluido el motor en el desarrollo de hojas de estilos CSS, consiguiendo que la edición de estos archivos sea extremadamente sencilla. Desde mi punto de vista, el esfuerzo que Microsoft está haciendo entorno a la integración y simplificación de CSS es monumental, ya que el motor de Expression Web supera con creces a su homónimo de Adobe (antes Macromedia) Dreamweaver.

(more…)

Presentación Windows Server 2008, Visual Studio .Net 2008, SQL SERVER 2008 (2/3)

Wednesday, March 26th, 2008

Siguiendo el post de César del 11 de marzo sobre el evento de Microsoft “The Evolution Show (Lanzamiento Windows Server 2008, Visual Studio 2008 y SQL Server 2008)” celebrado hace ya casi un mes, os comento algunas de las novedades que nos proporcionará Katmai (el codename o frikinombre de SQL Server 2008).

A día de hoy lo que tenemos disponible es la sexta CTP. Algunas de las fabulosas nuevas funcionalidades que enumeramos más abajo no estarán disponibles hasta el verano que es cuando se supone que se publicará la RTM, la supuesta versión final.

Microsoft se esfuerza en destacar las siguientes de entre las nuevas características de SQL 2008:

  1. Uso de una sintaxis consistente para consultar diferentes conjuntos de datos…

    Es decir, LINQ, que en verdad fue una de las estrellas del evento en lo que a desarrollo se refiere.

  2. Mapeo de estructuras de datos a entidades de negocio usando ADO .NET Entity Framework (ahora mismo en beta 3).

    Este framework incluirá LINQ To Entities que se unirá al resto de “sabores” de LINQ disponibles desde la salida de .Net Framework 3.5 en noviembre de 2007.

  3. Extensión de las posibilidades de almacenamiento de datos con los nuevos tipos de datos geométricos, geo-espaciales y de contenido no estructurado.

  4. SQL Server 2008 Compact Edition y Synchronization Services para el desarrollo de aplicaciones de movilidad y otras soluciones con capacidades de almacenamiento de datos on-line y off-line.

En lo que se refiere al primer punto nos hartamos de presenciar demos con diferentes formas de consumir datos de fuentes heterogéneas (BDs relacionales, .Net DataSets, XML Documents, colecciones, objetos en memoria…) y de cómo construir aplicaciones con sus clásicas tres capitas atacando a SQL Server (LINQ To SQL) con muy pocas líneas y en cuestión de minutos. Microsoft apuesta fuerte por LINQ y sus capacidades son muchas y variadas, pero todo esto sería materia de otro post.

LINQ Project “Home” Page

101 LINQ Samples

ADO .NET Entity Framework tiene muy buena pinta, demasiado buena. Su objetivo no es sólo ser un ORM, incluirá LINQ to Entities como tal, sino proveer de toda una serie de servicios de consulta y reporting. Se trata de resolver la diferencia de visión entre los mundos relacionales y orientados a datos (lo que alguien ha bautizado poéticamente Object-Relational impedance mismatch), de abstraerse de la forma en que los datos son almacenados y preocuparse sólo de consumirlos.

MSDN Overview

Anatomy of the ADO .NET Entity Framework .pdf

CodePlex Samples

La inclusión de contenido no estructurado como un nuevo tipo de dato tiene también posibilidades muy interesantes. Hasta ahora las opciones se reducían a almacenar estos contenidos en BLOBs, o en el File System guardando en tabla sus correspondientes apuntadores, rutas o la forma de acceder a ellos. Con el nuevo tipo FILESTREAM este contenido se guarda también en un sistema de ficheros pero podemos tratarlo como un campo más en nuestras consultas ocupándose el motor de base de datos de la transaccionalidad, de su inclusión en las políticas de back-up y de las mismas posibilidades de gestión de los datos de cualquier otro campo. Claro que esto no es más que una abstracción, ya que T-SQL seguirá usando BLOBs para acceder a estos contenidos y que la API de Win32 también tiene acceso a los ficheros donde se guarden estos datos no estructurados.

SQL2008UnstructuredData.doc

También tuvimos ocasión de ver en acción los nuevos tipos GEOMETRY para datos espaciales planos y GEOGRAPHY para datos espaciales geodésicos y unas cuantas funciones para manipularlos de diferentes formas y ejecutar operaciones aparentemente complejas. En concreto poder obtener la distancia entre Madrid y Melbourne con una simple llamada a una función en la lista de campos de una sentencia select o recalcular y visualizar en un mapa el contorno de las aguas territoriales de Australia con un tiempo de respuesta razonable parece bastante espectacular, sobre todo para quien trabaje con mapas.

SpatialData.doc

Como digo al principio, esto no es más que una breve puntualización de lo que hemos podido ver en directo y con un sesgo claramente desarrollador, pero SQL Server 2008 incorpora una gran cantidad de novedades para administración y sobre todo para Business Intelligence que pueden ser de igual o mayor interés.

Como últimos apuntes señalar la enorme utilidad del Intellisense LINQ, que nos ayuda, en tiempo de diseño, a evitar errores en la sintaxis de las sentencias de consulta chequeando tipos y deletreo de campos. Por cierto, que para habilitar esto LINQ tiene la curiosa exigencia de poner la clausula from en primer lugar.

Y, por fin, también tenemos Intellisense en el editor de consultas lo cual era largamente demandado por desarrolladores SQL, que tenían que instalarse o usar complementos y herramientas de terceros del estilo SQL Prompt de RedGate o TOAD. Claro que sólo funciona para las sentencias SELECT y siempre que hayas escrito el from antes.

Webcast en Español

Monday, March 10th, 2008

Para los que todavía no los conozcan, los Webcast son grabaciones de sesiones, similares a la que tuvimos ayer de TDD (pero no tan buenas, claro!) sobre un tema en particular. El formato que suelen seguir es la visualización en pantalla de la presentación en PPT, pasando al ordenador del ponente cuando se realizan demostraciones, y como audio se graba la “charla”. En nuestro caso particular, el mundo del desarrollo software, los hispanohablantes solemos tener una desventaja, la mayoría de estas presentaciones están en Inglés (suerte para Tom, desgracia para el resto). No conozco el nivel de inglés de cada uno de vosotros (conozco el mío y no es para tirar cohetes), pero nos suele resultar más fácil entender a un ponente hablando castellano que en inglés (sobre todo si es americano!). En algunos casos visualizar una presentación, sobre todo si incluye demostraciones, ayuda a entender una tecnología de manera rápida.

En los siguientes enlaces tenéis bastantes sesiones sobre sistemas (las primeras) y desarrollo. Esto no significa que os pongáis como locos a verlas todas, pero si en un momento estáis involucrados en un proyecto que utiliza una tecnología (o un aspecto de ésta) que no conocéis o queréis/necesitáis ampliar vuestros conocimientos sobre ella, los Webcast son una buena opción. Una o dos horas de visualizando un Webcast pueden ahorrar mucho tiempo posterior.

Como buen technical manager del área Microsoft, pues los enlaces que os mando son de tecnologías Microsoft. En cualquier caso, creo que no se me ha colado ningún Javero en el grupo (Enrique, tu no cuentas!)

• Webcast de sistemas: http://www.microsoft.com/spain/technet/jornadas/webcasts/webcasts_ant.aspx?id=9

• Webcast de desarrollo: http://www.microsoft.com/spanish/msdn/latam/mediacenter/webcast/default.aspx

Webcast de tecnología

Friday, September 7th, 2007

Para los que todavía no los conozcan, los Webcast son grabaciones de sesiones, similares a la que tuvimos ayer de TDD (pero no tan buenas, claro!) sobre un tema en particular. El formato que suelen seguir es la visualización en pantalla de la presentación en PPT, pasando al ordenador del ponente cuando se realizan demostraciones, y como audio se graba la “charla”. En nuestro caso particular, el mundo del desarrollo software, los hispanohablantes solemos tener una desventaja, la mayoría de estas presentaciones están en Inglés . No conozco el nivel de inglés de cada uno de vosotros (conozco el mío y no es para tirar cohetes), pero nos suele resultar más fácil entender a un ponente hablando castellano que en inglés (sobre todo si es americano!). En algunos casos visualizar una presentación, sobre todo si incluye demostraciones, ayuda a entender una tecnología de manera rápida.

En los siguientes enlaces tenéis bastantes sesiones sobre sistemas (las primeras) y desarrollo. Esto no significa que os pongáis como locos a verlas todas, pero si en un momento estáis involucrados en un proyecto que utiliza una tecnología (o un aspecto de ésta) que no conocéis o queréis/necesitáis ampliar vuestros conocimientos sobre ella, los Webcast son una buena opción. Una o dos horas de visualizando un Webcast pueden ahorrar mucho tiempo posterior.

Como buen technical manager del área Microsoft, pues los enlaces que os mando son de tecnologías Microsoft. Mis disculpas a los Javeros, pero pensad que muchas de las presentaciones os servirán. Con tal de que cambieis la “N” por “J”………

• Webcast de sistemas: http://www.microsoft.com/spain/technet/jornadas/webcasts/webcasts_ant.aspx?id=9
• Webcast de desarrollo: http://www.microsoft.com/spanish/msdn/latam/mediacenter/webcast/default.aspx

Salu2,

Sale Microsoft Net Framework 3.0

Wednesday, November 8th, 2006

Ayer, día 7 de Noviembre, salió Microsoft Net Framework 3.0 final. Como ya sabéis, el nuevo framework incluye importantes diferencias con respecto al anterior, entre las que se encuentra Microsoft Presentation Foundation (que nos permitirá el desarrollo de interfaces más atractivas, con gran contenido multimedia), Microsoft Communication Foundation (que unifica los servicios webs, llamadas RPC, colas de mensajes y demás mecanismos de comunicación en uno sólo), así como Windows Workflow Foundation y Windows CardSpace (que almacena de forma segura identidades digitales de una persona).

Podéis descargar las versiones de 32 y 64 bits en las siguientes direcciones:

Framework 3.0 32 bits

Framework 3.0 64 bits

.NET y LAMP recuperan algo de terreno respecto a JAVA

Friday, December 16th, 2005

En un artículo de BusinessWeek del 13/12/2005 titulado “Java? It’s So Nineties“, se hace referencia al futuro próximo de Java y la conexión con las otras dos plataformas preferidas (.NET y LAMP).

Informes de Evans Data Corp., que realiza encuestas anuales sobre las actividades de los desarrolladores de software, muestran que el suo de Java ha caído ligeramente mientras que han ganado fuerza LAMP y .NET. En Estados Unidos, el porcentaje de desarrolladores que usan Java como uno de sus lenguajes de programación preferidos cayó al 47,9% desde el 51,4% a finales de 2002. El mismo informe muestra que el uso de Java está creciendo en Asia, está bajando en Europa.

Mientras tanto, el uso de .NET se incrementó a un 54,1% desde un 40,3% en el mismo período en Estados Unidos, y ha superado al uso de Java en Europa y Asia. En una serie de encuestas diferentes, el uso de PHP en Estados Unidos creció al 36,1%, desde el 26% de finales de 2003. Creció prácticamente con los mismos ratios en Europa y Asia.

Un informe de octubre de IDC muestra que un 35,7% de grandes corporaciones usan .NET para sus aplicaciones más importantes, mientras que con Java solo un 25,3%.

En opinión de John Loiacono, vicepresidente ejecutivo de la división de software de Sun, Java no está perdiendo fuerza. Opina que Java está recién empezando y apunta que Java permanece fuerte en aplicaciones corporativas grandes y complejas y que sigue aumentando su popularidad en teléfonos móviles. Más de 600 modelos de teléfonos móviles usan Java y 6 de los 10 juegos más populares para móviles están basados en esta tecnología.

Qué se entiende por RIA?

Tuesday, November 15th, 2005

Desde hace un tiempo se ha popularizado el nombre RIA (Rich Internet Applications) para hacer referencia a un tipo de aplicaciones enfocadas a mejorar la experiencia de usuario sacando al mismo tiempo provecho de todas las ventajas de Internet, básicamente se trata de trasladar funcionalidad al cliente de modo que este no sea tan básico (HTML) y ofrezca más funcionalidad al usuario además de reducir la carga del servidor.

Sin embargo detrás de esta definición no está siempre claro cuáles son las tecnologías que sirven de soporte. Un intento de clasificación de estas tecnologías podría ser el siguiente:

Clientes nativos
Esto es lo que se entiende dentro del área MS por SmartClients.
Este enfoque ofrece la versatilidad que tiene cualquier aplicación “standalone”, combinada con la facilidad de despliegue propia del Web, cuando hablamos de este tipo de clientes se debe entender siempre que se tiene asociada una tecnología de despliegue de este tipo.

Dentro de este enfoque entran dos tecnologías: JavaWebstart (disponible desde hacer unos cuatro años) y MS SmartClient (disponible con VS2005).

Al proponer una solución de este tipo hay que tener en cuenta que la solución propuesta hace uso de una plataforma nativa, lo que en el caso de una solución MS SmartClient hace cautiva la solución final del sistema operativo Windows. Esto en el caso de instalaciones que tienen opción claramente consolidada no plantea ningún problema adicional.
En otros casos, dónde esto no esté tan claro o tengan una estrategia más abierta habría que contemplarlo, en 2006 se prevé un crecimiento amplio de Linux en el Desktop, que aunque ya se verá si es así o no, convendría, al menos, tenerlo en cuenta.

Clientes Web
Una aplicación típica de este enfoque es Gmail.
En este enfoque se saca el máximo partido de la combinación DHTML, JavaScript y de las peticiones parciales de datos al servidor vía XmlHttpRequest, que es lo que se ha venido en llamar últimamente AJAX.

La construcción de este tipo de interfaces es compleja por la propia naturaleza de las tecnologías implicadas y por el hecho de la dependencia de las mismas respecto del navegador (puede requerir que haya que realizar desarrollos Cross-Browser con el coste adicional que ello implica)

Últimamente están apareciendo Kits que facilitan este tipo de desarrollos.

Otras plataformas
Hay otras plataformas que también entran dentro de este nombre genérico pero que tienen una menor popularidad:

    FLEX, esto viene a ser, a grandes rasgos, una especie de versión extendida de Flash con capacidades amplias de programación. Los interfaces quedan muy aparentes, aunque no estoy seguro de cómo de complicados es realizarlos.
    Applets Java, dentro de esto conviene resaltar herramientas como Thinlet, que proporciona un conjunto de Widgets gráficos que simplifican en gran medida el desarrollo de clientes utilizando esta tecnología.
    NexaWeb, esto es un entorno completo de desarrollo que permite construir clientes muy ricos (prácticamente igual a los nativos) dentro de un browser, merece la pena echarle un vistazo, aunque sus posibilidades de aplicación para nosotros seguramente sean más reducidas debido a los requerimientos de licencia, estandarización…
    OpenLazslo, este es un enfoque interesante construido sobre una plataforma Flash/Servlet/JavaScript/XML y que está teniendo un gran apoyo por parte de IBM aportando incluso SDKs para su desarrollo con Eclipse