cesnavarra 2008-boletín 4

54
Título Implementación de Efectos 3D mediante shaders Texto Los efectos empleados en las primeras aplicaciones 3D estaban basados y limitados por el pipeline fijo de las APIs utilizadas. Sin embargo a medida que han pasado los años esos pipelines han pasado a ser programables, dando una mayor libertad a los programadores a la hora de crear gráficos 3D y generando efectos mucho más realistas y detallados. Estos pipelines programables están compuestos por pequeños programas, conocidos como shaders , que actúan directamente sobre los distintos vértices y píxeles de un objeto. Los que actúan a nivel de píxel se llaman Pixel Shaders y los que lo hace a nivel de vértice se llaman Vertex Shaders. Hoy en día existe otro tipo de shaders, los Geometry Shaders, que actúan sobre la geometría del objeto, pero todavía están en proceso de prueba. Un Vertex Shader recibe como parámetro un vértice y modifica sus propiedades para que repercutan en la geometría del objeto al que pertenece. Con esto se logran ciertos efectos relacionados con la deformación en tiempo real de un elemento. Un Pixel Shader recibe como parámetro la salida del Vertex Shader y se encarga de la rasterización (rendering), especificando el color de cada pixel. Este tratamiento individual de los pixeles permite que se realicen cálculos en tiempo real del objeto del cual forman parte, principalmente de iluminación. Para escribir estos shaders existen unos lenguajes específicos: HLSL (High Level Shading Language), usado con DirectX y propiedad de Microsoft GLSL (OpenGL Shading Language), usado con OpenGL y libre CG (C for graphics), usado con DirectX y OpenGL y propiedad de la empresa Nvidia. Un ejemplo de shader sencillo, escrito en HLSL, sería el siguiente: Primero inicializamos la variables miembro de nuestro vértice, en este caso la posición y el color. struct mVertex { float4 Position : POSITION; float4 Color : COLOR0; };

Upload: cein

Post on 03-Jul-2015

704 views

Category:

Documents


1 download

DESCRIPTION

Respuesta Digi

TRANSCRIPT

Page 1: Cesnavarra 2008-boletín 4

Título Implementación de Efectos 3D mediante shaders

Texto Los efectos empleados en las primeras aplicaciones 3D estaban

basados y limitados por el pipeline fijo de las APIs utilizadas. Sin

embargo a medida que han pasado los años esos pipelines han

pasado a ser programables, dando una mayor libertad a los

programadores a la hora de crear gráficos 3D y generando

efectos mucho más realistas y detallados. Estos pipelines

programables están compuestos por pequeños programas,

conocidos como shaders, que actúan directamente sobre los

distintos vértices y píxeles de un objeto. Los que actúan a nivel

de píxel se llaman Pixel Shaders y los que lo hace a nivel de

vértice se llaman Vertex Shaders. Hoy en día existe otro tipo de

shaders, los Geometry Shaders, que actúan sobre la geometría

del objeto, pero todavía están en proceso de prueba.

Un Vertex Shader recibe como parámetro un vértice y modifica

sus propiedades para que repercutan en la geometría del objeto

al que pertenece. Con esto se logran ciertos efectos

relacionados con la deformación en tiempo real de un elemento.

Un Pixel Shader recibe como parámetro la salida del Vertex

Shader y se encarga de la rasterización (rendering),

especificando el color de cada pixel. Este tratamiento individual

de los pixeles permite que se realicen cálculos en tiempo real del

objeto del cual forman parte, principalmente de iluminación.

Para escribir estos shaders existen unos lenguajes específicos:

HLSL (High Level Shading Language), usado con DirectX y

propiedad de Microsoft

GLSL (OpenGL Shading Language), usado con OpenGL y libre

CG (C for graphics), usado con DirectX y OpenGL y

propiedad de la empresa Nvidia.

Un ejemplo de shader sencillo, escrito en HLSL, sería el

siguiente:

Primero inicializamos la variables miembro de nuestro vértice, en este

caso la posición y el color.

struct mVertex

{

float4 Position : POSITION;

float4 Color : COLOR0;

};

Page 2: Cesnavarra 2008-boletín 4

Definimos la matriz de proyección, que nos permite transformar

nuestro punto 3D, a su equivalente 2D para verlo en pantalla.

float4x4 xViewProjection;

Establecemos el procesado que queremos aplicar a nuestro vértice.

mVertex MainVertexShader( float4 inPos : POSITION, float4

inColor : COLOR0)

{

VertexToPixel Output = (VertexToPixel)0;

Output.Position =mul(inPos, xViewProjection);

Output.Color.rgb = inPos.yxz;

return Output;

}

Este Vertex Shader nos devolverá, el punto 2D a representar en

pantalla. Y el color de ese vértice.

Por último se definen las distintas técnicas de procesado, que pueden

constar de uno o más pasos, y que indican el método a implementar y

el ModelShader (vs_1_1) que tiene que soportar nuestra tarjeta gráfica

para que dicho shader se ejecute correctamente.

technique Simplest

{

pass Pass0

{

VertexShader = compile vs_1_1 MainVertexShader();

PixelShader = NULL;

}

}

Categorías CES Microsoft

Tema Desarrollo

Autor Goretti Ortigosa Rada

Mes Abril

Page 3: Cesnavarra 2008-boletín 4

Año 2008

Boletín 04

Título La TDT y los servicios de valor añadido

Texto A lo largo de estos dos últimos años he asistido a diversos

foros y congresos en los que se ha hablado largo y tendido sobre el tema, y aún sigo sin ver claramente el futuro de

los servicios de valor añadido (sva). Nadie ha sido capaz hasta el momento de arrojar algo de luz sobre las líneas a

seguir.

Antes de entrar en materia, empezaré por explicar que

entiendo por sva en TDT y posteriormente trataré de exponer la situación en Europa y España.

Cómo muy bien le escuché afirmar a una persona entre

tantos congresos, los sva son “buenos, bonitos y baratos”. Cierto, su implantación no suele suponer mucho coste, y

los beneficios pueden ser importantes además de aportar diferenciación, frescura, imagen de marca, etc, aunque con

esto tampoco he dicho gran cosa. Los sva son servicios dirigidos al telespectador que complementan la

