Me encantan las extensiones de C# 3.0 y LINQ

Estaba embebiendo una búsqueda en LIVE en una aplicación y fijáos del código anterior (VS2005) al nuevo (VS2008) lo que cambia. Y hacen lo mismo:

 

Antes:

 

                             MSNSearchService s = new MSNSearchService();

                SearchRequest searchRequest = new SearchRequest();

                int arraySize = 1;

                SourceRequest[] sr = new SourceRequest[arraySize];

 

                sr[0] = new SourceRequest();

                sr[0].Source = SourceType.Web;

 

                searchRequest.Query = "live search";

                searchRequest.Requests = sr;

                searchRequest.AppID = "YOUR_APP_ID_GOES_HERE";

                searchRequest.CultureInfo = "en-US";

                SearchResponse searchResponse;

 

                searchResponse = s.Search(searchRequest);

 

                foreach (SourceResponse sourceResponse in searchResponse.Responses)

                {

                    Result[] sourceResults = sourceResponse.Results;

                    

                    WebSites[] retWebSites = new WebSites[sourceResponse.Total];

 

                    int i=0;

 

                    foreach (Result sourceResult in sourceResults)

                           retWebSites[i++] = new WebSite(sourceResult.Url);

                }

 

             return(retWebSites);

 

Y ahora:

 

                        SearchRequest liveSearchRequest = new SearchRequest();

 

             liveSearchRequest.Query = sString;

             liveSearchRequest.Requests = new SourceRequest[1]

{ new SourceRequest() { Source = SourceType.Web } };

             liveSearchRequest.AppID = "YOUR_APP_ID_GOES_HERE";

             liveSearchRequest.CultureInfo = "en-US";

            

             MSNSearchPortTypeClient liveSearch = new MSNSearchPortTypeClient();

 

             SearchResponse liveSearchResponse =

liveSearch.Search(liveSearchRequest);

 

             var p = from res in liveSearchResponse.Responses[0].Results

                    select new WebSite() { sURI = res.Url };

 

             return(p.ToArray<WebSite>());

 

He usado la inicialización en constructores para el Live.Requests y LINQ para construir el array de retorno

 

 

 

Publicado por Jose Murillo's Blog

Por si alguien tenía dudas... Vuelve el PDC 2008 en Los Ángeles!!

Pues sí, del 27 al 30 de Octubre celebraremos el PDC 2008, un evento centrado sobre todo en futuros productos que iremos lanzando a medio plazo. Estád atentos a http://msdn2.microsoft.com/en-us/events/bb288534.aspx para conocer los detalles a medida que vayan saliendo.
Publicado por Jose Murillo's Blog

Tecnologías de Presentación

El otro día tuve que hacer una tabla comparativa de diferentes tecnologías de presentación. Os la dejo aquí por si le sirve a alguién, además seguro que se os ocurren alguna que otra sugerencia (lo pongo pequeñito que no se ve y no hay scroll): 

  Alcance Despliegue Conexión Riqueza / Interactividad Productividad Desarrollo Productividad Diseño Escenarios
Win32 (VB6, C++) Plataforma Windows - Despliegue de binarios vía  Setup Soporta modelo online y offline Media Media (Win32) Baja (Win32) LOB
Windows Forms Plataforma Windows con .NET Framework - Despliegue de binarios vía Setup
- ClickOnce
Soporta modelo online y offline Media Alta (.NET FX) Baja (WinForms) LOB
ASP.NET Cualquier Web Browser con HTML y JavaScript Sin Despliegue Solo modelo online Baja Media (.NET FX Web)/Alta Media (HTML/Javascript) Internet Sites
LOB
ASP.NET AJAX Cualquier Web Browser con HTML y JavaScript Sin Despliegue Solo modelo online Media Media (.NET FX Web)/Alta Media (HTML/Javascript) Internet Sites
LOB
WPF Plataforma Windows con .NET Framework 3.0 y 3.5 - Despliegue de binarios vía Setup
- ClickOnce
- XBAP
Soporta modelo online y offline Muy Alta Alta (.NET FX) Muy Alta (XAML WPF) LOB
Internet Sites
Intensive Graphics Apps
Silverlight 1.0 IExplorer, Mozilla, Firefox en plataforma Windows, Mac y Linux* Plugin Silverlight 1.0 Solo modelo online Alta Baja-Media (JavaScript / .NET FX Web) Alta (XAML Silverlight) Rich Internet Sites
Silverlight 1.1 IExplorer, Mozilla, Firefox en plataforma Windows, Mac y Linux* Plugin Silverlight 1.1 Solo modelo online Alta Alta (.NET FX) Alta (XAML Silverlight) Rich Internet Sites
Rich Internet Applications
LOB
OBA (Office) Plataforma Windows con Microsoft Office Despliegue del documento Office y CodeBehind Soporta modelo online y offline Media (Basado en Office) Alta (.NET FX) Baja (Office) LOB

Publicado por Jose Murillo's Blog

Saludos desde Milán

Continuando con mi periplo de viajes hoy os escribo desde Milán, más concretamente el Lago Maggiore, una zona preciosa al lado de los Alpes donde hace un frio que pela, sobre todo para un Sevillano.

