60
dedicada a los profesionales de la plataforma .NET L La ab bo or ra at to or ri io o Nevron .NET Vision T To od do ot tN Ne et t@ @Q QA A Páginas Web, indexadores y DHTML O Op pi in ni ió ón n Seguimiento y control de los proyectos www.dotnetmania.com entrevista Scott Guthrie General Manager División de desarrollo de Microsoft dotNetManía Seguridad en los servicios SOA con WCF autenticación y autorización nº 38 junio 2007 6,50 Visual Basic • C# • ASP.NET • ADO.NET • SQL Server • Windows System Paso de páginas en 3D con WPF • Arquitecturas distribuidas con Service Broker • Serialización XML. El serializador que lo serialice...debe saber XML eventos MIX 2007 Burning, burning… I feel the silverlight rising!!!

Conceptos Principales de Seguridad WCF

Embed Size (px)

DESCRIPTION

conceptos basicos en la seguridad de WCF.

Citation preview

  • dedicada a los profesionales de la plataforma .NET

    LLaabboorraattoorriiooNevron .NET Vision

    TTooddoottNNeett@@QQAAPginas Web, indexadores y DHTML

    OOppiinniinnSeguimiento y control de los proyectos

    www.

    dotne

    tman

    ia.co

    m

    entrevistaScott Guthrie

    General Manager Divisin de desarrollo de Microsoft

    dotNetManaSeguridad en los servicios SOA con WCFautenticacin y autorizacin

    n 38 junio 2007 6,50 Visual Basic C# ASP.NET ADO.NET SQL Server Windows System

    Paso de pginas en 3D con WPF Arquitecturasdistribuidas con Service Broker Serializacin XML.El serializador que lo serialice... debe saber XML

    eventosMIX 2007

    Burning, burningI feel the silverlight rising!!!

  • Bienvenido al nmero 38, de junio de2007, de dotNetMana.

    Somos diferentes, somos originales. Elartculo de portada de este mes es Segu-ridad en los servicios SOA con WCF:autenticacin y autorizacin de Csar dela Torre, de la divisin de plataforma ydesarrollo de Microsoft Ibrica. El mun-do no habla de otra cosa que de diseo yde experiencia de usuario y Csar se mar-ca este pedazo artculo de autenticacin yautorizacin con WCF.

    En realidad, no somos tan diferentesni tan originales. No hemos podido dejarde publicar la crnica que desde Las Vegasnos ha preparado Ivn Gonzlez, dondeMicrosoft ha presentado una buena can-tidad de novedades relacionadas con lasherramientas enfocadas a mejorar la expe-riencia de usuario.

    An a riesgo de no ser tan originales,no hemos podido resistir la tentacin yaque estbamos en Las Vegas de comple-tar esta informacin con una entrevista,nada ms y nada menos, que a ScottGuthrie, que es director general en ladivisin de desarrollo y que coordina losequipos de ASP.NET, CLR, WPF, Sil-verlight, Windows Forms, IIS 7.0, Com-merce Server, .NET Compact Frame-work y Visual Studio Web. No se pier-da bajo ningn concepto esta fenomenalentrevista de Miguel Jimnez.

    Dejndonos arrastrar, ya casi sin posibi-lidad de ser originales, por esta fiebre por eldiseo, cmo no seguir publicando los art-culos sobre WPF del Grupo Weboo de laUniversidad de La Habana! Su trabajo Pasode pginas en 3D con WPF define un visua-lizador de pginas que permite hojear undocumento con un efecto similar al de hoje-ar un libro o una revista de papel. Quin sabesi no acabaremos utilizndolo para una futu-ra versin online de dotNetMana.

    Y mire usted, ya de perdidos al ro. Estbien, somos como todos, nos dejamos llevarpor la actualidad, y para rematar, este nme-ro lleva en el centro un pequeo pster dela arquitectura de Silverlight que espero lesea til. Culguelo cerca de su puesto de tra-bajo aun a riesgo de no ser muy original.

    Junto al artculo de portada, MiguelEgea con su trabajo Arquitecturas distri-buidas con Service Broker, en el que se des-cribe de manera prctica la utilizacin de latecnologa Service Broker de SQL Server2005, y el Guille con el suyo para la seccinde iniciacin Serializacin XML. El seria-lizador que lo serialice... debe saber XML,consiguen dar una cierta heterogeneidad alcontenido de este ejemplar.

    Es posible que no hayamos sido muyoriginales, pero, aunque est mal decir-lo, creo que nos ha quedado un buennmero. Espero que tambin lo vea as ysea de su agrado.

    dotN

    etM

    ana

  • sumario 38Seguimiento y control de los proyectos 8-9

    Hace unos pocos nmeros hablbamos de las ventajas y virtudes de la planificacin. Cmoabordar un proyecto si no nos hemos detenido antes a planificar de forma adecuada y rigurosalas distintas tareas del mismo, los recursos que las realizarn, los costes asociados, la mecnicade control de calidad, la gestin de riesgos, etc.? Sin embargo, con esto no basta.

    Entrevista a Scott Guthrie 10-12Es, sin duda alguna, una de las personas ms relevantes en Microsoft, y desde su posicin deGeneral Manager en la divisin de desarrollo coordina los equipos de ASP.NET, CLR, WPF,Silverlight, Windows Forms, IIS 7.0, Commerce Server, .NET Compact Framework yVisual Studio Web.

    MIX '07: Burning, burningI feel the silverlight rising!!! 14-16Crnica desde Las Vegas del MIX 07, celebrado durante los das 30 de abril, 1 y 2 de mayo,donde la cantidad de innovaciones que Microsoft ha presentado ha sido realmente espectacular.Tambin en esta seccin contamos con la crnica del TechNet & MSDN Day en el Cono Surcelebrado en el marco de la Semana de la Seguridad.

    Seguridad en los servicios SOA con WCF: autenticacin y autorizacin 18-30En este artculo se presentan los conceptos generales relacionados con la seguridad desde el puntode vista de Windows Communication Foundation (WCF), para luego presentar en detalle dosde sus caractersticas fundamentales: la autenticacin y la autorizacin.

    Paso de pginas en 3D con WPF 32-38En un artculo anterior, los autores nos adentraron en el mundo de los efectos 3D en WPF,mostrndonos cmo lograr un objeto 3D muy utilizado, una esfera. En esta entrega nosdefinen un visualizador de pginas que permite hojear un documento con un efectosimilar al de hojear un libro o una revista de papel.

    Arquitecturas distribuidas con Service Broker 39-42En este artculo se describe de manera prctica la utilizacin de la tecnologa Service Broker deSQL Server 2005 para implementar arquitecturas distribuidas.

    Serializacin XML. El serializador que lo serialice... debe saber XML 43-48En el artculo anterior vimos cmo persistir los objetos usando las clases que utilizanIFormatter. En aquella ocasin tuvimos la oportunidad de ver cmo definir los tipos quequeramos serializar por medio del atributo Serializable y la interfaz ISerializable. En esteartculo veremos otra forma de serializar nuestros objetos, que utiliza XML puro comoformato.

    dnm.todotnet.qaPginas Web, indexadores y DHTML 49-51

    Las aplicaciones Web estn basadas en URL, y este hecho es clave para que los buscadores Web puedanindexarlos y buscarlos apropiadamente. Este mes hablamos sobre HTML dinmico (DHTML), y enparticular sobre la propiedad innerHTML.

    dnm.laboratorio.netNevron .NET Vision 52-55

    Este mes presentamos .NET Vision, una suite de componentes para la capa de presentacin quele permitir dotar a sus aplicaciones de posibilidades de visualizacin de informacin querealzarn en buena medida sus interfaces de usuario.

    dnm.biblioteca.net 57Pro C# with .NET 3.0, Special EditionExpert .NET 2.0 IL Assembler

    dnm.desvan 58

  • Los pasados 15 al 17 demayo se celebr en Losngeles una nueva edicin deWinHEC (Windows Hard-ware Engineering Conference).En su keynote de apertura, BillGates resalt el alto ritmo deventas de Windows Vista y lareaccin positiva ante l declientes y partners, transcurridos 100das desde su salida al mercado. Gatesresalt la importante ola de innovaciny nuevas tecnologas que con la salidaal mercado de Vista estn disponiblesahora a los consumidores en general.Asimismo, desvel el nombre del pr-ximo sistema operativo de servidor deMicrosoft, que hasta ahora se conocapor el sobrenombre Longhorn: Win-dows Server 2008. Y en otro ordende cosas, anunci que nuevos fabri-cantes de hardware y software han deci-dido unirse al proyecto asociado a lacreacin del futuro Windows HomeServer.

    Una plataforma de servidor denueva generacin

    Bill Gates subray que WindowsServer 2008 es un componente clavepara la siguiente ola de innovacin enel hardware, que incluye soporte paravirtualizacin, procesadores de ml-tiples ncleos y aplicaciones de 64 bits.Windows Server 2008 lleva a un nivelan ms alto las reconocidas fiabili-dad, seguridad y facilidad de mante-nimiento de Windows Server 2003R2 para ayudar a aliviar la presin

    sobre los administradores de sistemas,incluyendo mejoras que permitenautomatizar an ms las tareas de ges-tin diaria, incrementar la seguridad,ofrecer una plataforma ms extensiblepara el alojamiento de aplicacionesWeb, mejorar la eficiencia y aumen-tar la disponibilidad.

    Nuevos partners para WindowsHome Server

    Durante la conferencia, se anun-ci que tres nuevos fabricantes de hard-ware (Gateway, LaCie y Medion) handecidido unirse a HP para desarrollarequipos para Windows Home Server,la nueva solucin de Microsoft paraayudar a las familias que disponen demltiples PC centralizar, compartir yproteger sus activos digitales (imge-nes, msica y vdeos). Varios fabrican-tes de software, incluyendo Diskee-per, Embedded Automation, IronMountain y SageTV, entre otros,anunciaron tambin su disposicin adesarrollar productos especializadospara esa futura plataforma.

    Para ms informacin sobre loacontecido en WINHEC, visitehttp://www.microsoft.com/whdc/winhec.

    dotN

    etM

    ana

  • en la que se enarca, de manera sustantiva,la funcin de la planificacin y, sin embargo, nos olvidamos de for-ma permanente de la no menos importante funcin del seguimientoy control que de los proyectos debemos realizar, mientras se encuen-tran en su proceso de realizacin. Est muy bien que seamos capa-ces de anticiparnos a la accin y que, por tanto, realicemos los pla-nes acerca de cmo las cosas han de acontecer; pero, desde luego,es imprescindible que luego apliquemos procedimientos que nosposibiliten seguir el cumplimiento de los planes y garantizar que setomarn las medidas correctoras necesarias para garantizar que stosse cumplan.

    As las cosas, nos encontramos muchas veces con perfiles pro-fesionales de laboratorio que son capaces de definir hasta sus msmnimos detalles complicados planes de actuacin, pero que lue-go son incapaces de salir al frente de batalla y tomar las decisionesoportunas a fin de llevar a buen puerto aquello que fue tan bonitodibujar cuando an no nos estbamos enfrentando a los problemasreales del da a da. Por ello, un grupo de desarrollo necesita tenerperfiles hbridos para este doble abordaje de las cosas, o al menosgarantizar que tiene cabezas que sean capaces de disear planes ycabezas que sean capaces de ejecutarlos, aunque dichas funcionesestn separadas en personas distintas.

    Si tuviera que definirme acerca de qu considero ms importan-te a la hora de garantizar el xito de un proyecto, tendra claro queuna mala planificacin se puede superar con unos buenos mecanis-mos de control y seguimiento, pero lo contrario es imposible. Hemostambin de tener en cuenta que ambos mundos estn fuertementeacoplados. La planificacin de un proyecto de desarrollo de softwa-re ha de prever que se producir un mecanismo posterior de segui-miento; habr tambin de anticipar los hitos de dicho proceso y habi-litar los buffers a travs de los que podamos medir el impacto de lasdesviaciones que la planificacin inicial vaya sufriendo.

    Aunque esto es aplicable a cualquier tipo de proyecto, los pro-yectos de desarrollo de software tienen algunas peculiaridades que

    Seguimiento y control de los proyectos

  • los hacen ms sensibles a que el binomioplanificacin-seguimiento deba sercorrectamente abordado. Uno de los msimportantes es el que se refiere a la dife-rencia de peso en cuanto a la dificultadque las distintas fases de un proyecto pre-sentan. Tradicionalmente tendemos aconcentrar el inters fundamental en lafase de construccin, pensando que laslabores tecnolgicas que se plantean enaquella son las ms importantes, las mscomplejas de realizarse y, por tanto, lasms susceptibles de retrasarse por elimpacto de los problemas. Sin embargo,el estudio histrico comparado de losproyectos de software nos desvela que elcumplimiento de plazos en esta fase sue-le estar bastante garantizado, ya que losdistintos retos tcnicos a los que debe-mos enfrentarnos, siempre que tenga-mos a profesionales cualificados, suelenser temas bien tratados. Sin embargo, lasfases de anlisis e implantacin llevanaparejado un fenmeno mucho msimpactante en el cumplimiento de pla-zos: se trata de la coordinacin de pro-cesos con nuestro cliente y sus usuarios.Esto suele ser bastante ms complicado,y en ello se mezclan elementos de nego-cio, psicolgicos, organizacionales, etc.que impactan de forma mucho ms fuer-te que los tecnolgicos en las planifica-ciones que hayamos realizado. Esta situa-cin suele redundar en que los planifica-dores suelen colocar muchos ms buffersde proteccin ante las dificultades tcni-cas que ante estas otras, que suelen con-siderar rutinarias, estando ah una de lasprincipales causas de roturas de planifi-cacin en los proyectos.

    Otro asunto relevante es el entornode cambio permanente en que suele vivirun proyecto de software mientras se estrealizando. En otras actividades indus-triales, los cambios de especificacionesson poco o nada frecuentes; sin embar-go, en nuestro mundo estn a la ordendel da. Si esto no se ha tenido en cuen-ta en la planificacin y luego no se sigueadecuadamente, tendremos ah una de lasprincipales causas de fracaso en nuestrosector. Tener un entorno listo que nospermita gestionar el cambio en el alcan-ce del proyecto, re-planificar de formapermanente y contar con la supervisin

    de nuestros clientes es bsico para no nau-fragar en este proceloso ocano.

    Esto nos conduce a un contexto enque es imprescindible reglamentar connuestro cliente el mtodo de seguimien-to y control que usaremos para garanti-zar que lo planificado en el proyecto secumpla. Lo normal es que comencemosdicho proceso por una funcin claramen-te educativa, que consista en contar a nues-tro cliente todo lo necesario para queentienda realmente cmo se produce elproceso de desarrollo de software y por-qu son tan importantes las labores deseguimiento, replanteamiento de alcan-ces en funcin de cambios, re-planifica-ciones, etc. Es frecuente que se tienda apensar que hacer software es como hacerpuentes, y no se entienda, por tanto, elimpacto que los cambios permanentes tie-nen en el mismo. Por eso, adems de edu-car a nuestro cliente, hemos de construircon l el modelo de colaboracin bajo elque controlaremos el proyecto. Solo unproceso comn y aceptado, con un mode-lo de colaboracin claro entre cliente yproveedor, y quiz un SLA claro quegarantice los intereses del cliente, son lagaranta de que podemos lograr el xito.Y esto, desde luego, no se logra slo connuestra implicacin y con un cliente ale-jado y que aparece slo el da en que elsoftware realizado ha de ser usado. S queno es fcil, pero tenemos que convencera nuestros clientes de que han de involu-crarse en este proceso, que tienen que estara nuestro lado en el da a da, que tienenque conocer la problemtica con la quenos enfrentamos y compartir la toma dedecisiones con nosotros. Para afrontaresto, lo mejor es que exista al menos unapersona con una posicin jerrquicaimportante en la compaa para la quehacemos el proyecto que sea la responsa-

    ble del mismo y que nos ayude a removercuantas piedras aparezcan en el camino,vinculadas a procesos de coordinacin conel cliente y no a elementos tecnolgicos.Adems de esta persona, es bastanteimportante que exista una comisin dealto nivel, con participacin de la Direc-cin General y, si no es posible, al menosde la Financiera (si las empresas tienenDireccin de Sistemas de Informacin, lonormal es que sta sea la idnea), dondecon un ritmo pautado de reuniones deseguimiento se vaya informando acercade todo lo que va aconteciendo, se vayasupervisando el cumplimiento de la pla-nificacin realizada y siguiendo la evolu-cin de los distintos riesgos que nuestroproyecto ha decidido controlar.

    Y ante todo esto, hemos de matizartambin que estamos ante un sector don-de la prisa est mucho ms a la orden delda que en otros. Cuando una empresadecide montar alguna nueva pieza en susistema de informacin, est dejando enmanos del equipo que debe desarrollardicha pieza una responsabilidad crucial ensu negocio. La rotura de una planificacinimplicar probablemente prdidas rele-vantes para nuestro cliente y, por tanto,las decisiones correctoras han de tomar-se de forma rpida. Seguir un proyectodebe tener un componente fundamentaly es que en cuanto conozcamos la posibi-lidad de un problema lo afrontemos inme-diatamente. El sndrome del estudiante(empezar a estudiar siempre pocas horasantes del examen) es una de las enferme-dades letales que ms pueden daar a losproyectos de software. El seguimientopara anticiparnos a los problemas es lareceta adecuada para curar dicha enfer-medad y uno de los ms importantes sig-nos que demuestran la madurez de unacompaa que desarrolla software.

    dotN

    etM

    ana

  • Miguel Jimnez

    MMiigguueell JJiimmnneezz es Software

    DevelopmentEngineer y

    responsable deformacin para iilliittiiaa

    TTeecchhnnoollooggiieess.Coordina el Madrid.NET User Group,es MVP de Visual

    C#, lder de INETAen Espaa y

    colaborafrecuentemente con

    MSDN y otrosgrupos de usuarios.Contacta con l en

    mmiigguueell@@iilliittiiaa..ccoommBlogs:

    hhttttpp::////bbllooggss..cclleeaarrssccrreeeenn..ccoomm//mmiiggss

    Fotografas delevento por JJoossCCaarrllooss PPaalleenncciiaa

    entrevista

    entrevista a Scott Guthrie

    Es,sin duda alguna,una delas personas ms relevan-tes en Microsoft, y desdesu posicin de GeneralManager en la divisin dedesarrollo coordina losequipos de ASP.NET,CLR,WPF,Silverlight,WindowsForms, IIS 7.0, Commer-ce Server,.NET CompactFramework y Visual Stu-dio Web. Casi nada!

    Durante el pasado MIX07en Las Vegas aprovecha-mos la ocasin para char-lar un rato sobre Silver-light,AJAX y la inminen-te fusin de los desarro-lladores Web con losdiseadores grficos paracrear la tan famosa ver-sin 2.0 de nuestra que-rida Internet.

    Hola Scott, es realmente impresionante la can-tidad de equipos que coordinas. Con tanto trabajode gestin y tantsimas personas en esos equipos,podras indicarnos qu tareas se incluyen en tu rol?

    Coordino todos esos equipos, pero de manera muysencilla porque todos estos equipos simplemente mereportan a m. Puede parecer demasiado trabajo, perotenemos muy buenos lderes en cada uno de esos equi-pos que favorecen que este proceso sea muy transparen-te. Mi trabajo se basa principalmente en tres pilares: tenera la gente adecuada, asegurar que tenemos una estrate-

    gia tcnica y, finalmente, verificar que mantenemos laestrategia cuando construimos nuestros productos.

    Cunto tiempo llevas trabajando en Microsoft?Ahora ya son 10 aos.Y cul ha sido el reto ms extrao o excitan-

    te al que te has enfrentado hasta el momento tra-bajando para Microsoft?

    Bueno, seriamente no he trabajado en nada real-mente extrao, pero lo ms excitante durante todosestos aos ha sido el lanzamiento de .NET 1.0, y duran-te esta semana, la presentacin de Silverlight.

  • Hablando de Silverlight, parece serel nuevo buque insignia de la com-paa en trminos de desarrollo yexpansin en la Web. Esperis unarpida adopcin de la tecnologa?

    Estamos a esperando a lanzar la ver-sin 1.0 en torno al verano. Esta versinsoportar escenarios donde el contenidomultimedia es la clave: audio, vdeo y stre-aming. Y despus, para desarrolladores,probablemente con la versin 1.1, sobrefinales de ao, dispondremos de la pri-mera entrega importante donde poderdesarrollar todo el potencial de Silver-light integrado con .NET Framework.

    Entonces deberamos esperar ala versin 1.1 para comenzar a dis-tribuir y crear aplicaciones basadasen Silverlight en lugar de apresu-rarnos con la 1.0?

    No. No creo que haga falta esperar ala versin 1.1 para integrar multimedia,audio y streaming con grficos interacti-vos y soporte para AJAX. Por ejemplo, siests desarrollando un sitio con soportepara webcasts o videocasts, o donde deseasimportar vdeo, toda la funcionalidad quenecesitas estar a tu alcance con la ver-sin 1.0 en verano.

    La mayora de los desarrolladoressiguen actualmente formndose einvestigando sobre AJAX, puede queincluso no lo hayan aplicado an enningn proyecto. Ahora tenemos a Sil-verlight tambin en escena, no es unpaso demasiado grande?

    Para desarrolladores de .NET, Sil-verlight proporcionar una manera mssencilla de crear contenido ms rico.Como para los desarrolladores de Win-dows Forms que estn migrando actual-mente a WPF, encuentro la migracin aSilverlight muy natural porque tienes con-trol total sobre el modelo de objetos, elmodelo de encapsulacin, puedes res-ponder a eventos y ese tipo de cosas queno harn el desarrollo de aplicaciones tanduro. Actualmente tenemos mucha poten-cia grfica y de procesado, potencia paracrear experiencias realmente diferencia-doras, as que tenemos que exprimirnosal mximo como desarrolladores para usartoda esta potencia creando interfaces deusuario atractivas.

    Desarrolladores creando interfa-ces de usuario atractivas? Con toda lanueva gama de productos como AJAX,Silverlight y Expression, parece quese crea una nueva especie en el eco-sistema del desarrollo de software: losdevsigners, una evolucin de desarro-lladores a diseadores, o ms bien alcontrario?

    Creo que en el futuro veremos amuchas personas desenvolvindose en estenuevo rol entre diseadores y desarrolla-dores. Pero de todas formas, lo que pre-tendemos con Silverlight es hacerlo extre-madamente sencillo para que desarrolla-dores y diseadores trabajen juntos. A par-tir de ahora veremos cmo ms y ms com-paas contratan diseadores para inte-grarlos en pequeos equipos de desarro-llo, y lo ms interesante es que estos disea-dores podrn participar en el proyecto demanera ms transparente; olvidmonos yade diseadores entregando una imagen alos desarrolladores para que capten la ideae intenten reflejarla en el software.

    Si los diseadores pasan a formarparte del ciclo de vida del desarrollode software, existe soporte para inte-grar Expression dentro del proceso dedesarrollo y Team Foundation Server?

    Queremos dar soporte a Team Foun-dation Server y Visual Studio Team Sys-tem con Expression. La primera versin,que sale en estas semanas, no soportaTFS, pero puedes utilizar las herramien-tas externas para proteger y desprotegerficheros en el repositorio de cdigo. Espe-ramos, de todas formas, ms avances enla integracin de las herramientas dediseo con TFS y Visual Studio.

    Y con tanta revolucin tecnolgi-ca en el campo de la experiencia deusuario en la Web, cules son los pla-nes de futuros de Silverlight con res-pecto a AJAX?

    Estamos invirtiendo mucho en AJAXactualmente. Si nos centramos en VisualStudio Orcas tenemos Intellisense paraJavascript, soporte nativo de depuracinde Javascript, opciones ms avanzadaspara la edicin y gestin de CSS, muchasmejoras en el diseador de HTML yfinalmente, actualizacin de controlespara soportar AJAX directamente. Creoque el punto es ms bien decidir si tu apli-cacin se va a centrar en el lado del ser-vidor o en el lado del cliente. En este pun-to, podemos ver cmo AJAX se integraperfectamente con el servidor, conASP.NET, y cmo nuestra lgica denegocio se encuentra all y nos resultarealmente sencillo desarrollar nuestraaplicacin con AJAX. Y por otro lado,cuando queremos apoyarnos en el motorgrfico o realizar tareas ms intensas enel lado del cliente, integrar vdeo o media,es cuando Silverlight entra en juego.

    Los diseadores estn totalmenteacostumbrados a Flash y su plug-inest ampliamente distribuido y sopor-tado en multitud de plataformas. Cre-es que se producir una migracinhacia Silverlight desde Flash?

    Depende, porque Flash se usa paramuchas cosas diferentes. Depende de tuescenario concreto; por ejemplo, Silver-light puede aportar avances ms signifi-cativos para desarrolladores y para vdeo.No esperamos que aquellos que hacenanimaciones o clips de Flash migren a Sil- do

    tNet

    Man

    a

  • dotN

    etM

    ana

  • Si a usted, lector asiduo de dotNetMana, le habla-ran de Silverlight, Astoria, Jasper qu res-pondera? Posiblemente que la cantidad de inno-vaciones que Microsoft ha presentado durante el

    MIX 07, celebrado en Las Vegas los das 30 de abril,1 y 2 de mayo ha sido realmente espectacular. Alnivel de los mejores PDC (Professional DevelopersConference), donde Microsoft suele aprovechar parapresentar novedades revolucionarias a su audien-cia de desarrolladores.

    El MIX es un evento diferente a otros grandeseventos como el Tech-Ed o el IT-Forum. Es unevento enfocado a la experiencia de usuario, tantoen entornos Web como en entornos de escritorio,en el que la audiencia, aparte de desarrolladores,est formada tambin en gran parte por diseado-res y personas con un perfil ms de negocio.

    Dentro del mundo de la Web, se trataron muchostemas relacionados con la Web 2.0, mash-ups, estn-dares como XHTML y CSS, usabilidad, accesibili-dad, etc. En esta rea hubo ponentes espectaculares,en muchos casos externos a Microsoft e indepen-dientes, de la talla de Tantek elik, Molly Holzsch-lag, Kelly Goto y un largo etctera.

    Silverlight

    Pero la estrella de esta edicin fue, por supuesto,Silverlight. Esta tecnologa est llamada a revolu-

    cionar la Web y a poner contra las cuer-das a Adobe Flash, hasta ahora sin com-petencia. Podemos encontrar el sitio ofi-cial, con ejemplos de los resultados quese pueden obtener y todo lo que necesi-tamos para empezar a trabajar con Sil-verlight, en http://www.silverlight.net. Ada de hoy, disponemos de dos versionesde Silverlight, la 1.0 y la 1.1. La principaldiferencia entre ambas est en el modelode desarrollo. Mientras que en Silverlight1.0 el nico lenguaje de que disponemoses Javascript, en 1.1 tendremos opcin deusar tambin C# o Python gracias a lainclusin de .NET Framework para Sil-verlight con su propia BCL. Algunas delas diferencias entre una y otra versin sepresentan en la figura 1.

    Es increble ver cmo Microsoft haconseguido introducir en 4MB todo lo necesariopara que Silverlight 1.1 funcione, incluyendo un

    Burning, burning I feel the silverlight rising!!!

    eventos

  • dotN

    etM

    ana

  • dotN

    etM

    ana

  • Windows Communication Foundation (en lo suce-sivo, WCF) es, en definitiva, una nueva tecnologapara desarrollar servicios (y fijaros en que digoservicios, no servicios Web; supongo queintuiris el porqu). Esto est ms o menos cla-ro para todo el que haya odo algo sobre .NET3.0 (WinFX en nombre beta) y sus pilares tec-nolgicos (WCF, WF, WPF y WCS).

    Hasta ahora, para desarrollar servicios Web XMLnos basbamos en ASMX (ASP.NET). Sin embar-go, necesitamos algo ms que simplemente los ser-vicios Web bsicos? Qu razones podramos tenerpara dar el salto y cambiar en nuestras implemen-taciones de aplicaciones SOA, dejando de desarro-llar servicios Web XML bsicos y empezando a uti-lizar una nueva tecnologa como WCF?

    Bueno, las razones son precisamente los reque-rimientos avanzados de las aplicaciones empresa-riales, que necesitan ms cosas que simplemente unacomunicacin entre cliente y servicio (como hacenlos servicios Web bsicos). Yo veo los siguientes pun-tos/necesidades por los que dar el salto:

    Seguridad avanzada orientada a mensajes enlas comunicaciones con los servicios, inclu-yendo diferentes tipos de autenticacin, auto-rizacin, cifrado, no tampering, firma, etc.

    Mensajera estable y confiable. Soporte de transacciones distribuidas entre

    diferentes servicios. Mecanismos de direccionamiento y enru-

    tado.

    Metadatos para definir requerimientos comopolticas.

    Soporte para adjuntar grandes cantidadesde datos binarios en llamadas/respuestas aservicios (imgenes y/o adjuntos de cual-quier tipo).

    Los estndares WS-* son los que definen pre-cisamente dichos nuevos requerimientos y aspec-tos avanzados de los servicios. WS-* es realmen-te un mundo nuevo: abarcan muchsimas cosas,y comparar WS-* con los servicios Web bsicos(WS-I o basic profile) es como comparar un camincon una carretilla

    En definitiva, cualquiera de los anterioresrequerimientos puede justificar la utilizacin deWCF como tecnologa de nuestros servicios-SOA.Sin embargo, probablemente una de las principa-les razones por las que utilizar WCF sea concre-tamente la seguridad, tanto por su importancia enel mundo de las comunicaciones remotas comopor sus amplias posibilidades en WCF (es proba-blemente uno de los aspectos con ms variantesde WCF).

    En el mundo de las comunicaciones, no debe-mos fiarnos de nadie; cada extremo de las comu-nicaciones debe poder identificarse con el otroextremo, y debemos poder establecer lmites dequ es lo que el otro puede o debe hacer para con-sumir mi servicio. Adems, especialmente en lascomunicaciones sobre entornos pblicos (como

    Seguridad en los servicios SOA con WCF:autenticacin y autorizacin

    plataforma.net

    CCssaarr ddee llaa TToorrrree trabajaactualmente en MMiiccrroossooffttcomo MBS-ISV Develop-ment Advisor, dentro de

    la Divisin de Desarrolla-dores y Plataforma de

    Microsoft.Su background es funda-

    mentalmente la arquitec-tura y desarrollo de apli-caciones distribuidas, con

    tecnologa Microsoft,durante ms de 11 aos.

    Blog: hhttttpp::////bbllooggss..mmssddnn..ccoomm//cceessaarrddeellaattoorrrree

    En este artculo se presentan los conceptos generales relacionados conla seguridad desde el punto de vista de Windows Communication Foun-dation (WCF), para luego presentar en detalle dos de sus caractersticasfundamentales: la autenticacin y la autorizacin.

    Csar de la Torre

  • dnm.plataforma.net
  • dnm.plataforma.net
  • dnm.plataforma.net
  • dnm.plataforma.net
  • dnm.plataforma.netproviderName=System.Data.SqlClient />

    Figura 2.Esquema de autenticacin Membership por un servicio WCF

    Listado 5

    La forma de obtener laidentidad del cliente

    autenticado es la mismaindependientemente del

    token utilizado

  • dnm.plataforma.netuserNamePasswordValidationMode=MembershipProvidermembershipProviderName=SqlMembershipProvider/>

    Listado 6

  • dnm.plataforma.net

  • dnm.plataforma.net
  • dnm.plataforma.net

    Listado 9. Configuracin de un endpoint de WCF (en el fichero .config del servicio) parahabilitar y exigir autenticacin CardSpace/SAML como poltica de MiServicio

    Sistema de autorizacin Relacin con sistema de usuarios

    Roles/Grupos de Windows/AD Usuarios Windows/Active Directory

    Roles de ASP.NET Role Providers Usuarios Membership

    Autorizacin con certificados Certificados cliente X.509

    Permisos y roles de AzMan Usuarios Windows/Active Directory(Windows Authorization Manager)

  • dnm.plataforma.net
  • dnm.plataforma.netSource=localhost;Initial Catalog=ASPNETDB;Integrated Security=TrueproviderName=System.Data.SqlClient />

    Listado 12. Cadena de conexin para roles de ASP.NET y para Membership

    Listado 13. Definicin de proveedor de ASP.NET Role providers

    Listado 14. Definicin de behavior de autorizacin con ASP.NET Role providers

    [PrincipalPermission(SecurityAction.Demand, Role = Desarrolladores)]

    public string ObtenerInfoConfidencialParaDesarrolladores(){

    // Devolvemos la lgica de negocio del mtodoreturn Info confidencial para DESARROLLADORES...;

    }

    Listado 15. Ejemplo de autorizacin WCF con roles ASP.NET 2.0 Role Providers

  • dnm.plataforma.net

    Listado 16. Ejemplo de autorizacin basada en Certificado cliente X.509

    Listado 17. Configuracin para autorizacin con certificados cliente X.509

  • Del 18 a l 22 de jun io de l 2007

  • Introduccin

    Hasta ahora la mayora de las interfaces de usua-rio de las aplicaciones a la medida se basan en eluso de controles bsicos que brindan los entornosde desarrollo. Algunas tcnicas de interaccin basa-das en efectos de tres dimensiones (3D) han sidode dominio casi exclusivo de las aplicaciones dejuegos o de aplicaciones muy especializadas querequieren de desarrolladores expertos en estas tc-nicas. El acceso a recursos 3D ha estado disponi-ble solo a travs de libreras implementadas fun-damentalmente en C++, como OpenGL y DirectX.Pero no resulta sencillo integrar tales libreras conlos paquetes de controles existentes para el desa-rrollo de interfaces de usuario, como es el caso deWindows Forms. Esta falta de integracin ha desa-nimado la inclusin de efectos 3D en la interfaz deusuario de muchas de nuestras aplicaciones.

    Precisamente una de las caractersticas msatractivas de Windows Presentation Foundation(WPF), que ya ha sido tema de un cuaderno tc-nico de dotNetMana [1] y de algunos artculosprevios [2-4], es que reduce la impedancia entrelos mundos 2D y 3D. Las capacidades de extensi-bilidad de WPF permiten crear interfaces de usua-rio con efectos 3D sin exigir un conocimiento tanespecializado como el que se requiere para usarDirectX u OpenGL. En un artculo anterior [3]

    se hizo una primera introduccin al mundo 3Dque puede lograrse con WPF, viendo cmo defi-nir un objeto 3D importante como es el caso deuna esfera. En este trabajo veremos cmo crearcon WPF un objeto 3D que nos permite mostrarlas pginas de un documento simulando la sensa-cin visual de hojear las pginas, como ocurrecuando stas son de papel1.

    Simulando la realidadLa va ms simple para lograr efectos visuales 3Des simularlos con recursos 2D. Por ejemplo, sepuede dibujar un botn que parezca abultado gra-cias al uso de gradientes, con colores ms clarospor encima y ms oscuros debajo, como los boto-nes de la aplicacin Media Player de WindowsVista que se muestra en la figura 1. Otra solucincon ms realismo sera construir un objeto tridi-mensional parecido a un botn real (como el dealgn equipo electrnico) y aplicarle las texturasy colores de iluminacin adecuados.

    Paso de pginas

    en 3D con WPF

    plataforma.net

    MMiigguueell KKaattrriibb es doctor yprofesor jefe de progra-

    macin del departamentode Ciencia de la Compu-tacin de la Universidadde La Habana. Miguel es

    lder del grupo WEBOO,dedicado a la orientacina objetos y la programa-cin en la Web. Es entu-

    siasta de .NET y redactorde dotNetMana.

    MMaarriioo ddeell VVaallllee, IIsskkaannddeerrSSiieerrrraa y YYaammiill HHeerrnnnnddeezzson instructores de pro-gramacin en C# de la

    ctedra de Programacine Ingeniera de Software

    del departamento deCiencia de la Computa-

    cin de la Universidad deLa Habana. Son desarro-

    lladores del grupoWEBOO dedicados a la

    tecnologa .NET.

    En un artculo anterior, los autores nos adentraron en el mundo delos efectos 3D en WPF,mostrndonos cmo lograr un objeto 3D muyutilizado, una esfera. En esta entrega nos definen un visualizador depginas que permite hojear un documento con un efecto similar alde hojear un libro o una revista de papel.

    Miguel Katrib,Mario del Valle,Iskander Sierra,Yamil Hernndez

    Figura 1.Los botones de Windows Media Player.

    1 Aunque, lamentablemente, de momento estamos muy lejos de poder sentir el olor del papel y de la tinta fresca de unadotNetMana recin salida de imprenta.

  • La mayora de los controles inten-tan mostrar una apariencia 3D con efec-tos en 2D. Esto es posible gracias a laspequeas dimensiones de los controles,a la velocidad de movimiento cuando seaplica una animacin, o a la sutileza delefecto, lo que permite ocultar el simu-lacro. Pero para lograr un mayor rea-lismo en los efectos 3D es preferible,aunque por supuesto ms complejo, eluso de la maquinaria 3D de WPF.

    En este trabajo veremos cmo cons-truir un objeto para mostrar una hojade un documento en 3D simulando losmovimientos y deformaciones que sufreuna hoja real de un libro o revista cuan-do se hojea.

    Para comprender esta simulacin,comience por observar cmo ustedhojea las pginas de esta propia revis-ta dotNetMana. El movimiento msevidente es el que hace con cada hojacuando se rota sta sobre su bordeinterior, que hace de eje con la encua-dernacin. Si identificamos las distin-tas posiciones de una rotacin sobreeste borde en una propiedad Progress,que tome valores entre 0 y 180, donde0 indica que la hoja est completa-mente de frente y 180 sera la mismahoja rotada 180 grados, es decirmostrndonos su reverso, podramossimular los movimientos de la hojacomo se muestra en la figura 2.

    Sin embargo, a este efecto le faltarealismo, porque las hojas se ven rgi-das. Hay que buscar un modo de

    lograr un efecto de flexibilidad. Paraello introducimos dos propiedades:Twist y Bend. Twist representa el gra-do de torcedura de la hoja, con unvalor en el rango desde -1 hasta 1. Sise mueve la hoja tomada por unaesquina, sta se va torciendo en direc-cin al borde de rotacin de la mis-ma. En la figura 3 se muestra una hoja(vista desde arriba) con diferentes gra-dos de torcedura.

    Por su parte, la propiedad Bend esla que permite doblar o curvar la hojahacia fuera o hacia dentro. Con unvalor entre -1 y 1, muestra diferentesgrados de curvatura del papel, comoen la figura 4.

    dotN

    etM

    ana

  • dotN

    etM

    ana

  • dotN

    etM

    ana

  • dotN

    etM

    ana

  • dotN

    etM

    ana

  • dotN

    etM

    ana

  • dotN

    etM

    ana

  • dotN

    etM

    ana

  • dotN

    etM

    ana

  • dotN

    etM

    ana

  • dotN

    etM

    ana

  • dotN

    etM

    ana

  • dotN

    etM

    ana

  • dotN

    etM

    ana

  • dotN

    etM

    ana

  • dotN

    etM

    ana

  • dotN

    etM

    ana

  • dotN

    etM

    ana

  • dnm.todonet@qa
  • .NET Vision es una suite de componentes de inter-faz de usuario que hacen posible enriquecer nues-tras aplicaciones, tanto para Windows como parala Web, con elementos visuales muy efectivos a lahora tanto de embellecer su apariencia como de pre-sentar la informacin que ellas producen de unamanera que facilite una mejor interpretacin. Sufabricante, Nevron (http://www.nevron.com) es unaempresa basada en Sofa, Bulgaria que hace honora la bien conocida excelencia de los programadoresde Europa del Este y que en relativamente pocotiempo ha conseguido hacerse con una impresio-nante cartera de clientes que puede consultarse ensu pgina Web.

    Contenido del paqueteLa suite Nevron .NET Vision integra tres produc-tos diferentes, que tambin se venden por separado:

    Nevron User Interface for .NET es unalibrera de clases y controles que potenciarnsus desarrollos Windows Forms, permitindo-le crear interfaces de usuario impactantes yatractivas con un mnimo de esfuerzo y mxi-ma productividad.

    Nevron Chart for .NET es una librera decomponentes visuales que facilita la incorpora-cin a nuestras aplicaciones, tanto WindowsForms como ASP.NET, de grficos comercia-les, cientficos, etc., que a la vez que tambinrealzan la interfaz de usuario de stas, facilitarnen gran medida a los usuarios finales la inter-pretacin de la informacin.

    Por ltimo, Nevron Diagram for .NET es unalibrera de clases y controles visuales, en estecaso destinada a facilitar la incorporacin a nues-tras aplicaciones, tanto Windows Forms comoASP.NET, de todo tipo de diagramas (organi-zativos, de redes, de clases...).

    Nevron .NET Vision

    Laboratorio.netOctavio Hernndez

    Este mes presentamos .NET Vision,una suite de componentes para la capade presentacin que le permitir dotara sus aplicaciones de posibilidades devisualizacin de informacin que real-zarn en buena medida sus interfacesde usuario.

    Nombre: .NET VisionVersin: Q4 2006Fabricante: NevronSitio Web: http://www.nevron.comCategora: Componentes de interfaz de

    usuarioPrecios: .NET Vision Enterprise: 1.589 USD..NET Vision Professional: 989 USD. Por un coste adicional se puede adquirir

    una subscripcin anual, que da derecho arecibir todas las actualizaciones de losproductos durante un ao, as comotambin un paquete de soporte tcnicoprioritario.

    Se aplican descuentos progresivos segncantidad de licencias.

    Adems, los productos que componen lasuite se pueden adquirir de maneraindependiente.

    Ficha tcnica

    OFERTA ESPECIAL PARA LECTORES DE DOTNETMANA

    Con vigencia hasta el 15 de julio de 2007,Nevron ofre-ce a los lectores de dotNetMana un descuento espe-cial de un 20% sobre los precios de venta, aplicable alos nuevos pedidos de la suite .NET Vision o de cual-quiera de los productos que la componen (User Inter-face for .NET, Chart for .NET o Diagram for .NET).

    Para hacer uso de la oferta,mencione el cdigo DNM07al contactar con el fabricante:

    Tel: 359-2-812-6444email: [email protected]: http://www.nevron.com

    Octavio Hernndezes Development

    Advisor de PlainConcepts, editor

    tcnico dedotNetMana y tutor

    de campusMVP.Es MVP de C# desde2004, MCSD y MCT.

  • dotN

    etM

    ana

  • dotN

    etM

    ana

  • dotN

    etM

    ana

  • Deseo suscribirme a dotNetMana por un ao (11 nmeros) por un precio de 65,00 IVA incluido. Si su direccin est fuera deEspaa consulte los detalles en www.dotnetmania.com.

    Deseo que me enven los nmeros atrasados marcados segn el precio de portada. Otros:

    FORMA DE PAGO Taln nominativo a nombre NETALIA, S.L. Transferencia bancaria a nombre de NETALIA, S.L. a:

    La Caixa - Nmero de cuenta 2100 4315 48 2200014696 (Indique su nombre en la transferencia) Domiciliacin Bancaria (con renovacin automtica, previo aviso)

    Indique su nmero de cuenta: Tarjeta de crdito

    VISA MASTERCARDNmero de su tarjeta: Fecha de caducidad: / (imprescindible)

    Firma y/o sello

    a de de 2007

    DATOS DE ENVO

    CIF/NIF. . . . . . . . . . . . . . . . . . . . Empresa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Nombre y apellidos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Direccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Poblacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Cdigo Postal . . . . . . . . . . . . . . . . . . . Provincia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Telfono . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fax . . . . . . . . . . . . . . . . . . . . . . . . . . . email . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    DATOS DE FACTURACIN (slo si son distintos a los datos de envo)

    CIF/NIF. . . . . . . . . . . . . . . . . . . . Empresa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Nombre y apellidos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Direccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Poblacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Cdigo Postal . . . . . . . . . . . . . . . . . . . Provincia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Telfono . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fax . . . . . . . . . . . . . . . . . . . . . . . . . . . email . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    Usted autoriza a la mecanizacinde estos datos. El responsable ydestinatario de stos es Netalia,S.L. Usted tiene derecho a acce-der a sus datos, modificarlos ycancelarlos cuando lo desee. Susdatos no sern cedidos en ningu-na de las formas posibles a terce-ras partes y no se utilizarn msque para el buen funcionamien-to de su suscripcin a la revistadotNetMana y para informar-le de las actividades comercialesque realice la editorial Netalia,S.L. Si no desea recibir informa-cin comercial de dotNetManamarque la casilla siguiente Puede enviar sus datos por Fax al 91 499 13 64, o por telfono al 91 666 74 77,

    o por email a la direccin [email protected], o tambin puedeenviarlos por correo postal a la siguiente direccin:

    Netalia, S.L.C/ Robledal, 13528529- Rivas Vaciamadrid (Madrid)

    Oferta vlida hasta el 30 de junio de 2007 o hasta agotar existencias

    N24 (6,50) N25 (6,50) N26 (6,50) N27 (6,50) N28 (6,50) N29 (6,50) N30 (6,50)

    N31 (6,50) N32 (6,50) N33 (6,50) N34 (6,50) N35 (6,50) N36 (6,50) N37 (6,50)

  • Pro C# with .NET 3.0,Special EditionAndrew Troelsen

    Editorial: APressPginas: 1150Publicado: febrero, 2007ISBN: 1-59059-823-7Idioma: ingls

    Todo un clsico entre los libros dedicados a C# se renueva, expandiendo el ampliomaterial que ya cubre (que incluye todos los principales temas relacionados con ellenguaje, la descripcin de las principales libreras, una amplia cobertura de la estruc-tura y funcionamiento de los ensamblados y la programacin a bajo nivel, as comoamplios captulos relativos al desarrollo de los principales tipos de aplicaciones y ser-vicios para .NET Framework Windows Forms, Web Forms, Web Services, aplica-ciones distribuidas con Remoting) con seis nuevos captulos, dedicados a las nue-vas libreras incorporadas a .NET 3.0 (Presentation Foundation, CommunicationFoundation, Workflow Foundation) y a las nuevas posibilidades que estaremos apro-vechando dentro de poco: C# 3.0 y LINQ.

    Hoy por hoy, si tuviera que elegir un nico libro de C# para llevarme a una isla desier-ta, creo que ste es el que escogera. Altamente recomendado.

    Expert .NET 2.0 IL AssemblerSerge LidinEditorial: APressPginas: 476Publicado: septiembre, 2006ISBN: 1-59059-646-3Idioma: ingls

    Sin duda alguna, este libro es la referencia definitiva si desea conocer en profundi-dad las estructuras internas y mecanismos en los que se apoya el Common Langua-ge Runtime (CLR) para la carga y ejecucin de aplicaciones, y hasta los ms mni-mos detalles relacionados con el Lenguaje Intermedio (Intermediate Language, IL)y el desarrollo de aplicaciones en ese lenguaje, el ensamblador de .NET Framework.El libro ofrece muchsima informacin imposible de encontrar en otras fuentes, comola estructura interna de los ejecutables de cdigo manejado o los cdigos internos delas instrucciones IL. Lidin trabaja desde 1999 en el equipo del CLR en Microsoft, yform parte del equipo que dise el lenguaje intermedio e implement ILASM,ILDASM y otras utilidades de bajo nivel de .NET.

    biblioteca.net

    nove

    dad

    es Ajax con ASP.NET

    Wallace B.McClure, Scott Cate, Paul Glavich y Craig Shoemaker. Editorial Anaya Multi-media/Wrox. Pginas.: 432. Publicado: mayo, 2007. ISBN: 978-84-415-2207-7.

    Curso de CSS Christopher Schmitt. Editorial: Anaya Multimedia/OReilly. Pginas: 576. Publicado: mayo, 2007. ISBN: 978-84-415-2198-8.

    TEXTO: OCTAVIO HERNNDEZ

  • dotN

    etM

    ana