programación televisiva tradicional aportando una experiencia más rica. En la TDT, estos servicios de valor

añadido se sustentan sobre el canal de datos y por tanto

aquí es donde entra en juego el quizás menos conocido estándar MHP.

Pongamos un par de ejemplos: el teletexto puede

entenderse como un servicio de valor añadido para la televisión analógica tradicional. En la TDT, gracias a su

canal de datos, este teletexto podría convertirse en algo mucho más rico y gráfico además de conseguir una

integración más natural con el contenido televisivo.

Pongamos otro ejemplo: el canal televisivo Bloomberg, un canal dedicado a temáticas financieras y económicas. Si

alguien ha sintonizado este canal alguna vez, habrá notado que al pie de la pantalla suele aparecer un banner por el

que se desplazan diferentes titulares relacionados con la

evolución de la bolsa. Y si cuando viese un titular interesante, pulsando un botón pudiera visualizar más

Page 4: Cesnavarra 2008-boletín 4

detalles acerca de una posible inversión, y si con otro botón

pudiera realizar una compra o venta sobre dicha opción de inversión a través de una tarjeta bancaria u otro sistema

de identificación, todo sin moverse del sofá y sin realizar una llamada telefónica....creo que mucha gente que se

arruinaría.

Pero existen muchas más posibilidades, publicidad

interactiva, tele-tienda, concursos televisivos, tele-asistencia, etc...

Por otro lado, los sva son uno de los tres pilares de la TDT.

Los otros dos, calidad y cantidad de contenidos, ya pueden disfrutarse mediante un decodificador de bajas

prestaciones (zappers) o bien televisiones con decodificadores integrados. Además, la combinación de la

cobertura de la TDT, su presencia en todos los hogares, el amplio colectivo al que va dirigido y el canal de datos

puede reducir la famosa brecha digital. Por tanto, los sva y ese canal de datos sobre el que se sustentan parecen

valores importantes para la TDT sobre los que merece la

pena apostar. Tal y como lo han anunciado, supone el gran éxito de la TDT y uno de los tres porqués del cambio. Sino

se generan sva, la situación de la TDT distará mucho de los objetivos marcados.

Espero que con esto haya quedado más calor el concepto

de sva en TDT.

En Europa la TDT y los sva han tenido una gran aceptación. Es el caso de Italia gracias al T-Gobierno y la plataforma de

pago para los partidos de fútbol. Otro caso de éxito es el de Inglaterra, donde se están consiguiendo grandes sumas de

dinero gracias a los juegos, las apuestas y publicidad interactiva. Este es un caso especial, dado que casi todo el

despliegue de la televisión digital se hace a través del

cable, donde el empleo del canal de retorno está perfectamente resuelto, no sucede así con la TDT y la TV

por satélite, donde el canal de retorno supone una importante barrera.

No obstante, también existen los casos contrarios, como

Francia donde hay una ausencia total de interactividad en TDT y sva.

En España, la situación es incierta, algunos dirían que

desoladora. Todos los agentes involucrados en la TDT

Page 5: Cesnavarra 2008-boletín 4

tienen opiniones encontradas y parecen echarse los trastos

unos a otros, un círculo vicioso, evidenciando una falta de convencimiento y de liderazgo.

La realidad es que se trata de un mercado ciertamente

complejo dado el amplio número de sectores diferentes

afectados:

Fabricantes de decodificadores de TDT: existe poca oferta de decodificadores con MHP y modestas

características técnicas. Distribuidores: no se arriesgan a poner en venta

decodificadores con MHP sin una demanda clara. Ciudadano / telespectador: escaso conocimiento de la

existencia de sva y de la necesidad de decodificadores MHP para disfrutar de los mismos.

Canales de TV: Alto coste la coexistencia de las

licencias analógica y digital antes del apagado analógico. Es lógico que no se planteen entonces

invertir en sva. No obstante, no es el caso, dado que están pagando por un canal de datos, ¿porque no

usarlo? Pero no saben el modo de hacerlo ni sus posibilidades. De nuevo, desconocimiento. Aunque no

todos piensan igual, la televisión siempre ha sido, y en opinión de algunos seguirá siendo, un medio

pasivo de entretenimiento. No obstante, esto puede cambiar siempre y cuando se culturice a los

ciudadanos en la nueva televisión por TDT. Empresas TIC desarrolladoras de sva: Son las que

más intentan tirar del carro, haciendo ver las posibilidades del canal de datos. Pero haciendo

mucho hincapié en que deben desarrollarse sva

interesantes para el telespectador de forma que se sienta atraídos por estos contenidos y los demande.

Administración: Realiza proyectos interesantes relacionados con el T-Gobierno pero de una forma

aislada, que no crea la masa crítica de demanda suficiente.

Impulsa TDT: Organismo impulsado por la administración para fomentar la TDT. Está agrupada

por todos los radiodifusores (públicos y privados). Parece la figura idónea que debe marcar los pasos,

liderar las acciones necesarias para la implantación de la TDT y los sva. Pero de momento se está

centrando en la TDT, relegando a un segundo plano los sva por el momento, algo que se le achaca

Page 6: Cesnavarra 2008-boletín 4

constantemente.

En torno al 80% de los proyectos relacionados con sva se han impulsado mediante subvenciones, la gran mayoría

relacionados con servicios de la administración dirigidos al ciudadano y en muchos casos simplemente por quedar

bien, en vez de usarlo de una forma conveniente para fomentar su uso y expansión.

Vista esta situación resulta extraño que empresas

Españolas estén realizando proyectos pioneros en Europa y liderando desarrollos en torno a los sva y el canal de datos

en países extranjeros (Inglaterra), cuando España se encuentra a la cola en la implantación de dichos servicios.

Como curiosidad, el primer chat en TV del mundo fue desarrollado en 2001 por QuieroTV.

La TDT de pago puede ser una buena oportunidad para marcar un cambio. La televisión de pago precisa de un

acceso condicional y una inteligencia, el MHP puede ser una solución. La administración debería aprovechar para regular

la TDT de pago, fomentando el uso de MHP y estandarizando una plataforma o decodificador abierto que

todos los proveedores empleen en vez de permitir que se fragmente y que cada uno aporte su propia solución

propietaria.

