Download - 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;
};
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
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
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
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
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
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:
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:
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:
Otra característica, que está a nuestra disposición es la
promoción de nuestro negocio (Promote Your Business):
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:
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:
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:
Disponemos de un manejador de documentos, que nos permitirá almacenar y habilitar los permisos de acceso a los
documentos que guardemos en nuestro espacio:
Una de las características más interesantes que aporta desde mi punto de vista es el espacio de trabajo de equipo (Team
Workspace):
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:
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):
Esto nos permite crear un espacio con el nombre y la URL deseados:
Al ser un sitio en blanco proporciona todas las plantillas que se encuentran a día de hoy disponibles:
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:
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/
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:
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:
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:
Otra característica, que está a nuestra disposición es la
promoción de nuestro negocio (Promote Your Business):
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:
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:
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:
Disponemos de un manejador de documentos, que nos permitirá almacenar y habilitar los permisos de acceso a los
documentos que guardemos en nuestro espacio:
Una de las características más interesantes que aporta desde mi punto de vista es el espacio de trabajo de equipo (Team
Workspace):
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:
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):
Esto nos permite crear un espacio con el nombre y la URL deseados:
Al ser un sitio en blanco proporciona todas las plantillas que se encuentran a día de hoy disponibles:
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:
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/
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
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
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
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
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
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
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
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
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:
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!”?
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
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
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.
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()
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:
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
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
Boletí
n
04