Liberados los Web Application Toolkits!

Además del lanzamiento de la iniciativa de apoyo a empresas TIC especializadas en el diseño e implementación de aplicaciones web a través de Microsoft WebSiteSpark, Microsoft liberó ayer los Web Application Toolkits. Tal y como comenta Fernando García Loera (MVP Lead para Latinoamérica) en su blog, estos toolkit incluyen una serie de recursos, plantillas y documentación pensados para facilitar el diesño e implementación de aplicaciones web. Dentro de los toolkits tenemos:

clip_image002

clip_image004

clip_image006

clip_image007 clip_image009 clip_image011
  clip_image013  

Sin duda, estos toolkit son unos recursos de referencia excelentes para construir aplicaciones web.

+ Iniciativas de apoyo a emprendedores: Nace Microsoft WebSiteSpark!

Sin duda, esta es una gran noticia para dar apoyo a la pequeña empresa que muchas veces se encuentra en serias dificultades para acceder recursos clave para continuar con su actividad. Y es que ayer Microsoft anunció la puesta en marcha de Microsoft WebsiteSpark. Se trata de nuevo programa global, en sintonía con otros ya existentes como Microsoft BizSpark y Microsoft DreamSpark, pensado para que las pequeñas empresas de servicios que realicen actividades de diseño y desarrollo web tengan nuevas oportunidades de negocio mediante conexiones con socios y clientes globales, soporte y preparación, y sobre todo el acceso gratuito a herramientas de Microsoft para la creación de aplicaciones web. Tal y como nos comenta Miguel Almeyda en su blog, WebsiteSpark ofrece a las compañías de diseño y desarrollo web un vehículo innovador para el acceso a:

  • Oportunidades de negocio: oportunidades para ampliar la base de clientes e impulsar nuevos negocios que destaquen sus capacidades y les pongan en contacto con socios a través de WebsiteSpark Marketplace y otros vehículos de red de contactos de negocios y marketing de Microsoft.

  • Soporte y formación: el soporte de Microsoft y las conexiones con Network Partner de WebsiteSpark, Hosting Partners y otros diseñadores y desarrolladores web, con tecnologías complementarias o modelos de negocio, un ecosistema completo que puede ofrecer una amplia gama de recursos técnicos y de negocios para todas la necesidades profesionales en la Web.

  • Software y soluciones: acceso rápido, sencillo e inmediato a las herramientas de desarrollo de Microsoft con toda su funcionalidad y licencias de producción de servidores web sin costo inicial alguno, para crear, diseñar y comercializar sitios de Internet diferenciados, ricos e innovadores.

Además proporciona de forma gratuita acceso a:

  • 3 licencias de Visual Studio 2008 Professional.

  • 2 licencias de Microsoft Expression Web 3.

  • 1 licencia de Microsoft Expression Studio 3.

  • 4 licencias de procesador en ambiente de producción de Microsoft Windows Server 2008 o R2 (en cuanto se libere).

  • 4 licencias de procesador en ambiente de producción de Microsoft SQL Server Web edition.

  • 1 DotNetPanel premium.

Adicionalmente tendrás acceso a soporte y entrenamiento:

  • 2 incidentes de soporte técnico por empresa.

  • Acceso a soporte de comunidad.

  • Acceso a grupos de noticias de MSDN.

Más información en el sitio de Microsoft WebsiteSpark. Descarga el documento con todos los detalles.

WebsiteSpark Logo

Suges – Soluciones de negocio basadas en las tecnologías de Búsqueda en plataforma SharePoint: Disponibles para descarga los materiales del WebCast!

Ya tenéis disponibles para descarga los materiales del WebCast Soluciones de negocio basadas en las tecnologías de Búsqueda en plataforma SharePoint que realizamos ayer dentro de la actividad de SUGES y gracias a la colaboración de Agustín Corredera, quien durante 90 minutos  realizó un interesante recorrido de las capacidades de la plataforma SharePoint en cuanto a funcionalidades de búsqueda se refiere, y particularizando en FAST. Los ejemplos que mostró Agustín al final del WebCast sobre implementaciones reales de FAST son realmente interesantes y a tener en cuenta. Podéis descargaros los materiales del WebCast desde este enlace.

SUGES2010_1