Alguien debe tomar las riendas de esta situación y tirar hacia un lado u otro. Si los sva no tienen cabida en España,

¿porque la regulación marca que se guarde un canal para datos?. Y si verdaderamente se apuesta por dicho canal,

¿porque no se le da uso, se difunde su existencia y se

explota?. Y para poder explotarlos debe suceder lo siguiente:

Crear una masa de audiencia MHP mediantes varias actuaciones: poner a disposición de los ciudadanos servicios gratuitos locales como farmacias de guardia,

etc, darlo a conocer mediante campañas de publicidad y facilitar la adquisición de decodificadores

con MHP, quizás mediante la subvención de los mismos.

Crear modelos de negocio y obtener beneficios, por

ejemplo, mediante la publicidad interactiva. (esto durará años)

Comercializar televisores con TDT y MHP integrado: en Italia se va a hacer, parece que en España

Page 7: Cesnavarra 2008-boletín 4

también lo harán.

La TDT se implantará si o si, la cuestión es, ¿seremos capaces de aprovechar todas sus posibilidades?

Categorías CES OpenSouce/Java

Tema Varios

Autor Raúl Sanz de Acedo

Mes Abril

Año 2008

Boletín 04

Título Microsoft Office Live Small Business (2ª Parte)

Texto Este artículo, es la continuación del publicado el mes anterior y

pretende ser un acercamiento a esta nueva herramienta que Microsoft ha publicado. Para ello, analizaré los apartados que

no dieron tiempo en el boletín pasado.

En primer lugar, analizaremos las nuevas características de venta online (Sell Online). Si pulsamos sobre la opción del

menú, veremos que nos lleva a la siguiente pantalla:

Page 8: Cesnavarra 2008-boletín 4

Si deseamos activar esta característica, pulsamos sobre “Active now” y nos pedirá que nos identifiquemos

nuevamente.

Tras lo cual nos pedirá que cumplimentemos nuestros datos, si no lo hemos hecho ya:

Page 9: Cesnavarra 2008-boletín 4

Si nos fijamos detenidamente en la parte superior veremos que esta característica tiene un precio, con lo cual tendremos

que sopesar si nos merece la pena o no activarla. En caso de hacerlo, nos permitirá crear un comercio digital, con su

correspondiente catalogo de productos, facilidades para el pago con tarjeta de crédito así como el pago con PayPal,

permite enlazar nuestros productos con eBay proporcionando un potente mercado para nuestros productos, y nos facilita

informes de ventas que facilitan la gestión de nuestro sitio:

Page 10: Cesnavarra 2008-boletín 4

Otra característica, que está a nuestra disposición es la

promoción de nuestro negocio (Promote Your Business):

Page 11: Cesnavarra 2008-boletín 4

En esta sección nos encontraremos con herramientas para la promoción de nuestro negocio en diversos buscadores web y la

posibilidad de crear campañas de e-mail, una característica muy útil para promocionar nuestras novedades o información

relevante. Si continuamos con la activación veremos que es una característica gratuita, para un volumen de hasta 200

mensajes por mes, aunque para valores superiores tiene un coste:

Page 12: Cesnavarra 2008-boletín 4

A modo resumen se puede ver que Microsoft tiene una clara orientación por dar una ayuda a la PYME, proveyéndola de

herramientas útiles para su posicionamiento y expansión de negocio en Internet, por medio de estas características:

Page 13: Cesnavarra 2008-boletín 4

Por otro lado tenemos las aplicaciones de negocio (Business Applications) que, con la finalidad de facilitarnos el trabajo,

son una serie de plantillas de sitios que nos proporcionan un espacio donde compartir documentos y otra información de

negocio, lo que agiliza enormemente el trabajo entre nuestros empleados:

Page 14: Cesnavarra 2008-boletín 4

Disponemos de un manejador de documentos, que nos permitirá almacenar y habilitar los permisos de acceso a los

documentos que guardemos en nuestro espacio:

Page 15: Cesnavarra 2008-boletín 4

Una de las características más interesantes que aporta desde mi punto de vista es el espacio de trabajo de equipo (Team

Workspace):

Page 16: Cesnavarra 2008-boletín 4

Este recuerda a SharePoint, dado que usa el mismo motor que WSS 3.0, la idea y finalidad es la misma que este producto, es

decir, crear un espacio de trabajo en red, con una serie de características como el calendario, gestor de tareas,

compartición de documentos, enlaces comunes... que complementan el producto. Esto nos permite la

interoperabilidad entre los diferentes miembros de nuestra empresa en un punto común y de una manera sencilla.

A modo de demostración con la finalidad de ver la potencia de

esta herramienta creamos una nueva aplicación:

Page 17: Cesnavarra 2008-boletín 4

Para ello, de todas las plantillas ya predefinidas, seleccionamos la que más opciones nos puede ofrecer, que es

el espacio en blanco (Blank Workspace), que se encuentra dentro de la sección de aplicaciones adaptables (Your costum

applications):

Page 18: Cesnavarra 2008-boletín 4

Esto nos permite crear un espacio con el nombre y la URL deseados:

Page 19: Cesnavarra 2008-boletín 4

Al ser un sitio en blanco proporciona todas las plantillas que se encuentran a día de hoy disponibles:

Page 20: Cesnavarra 2008-boletín 4

Esto nos permite configurar dicho sitio a nuestro gusto y con una infinidad de posibilidades, pudiendo añadir documentos,

imágenes, tareas, contactos, anuncios, etc. así como información más compleja como formularios, wikis y paneles

de discusión.

Y finalmente y no menos importante, mencionar que se dispone de un menú de configuración de la cuenta:

Page 21: Cesnavarra 2008-boletín 4

Este panel nos permite definir las cuentas de usuario que necesitemos para nuestra aplicación, configurando todos los

apartados de permisos y niveles de acceso de todas las herramientas que hemos presentado. Desde mi punto de vista,

es una herramienta muy útil para PYMEs, que dada la nueva orientación que está llevando Microsoft con su empeño en una

integración perfecta entre su suite Office y el espíritu online que reside en Live, puede ser una apuesta segura de cara al

futuro.

En la misma línea, pero a nivel usuario individual, recomendaría hacer una visita obligatoria a Workspace Live, el

cual da al usuario la posibilidad de tener un espacio de trabajo Online, donde almacenar y compartir documentos. También

