Business Intelligence y SharePoint

Posted on Leave a commentPosted in Servicios

En está ocasión hablaremos del uso tecnologías para el análisis enriquecido de información y las partes que la conforman cuando se implementan junto con SharePoint dentro de una solución organizando la información a través de reportes que ayuden a la toma de decisiones de negocio.

Microsoft ofrece una amplia gama de tecnologías Business Intelligence para la explotación, visualización y presentación de la información. Estas tecnologías en conjunto con las funcionalidades de un portal colaborativo son una poderosa herramienta en una organización cuando se trata del análisis de datos.

Power Pivot: El Modelo de Datos

Básicamente un modelo de datos es la manera como está organizada la información y sus relaciones. Power Pivot nos provee de una capa de acceso a datos a través de los conocidos Power Pivot workbooks.

Excel a través del Power Pivot add-in nos permite acceder, importar y organizar nuestros datos de manera tabular o multidimensional, para posteriormente poder utilizarlos y crear reportes.

Entre sus principales funcionalidades tenemos:

  • Importar datos desde múltiples fuentes
  • Filtrar la información, evitando así, importar datos innecesarios.
  • Crear relaciones y jerarquías
  • Definir indicadores clave de performance KPI (key performance indicators)
  • Definir Campos calculados
  • Crear perspectivas
  • Crear formulas y consultas avanzadas a través del lenguaje DAX

Power Pivot juega un papel importante, ya que será el núcleo que emplearemos en la elaboración de reportes y su posterior visualización dentro de SharePoint.

 

Power View: Los reportes

Power View es un add-in de SQL Server Reporting Services, que permite la elaboración de reportes directamente desde Excel, utilizando el modelo de datos basados en los Power Pivot workbooks.

Es decir, Power View nos provee de las funcionalidades de presentación ofreciendo un amplio catálogo de gráficos con la ventaja de interactuar a través de una interfaz reconocida como lo es Excel ya sea de forma local o directamente desde SharePoint.

Una característica relevante es la posibilidad de integrar filtros con el objetivo de interactuar de manera dinámica con el gráfico. Dado que Power View utiliza la tecnología de SilverLight, su integración dentro de las páginas en un portal de SharePoint es posible.

El poder de SharePoint y Power View

Como mencionamos al inicio, el empleo de estas tecnologías, hace posible la publicación de reportes dentro de portales colaborativos, convirtiendo a SharePoint en una herramienta versátil de Business Intelligence.

Una vez creado el modelo de datos y configurado los reportes desde Excel 2013, el siguiente paso es la publicación dentro del portal. Para esto, SharePoint 2013 nos ofrece varias opciones de publicación las cuales enumeraremos a continuación:

  • Power Pivot Gallery, es un repositorio que almacena únicamente archivos de Power Pivot, permite vista previa en forma de thumbnail, así como ordenar y hacer las búsquedas propias de una biblioteca de documentos de SharePoint.
  • Biblioteca de documentos, permite acceder directamente a los archivos Power View con las características propias de una biblioteca de documentos de SharePoint pero sin vista previa. Una forma de publicar estos archivos es a través de una página de SharePoint y una Web Part de contenido HTML
  • Embebida dentro de un PerformancePoint Dashboard.

Cabe mencionar que, aunque Power View es parte de Reporting Services, no es posible visualizar reportes hechos con Power View utilizando las Web Parts de Reporting Services.

Estas son solo algunas opciones disponibles, dentro de SharePoint para la publicación de reportes, gráficos, y dashboards. Esperamos este post sirva de guía para aquellos que deseen incursionar en el mundo del Business Intelligence empleando tecnología de Microsoft.

Si quieres conocer un poco más o tienes algún proyecto de negocio en puerta

Contáctanos: contacto@extend.com.mx

 

 

Imagen de perfil de Romeo Alvarez

Romeo es ingeniero de formacion, con una Maestria en Telecomunicaciones, cuenta con amplia experiencia en Soluciones desarrolladas en plataformas Microsoft. SharePoint y Azure como sus tecnologias predilectas. Actualmente Romeo es Lider de desarrollo dentro del equipo de Operaciones en Extend

Azure y el desarrollo en la Nube Parte 2