S+S: El primer mega Data-Center de Europa inicia su actividad!

Sin duda una gran noticia para la estrategia S+S de Microsoft ha sido la que hemos conocido hoy: el inicio de la actividad del primer mega Data-Center de Europa ubicado en este caso en Dublín. Podéis leer los detalles de esta noticia en la nota de prensa publicada por Microsoft. Desde luego, las cifras que se comentan son impresionantes: 500 millones de $ de inversión. Además, es destacable el que este Data-Center se ha concebido como sostenible desde el punto de vista de eficiencia energética (un 50 % más que los data centers tradicionales) y sobre todo que será una pieza clave para cubrir la demanda que Microsoft prevé de  los Online Services , Live Services y Cloud Services, como son Bing, BPOS, Windows Live y la plataforma de servicios de Azure.

image

.NET Framework 3.5 Chart Controls: Como consumir los datos de un cubo de Analysis Services!

Hace unos meses que tenía pendiente escribir este post sobre como consumir los datos de un cubo de SQL Server Analysis Services (SSAS) dentro de los .NET Framework 3.5 Chart Controls. La verdad es que el tema tiene sus truquillos, aunque por suerte y gracias a alguna ayudita de los chic@s de CIC, conseguí hacer una pequeña prueba de como mostrar datos de un cubo de SSAS en un control de tipo gráfico de los Chart Controls…y de aquí a llevarlo a SharePoint coser y cantar ;-). Básicamente los pasos a seguir de forma resumida son los siguientes:

  • En primer lugar, añadir a nuestra capa de presentación un control de tipo Chart. En mi caso, cogí un proyecto de tipo Web.
  • Añadir a nuestro proyecto una referencia a Microsoft.AnalysisServices.AdmdClient para poder conectaros al cubo y devolver los datos necesarios.

image

  • En la vista de código de nuestra página ASP.NET añadir las referencias necesarias para configurar por un lado el chart control y acceder por otro al cubo de SSAS.

using System.Data;

using Microsoft.AnalysisServices.AdomdClient;

using System.Web.UI.DataVisualization;

using System.Web.UI.DataVisualization.Charting;

using System.Drawing;

  • Configurar de forma adecuada los distintos parámetros del cubo como escala, tipo de gráfico, etiquetas de los ejes, etc. Como esta parte es un tanto pesada, no os replico el código.
  • Probar la consulta al cubo SSAS dentro del SQL Server Management Studio para asegurarnos de que los datos que devuelve son los que esperamos.

image

  • En mi caso, la consulta es:

SELECT NON EMPTY { [Measures].[Internet Sales Amount] }