invito a conocer SkyDrive, un disco duro en internet de 5

Gigas que Microsoft nos facilita, para que guardemos lo que deseemos: desde nuestra música favorita a esas fotografías,

que nos llenaron la memoria de nuestra cámara digital.

Enlaces de interés:

Microsoft Office Workspace Live:

http://workspace.officelive.com/

Page 22: Cesnavarra 2008-boletín 4

Microsoft Live:

http://home.live.com/?mkt=es-es/ Windows Live SkyDrive:

http://skydrive.live.com

Categ

orías CES Microsoft

Tema Desarrollo

Autor David Valiño Martinez

Mes Abril

Año 2008

Boletí

n 04

Título Microsoft Office Live Small Business (2ª Parte)

Texto Este artículo, es la continuación del publicado el mes anterior y

pretende ser un acercamiento a esta nueva herramienta que Microsoft ha publicado. Para ello, analizaré los apartados que

no dieron tiempo en el boletín pasado.

En primer lugar, analizaremos las nuevas características de venta online (Sell Online). Si pulsamos sobre la opción del

menú, veremos que nos lleva a la siguiente pantalla:

Page 23: Cesnavarra 2008-boletín 4

Si deseamos activar esta característica, pulsamos sobre “Active now” y nos pedirá que nos identifiquemos

nuevamente.

Tras lo cual nos pedirá que cumplimentemos nuestros datos, si no lo hemos hecho ya:

Page 24: Cesnavarra 2008-boletín 4

Si nos fijamos detenidamente en la parte superior veremos que esta característica tiene un precio, con lo cual tendremos

que sopesar si nos merece la pena o no activarla. En caso de hacerlo, nos permitirá crear un comercio digital, con su

correspondiente catalogo de productos, facilidades para el pago con tarjeta de crédito así como el pago con PayPal,

permite enlazar nuestros productos con eBay proporcionando un potente mercado para nuestros productos, y nos facilita

informes de ventas que facilitan la gestión de nuestro sitio:

Page 25: Cesnavarra 2008-boletín 4

Otra característica, que está a nuestra disposición es la

promoción de nuestro negocio (Promote Your Business):

Page 26: Cesnavarra 2008-boletín 4

En esta sección nos encontraremos con herramientas para la promoción de nuestro negocio en diversos buscadores web y la

posibilidad de crear campañas de e-mail, una característica muy útil para promocionar nuestras novedades o información

relevante. Si continuamos con la activación veremos que es una característica gratuita, para un volumen de hasta 200

mensajes por mes, aunque para valores superiores tiene un coste:

Page 27: Cesnavarra 2008-boletín 4

A modo resumen se puede ver que Microsoft tiene una clara orientación por dar una ayuda a la PYME, proveyéndola de

herramientas útiles para su posicionamiento y expansión de negocio en Internet, por medio de estas características:

Page 28: Cesnavarra 2008-boletín 4

Por otro lado tenemos las aplicaciones de negocio (Business Applications) que, con la finalidad de facilitarnos el trabajo,

son una serie de plantillas de sitios que nos proporcionan un espacio donde compartir documentos y otra información de

negocio, lo que agiliza enormemente el trabajo entre nuestros empleados:

Page 29: Cesnavarra 2008-boletín 4

Disponemos de un manejador de documentos, que nos permitirá almacenar y habilitar los permisos de acceso a los

documentos que guardemos en nuestro espacio:

Page 30: Cesnavarra 2008-boletín 4

Una de las características más interesantes que aporta desde mi punto de vista es el espacio de trabajo de equipo (Team

Workspace):

Page 31: Cesnavarra 2008-boletín 4

Este recuerda a SharePoint, dado que usa el mismo motor que WSS 3.0, la idea y finalidad es la misma que este producto, es

decir, crear un espacio de trabajo en red, con una serie de características como el calendario, gestor de tareas,

compartición de documentos, enlaces comunes... que complementan el producto. Esto nos permite la

interoperabilidad entre los diferentes miembros de nuestra empresa en un punto común y de una manera sencilla.

A modo de demostración con la finalidad de ver la potencia de

esta herramienta creamos una nueva aplicación:

Page 32: Cesnavarra 2008-boletín 4

Para ello, de todas las plantillas ya predefinidas, seleccionamos la que más opciones nos puede ofrecer, que es

el espacio en blanco (Blank Workspace), que se encuentra dentro de la sección de aplicaciones adaptables (Your costum

applications):

Page 33: Cesnavarra 2008-boletín 4

Esto nos permite crear un espacio con el nombre y la URL deseados:

Page 34: Cesnavarra 2008-boletín 4

Al ser un sitio en blanco proporciona todas las plantillas que se encuentran a día de hoy disponibles:

Page 35: Cesnavarra 2008-boletín 4

Esto nos permite configurar dicho sitio a nuestro gusto y con una infinidad de posibilidades, pudiendo añadir documentos,

imágenes, tareas, contactos, anuncios, etc. así como información más compleja como formularios, wikis y paneles

de discusión.

Y finalmente y no menos importante, mencionar que se dispone de un menú de configuración de la cuenta:

Page 36: Cesnavarra 2008-boletín 4

Este panel nos permite definir las cuentas de usuario que necesitemos para nuestra aplicación, configurando todos los

apartados de permisos y niveles de acceso de todas las herramientas que hemos presentado. Desde mi punto de vista,

es una herramienta muy útil para PYMEs, que dada la nueva orientación que está llevando Microsoft con su empeño en una

integración perfecta entre su suite Office y el espíritu online que reside en Live, puede ser una apuesta segura de cara al

futuro.

En la misma línea, pero a nivel usuario individual, recomendaría hacer una visita obligatoria a Workspace Live, el

cual da al usuario la posibilidad de tener un espacio de trabajo Online, donde almacenar y compartir documentos. También

invito a conocer SkyDrive, un disco duro en internet de 5

Gigas que Microsoft nos facilita, para que guardemos lo que deseemos: desde nuestra música favorita a esas fotografías,

que nos llenaron la memoria de nuestra cámara digital.

Enlaces de interés:

Microsoft Office Workspace Live:

http://workspace.officelive.com/

Page 37: Cesnavarra 2008-boletín 4