Se trata de una reunión interna donde compartimos buenas prácticas en torno a los programas de emprendedores y Centros de Innovación de diversos países de Europa, bastante interesante.

Mientras tanto, hoy celebramos en Madrid nuestro Visual Studio 2008 Jumpstart, un evento para ISVs Certified donde empezaremos a mostrar las bondades de la nueva versión de Visual Studio 2008. La verdad es que como ya sabéis trae bastantes novedades interesantes, para mi sin duda mi favorita LINQ.

Os dejo que empezamos…

Publicado por Jose Murillo's Blog

De vuelta a la acción gracias a 3G

Bueno, como mucho ya sabéis el año pasado volví a Sevilla, donde abrimos oficina hace ya casi dos años y vamos creciendo. Mi vida ha cambiado en muchos sentidos, en lo personal como os podéis imaginar encantado (pocas empresas nos ofrecen esta flexibilidad) y en lo profesional también (como siempre! :-)), pero a cambio viajando como loco casi todos los días. He estado un poco desconectado (por no decir abandonado) del blog, pero ahora y gracias a una flamante 3G espero aprovechar estos ratos de soledad en el AVE para escribir un poco.

Mario (nuestro hijo) cumplió el domingo su primer añito, ¡dios como pasa el tiempo! Ya muestra cierto interés por todo dispositivo con cable y pilas, pero yo sigo insistiendo con el futbol, la formula 1, el tenis y otras actividades más lucrativas y agradecidas :-)