Posted on Leave a commentPosted in Servicios

En una entrada anterior a este blog, hemos hablado de algunos conceptos de Azure y la relevancia que tiene al momento de crear entornos de desarrollo. En esta ocasión, hablaremos acerca de las opciones que Azure nos ofrece al momento de desarrollar y publicar aplicaciones.

Virtual Machines (IaaS)

Comencemos con los sitios Web, Azure ofrece la posibilidad de crear máquinas virtuales a partir de plantillas con entornos de desarrollo prácticamente listos para crear una aplicación desde cero o migrar una ya existente. Estos entornos pueden ser generados con sistemas operativos tanto de Microsoft como de código abierto. La creación de máquinas virtuales a partir de plantillas, no sólo se limita a la generación de ambientes de desarrollo, sino que también ofrece una amplia gama de opciones que incluye soluciones y aplicaciones listas para utilizarse como puede ser el caso de plantillas de WordPress por mencionar una. Sin embargo un tema muy importante a tomar en cuenta será la responsabilidad de administrar las máquinas virtuales y sus sistemas operativos, lo cual representa una ventaja y desventaja al mismo, puesto que esencialmente requiere tener conocimiento para instalar y configurar IIS, versiones del frame work etc.

Web Roles (PaaS)

Los roles Web son la opción que ofrece Azure de ejecutar una aplicación de tipo Web sin tener que administrar el servidor. Esto es lo que se conoce como un entorno web administrado. De esta forma, Azure nos provee de un entorno configurado y administrado en su totalidad, donde podemos publicar nuestro sitio Web utilizando una vasta gama de tecnologías, C#, Java, PHP, Python por mencionar algunas.

Los Servicios Web, tienen la característica de poder contener, además de un Web Rol, un Worker Rol o rol de trabajo. Como ya se ha mencionado anteriormente, se trata de un servicio en la nube que ejecuta tareas en segundo plano.

Este tipo de servicio, tiene ventajas como la alta disponibilidad y escalabilidad, ya que es posible agregar o quitar instancias de forma dinámica para equilibrar las solicitudes de carga, pagando únicamente por los recursos que se ejecuten. Sin embargo, la en este escenario tenemos dos desventaja, la primera es que al no tener acceso a la administración servidor, no se podrá instalar ningún tipo de software o actualización a nivel de servidor; la segunda es que las instancias no son persistentes lo que implica guardar todos los datos fuera de la máquina donde se ejecuta.

Herramientas para desarrolladores

Ya que tenemos una idea básica de las opciones de servicios de Azure, podemos hablar sobre las herramientas que ofrece al momento de desarrollar una aplicación.

El punto de partida para la mayoría de desarrollos es Visual Studio y el Azure SDK, juntos proveen un entorno de desarrollo con una biblioteca especializada en Azure; Incluyendo un simulador de instancias, simulador de web y worker roles. Adicional, Visual Studio ofrece soporte para  una gran variedad de plataformas, integración continua y despliegue de soluciones tanto en IaaS como en PaaS. Con la ventaja de integrar tareas de mantenimiento a través de comandos de PowerShell.

Además de Visual Studio, Azure cuenta el servicio denominado Visual Studio Team Services, el cual provee un conjunto de herramientas capaces de interactuar con otros IDEs (entornos de desarrollo integrados) así como de herramientas para crear y gestionar las tareas del backlog; Ejecutando sets de prueba de carga, Visual Studio Team Services determinará automáticamente cuántos agentes o máquinas virtuales se necesitan para dar soporte a nuestra aplicación.

Finalmente, antes de hacer una elección sobre cualquiera de los modelos aquí mencionados, así como de las herramientas empleadas, es importante hacer un análisis de los requisitos de nuestra solución, con la finalidad de hacer la elección, tomando en cuenta elementos como el nivel de administración, la carga de usuarios, el tipo de solución web o el tipo de almacenamiento entre otros.

Adopta la nube con los expertos..

Si quieres conocer un poco mas o tienes algún proyecto de negocio en puerta

Contactanos: contacto@extend.com.mx

Mas acerca de Computo en la Nube

Imagen de perfil de Romeo Alvarez