Microsoft Live:

http://home.live.com/?mkt=es-es/ Windows Live SkyDrive:

http://skydrive.live.com

Categ

orías CES Microsoft

Tema Desarrollo

Autor David Valiño Martinez

Mes Abril

Año 2008

Boletí

n 04

Título Iniciarse en los servicios web de SharePoint

Texto Hoy nos basaremos en un artículo publicado por Trent

Swanson, que creo que es de interés para el desarrollo de aplicaciones basadas en Sharepoint (en cualquiera de sus

“sabores” WSS 3.0 o MOSS 2007). En concreto vamos a presentar y utilizar (básicamente) la interoperabilidad que

Sharepoint ofrece a través de sus web services.

Estos están construidos sobre el modelo de objetos de Sharepoint y son un subconjunto no completo de los mismos.

La ventaja en el uso de los web services es que permiten el

acceso remoto mediante cualquier lenguaje y plataforma que soporte el uso de servicios web, que hoy en día son mayoría.

El hecho de que los servicios web de Sharepoint no representen el modelo de objetos completo es una limitación

pequeña ya que si fuera necesario para tareas avanzadas podríamos extenderlos mediante la implementación de un

servicio específico.

Arquitectura de los servicios Web

Hay que destacar que MOSS 2007 está construido sobre WSS

3.0, que a su vez lo hace sobre ASP.NET 2.0 ejecutandose en IIS. Por tanto, MOSS 2007 presenta algunos servicios web

adicionales a los de WSS 3.0, por ejemplo el servicio de búsqueda avanzada.

En ambos casos, los servicios web se implementan mediante

ASP.NET Web Services (ASMX) la mayoría de cuyos ficheros

físicos están localizados en “%commonprogramfiles%\\Microsoft Shared\web server

Page 38: Cesnavarra 2008-boletín 4

extensions\12\ISAPI". El servicio web para la herramienta de

“Administración central de Sharepoint 3.0” reside en la carpeta ADMISAPI que se corresponde al directorio virtual

“_vti_adm”, que se genera siempre que se instala SharePoint en el servidor. Cuando se crea un sitio SharePoint, contiene

un directorio virtual llamado "_vti_bin" que apunta al

directorio ISAPI mencionado anteriormente. El caso de los subsitios es distinto, ya que para estos se crea un mapeo al

directorio virtual “_vti_bin” de su sitio a través de metadatos de SharePoint y HttpModules.

Para cada servicio existe un fichero *.wsdl.aspx que genera

el Web Services Description Language (WSDL) asociado, otro fichero *.disco.aspx que contiene la implementación del

service discoverer, y los ficheros *.asmx que proporcionan la funcionalidad, la mayoría de los cuales sólo son referencias a

el ensamblado y tipo de SharePoint que contienen la

implementación del servicio, y que podemos examinar.

Servicios estándar

SharePoint proporciona bastantes servicios de manera estándar que serán suficientes en la mayoría de los casos,

desde tareas administrativas a acceso a datos de listas, que presentamos en la siguiente lista.

Servicio Uso

Administración

(_vti_adm/Admin.asmx)

Métodos administrativos para crear y borrar

sitios y recuperar los lenguajes usados en la instalación

Page 39: Cesnavarra 2008-boletín 4

CreateSite

DeleteSite

GetLanguage

RefreshConfigCache

Alertas (Alerts.asmx)

Métodos para trabajar con alertas de SharePoint

DeleteAlerts

GetAlerts

Autenticación(Authentication.asmx)

Cliente proxy que proporciona autenticación

de usuario para los sitios que usan autenticación basada en formularios

Login (utilizado para autenticarse)

Mode (devuelve el modo de

autenticación del sitio actual)

Copia (Copy.asmx)

Métodos para copiar ficheros

CopyIntoItems (copia documentos

como arrays de bytes a una localización en el servidor)

CopyIntoItemsLocal (copia

documentos de una ubicación a otra en el mismo fichero)

GetItem (crea un array de bytes de

un document que puede ser enviado al método CopyIntoItems)

Espacio de Documentos (Dws.asmx)

Métodos para gestionar sitios y datos del Espacio de Documentos

CanCreateDwsUrl

CreateDws

CreateFolder

FindDwsDoc

GetDwsData

GetDwsMetaData

RemoveDwsUser

RenameDws

UpdateDwsData

Formularios (Forms.asmx)

Métodos para devolver los formularios que se usan en el interfaz de usuario cuando se trabaja con el contenido de una lista

GetForm

GetFormCollection

Imágenes (Imaging.asmx)

Métodos para crear y gestionas librerías de imágenes

CheckSubwebAndList

CreateNewFolder

Delete

Page 40: Cesnavarra 2008-boletín 4

Download

Edit

GetItemsByIds

GetItemsXMLData

GetListItems

ListPictureLibrary

Rename

Upload

Recuperación de datos de

listas (DspSts.asmx)

Realiza búsquedas en listas y sitios de

SharePoint

Query

Listas (Lists.asmx)

Métodos para trabajar con listas y datos de listas

AddAttachment

AddDiscussionBoardItem

AddList

AddListFromFeature

ApplyContentTypeToList

DeleteAttachment

DeleteContentType

DeleteContentTypeXmlDocument

DeleteList

GetAttachmentCollection

GetList

GetListAndView

GetListCollection

GetListContentType

GetListContentTypes

GetListItemChanges

GetListItemChangesSinceToken

GetListItems

GetVersionCollection

UndoCheckout

UpdateContentType

UpdateContentTypesXmlDocument

UpdateContentTypeXmlDocument

UpdateList

UpdateListItems

Reuniones(Meetings.asmx)

Crear y gestionar sitios de reunión

AddMeeting

AddMeetingFromICal

CreateWorkspace

Page 41: Cesnavarra 2008-boletín 4

DeleteWorkspace

GetMeetingInformation

GetMeetingWorkspaces

RemoveMeeting

RestoreMeeting

SetAttendeeResponse

SetWorkspaceTitle

UpdateMeeting

UpdateMeetingFromICal

Personas(People.asmx) Búsqueda y resolución de principales

ResolvePrincipals

Permisos (Permissions.asmx)

Métodos para trabajar con permisos de un sitio o lista

AddPermission

AddPermissionCollection