ON COLUMNS, NON EMPTY { ([Customer].[Country].[Country].ALLMEMBERS *

                        [Customer].[State-Province].[State-Province].ALLMEMBERS *

    [Customer].[City].[City].ALLMEMBERS ) } DIMENSION PROPERTIES MEMBER_CAPTION,

    MEMBER_UNIQUE_NAME ON ROWS FROM [Adventure Works] CELL PROPERTIES VALUE,

    BACK_COLOR, FORE_COLOR, FORMATTED_VALUE, FORMAT_STRING, FONT_NAME,

    FONT_SIZE, FONT_FLAGS

  • Replicar la consulta anterior en un método de la página ASP.NET. En este caso el método tendría que contener al menos el siguiente código:

                CadenaConsulta =

                    "SELECT NON EMPTY { [Measures].[Internet Sales Amount] }"+

                    " ON COLUMNS, NON EMPTY { ([Customer].[Country].[Country].ALLMEMBERS *" +

                    " [Customer].[State-Province].[State-Province].ALLMEMBERS *" +

                    " [Customer].[City].[City].ALLMEMBERS ) } DIMENSION PROPERTIES MEMBER_CAPTION," +

                    " MEMBER_UNIQUE_NAME ON ROWS FROM [Adventure Works] CELL PROPERTIES VALUE, BACK_COLOR," +

                    " FORE_COLOR, FORMATTED_VALUE, FORMAT_STRING, FONT_NAME, FONT_SIZE, FONT_FLAGS";

               

                CadenaConexion =

                    "Provider=MSOLAP.4;Data Source=SHAREPOINT-SSRS;Integrated Security=SSPI;" +

                    "Data Source=SHAREPOINT-SSRS;Initial Catalog=Adventure Works DW";

 

                 //Nos creamos un objeto de tipo CellSet para guardar los resultados de la consulta:

                CellSet CS_Auxiliar;               

 

                //Establecemos la conexión:

                AdomdConnection ADOM_Conexion =

                    new AdomdConnection();

                ADOM_Conexion =

                    this.Establecer_Conexion();

               

                //nos creamos un objeto de tipo ADOMDCommand:

                AdomdCommand ADOM_Control =

                    new AdomdCommand();

                ADOM_Control =

                    new AdomdCommand(CadenaConsulta, ADOM_Conexion);

 

                // Con el método ExecuteCellSet ejecutaremos la consulta que tenemos en ADOMDConsulta.

                // Los resultados se guardarán en un objeto de tipo CellSet:

                CS_Auxiliar =

                    ADOM_Control.ExecuteCellSet();

 

                // Cerramos la conexión:

                this.Cerrar_Conexion(ADOM_Conexion);

 

                // Retornamos el objeto CS_Consulta:

                return CS_Auxiliar;

  • Cómo se puede observar en el código anterior, simplemente:
    • He “pegado” en código la consulta que había probado en el SQL Server Management Studio.
    • A continuación especifico la cadena de conexión al cubo de SSAS. La clave de esta cadena está en especificar el proveedor adecuado (MSOLAP.4 para SSRS 2008), el servidor, fuente de datos y cubo.
    • A continuación se declaramos un objeto de tipo CellSet en el que almacenaremos los resultados devueltos al ejecutar la consulta al cubo de SSAS.
    • Creamos una instancia de AdomdConnection para conectarnos al cubo.
    • Abrimos la conexión al cubo.
    • Creamos una instancia de AdomdCommand a partir de la cadena de consulta al cubo y la cadena de conexión al mismo.
    • A continuación llamamos al método ExecuteCellSet() del objeto anterior para ejecutar la consulta y el resultado lo guardamos en el objeto de tipo CellSet.
    • Finalmente, cerramos la conexión al cubo.
    • Devolvemos el objeto CellSet puesto que será el que utilicemos para alimentar el chart control.
  • Los métodos para abrir y cerrar la conexión al cubo son los siguientes:

        // Método para abrir la conexión:

        private AdomdConnection Establecer_Conexion()

        {

            //Con el objto conexión establecemos la conexión a través de la propiedad

            //cadena de conexión que nos ha pasado el usuario:

            AdomdConnection ACon_Conexion=null;

            try

            {

                ACon_Conexion =

                    new AdomdConnection(CadenaConexion);  

                //Ahora abrimos esa conexión:

                ACon_Conexion.Open();

                string version =

                    ACon_Conexion.ClientVersion;  

                //Retornamos la conexión:

                return ACon_Conexion;

            }

            catch (Exception  ex)

            {

                return ACon_Conexion;

            }

        }  

        // Método para cerrar la conexión:

        private void Cerrar_Conexion(AdomdConnection ACon_Conexion)

        {

            ACon_Conexion.Close();

        }

  • Finalmente, si visualizamos nuestra página ASP.NET, el resultado que obtendremos es el siguiente:

image

Y hasta aquí llega este ejemplo sobre como mostrar datos de un cubo de SSAS en un chart control. Espero que el post os haya resultado interesante.

Nuberos.Net: No hay web nueva (todo se andará), pero si nuevo dominio!

Después de unos meses en los que la página del grupo de usuarios .NET de Cantabria (Nuberos.Net) ha estado “desaparecida en combate” por problemas con el dominio anterior (daros una vuelta por www.nuberos.net, ni idea de lo que ha pasado), por fin estrenamos dominio nuevo en Nuberos.es. La nueva url del grupo es: www.nuberos.es. Como veis, la página es la misma aunque para 2010 habrá cambios, empezando con llevarnos la web de SharePoint 2007 a SharePoint 2010. Comentaros también que desde el CIIN, y en concreto nuestro “jefe de sistemas” Pablo, hemos tenido que solucionar algún que otro “issue” provocado por nuestro querido SharePoint y su especial sensibilidad con cambios de nombres ;-).

image