Romeo es ingeniero de formacion, con una Maestria en Telecomunicaciones, cuenta con amplia experiencia en Soluciones desarrolladas en plataformas Microsoft. SharePoint y Azure como sus tecnologias predilectas. Actualmente Romeo es Lider de desarrollo dentro del equipo de Operaciones en Extend

Aplicando una estrategia Agil en el Desarrollo

Posted on Leave a commentPosted in ALM, Arquitectura, Cloud, Consultoría, Desarrollo de Aplicaciones, Servicios

¡Piensa Ágil!

Cuando se trata de proyectos de desarrollo, uno de los primeros  aspectos que se debe de tomar en cuenta es la metodología que se empleará para su gestión. En está ocasión hablaremos de los conceptos básicos de la filosofía Scrum  y de algunos puntos a los que recomendamos prestar cierta atención al momento de adoptarla.

Por mucho tiempo  los desarrollos de software han seguido el enfoque tradicional  conocido como waterfall, el cual se lleva a cabo en una serie de etapas estrictamente secuenciales. Este enfoque define una serie de fases que van desde el análisis y diseño, hasta la fase de pruebas y verificación. Si bien este enfoque define claramente  las tareas a ejecutar en cada etapa, tiene la desventaja que se presenta mayormente  cuando no se tiene una idea clara o completa de funcionalidad que se requiere desde un inicio,  ocasionando que la integración de cambios en algún requerimiento impacte dramáticamente en la entrega del proyecto.

Las metodologías agiles como Scrum, por otro lado, son un enfoque de desarrollo iterativo e incremental, donde esencialmente los requerimientos son revisados periódicamente (iteración)  con el objetivo de crear pequeñas piezas de software funcionales (incremento).

Los primeros conceptos de Scrum datan de inicios de los 90, siendo Ken SchwaberJeff Sutherland los principales autores de la guía de Scrum. La gran aportación de esta guía, radica en definir  los artefactos, tiempos y roles que se utilizan en Scrum.

 

Artefactos, Flujos y Roles.

Resumiendo un poco los principales roles, tenemos el Product Owner, encargado de representar a todos los interesados por parte del negocio, el Development Team, responsables de la creación y entrega del producto y finalmente el Scrum Master quien será el que facilite la comunicación, remueva impedimentos, y asegure que los procesos estén apegados a Scrum.  En su conjunto estos tres roles forman lo que se conoce como Scrum Team.

ScrumStragtegy

Dentro de los Flujos o iteraciones, Scrum define una serie de reuniones de coordinación y tiempos de entrega, tales como los Sprint, Daily scrum, y Sprint reviews.  Es común que el Daily Scrum se inicie haciendo con gran entusiasmo, y con el paso del tiempo se vaya dejando en segundo plano, para finalmente en ocasiones prescindir de esta reunión. Hay que tomar en cuenta que el objetivo de esta pequeña reunión es el tener conocimiento de las tareas que cada miembro del equipo pretende realizar y conocer si existe algún impedimento para cumplirlas, y no un reporte o evaluación de actividades. Llevar a cabo las reuniones diarias de Scrum, permitirá avanzar más rápidamente y  evitará que dos miembros del equipo trabajen en una misma tarea,  con lo que se evita la duplicidad de trabajo.

Dos de los artefactos a los que se debe prestar atención, son  el Sprint backlog y el concepto de Done (hecho o finalizado), el Sprint backlog es la lista de tareas o trabajo que el Development Team debe completar en una entrega  o Sprint.  El concepto de Done,  es la definición o criterio de aceptación que determina que una tarea, interfaz, o funcionalidad esté finalizada. Esto último es muy importante ya que generalmente el concepto de finalizado es un tema muy subjetivo, por lo que es recomendable definir para cada caso las consideraciones a tomar para dar por completado un requerimiento.

sprint_backlog

‘Valorar más el software que funciona que la documentación exhaustiva’.

Finalmente, una característica importante y muchas veces mal entendida, es dejar en último término la elaboración de documentación o incluso prescindir de ella. Si bien las metodologías como Scrum dan prioridad a la interacción entre usuarios y desarrolladores con la finalidad de obtener una retroalimentación frecuente, no debe descartarse generar al menos una documentación básica que describa el funcionamiento y los componentes de la solución.