GetPermissionCollection

RemovePermission

RemovePermissionCollection

UpdatePermission

Gestión de

directorio(sharepointemailws.asmx)

Métodos para gestionar grupos de distribución

de email del Active Directory y sus pertenencias a grupos

ChangeContactsMembershipInDistribu

tionGroup

ChangeUsersmembershipInDistributio

nGroup

CreateContact

CreateDistributionGroup

DeleteContact

DeleteDistributionGroup

GetJobStatus

ModifyContact

ModifyDistributionGroup

RenameDistributionGroup

Datos de Sitio (SiteData.asmx)

Métodos que devuelven metadatos o datos de listas de sitios o listas

EnumerateFolder

GetAttachments

GetChanges

GetContent

GetList

GetListCollection

GetListItems

Page 42: Cesnavarra 2008-boletín 4

GetSite

GetSiteAndWeb

GetSiteUrl

GetURLSegments

GetWeb

Sitios(Sites.asmx)

Métodos para recuperar información sobre la colección o plantillas de sitios

ExportWeb

GetSiteTemplates

GetUpdatedFormDigest

ImportWeb

Búsqueda(spsearch.asmx)

Métodos para trabajar con los servicios de búsqueda

Query

QueryEx

Registration

Status

Usuarios & Grupos(usergroup.asmx)

Métodos para trabajar con usuarios, grupos y roles

AddGroup

AddGroupToRole

AddRole

AddRoleDef

AddUserCollectionToGroup

AddUserCollectionToRole

AddUserToGroup

AddUserToRole

GetAllUserCollectionFromWeb

GetGroupCollection

GetList

GetListAndView

GetListCollection

GetGroupCollectionFromRole

GetGroupCollectionFromSite

GetGroupCollectionFromUser

GetGroupCollectionFromWeb

GetGroupInfo

GetRoleCollection

GetRoleCollectionFromGroup

GetRoleCollectionFromUser

GetRoleCollectionFromWeb

GetRoleInfo

GetRolesAndPermissionsForCurrentUs

Page 43: Cesnavarra 2008-boletín 4

er

GetRolesAndPermissionsForSite

GetUserCollection

GetUserCollectionFromGroup

GetUserCollectionFromRole

GetUserCollectionFromSite

GetUserCollectionFromWeb

GetUserInfo

GetUserLoginFromEmail

RemoveGroup

RemoveGroupFromRole

RemoveRole

RemoveUserCollectionFromGroup

RemoveUserCollectionFromRole

RemoveUserCollectionFromSite

RemoveUserFromGroup

RemoveUserFromRole

RemoveUserFromSite

RemoveUserFromWeb

UpdateGroupInfo

UpdateRoleDefInfo

UpdateRoleInfo

UpdateUserInfo

Versiones (Versions.asmx)

Métodos para trabajar con versiones de ficheros

DeleteAllVersions

DeleteVersion

GetVersions

RestoreVersion

Vistas(Views.asmx)

Métodos para trabajar con vistas de listas

AddView

DeleteView

GetViewCollection

GetViewHtml

UpdateView

UpdateViewHtml

UpdateViewHtml2

Páginas de

WebParts(WebPartPages.asmx)

Métodos para trabajar con páginas de WebParts

AddWebPart

AddWebPartToZone

AssociateWorkflowMarkup

Page 44: Cesnavarra 2008-boletín 4

ConvertWebPartFormat

DeleteWebPart

ExecuteProxyUpdates

FetchLegalWorkflowActions

GetAssemblyMetaData

GetBindingResourceData

GetCustomControlList

GetDataFromDataSourceControl

GetFormCapabilityFromDataSourceCo

ntrol

GetSafeAssemblyInfo

GetWebPart

GetWebPart2

GetWebPartCrossPageCompatibility

GetWebPartPage

GetWebPartPageConnectionInfo

GetWebPartPageDocument

GetWebPartProperties

GetWebPartProperties2

RemoveWorkflowAssociation

RenderWebPartForEdit

SaveWebPart

SaveWebPart2

ValidateWorkflowMarkupAndCreateSupportObjects

Webs(Webs.asmx)

Métodos para trabajar con sitios y subsitios

CreateContentType

CustomizeCss

DeleteContentType

GetActivatedFeatures

GetAllSubWebCollection

GetColumns

GetContentType

GetContentTypes

GetCustomizedPageStatus

GetListTemplates

GetWeb

GetWebCollection

RemoveContentTypeXmlDocument

RevertAllFileContentStreams

RevertCss

RevertFileContentStream

UpdateColumns

Page 45: Cesnavarra 2008-boletín 4

UpdateContentType

UpdateContentTypeXmlDocument

WebUrlFromPageUrl

Búsqueda MOSS (Search.asmx)

Métodos para buscar mediante los servicios de

búsqueda de MOSS, que incluyen un método para recuperar las propiedades de búsqueda

GetSearchMetadata (propiedades de

búsqueda)

Query

QueryEx

Registration

Status

Uso de los servicios web de MOSS

Veamos a continuación de manera muy sencilla como hacer

uso de los servicios web que proporciona SharePoint.

El uso de los servicios web de SharePoint desde .NET es bastante sencillo, sólo es necesario añadir la referencia web y

usar el proxy generado en nuestra aplicación.

Creación de una referencia Web

Vamos a crear una referencia web al servicio web de

autenticación de SharePoint, haciendo click con el botón derecho sobre el nodo “References” de nuestro proyecto en la

ventana del explorador de la solución y seleccionando la

opción “Add Service Reference” (en Visual Studio 2008). Pulsamos el botón “Advanced” y en la ventana que aparece

seleccionamos la opción “Add Web Reference”. A continuación hemos de introducir el valor

“http://<server_name>/_vti_bin/Authentication.asmx” en la caja para la URL siendo <server_name> el nombre del

servidor web donde reside nuestro SharePoint, y pulsamos “Go”. Puede que se nos solicite usuario y password para el

servidor, si no tenemos habilitado el acceso anónimo. Deberíamos ver la lista de métodos que soporta nuestro

servicio, como en la imagen siguiente:

Page 46: Cesnavarra 2008-boletín 4

Nombramos "SPAuth" a la referencia web y pulsamos el botón "Add Reference".