En cuanto al trabajo vamos a cien, afortunadamente en el equipo de ISVs ya somos 3 personas, Isabel Gómez, Cesar de la Torre (http://blogs.msdn.com/cesardelatorre/) y myself. Este año estamos muy centrados en Visual Studio 2008, SQL Server 2008, Windows Server 2008, AJAX y Silverlight. Cesar se encarga de CRM 4.0 y en breve de las nuevas versiones de Navision y Axapta.

Por cierto, Rosa García nuestra presidenta acaba de estrenar blog con reflexiones muy interesantes: http://elventanalderosa.spaces.live.com/

Publicado por Jose Murillo's Blog

Vista y Office 2007 disponibles en breve en MSDN

Pues lo dicho, tendremos Office 2007 para descarga en MSDN el domingo 12 y Windows Vista el viernes 17. Ya queda menos!
Publicado por Jose Murillo's Blog

¿Puede considerarse programar un Arte?

A muchos nos ofende incluso la pregunta. Es una discusión que tengo a menudo con mi mujer, ella es arquitecta (si, de esas de edificios, la pongo con minúsculas para diferenciar J) y cuando sale el tema saltan chispas. Toda esta discusión me viene a la cabeza a raíz de un artículo de Lipmman que acabo de leer.

¿Os acordáis de esas clases de cálculo infinitesimal o física de primero de carrera? Era muy sencillo, o lo veías o no lo veías. Algunos le llamaban “la idea feliz”, otros como mi suegro (también arquitecto) le llaman “la génesis”, en definitiva algo abstracto y difícil de definir que se tienen o no se tiene, que no sigue ningún proceso concreto repetible (que al menos conozcamos ahora), más bien es una inspiración, un arte.

¡Venga, seguro que os suena! Os ponen un problema por delante y sin saber cómo fluye el algoritmo que encaja, la arquitectura perfecta, el objeto concreto.

Particularmente pienso que es “tan solo” fruto de la experiencia y la creatividad. El hecho de resolver cientos de problemas en diferentes momentos cuando programamos hace que eso vaya enriqueciendo la “knowledge base” interna, quede grabado y salga cuando vemos un problema similar, esto es sencillo. Después entra la creatividad de cada uno, es decir, con las mismas piezas en la mente (experiencia y conocimientos) saber combinarlas para dar solución a un problema nuevo. Quizás esta es la parte más difícil de conseguir, lo que distingue a un programador senior con experiencia de Don Box.

David hablaba hace poco en su blog de la cantidad de proyectos que arrancaba, resolvía el reto y dejaba en un directorio perdido. Esto es la esencia de este aprendizaje, movida obviamente por la pasión y la vocación del desarrollador “tiburón” J

El que se nazca o no con esta creatividad es otra discusión. La experiencia puede adquirirse, pero nos quedaremos en el programador senior. Por ejemplo, yo me pongo mañana a pintar cuadros, dedico 30 años y probablemente sea un pintor más, pero no Picasso.

Vaya, me quedo sin batería. Por cierto, voy a tener que dejar de viajar en AVE y tener tiempo libre sin conexión al email, me vienen a la mente temas de lo mas raro…

Publicado por Jose Murillo's Blog

SharePoint 2007 Accelerator Lab en Huesca

Hoy he pasado el día en el Huesca con “mis chicos” del MTC de Aragón. Han venido 4 personas del grupo de producto de SharePoint de Redmond, Italia y Bélgica para sentarse con algunos de los ISVs que ya están trabajando con SharePoint 2007 y ayudarles a resolver dudas y otros temas escabrosos. La verdad es que este tipo de iniciativas está funcionando bastante bien, ya que permiten a muchas empresas resolver dudas insitu y además establecer contactos con gente del grupo de producto.

Aprovecho para bloguear un poco de vuelta en AVE a Sevilla. Si!, me han puesto un AVE Sevilla-Huesca!

Publicado por Jose Murillo's Blog

Visual Studio 2005 Service Pack 1 Beta ya está disponible

De hecho salió hace 15 días, pero no he sacado ni  un minuto para escribir en el blog, ¡que pasa!. J Lo dicho, disponible en http://connect.microsoft.com/VisualStudio/content/content.aspx?ContentID=3311
Publicado por Jose Murillo's Blog

Portal para ISVs InnovateOnVista

¿Necesitas información para desarrollar para Vista? En este enlace encontraréis cantidad de recursos interesantes: http://www.innovateonwindowsvista.com/
Publicado por Jose Murillo's Blog

¿Conocéis CodePlex?

Me imagino que ya todos conocéis esta Web de código sobre plataforma Microsoft. Si no es así os animo a echarle un vistazo en www.codeplex.com. No deja de sorprenderme ver proyectos cuya descripción es “Business Framework”, ¡toma ya!
Publicado por Jose Murillo's Blog

Disponibles los nuevos logos para Windows Vista

Ya están disponibles las nuevas certificaciones de productos para Windows Vista. Podréis encontrar más información en http://www.microsoft.com/windowsvista/getready/logos.mspx
Publicado por Jose Murillo's Blog

Presentaciones del TechEd 2006 Boston-Londres

Ya podéis acceder a los videos de las presentaciones bajo demanda en IT’s Showtime! by TechNet
Publicado por Jose Murillo's Blog

Software como Servicios

Seguro que muchos de vosotros ya habéis empezado a oír este término en cantidad de foros. Se trata de hospedar las tradicionales aplicaciones de los ISVs en hosters de Internet, en lugar de distribuirlas bajo demanda como producto a cada uno de los clientes finales.

Se trata de un nuevo modelo de negocio a explotar, donde entran en juego conceptos como el “buy before you try” o los ingresos por la publicidad, sí, habéis oído bien, se trata de una nueva forma de financiar el software a través de la industria de la publicidad online.

Otros de los beneficios de esta paradigma es la posibilidad de atacar a clientes mucho menores, donde en un modelo de despliegue de software tradicional como producto empaqueta el coste es demasiado alto y no impide llegar a ellos. De esta nueva forma podemos hacer acciones de generación de demanda mediante marketing que dirijan a nuestra aplicación online y dar la posibilidad de probarlo y comprarla automáticamente mediante mecanismos de aprovisionamiento desasistidos.

Indudablemente este tipo de soluciones tienen un coste técnico a nivel Arquitectónico, del cual se ha escrito mucho en Architecture for SaaS. Se trata de productos completamente diseñados para internet, dando servicio a miles de usuarios concurrentemente pero siendo capaz de hacer “separaciones lógicas” entre las diferentes instancias de cada cliente. Si tenemos un ERP online, queremos que los cientos de empresas que lo utilicen usen la misma instancia (mismos servidores físicos e instancia de aplicación lógica), pero para ellos debe de comportarse como aplicaciones estancas una de otras.

Más información en http://www.microsft.com/saas

Publicado por Jose Murillo's Blog

Compatibilidad de Aplicaciones con Internet Explorer 7

Muy próximamente se liberará la versión 7 de Internet Explorer. Algunos ya estáis probando la compatibilidad de vuestras aplicaciones, muchos de vosotros sin problemas y otros con algunos problemas de compatibilidad debido al reforzamiento de la seguridad.

Aquí encontraréis recursos para poder asegurar la compatibilidad de vuestras Webs:

• IE7 – Download the most recent build of Internet Explorer 7  - http://www.microsoft.com/windows/ie/default.mspx
• IE7 Readiness Toolkit for Developers, Testers & ITPros - http://go.microsoft.com/fwlink/?linkid=64421
• IE7 Application Compatibility Tool 5.0 (ACT 5.0) - http://www.microsoft.com/technet/windowsvista/appcompat/tools.mspx
• IE7 Blocker Toolkit Download - http://go.microsoft.com/fwlink/?linkid=65788
• IE7 Blocker Toolkit FAQ - http://www.microsoft.com/technet/updatemanagement/windowsupdate/ie7blockertoolfaq.mspx
• IE7 Distribution via Automatic Updates (AU) and Windows Update (WU) - http://www.microsoft.com/technet/updatemanagement/windowsupdate/ie7announcement.mspx

Publicado por Jose Murillo's Blog

Expiraciones de Visual Studio Team Foundation Trial

Muchos clientes se están quejando con toda la razón de que la versión Trial de Team Foundation expira sin ningún aviso previo, obligando a actualizar a una versión final para poder continuar trabajando. Tened en cuenta esto para que no os coja de sorpresa.

Más información sobre los mecanismos de actualización en http://msdn2.microsoft.com/en-us/library/ms404844.aspx

Publicado por Jose Murillo's Blog
Más artículos Página siguiente >