Nuestros equipos de desarrollo en Extend asi como nuestros clientes, han encontrado en Team Foundation Server, la plataforma por excelencia que sin duda te ayudara “Aplicando una estrategia Agil en el Desarrollo”, pregunta a nuestros expertos

Si quieres conocer un poco más o tienes algún proyecto de negocio en puerta, contáctanos:contacto@extend.com.mx

Te invito a conocer Nuestro enfoque en ALM!!

Imagen de perfil de Romeo Alvarez

Romeo es ingeniero de formacion, con una Maestria en Telecomunicaciones, cuenta con amplia experiencia en Soluciones desarrolladas en plataformas Microsoft. SharePoint y Azure como sus tecnologias predilectas. Actualmente Romeo es Lider de desarrollo dentro del equipo de Operaciones en Extend

Portales colaborativos: Siguiente nivel.

Posted on Leave a commentPosted in Servicios

Hoy en día los portales colaborativos como SharePoint son una herramienta de trabajo indispensable dentro de cualquier organización,  ya que posibilitan centralizar información en un mismo sitio, permitiendo compartir no sólo documentos sino también, recursos como calendarios, noticias, sitios wiki, notificaciones, etc. Esto reduce considerablemente la duplicidad de contenidos y la redundancia de tareas.

Al mismo tiempo las redes sociales son hoy por hoy  una de las aplicaciones  más utilizadas  después del correo electrónico ya que permiten a los usuarios una interacción amigable, facilitando el conocimiento de personas con intereses en común.

Es por esto que los usuarios demandan cada vez más las funcionalidades ofrecidas por una red social como Yammer  dentro de sus portales corporativos, puesto que permite contar con un espacio de trabajo con contenidos privados y al mismo tiempo estar actualizado sobre temas y  gustos de sus compañeros de trabajo.

SyY

SharePoint  y Yammer

Las bondades de ambas herramientas las encontramos con la integración de Yammer y SharePoint. Si bien SharePoint cuenta con una serie de aplicaciones de red social, Yammer es la opción por excelencia al momento de implementar una solución de este tipo.

¿Por qué?   Podemos mencionar dos razones principales,  la primera es que el uso de Yammer está orientado a personas dentro de una misma corporación, lo que la convierte en una herramienta  ideal para integrarse con el SharePoint de la organización y sus usuarios. La segunda, son las funcionalidades que provee Yammer a través de su REST API.

yammer

REST API de Yammer

La REST API de Yammer es un conjunto de funciones que permiten acceder a las herramientas y opciones de la red social a través del protocolo HTTP. Al ser un conjunto de funciones expuestas en este formato, facilita la integración en páginas HTML dentro de portales SharePoint.

Pero, ¿Cuál es la ventaja de esto? La principal, el nivel de personalización de las funciones de Yammer: la bandeja de entrada, el muro de mensajes o compartir enlaces, por mencionar algunas. Es decir, es posible integrar dentro de nuestro sitio, pequeñas funcionalidades de Yammer, según se requieran, con la flexibilidad de presentar esta información con un diseño personalizado.

Sin embargo, un tema que habrá que tomar en cuenta al momento de implementar una solución de este tipo, será la limitante en el número de mensajes que se pueden obtener en una sola consulta, así como el número de consultas que se pueden hacer cada determinado tiempo.

Este tipo de restricciones no representan mayor inconveniente a la hora de aplicar la solución dentro de nuestro SharePoint, puesto que siempre es posible encontrar un balance entre la información que se quiere mostrar y la frecuencia con la que se harán las consultas.  Una de las prácticas recomendadas es obtener una vista previa de los contenidos con el objetivo de no consumir demasiados recursos y posteriormente hacer uso de las funcionalidades que muestren información más detallada.

 

Si quieres conocer un poco más o tienes algún proyecto de negocio en puerta, contáctanos: contacto@extend.com.mx

Imagen de perfil de Romeo Alvarez

Romeo es ingeniero de formacion, con una Maestria en Telecomunicaciones, cuenta con amplia experiencia en Soluciones desarrolladas en plataformas Microsoft. SharePoint y Azure como sus tecnologias predilectas. Actualmente Romeo es Lider de desarrollo dentro del equipo de Operaciones en Extend