Una vez hecho esto ya podremos usar el servicio SPAuth

desde nuestra aplicación, como en el código siguiente que

recuperará el método de autenticación usado en nuestro sitio SharePoint y lo muestra en una etiqueta:

SPAuth.Authentication am

= new Test_WFA.SPAuth.Authentication();

label1.Text = am.Mode().ToString();

Tenemos pues fácilmente a nuestra disposición todos los

servicios web expuestos anteriormente para poder desarrollar aplicaciones propias que trabajen con los datos de

SharePoint, nuestro “algo-más-que” gestor documental... ¿Alguien dijo “¡Genial!”?

Page 47: Cesnavarra 2008-boletín 4

Referencias y Enlaces

Windows SharePoint Services 3.0 Web Services Reference

http://msdn2.microsoft.com/en-us/ms445292.aspx

Categor

ías CES Microsoft

Tema Desarrollo

Autor Rafael Flores Yoldi

Mes Abril

Año 2008

Boletín 04

Título Los Otros.

Texto Martín Berasategui (DOMinical nº 284-24/02/2008): "Todos los cocineros que formamos parte de esta generación

somos muy transparentes, en seguida corremos a

explicarle al resto de la gente cómo trabajamos... Nosotros hemos descubierto un secreto: nuestro éxito crece cuanto

más compartimos lo que sabemos. Esto es revolucionario... Sin olvidar un aspecto importante: todos tenemos claro

que el éxito de uno es el éxito de todos."

Tradicionalmente el desarrollo de software ha sido una

tarea en la que la fase de implantación no era especialmente traumática salvo las aplicaciones

corporativas en entorno host.

Se suponía que si una aplicación había superado con éxito

la fase de testeo, tanto a nivel de código como funcional, las complicaciones a la hora de instalarla no debían ser

problemáticas. A lo sumo el desarrollador se percataba que el puesto cliente carecía de algunas librerías de las que

constaba el entorno de desarrollo/pruebas y las adjuntaba.

Todo esto cambió con la llegada de Internet: en teoría el

número de usuarios podía ser ilimitado. Es más, se

deseaba que esto fuese así. Y se añadía el factor de que cualquier persona, desde cualquier lugar y en cualquier

franja horaria podía acceder a nuestra aplicación e interactuar con nuestro sistema.

Las palabras „disponibilidad‟, o mejor dicho „alta disponibilidad‟, y „escalabilidad‟ empezaron a entrar en

juego con una dimensión hasta entonces sólo intuida. Ya no

Page 48: Cesnavarra 2008-boletín 4

se trataba de desarrollar aplicaciones en las que el entorno

estaba acotado: un ordenador con una cpu x, una memoria y, un disco z, que se reiniciaba cada día

(¡incluso se apagaba!) y era utilizado por un usuario en un horario concreto.

Ahora el número de usuarios era incierto y, teóricamente,

podían utilizar la aplicación a lo largo del día... y de la noche. Se popularizó entonces la expresión „24 x 7‟.

Para los desarrolladores supuso también un cambio en la forma de trabajar y es entonces cuando empezaron a

descubrir a los que llamaban internamente, quizás inconscientemente, „Los Otros‟.

Es asombrosa la característica que tiene el ser humano por clasificar lo que le rodea: unos „son de ciencias‟, otros „son

de letras‟. Atentos al matiz: no „estudias‟ sino que „eres‟. Lo mismo ocurre con las „izquierdas‟ y las „derechas‟, los „jefes‟

y los „curritos‟, los „del madrid‟ y los „del barça‟, etc. En el caso que nos ocupa para los desarrolladores, Los

Otros son „los de sistemas‟. „Soft‟ y „hard‟ y a veces, absurdamente, „soft‟ contra „hard‟.

Decía que con la llegada de Internet la plataforma que

debía albergar las aplicaciones se convierte en algo crítico. Al principio se intentó que las cosas siguiesen como

estaban: los del „soft‟, desplegaban la aplicación, „que hace esto y aquello (como visteis en la demo que os hicimos)‟ y

ya estaba todo resuelto. Todo va a funcionar. Los del „hard‟ sólo debían monitorizar el sistema y contemplar el

espectáculo.

Pero entonces era cuando la línea se empezaba a saturar,

cuando a las once de la mañana el número de procesos en cola aumentaba, cuando la base de datos devolvía unos

extraños mensajes de deadlock, cuando la ininteligible JVM empezaba a realizar continuas garbage

collections, cuando... ¡Cuando surgía el fuego de mortero entre las dos

trincheras!: „la aplicación no funciona‟, „los servidores están mal configurados‟, „la base de datos no tiene

los índices correctos‟, „el pool de conexiones no está bien

dimensionado‟, „los servidores no indican ninguna sobrecarga‟, „en el entorno de pruebas todo iba bien‟, etc.,

etc., etc.

Tras las primeras bajas y las primeras intervenciones

nocturnas y/o en fin de semana (recordad que hay que

Page 49: Cesnavarra 2008-boletín 4

minimizar el impacto en el ubicuo cliente), se empezaban a

reconocer ciertos bugs y errores en las estimaciones.

Es entonces cuando se empieza a vislumbrar que se es

protagonista pero en la película equivocada. Cuando los de desarrollo se percatan que antes de implantar algo, deben

explicarlo a los administradores de sistemas en un lenguaje

que entiendan. Que, incluso, deben otorgarles el derecho a veto si lo que se proponen desplegar puede poner en

peligro la versión actual en producción. Y es cuando los de sistemas empiezan a entender que, al

menos, deben conocer el diseño de la aplicación y los patrones utilizados en la misma, que lacaché puede ser

algo lógico y no sólo físico, cuando...

En definitiva cuando ambos empiezan a considerar a „Los

Otros„, „Uno de los nuestros„.

¡Ah! ¿Que esta peli ya la habías visto antes? Espero,

entonces, que tuviese un final feliz... P.S.: alguno estará esbozando una sonrisa porque las (magníficas)

películas cuyos títulos he utilizado, tratan respectivamente de

fantasmas y mafiosos. No hay segundas intenciones en ello sino sólo

un juego de palabras. Si quieres enviar algún comentario o sugerir temas a tratar en otros artículos, escribe a: curtasun[simboloArroba]cein.es

Categorías General

Tema Varios

Autor Carlos Urtasun

Mes Abril

Año 2008

Boletín 04

Título Introducción a los Xlets

Texto Los XLET son aplicaciones en Java para entornos de televisión. No

siguen el modelo convencional de las aplicaciones Java en el que

cada aplicación tiene el control completo de su ciclo de vida y de

los recursos de la máquina virtual sobre la que se ejecutan. En

cambio, se podría decir que se parecen a losapplets, puesto que

varias aplicaciones pueden estar ejecutándose a la vez y no tienen

por qué iniciarse a través de línea de comandos.

Page 50: Cesnavarra 2008-boletín 4

Figura 1. Diagrama de recursos en Receptor de TV Digital

Sin embargo, hay una pequeña diferencia entre el mundo web y el

de la televisión, lo que lleva a que los applets no puedan

ejecutarse en los receptores de TV Digital y que sea necesario

realizar cambios para que funcionen. Estos cambios han llevado a

lo que se llama Xlets. Siguen una filosofía similar a la de los

applets y que fue introducida por Sun en la especificación de

JavaTV y adoptada como el formato de aplicaciones Java

para MHP y otros estándares relacionados para TV Digital. Como

en el caso de los applets, el interfaz Xlet permite una fuente

externa (el gestor de aplicaciones en el caso de un receptor de TV

Digital) empezar y terminar las aplicaciones, al igual que

controlarlas de otras maneras. El interfaz Xlet se encuentra en el

paquete javax.tv.xlet.package:

public interface Xlet {

public void initXlet(XletContext ctx)

throws XletStateChangeException;

public void startXlet()

Page 51: Cesnavarra 2008-boletín 4

throws XletStateChangeException;

public void pauseXlet();

public void destroyXlet(boolean unconditional)

throws XletStateChangeException;

}

Si se compara esta definición con la clase java.applet.Applet, se

pueden apreciar algunas similitudes. Como en la clase applet,

tiene métodos que permiten al gestor de aplicaciones inicializarlos,

arrancarlos y pararlos. Sin embargo, hay algunas grandes

diferencias entre Xlets y applets.

La mayor de ellas es que la ejecución de un Xlet también puede

ser pausada y resumida. La razón para ello es muy simple, en un

entorno como un receptor de TV Digital, varias aplicaciones pueden

estar ejecutándose al mismo tiempo, pero por restricciones de

hardware, sólo una de ellas puede estar visible cada vez. En este

escenario, las aplicaciones no visibles, deben ser pausadas para

dejar libres los recursos para aquella que lo es.

Además un Xlet, es mucho más sencillo que un applet, y por tanto,

los Xlet de alguna manera están más limitados en lo que pueden

hacer cuando interactúan con su entorno. Algunas de las otras

tareas que se pueden hacer con un applet, son soportadas en los

estándares MHP o JavaTV, pero se necesitan otras APIs para

llevarlo a cabo.

Así, un Xlet tendrá cuatro estados principales – Cargado, pausado,

arrancado y destruido. Si se examina el ciclo de vida de un Xlet se

puede ver dónde encajan estos estados en el diseño:

Page 52: Cesnavarra 2008-boletín 4

Figura 2. Diagrama de estado de un Xlet

El gestor de aplicaciones carga el archivo con la clase principal del

Xlet (como se indicó desde el emisor) y crea una instancia del Xlet

llamando al constructor por defecto. Esto puede pasar en

cualquier momento una vez que la aplicación haya sido

indicada. En este momento, el Xlet alcanza el estado Cargado

(Loaded).

El Xlet puede ser iniciado de tres formas:

Por indicación directa del usuario,

Invocado por otra xlet,

Automático por configuración en la AIT (Tabla de información de las aplicaciones)

Entonces, el gestor de aplicaciones en el receptor llama al método

initXlet(), pasando un nuevo objeto XletContext para el Xlet.

El Xlet puede usar este XletContext para inicializarse, y para

precargar datos de gran tamaño como imágenes que pueden

requerir tiempo para cargarse desde el object carousel. Cuando la

inicialización se ha completado, el Xlet está en el estado Pausa

(Paused) y puede comenzar inmediatamente.

Una vez que el método initXlet() ha terminado, el gestor de

aplicaciones llama el método startXlet(). Esto pasará el Xlet del

estado Pausa al estado Arrancado (Started), y el Xlet podrá

interactuar con el usuario.

Durante la ejecución del Xlet, el gestor de aplicaciones puede

Page 53: Cesnavarra 2008-boletín 4

llamar al método pauseXlet(). Esto hará que la aplicación pase del

estado Arrancado al Pausado. La aplicación puede volver a

ejecutarse de nuevo llamando al método startXlet(). Esto puede

pasar varias veces durante la vida del Xlet.

Al final de su vida, el gestor de aplicaciones llamará al método

destroyXlet(), que hará que el Xlet pase al estado Destruido

(Destroyed) y libere todos sus recursos. En ese punto, no se

puede volver a ejecutar esa instancia del Xlet.

Es importante recordar que un Xlet no es una aplicación Java

normal. Hay muchas diferencias importantes entre ambas. Un

Xlet está conceptualmente mucho más cerca de un applet. Como

en los applets, puede haber más de un Xlet ejecutándose a la vez,

lo que significa que los Xlets no pueden ejecutar ciertos comandos

que afectarán globalmente a la máquina virtual de Java. Por

ejemplo, un Xlet no debería jamás ejecutar la llamada al método

System.exit() porque puede no ser la única aplicación

ejecutándose en la máquina virtual al mismo tiempo.

Enlaces:

Página en castellano que explica lo qué son los XLET

http://www.mhproject.org/index.php/mhproject.php/2006/1

1/10/ique_es_una_xlet_ipara_que_sirven

Páginas en inglés que hacen una introducción a los XLET‟s

http://en.wikipedia.org/wiki/Xlet

http://www.xlet.net/article/21/xlet-tutorial-for-beginners

http://www.interactivetvweb.org/tutorial/mhp/xletintro.shtm

l

Categorías

CES OpenSouce/Java

Tema Desarrollo

Autor Blanca Cubas Cruz

Mes Abril

Año 2008

Page 54: Cesnavarra 2008-boletín 4

Boletí

n

04