dotnetmanía Aspectos e intercepción de métodos en.net Entrevista a Ivan Medvedev

Tamaño: px
Comenzar la demostración a partir de la página:

Download "dotnetmanía Aspectos e intercepción de métodos en.net Entrevista a Ivan Medvedev"

Transcripción

1 Visual Basic.NET C# Delphi ASP.NET ADO.NET.NET Framework Windows Server System dotnetmanía nº10 diciembre 2004 Precio: 6,00 (España) Dedicada a los profesionales de la plataforma.net Aspectos e intercepción de métodos en.net o cómo poner la guinda sin estropear el merengue Entrevista a Ivan Medvedev miembro del CLR Security Team en Redmond Informes y trazado de gráficas 3D en ASPNET (II) Verificando la seguridad de nuestras aplicaciones SQL Analysis Services (I) Trabajando con el registro de Windows opinión Orientación al producto versus orientación al procedimiento Universidad Proyecto MoMo. Museos, Hormigas y Serialización en el Compact Framework de.net Comunidad SpainNet Vocación de comunidad al alcance de todos Arquitectura Arquitecturas Orientadas a Servicios: Una introducción Laboratorio DevPartner Studio Professional Edition

2

3 << dnm.editorial dotnetmanía Dedicada a los profesionales de la plataforma.net Año I Número 10 Diciembre 2004 Precio: 6 (España) Misión imposible Editor Paco Marín (paco.marin@dotnetmania.com) Administración Pilar Pérez (pilar.perez@dotnetmania.com) Asesor Técnico/Coordinación Marino Posadas (marino.posadas@dotnetmania.com) Redactores Antonio Quiros, Guillermo 'guille' Som, Jorge Serrano Pérez, José Manuel Alarcón Aguín, Luis Miguel Blanco y Manuel Imaz. Colaboradores habituales Ángel Esteban, Braulio Díez, Eladio Rincón, Erich Bühler, Fernando Nogueras, Jorge Crespo Cano, José Miguel Torres, Miguel Egea, Miguel Katrib Mora (Grupo Weboo), Octavio Hernández, Pablo Abbate, Pedro Pozo, Pepe Hevia y Salvador Ramos. Además colaboran en este número Antonio López, Javier Jaén y José A. Mocholí Portada Yamil Hernández Edición y Suscripciones.netalia c/ Robledal, Rivas-Vaciamadrid (Madrid) Tf. (34) Fax (34) Publicidad Mediadev Sophie Mancini (sophie@mediadev.es) Tf Fax Imprime Gráficas Vallehermoso ISSN Depósito Legal M Éste es un número con más caras nuevas de lo habitual. Se estrena Yamil Hernández, del Grupo Weboo de la universidad de La Habana, de la mano de Miguel Katrib, cómo no!, quien además de escribir, nos ha diseñado la portada de este mes: Misión Imposible que ilustra su artículo Aspectos e intercepción de métodos en.net o cómo poner la guinda sin estropear el merengue. Un artículo de once páginas en la que describe algunos mecanismos para interceptar la llamada a un método en.net. Pero no es la única misión imposible de este mes; la otra fue conseguir acercarse siquiera a Bill Gates quien pasó por Europa con motivo del IT Forum en Dinamarca y pasó por España el viernes 19 de noviembre, entre grandes medidas de seguridad y como un auténtico fenómeno mediático, y con tantos compromisos que es de esos días que uno se alegra de no ser él. Pobre hombre! Y otro estreno con el Proyecto MoMo, o de cómo programar de forma natural. Fijándose en el comportamiento de las hormigas cuando buscan comida, Javier Jaén, profesor de la universidad politécnica de Valencia y un equipo de estudiantes ha realizado un interesante proyecto para la visita asistida a museos. Fueron los ganadores de la Imagine Cup en España. Espero que cunda el ejemplo y otros meses contemos con otros profesores que nos expliquen sus proyectos de investigación -a ser posible tan bien como Javier Jaén y José A. Mocholí lo han hecho esta vez-. Interesante entrevista a Ivan Medvedev, miembro del CLR Security Team en Redmond, realizada por Marino Posadas, en la que también estuvo presente activamente el ya mencionado Miguel Katrib. Recordarán que Miguel hablaba sobre un problema de seguridad del CLR en el número 3 de dotnet- Manía. Afirmación con la que Sebastian Lange program manager, precisamente del CLR Security Team en Redmond, no estaba de acuerdo y nos lo hizo saber en el número 4. Ivan y Miguel tuvieron ocasión de comentar éstos y otros temas en el Microsoft Research de este año. Por último, también se estrena Antonio Soto, Technical Account Manager de Alcatraz Solutions, quien comienza a colaborar con nosostros con su artículo Verificando la seguridad de nuestras aplicaciones que nos describe brevemente la utilización de la no siempre bien conocida herramienta Windows Application Verifier. 3

4 10 dnm.sumario dnm.sumario Orientación al producto versus orientación al procedimiento 9-10 Entre las muchas encrucijadas que existen hoy en el ámbito de la Ingeniería del Software, tenemos aquella donde se cruzan dos orientaciones que, no siendo contrapuestas, marcan a veces el modo en que los equipos de trabajo se organizan y realizan su labor diaria. Se trata de la orientación al producto frente a la orientación al procedimiento. Entrevista a Ivan Medvedev En el evento de Microsoft Research de este año, tuvimos la oportunidad de departir con Ivan Medvedev, del CLR Security Team en Redmond. Informes y trazado de gráficas 3D en ASP.NET (II) En esta serie de artículos mostramos varias tecnologías que pueden ser utilizadas en aplicaciones Web y hemos elegido como excusa la creación de informes. Aspectos e intercepción de métodos en.net o cómo poner la guinda sin estropear el merengue Con los recursos que brinda.net, es posible desarrollar mecanismos para interceptar la llamada a un método. Una vez interceptada una llamada se puede entonces tomar el control y ejecutar funcionalidades relacionadas con la ejecución del método, pero que no están incluidas en el código de éste. Este artículo desarrolla y explica tres vías para llevar a cabo esta intercepción. Verificando la seguridad de nuestras aplicaciones Cada vez son más los agujeros de seguridad que explotan los códigos maliciosos, ocasionados por malas prácticas de programación. En este artículo se describe la utilización de una herramienta, Microsoft Application Verifier, que puede ser un buen primer paso para el testeo de la seguridad de nuestras aplicaciones. SQL Server Analysis Services. Hola Cubo! (I) En esta serie de artículos presentaremos un pequeño ejemplo de un DataWarehouse, a partir del cual construiremos una base de datos multidimensional compuesta por un sólo Cubo, y que será explotada y analizada con herramientas cliente como MS Excel y MS Data Analyzer. El objetivo fundamental es que nos empecemos a familiarizar con esta estupenda herramienta que viene con SQL Server y que en la mayoría de las ocasiones no se utiliza por desconocimiento. Museos, hormigas y serialización en el Compact Framework de.net Hace 4 años, en París y con sólo 2 horas para visitar el Louvre. Así nació MOMO (MuseO MÓvil) en la mente del profesor Javier Jaén. Mediante el uso de un PocketPC inalámbrico y unas cuantas hormigas el visitante puede tener a su alcance una completa información multimedia optimizada a sus gustos y al tiempo de que dispone. Trabajando con el registro de Windows En este artículo se muestran ejemplos de cómo trabajar con el registro de Windows usando algunas clases del namespace Microsoft.Win32.Registry. Arquitecturas Orientadas a Servicios: Una introducción Introducción a SOA mostrando algunos antecedentes o evolución histórica que permitan, no solamente ubicar al nuevo concepto, sino entender porqué surge, qué problemas resuelve, la forma en que los resuelve, etc. dnm.laboratorio DevPartner Studio Professional Edition dnm.comunidad.net 56 SpainNet: Vocación de comunidad al alcance de todos. dnm.biblioteca.net 57 Programming Microsoft.NET XML Web Services (Damien Foggon, Daniel Maharry, Chris Ullman y Karli Watson). Expert Web Services Security in the.net Platform (Laurence Moroney, Brian Nantz). dnm.desvan 58

5

6 << dotnetmanía 6 noticias.noticias.noticias.noticias.noticias.noticias << dnm.noticias dnm.noticias Microsoft da a conocer la estrategia y nuevos lanzamientos de su división de servidores y plataformas Microsoft presentó MOM 2005, MVS 2005 y HIS 2004 como un paso más en la consecución de los objetivos de la Iniciativa Sistemas Dinámicos Microsoft Operations Manager 2005 Ha sido presentado MOM 2005 en su edición para grandes corporaciones y en su edición Workgroup para medianas empresas. MOM 2005 incluye un framework integrado que ofrece interconexiones basadas en servicios Web con otros sistemas de gestión ya en uso, y una nueva consola que muestra el estado del sistema y permite el acceso al servidor integrado para la elaboración de informes. MOM 2005 ayuda a los administradores de TI a convertir los datos de gestión en tareas con el conocimiento avanzado que proporcionan los nuevos paquetes de gestión (para aplicaciones como Exchange, SQL Server, ISA Server, etc.). La nueva versión de MOM ofrece características de seguridad integradas, tales como la capacidad de autentificar mutuamente a agentes y servidores, que está diseñada para ayudar a las empresas a protegerse contra el mal uso del sistema de gestión. Microsoft Virtual Server 2005 MVS 2005 incluye una instalación simple y una cómoda gestión de las máquinas basada en la Web, así como un almacenaje robusto y características de networking. Además las herramientas de gestión de los servidores físicos de Microsoft y de vendedores de herramientas de gestión de terceras partes han sido actualizadas para proporcionar a los administradores de una experiencia uniforme de administración a través de la combinación de servidores físicos y virtuales. Por ejemplo, un Virtual Server 2005 Management Pack para Microsoft Operations Manager 2005 habilitará la monitorización centralizada y la administración de rendimiento de múltiples servidores físicos y virtuales. Ambas ediciones tienen las mismas características y sólo se diferencian en la escalabilidad. Virtu<al Server 2005 Standard Edition soporta hasta 4 procesadores y Virtual Server 2005 Enterprise Edition soporta hasta 32 procesadores. BETA 2 DE SQL SERVER KIT DE RECURSOS Este mes incluimos, con la colaboración de Microsoft Ibérica, un kit (en inglés) con dos CDs y un DVD cuyo contenido es el siguiente: SQL Server 2005 Beta 2 Developer Edition. Además de la Beta 2 se incluye documentación y ejemplos. SQL Server 2005 Beta 2 DVD de recursos. Esta es su guía para SQL Server 2005, con documentos y recursos técnicos de gran valor que le ayudarán a empezar con SQL Server Incluye además vídeos Microsoft Host Integration Server 2004 HIS 2005 incluye las recientemente desarrolladas herramientas de diseño Transaction Integrator (TI), que funcionan en el contexto del entorno de desarrollo integrado de Visual Studio.NET Las herramientas TI permiten a los desarrolladores de Windows aprovechar aplicaciones existentes de sistemas host por línea de negocios como servicios web XML o componentes del servidor Microsoft.NET, que se pueden utilizar en una solución con arquitectura orientada a los servicios (SOA). HIS 2004 proporcionan a los clientes las herramientas para crear servicios web XML, que en última instancia pueden ser consumidos y reutilizados en una solución basada en SOA para alcanzar este objetivo. Además Microsoft ha realizado inversiones importantes en HIS 2004 que impulsarán la capacidad de los clientes para integrar diferentes aplicaciones y mejorar la interoperatibilidad entre los sistemas host de IBM y las bases de datos DB2 y Windows Server y SQL Server. técnicos, herramientas y demostraciones. SQL Server 2005 Beta 2 Laboratorios de prácticas, que ofrecen a los usuarios una experiencia práctica guiada de autoformación sobre áreas tan importantes como las herramientas administrativas, seguridad, diseño de bases de datos e inteligencia de negocio (BI). Para más información en castellano sobre SQL Server 2005 visite: SQL/2005.

7 << dnm.noticias ILOG presenta Rules for.net, el primer sistema para gestionar políticas empresariales desde Word Es el primer sistema de gestión de reglas de negocio que se integra con Office y Visual Studio.NET y con los servicios de colaboración de SharePoint. Las reglas de negocio proporcionan una forma probada de captar la lógica de negocio de las aplicaciones empresariales. Un Sistema para la Gestión de las Reglas de Negocio o BRMS (Business Rule Management System) es una solución diseñada para modificar y gestionar las reglas de negocio fuera de estas aplicaciones. ILOG Rules for.net permite la gestión de las reglas de negocio a lo largo del ciclo de vida de las aplicaciones de negocio de misión crítica. Para los analistas y otros usuarios de negocio, proporciona herramientas de creación y gestión integradas en Microsfoft Office System y un interface basado en la Web. Para los arquitectos y desarrolladores de software, proporciona un conjunto de herramientas dentro de Microsoft Visual Studio.NET para integrar la tecnología de reglas de negocio de ILOG directamente en las aplicaciones.net. ILOG Rule Studio for.net Incluye una amplia operativilidad para desarrollar y gestionar aplicaciones de reglas de negocio: integración con Visual Studio.NET, vista del modelo de objetos de negocio, editor de reglas de negocio y ejecución directa sobre objetos.net. ILOG Rule Engine for.net El motor ILOG Rule para.net proporciona a los desarrolladores de.net el poder y la versatilidad necesaria para las exigentes aplicaciones de hoy en día: Motor de reglas nativo de.net. Escrito enteramente en C#, es un ensamblado que puede ser usado por cualquiera de los lenguajes de.net. Alto rendimiento y escalabilidad. Soporte para distintas fuentes de datos. Puede acceder a numerosas fuentes de datos, incluyendo objetos.net, antiguas aplicaciones COM(+), documentos XML, servicios Web, colas de mensajes, directorio activo y almacenes de datos de Exhange Server. Puede obtener más información en la web del producto en Infragistics NetAdvantage Volumen 3 Las novedades que incluye Infragistics NetAdvantage Volumen 3 son un nuevo y completo motor de cálculo (CalcEngine) que le da toda la potencia de Microsoft Excel a sus formularios de Windows y a sus aplicaciones ASP.NET, una vista al estilo de Office 2003 y Visual Studio 2005, etc. Infragistics NetAdvantage 2004 Volumen 3 es el único entorno de componentes de presentación por capas diseñado para darle todo lo que necesita para crear GUIs pulidos y robustos para entornos Microsoft. Cuando está desarrollando en.com,.net o ASP.NET, NetAdvantage 2004 le trae el sistema de herramientas correcto para su trabajo, permitiéndole crear fácilmente interfaces con la sofisticación y la usabilidad que se encuentra en las aplicaciones comerciales más reconocidas hoy como Microsoft Office, Windows y Outlook. Más información en Infragistics NetAdvantage Volumen 3 salió al mercado en Octubre de 2004, pero a partir del 1 de diciembre, Abox ofrecerá una mejora en el precio. Puede consultar en dnm.noticias 7

8 << dnm.noticias Microsoft IT Forum 2004 Conferencia europea para profesionales TI, arquitectos de sistemas y aplicaciones, especialistas y administradores. En días pasados, del 15 al 19 de noviembre, ha tenido lugar en la ciudad de Copenhagen el IT Forum 2004, el que quizás sea el mayor evento para IT Pros de todos los que se celebran en Europa. Este año el evento contó con la presencia de Bill Gates que participó en la primera de la keynote junto con Jean- Philippe Courtois, responsable en Microsoft para EMEA con una charla titulada The Magic of Software. En dicha charla resaltó la importancia del software y en general de la informática como herramienta que permita a las personas disfrutar de una vida mejor al mismo tiempo que exponía las iniciativas que están en marcha en áreas como la gestión de identidades, anunciando el lanzamiento de una SmartCard basada en.net, o la gestión de sistemas englobada en lo que Microsoft denomina DSI (Dynamic Systems Initiative). Posteriormente, Scott Charney ya en una segunda keynote habló sobre las iniciativas y el punto de vista de Microsoft en temas relacionados con la seguridad, área de la cuál es uno de los máximos responsables en la compañía. El evento, que se desarrolló con una logística y planificación similar a la que Microsoft nos tiene acostumbrados con eventos como el TechEd, contó con múltiples charlas en áreas como la administración y la gestión de sistemas, la gestión de datos, la planificación y despliegue de sistemas, soluciones de infraestructura, mensajería y movilidad y, por supuesto, cómo no, seguridad. A mayores múltiples Hands-On-Labs o talleres donde entrenar los conocimientos adquiridos en las conferencias y los inestimables Ask The Experts, que contaban con nombres como Ron Talmage, Gianluca Hotz o Jimmy Andersson entre muchos otros. En el capítulo de novedades o lanzamientos, los asistentes han podido trabajar ya en los Hands-On-Labs con una beta de Windows Update Services, o lo que es lo mismo, Software Update Services (SUS) 2.0. Entre las nuevas características, una muy importante: con WUS seremos capaces de distribuir actualizaciones para Windows pero además también para Office, Exchange y SQL Server. Sobrevolando en todo momento el Bella Center de Copenhagen estaba el lanzamiento de Microsoft Operations Manager (MOM) 2005 y de Virtual Server 2005, el hermano de Virtual PC 2004 orientado a servidores que cuenta con novedades interesantes como la posibilidad de desplegar sobre una misma máquina física varias máquina virtuales que conformen un cluster de Windows. Y de Copenhagen nos traemos una estupenda noticia; en el año 2005 el IT Forum tendrá lugar en Barcelona! Tomad nota, tenemos todos una cita del 15 al 18 de noviembre del año próximo en el IT Forum << dotnetmanía 8 Borland presentó Delphi 2005 en Madrid y Barcelona Borland, conjuntamente con Danysoft, celebró sendos seminarios en Madrid y Barcelona para presentar las novedades de Dephi Las presentaciones corrieron a cargo de Octavio Hernández, director técnico de Danysoft y Jason Vokes, jefe de producto para Delphi. La agenda de los seminarios fue: Delphi Presentación por Jason Vokes. Ventajas de Delphi 2005 para ADO.NET. Desarrollo de aplicaciones y servicios Web ASP.NET. Desarrollo de aplicaciones para Win32 y.net. Panel de expertos. Puede obtener información de Delphi 2005 en el número 9 de dotnetmanía, o en o en Nuevo InstallShield 10.5 Macrovision ha anunciado la nueva versión 10.5 de InstallShield. Entre las nuevas características se incluye: Característica Trialware.Puede convertir en un producto completo, uno de evaluación en pocos pasos. Soporte para MSI 3.0. Diseño Colaboración. Introduce ensamblados reusables, versionables y componentes modulares que pueden ser incorporados en diferentes instalaciones. Vista de cambios XML. Permite actualizaciones automáticas de ficheros de configuración XML en las máquinas destino, sin que sea necesario escribir código cliente. Repositorios locales y en red. Permite a los usuarios compartir y reutilizar elementos comunes entre múltiples proyectos de instalación. dnm.noticias

9 Por Antonio Quirós General Area Manager Alhambra-Eidos Orientación al producto versus orientación al procedimiento Entre las muchas encrucijadas que existen hoy en el ámbito de la Ingeniería del Software (perdón, ahora se llama Arquitectura, yo es que soy de letras y, por tanto, un poco lerdo), tenemos aquella donde se cruzan dos orientaciones que, no siendo contrapuestas, marcan a veces el modo en que los equipos de trabajo se organizan y realizan su labor diaria. Se trata de la orientación al producto frente a la orientación al procedimiento. << Mucho se ha hablado, Muchos hubieran deseado nacer en otra época o que Cobol no se hubiera acabado nunca y mucho se hablará aún, acerca de cómo debe fabricarse el software. Pero, en general, podemos conceptualizar las orientaciones actuales en dos frentes diferentes: 1) Quienes ponen el acento en fabricar un buen producto. Para ellos lo importante es la calidad de la solución final sin importar tanto el método de fabricación o el modelo de colaboración que se haya puesto en práctica para regular las relaciones con él. Hablando en términos algo vulgares podríamos decir que, para los que siguen esta orientación, el fin justifica a los medios. Podemos afirmar que todos aquellos que hablan de metodologías ligeras, ágiles, Extremme Programming, etc. son los principales detentadores de esta afirmación. 2) Quienes ponen el acento en tener un procedimiento riguroso de fabricación y un modelo de colaboración con el cliente lo más determinado posible. Para ellos lo importante es el rigor en el proceso de construcción a fin de que las partes contratantes y ejecutoras del proyecto tengan en todo momento claro que la fabricación se hará de acuerdo a unas normas y que los aspectos contractuales y económicos del proyecto se cuidarán sobre cualquiera otros. CMM (Capability Maturity Model) es quizá el paradigma de los que defienden este punto de vista. Lo normal es que ambas posiciones, si se extreman, conduzcan a situaciones paradójicas que, sin duda, debemos evitar. Así, pues, no creo que un equipo de desarrollo pueda concentrarse en obtener el mejor producto posible si, mientras tanto, su empresa se está arruinando porque el cliente, enfurecido por la anarquía y el caos presente durante el proceso de desarrollo, no paga ninguna de las facturas. Podemos estar orientados a realizar el mejor producto entre los posibles, pero si nos olvidamos de que hay fechas que cumplir y lo sacamos un par de años más tarde de lo que estaba previsto seguro que nuestro cliente no nos felicitará por el servicio prestado. Por el contrario, si nos concentramos en sólo la forma, si guardamos las medidas más reglamentarias y hacemos que la planificación del proyecto, las actas, las comunicaciones internas, etc., sean nuestras herramientas de trabajo, pero no cuidamos de modo especial la calidad del producto final, estaremos igualmente perdidos. Nuestro cliente nos mantendrá su crédito de credibilidad mientras dure el proyecto, animado por las buenas formas y un modelo de colaboración muy cuidado, pero explotará su cólera al final cuando compruebe que el producto obteni- 9

10 << dnm.opinion 10 do no responde a los estándares de calidad necesarios para su implantación con éxito. Hacia dónde debe, pues, orientarse una empresa de servicios que desarrolle software para clientes o incluso un departamento de informática interna de cualquier corporación que deba desarrollar, igualmente, proyectos de software para los distintos departamentos de la misma? La respuesta a esta pregunta no está en una afirmación rotunda hacia ninguno de los dos componentes del binomio orientación al producto / orientación al procedimiento; desde mi punto de vista, lo que tenemos que hacer es indagar acerca de la prelación que existe entre ambas orientaciones para tratar de adecuar nuestra acción empresarial y tecnológica en función de lo que descubramos. No es concebible que una compañía actual que esté desarrollando software no esté pensando continuamente en formar y certificar a sus técnicos. A mí, y es una opinión estrictamente personal, no me cabe la menor duda de que el orden de prelación coloca en un nivel más relevante la orientación al producto y, en segundo lugar, la orientación al procedimiento. Quiero decir con esto que lo que podemos hacer es olvidarnos de la orientación al procedimiento y centrarnos en la orientación al producto? Ni mucho menos. Simplemente quiero indicar que un cliente quizá pueda perdonarnos dificultades en el modelo de colaboración pero, desde luego, lo que no va a perdonarnos es la fabricación de software deficiente, escasamente probado, que a duras penas cumpla con los requisitos pedidos o que se encuentre obsoleto en cuanto a su concepción funcional y/o tecnológica. Las empresas, no obstante, deben cuidar ambos elementos en general. No es concebible que una compañía actual que esté desarrollando software no esté pensando continuamente en formar y certificar a sus técnicos para que sus logros tecnológicos sean cada vez mejores, pero tampoco es concebible que no esté, en paralelo, activando políticas para lograr implantar abordajes metodológicos (CMM u otro cualquiera) que hagan más viables y sencillos los proyectos. Muchos pensarán que si ya es muy fuerte el continuo tesón para estar al día tecnológicamente, lo que ya nos desborda es tener que estarlo también en la parte metodológica y procedimental. Efectivamente, muchos hubieran deseado nacer en otra época o que Cobol no se hubiera acabado nunca, pero la realidad es bien diferente y la complejidad es una tendencia irreversible dentro de nuestro mundo. No podemos invertirla, no podemos buscar la simplicidad porque la simplicidad pertenece a un pasado mítico del hombre que ya no volverá (salvo catástrofe natural o nuclear). Por tanto no sirve quejarse sino ponerse a trabajar. Otro aspecto interesante que me gustaría resaltar es la utilización de los aspectos procedimentales como barreras para detener las lógicas pretensiones de nuestros clientes respecto a que el software construido para ellos, además de estar realizado de modo formalmente correcto, funcione. Lógica pretensión, por otra parte, si consideramos que se suelen invertir decenas de miles, centenas de miles o incluso millones de euros en proyectos cuya finalidad es la de satisfacer las necesidades de negocio de los clientes. Esto debe llevarnos a considerar que, por encima de la orientación al producto y/o de la orientación al procedimiento debe sobreponerse un valor de mucha mayor importancia que es la orientación a satisfacer las necesidades del negocio de nuestro cliente. Por esto me gusta MSF (Microsoft Solutions Framework) porque creo que coloca todos estos elementos en el orden de prelación razonable entre ellos y, desde luego, al asunto de la satisfacción de las necesidades del negocio del cliente por encima de cualquier otro. A poco que nos paremos a pensar, todo esto parece conducirnos a un consejo de radical importancia y es la reeducación de nuestras mentes para, a modo de como lo hacemos en un armario, colocar en ellas las cosas en los lugares adecuados, las camisas en las perchas, los calcetines con los calcetines y las corbatas en el corbatero. Hay muchos desarrolladores, o muchas empresas de desarrollo al completo, que tienen muy mal colocado su armario y a lo mejor han colgado los calcetines de las perchas y amontonado las camisas al lado de los zapatos. Este proceso es difícil, ya que los prejuicios y la educación amontonada durante años nos dificultan el trabajo, sin embargo es una labor imprescindible. En este proceso sólo sobrevivirán los que mejor se adapten a la complejidad de nuestro mundo, los que comprendan que nuestros clientes sólo nos contratarán si construimos software con el mejor método y con el mejor resultado posible y siempre pensando en que somos sólo una parte del engranaje de negocio de nuestros clientes y no una pieza imprescindible y autónoma. Los delirios de grandeza no nos llevarán más que al fracaso. La humildad de reconocer nuestras limitaciones y defectos es lo único que nos puede conducir a superarlos y crecer continuamente.

11 << Por Marino Posadas MVP Visual Developer C# Alhambra-Eidos Entrevista a Ivan Medvedev Microsoft se adscribió a la iniciativa Trustworthy Computing (Informática Fiable) desde sus inicios. Su adopción, se extendió de forma natural a las plataformas de desarrollo, y en concreto, al propio motor de.net Framework (el CLR). En el evento de Microsoft Research de este año, tuvimos la oportunidad de departir con Ivan Medvedev, del CLR Security Team en Redmond. Nos acompañó en esa ocasión el profesor Miguel Katrib de la Universidad de La Habana, quien había estado investigando temas de introspección de tipos (Reflection) y su relación con la seguridad (ver nº3 de dotnetmanía). Miguel Katrib: Escribí código para factorizar una clase utilizando Reflection.Emit, y observamos que el sistema no comprobaba el tipo de retorno del método, pero eso sólo ocurría cuando el valor SkipVerification mostraba un valor verdadero. Mi pregunta es porqué este valor está asignado a verdadero por defecto? Ivan Medvedev: Efectivamente, pero eso sólo es cierto cuando la ejecución es de código local. Lo que se pretende con eso es que el código de la propia máquina tenga los mayores permisos de cara al propio desarrollador. Hay varios niveles, uno de los cuales es FullTrust, que incluye lo anterior. Miguel Katrib: Entiendo, pero si en Visual Studio tenemos la posibilidad de prohibir la ejecución de código desde diversos escenarios, por qué necesitamos que ese valor sea verdadero? Ivan Medvedev: Por que -por ejemplo- cuando trabajas en C++, algunas veces hay que trabajar sin verificación. Pongamos que trabajas con algún puntero, o acceso directo a la memoria. En esos casos, el compilador produce código no verificable y la única forma de ejecutar ese código es tener permiso del tipo SkipVerification. Nosotros queríamos permitir que todos los programas que se ejecuten manualmente desde la máquina local tuvieran todos los permisos necesarios. La mayoría de las veces, tu código en la máquina local es propio y por tanto, seguro. Otro tema es que te bajes programas de Internet. Eso no puede ser seguro por defecto, más bien lo contrario. Miguel Katrib: No hubiera sido mejor separar esos conceptos (cuando se necesitan punteros y demás) de los otros casos? Ivan Medvedev: No porque lo que pretendíamos es que existiera una flag única que otorgase los permisos para estos casos. Otra situación pensamos que 11

12 << dnm.directo.entrevistas 12 hubiera resultado confusa de cara al desarrollador. Marino Posadas: Bien. Vayamos una vez aclarado esto a cuestiones más genéricas de seguridad. El otro día veía un ejemplo de tu Web sobre cómo no se deben hacer algunas cosas (un colegio presentaba exámenes on-line, y las respuestas podían deducirse a partir del análisis del código fuente). Crees que esa es una práctica común? Ivan Medvedev: Sucede más de lo que se piensa. También depende del nivel de conocimientos del desarrollador, claro. Por ejemplo, en Microsoft, tenemos un programa de formación llamado Monitoring Security Training, y cada ingeniero conoce el significado de la seguridad, o dónde tiene que acudir para encontrar recursos asociados a la seguridad. Quizá no pasa lo mismo en empresas más pequeñas o en algunos centros de enseñanza. Marino Posadas: Ahora sabemos que Longhorn va a ser un sistema administrado. Eso quiere decir que en gran manera la seguridad del nuevo sistema va a estar vinculada a la seguridad del propio CLR. Podremos utilizar estas características en el nuevo sistema para evitar spam, spyware y otros elementos indeseables de Internet? Ivan Medvedev: Sí, por supuesto. En Longhorn va a haber muchas API's administradas, y en suma, todo el sistema va a ser mucho más seguro, por que la propia plataforma.net lo es. Supongamos un caso típico de explotación, los buffer overrun, por que existe un control administrado de esos búferes. Y hay muchísimos otros ejemplos que podría citar aquí. También es una forma de hacer que los programadores puedan escribir código más seguro de forma simple, gracias a que la plataforma misma lo soporte. Marino Posadas: Los llamados spyware o adware utilizan igualmente esas técnicas para su intrusión? Ivan Medvedev: Podrían utilizarlas a veces para conseguir instalarse. Una vez instalados, ya no. Lo que nosotros queremos es evitar que ese tipo de software llegue a instalarse. Marino Posadas: Podríamos decir que también aquí el futuro es la especialización? Ivan Medvedev: En Longhorn van a existir muchísimas más clases administradas, lo que va a hacer innecesarias muchas de las llamadas a las API's actuales. Pero la especialización va en aumento, sí. Marino Posadas: Desde el punto de vista de la seguridad, qué piensas de la herramienta de ofuscación de código (Obfuscator) que viene con Visual Studio? Ivan Medvedev: La ofuscación no es sino una técnica más. Puede hacer que un hacker tenga bastante más difícil el acceso al código fuente, pero en sí misma no es suficiente. Pero no es como convertirlo a código nativo. Ahí si que las cosas son mucho más difíciles, por que aunque uses un desensamblador, todo es mucho más difícil de leer y de entender. Marino Posadas: En tu sitio Web he leído acerca de la posibilidad de que la próxima versión de.net no permita la posibilidad de deshabilitar la seguridad. No piensas que eso es una cuestión personal? Ivan Medvedev: Ahora existen varias formas de deshabilitar la seguridad. La que yo quiero eliminar está relacionada con un parámetro de la utilidad caspol que anula todo tipo de seguridad. Esto es peligroso por que algunas veces, los usuarios que no conocen bien los problemas de seguridad, pueden provocar (y provocarse a sí mismos) problemas debido a esta técnica. Sin ese parámetro, también existe la posibilidad de deshabilitar muchas características de seguridad, pero son formas que implican un mayor conocimiento de lo que estás haciendo y sirven de recordatorio de la situación. En Longhorn va a haber muchas API's administradas y, en suma, todo el sistema va a ser mucho más seguro, por que la propia plataforma.net lo es Marino Posadas: Crees que la utilidad FxCop debería de estar incluida en la próxima versión de Visual Studio.NET? Ivan Medvedev: FxCop es una excelente herramienta y yo la he recomendado muchas veces. De hecho hasta cierto punto yo estuve implicado en su desarrollo Marino Posadas: No me refiero sólo a esa herramienta, en realidad, sino a si la versión 2.0 va a incluir más herramientas en su SDK

13 << dnm.directo.entrevistas Ivan Medvedev: Con toda seguridad. Aunque no puedo decir que FxCop vaya a estar incluido en esta versión, pero sería una buena idea. Marino Posadas: Y una pregunta que he hecho a Rafal Luckawiecki, anteriormente, la seguridad plena en la red necesitará de la Criptografía? Ivan Medvedev: Si por seguridad entendemos protección de datos, en muchas ocasiones sí, esa sería una de las mejores soluciones. En realidad, la mayoría de los algoritmos criptográficos ya están bien establecidos, y Microsoft no necesita realizar mucha investigación al respecto. Nosotros mantenemos contactos con universidades en las que se investigan las aplicaciones de esos algoritmos y más tarde los aplicamos en algunos de nuestros productos. Pero la investigación criptográfica es un esfuerzo a nivel mundial. Por el contrario, si hablamos de aplicar esos algoritmos a protocolos de comunicación muchas veces depende de dónde vengan esos algoritmos. A veces vienen de organizaciones de estandarización, como la W3C, y otras veces de compañías privadas como la nuestra. Si están bien hechas pueden reforzar la seguridad, no cabe duda. Marino Posadas: Crees que la inversión en el conocimiento de estas tecnologías es una inversión recomendable? Ivan Medvedev: Completamente. En el futuro, la seguridad se va a convertir cada vez más en un elemento crucial a tener en cuenta y conocer la seguridad de diferentes productos y compañías nos ayudará a reforzar nuestros propios sistemas. Marino Posadas: Una cuestión acerca de la política empresarial de seguridad. Qué recomiendas a las empresas que hagan respecto a la seguridad? Ivan Medvedev: Creo que cualquier inversión que realicen las empresas en ese sentido va a ser crítica a medio, e incluso a corto plazo. Nadie quiere distribuir productos inseguros en un mundo como el de hoy, y los clientes empiezan a demandar esa seguridad de las empresas que se dedican al desarrollo. Y lo que es bueno para los clientes, lo será para las empresas. Incluso podría recomendar algunos excelentes libros al respecto, como la obra de Michael Howard y David C. LeBlanc, Writing secure code, que en Microsoft es de lectura obligatoria para todos los desarrolladores. Creo que los estudiantes y/o desarrolladores deberían comprender primero qué es lo que sucede si no se hace el código seguro. Entender algunas de las más importantes vulnerabilidades ayudaría a tenerlas en cuenta Miguel Katrib: Harías esa recomendación también para los profesores que enseñamos informática? Ivan Medvedev: La seguridad es una materia muy extensa. Creo que merecería un curso aparte y ser tratada en profundidad. Es difícil enseñar a la gente a escribir código seguro, especialmente a aquellos que nunca antes han pensado en la seguridad. Creo que con los buenos libros que existen actualmente sobre seguridad, se podría confeccionar un curso excelente sobre el tema. La obra que cité anteriormente, está muy bien estructurada, por ejemplo, y podría servir de modelo. Miguel Katrib: nosotros intentamos hacerlo cubriendo diferentes escenarios de seguridad. Quizá eso no abarca todo lo necesario, pero es una aproximación. Ivan Medvedev: Creo que los estudiantes y/o desarrolladores deberían comprender primero qué es lo que sucede si no se hace el código seguro. Entender algunas de las más importantes vulnerabilidades ayudaría a tenerlas en cuenta. Por ejemplo, si los usuarios comprenden bien lo que es un debilidad del tipo buffer overrrun, la próxima vez que escriban algo que tenga que ver con búferes recordarán esto y podrán sugerir soluciones. 13

14 << Por Erich Bühler.NET Framework y VB.NET MVP Informes y trazado de gráficas 3D en ASP.NET (II) No debo ocultar por más tiempo el objetivo de esta serie de artículos que a simple vista se centra en enseñar la vía de crear informes en ASP.NET. Se habrá dado cuenta si leyó la primera parte que en realidad he querido mostrar varias tecnologías que pueden ser utilizadas en aplicaciones Web y por ello he elegido como excusa la creación de informes. 14 Esto ha sido motivado particularmente por el hecho de que muchas de las tecnologías parecen orientadas originalmente a soluciones para ambientes Windows y finalmente la gran parte de los desarrolladores desconocen cómo sacar provecho en lo que a la Web respecta. De esta forma he decidido elegir de excusa este tema para explicar varias utilidades desconocidas quizá para muchos de ustedes y he dejado de lado solamente durante estas entregas mis clásicos artículos que apuntan a un nivel más bajo de la infraestructura. Le dice algo Office Web Components 11.0 o ASP.NET Reports Starter Kit?. Si no sabe de lo que le estoy hablando es buena idea que continue con la lectura ya que de esta forma logrará dos objetivos: el primero, crear informes Web con resultados más que espectaculares; el segundo, conocer un par de tecnologías que tienen mucho para ofrecer. En el artículo anterior vimos cómo utilizar trazados GDI+ y plasmarlos en una página de servidor activo ASP.NET para finalmente enviarlo a un cliente Web (Internet Explorer, Netscape, etc.). Aquí aprenderemos un poco de arquitectura, organización y -lo que es más importante- cómo poner todo esto a funcionar en informes bajo un ambiente Web. Por donde empezar Por supuesto que existen varias herramientas para generar visualmente informes, muchas de las cuales son versátiles y fáciles de utilizar, aunque también algunas de éstas tienen un precio un tanto inaccesible por lo menos para mi bolsillo. Por otro lado en algunas ocasiones se busca generar reportes sencillos o los que corresponden a los denominados informes estándares (relaciones, subtotales, etc.). Es aquí donde es posible encontrar otras alternativas fáciles y sin coste alguno; y un buen ejemplo de ello es ASP.NET Reports Starter Kit ( A diferencia de lo que se puede pensar inicialmente, esto no es una herramienta sino que se trata de una aplicación VS.NET que muestra 8 ejemplos de informes y diferentes prácticas y tecnologías que pueden ser aplicadas para resolver cada caso. Es así que ASP.NET Reports Starter Kit es un proyecto de ejemplo que enseña hábitos sanos de programación así como la creación de informes sin necesidad de utilizar controles de otros fabricantes. A su vez no sólo demuestra la forma de crear el mismo, sino que también la manera de realizar optimizaciones para su impresión. Pero sin lugar a dudas esto sigue siendo lo menos importante ya que a mi criterio lo que más resalta es la vía en la que está programado, esto es, utilizando gran parte de las recomendaciones de Microsoft para proyectos ASP.NET. Es así que Starter Kit es también una maravilla desde el punto de vista de programación y organización, y se incluye tanto la versión en VB.NET como C#, lo que puede ser ampliamente beneficioso si prefiere algún lenguaje en particular. Como de costumbre intentaré mostrar ejemplos en los dos lenguajes para que ambos bandos se sientan cubiertos. Pero antes de comenzar es necesario instalar ASP.NET Reports Starter Kit, el que además de esta-

15 << dnm.asp.net blecer una carpeta para el código fuente, crea una base de datos SQL Server y configura la carpeta virtual para el proyecto Web. Si no cuenta con SQL Server es posible realizar algunos cambios para adaptar este proyecto con el fin de que haga uso de otra base de datos, pero por supuesto esto implica lidiar con el código y entender cómo fue programado. Una vez instalado se habrá creado una base de datos llamada Reports y una carpeta virtual. Es factible abrir el proyecto desde Visual Studio indicando este directorio virtual o acceder directamente a la página de inicio mediante el explorador. Básicamente la página principal permite seleccionar uno de los 8 diferentes tipos de informes (ver figura 1). Figura 1 Todos ellos representan casos estándares de la programación universal como pueden ser un listado tabular, maestro/detalle, visual empleando un gráfico de tarta 2D, etc. Por supuesto que todo esto sin hacer uso de un solo control de terceros Activex/ensamblado, basado meramente en programación.net framework. Si se accede a un informe (figura 2) podrá ver una breve explicación sobre su funcionamiento, los controles ASP.NET empleados para su construcción, sus dependencias, etc. Sin lugar a dudas que es un candidato ideal para aprender mucho sobre.net framework, programación y más. En algunos casos el informe puede ser empleado prácticamente sin cambios, aunque debo admitir que en otros, tan sólo los conceptos pueden ser utilizados. Esto es así ya que en realidad cada informe está atado a una tabla, sus campos y la lógica específica. Le propongo desmenuzar uno de los informes para luego jugar un poco con éste y agregarle algo de código que haga uso de Office Web Components 11.0, esto es, un conjunto de componentes que nos permitirán realzar la presentación Web mediante gráficos tridimensionales. Desmenuzando el listado jerárquico Figura 2 El listado jerárquico se compone de tres diferentes DataGrids, aunque solamente uno de ellos es visible inicialmente. El mismo contiene totales de ventas agrupados por zonas (o territorios). A su vez se cuenta con un control combo en la parte superior que hace posible seleccionar un año, lo que refrescará automáticamente al DataGrid inferior. También implementa paginación y como si fuera poco cada uno de los elementos de la lista se exhibe como un hipervínculo (figura 3). Cuando se hace clic sobre un elemento se muestra un segundo DataGrid a la derecha con los empleados pertenecientes a dicha zona y sus subtotales presumiblemente de ventas. Finalmente si se hace clic en el empleado aparece un tercer DataGrid con la información personal del mismo. Puede seleccionar otra zona lo que hará comenzar con este ciclo nuevamente. Como se puede apreciar, la información es navegada dinámicamente lo que permite al usuario ir más allá del clásico informe estático. Básicamente este informe es un WebForm que cuenta con 3 controles DataGrid, de los cuales 2 son invisibles al comienzo. El primer DataGrid muestra sus elementos como hipervínculos lo que hace que ellos puedan ser seleccionados. Éste se encuentra enlazado al procedimiento almacenado SalesbyTerritory (ventas por territorio) y cuando se produce el clic sobre uno de los valores, el segundo DataGrid es enlazado al procedimiento almacenado GetEmployeeSales- ByTerritory (obtener ventas de empleados por territorio) no sin antes utilizar la primera selección como filtro. Lo mismo sucede con el último DataGrid, el que llamará a GetEmployeeById (obtener empleado por identificador) con el parámetro seleccionado en la lista anterior y en la primera. Como vemos el segundo y tercer DataGrid dependen de la selección del inicial para exhibir sus datos. Voy a detenerme un segundo en la técnica que se emplea para el pasaje de información entre ellos, ya que creo que puede ser ampliamente utilizada en varios contextos. Figura 3 15

16 << dnm.asp.net <asp:templatecolumn sortexpression="territory" headertext="territory Name"> <itemtemplate> (1)<asp:linkbutton oncommand="territorygrid_click" commandname="territorydrill" (2)commandargument='<%# DataBinder.Eval(Container, "DataItem.TerritoryDescription") %>' (3)cssclass="hier" runat="server" id="territorylnk" (4) text='<%# DataBinder.Eval(Container, "DataItem.TerritoryDescription") %>' </asp:linkbutton> </itemtemplate> <itemstyle width="200px"></itemstyle> </asp:templatecolumn> El fuente 1 nos muestra un resumen de la plantilla del primer DataGrid, la misma provee un botón de link (1) lo que hará que el contenido sea exhibido como hipervínculo. A su vez los elementos a mostrar serán el valor del campo de la base de datos TerritoryDescription, y esto se logra mediante la evaluación en tiempo de ejecución ofrecida por la sentencia DataBinder (4). También se provee una hoja de estilo en cascada para mejorar la presentación (3). Sin embargo el punto 2 es el que hace que la magia funcione y que se le pase a la segunda lista el valor seleccionado en la primera. CommandArgument es una propiedad en la que es posible especificar cualquier contenido, lo interesante es que el valor incluido aquí será transferido a un argumento del evento clic del DataGrid. Veamos un segundo la línea en cuestión en el fuente 2. Fuente 1 servidor el valor se obtiene fácilmente como detalla en el fuente 3. La implementación del tercer DataGrid es similar a lo que ya vimos en el segundo, salvo que en vez de indicarse tan solo un valor se deben pasar 2, esto es, el territorio seleccionado en la primera lista más la selección actual (fuente 4). Aunque ésta ha sido la implementación realizada por Microsoft me atrevo a decir que en general es recomendable usar un carácter diferente a la coma (uno que difícilmente se incluya), ya que para el caso que la misma aparezca en la descripción de un territorio se producirá un fallo en la aplicación debido a que la conversión será finalmente errónea. Informes en arquitectura de tres capas protected void TerritoryGrid_Click(Object sender, CommandEventArgs e) // Obtiene el valor del campo seleccionado. string territoryname = e.commandargument.tostring().trim();... // Utiliza el valor como filtro del segundo DataGrid ETTableColumn.Visible = true; ETHeader.Text = territoryname; BindList_EmpTerr(territoryName);... Fuente 3 16 commandargument='<%# DataBinder.Eval(Container, "DataItem.TerritoryDescription") %>' Fuente 2 En este caso el evento clic recibirá el contenido del campo de la fila seleccionada por el usuario, el que es utilizado para filtrar el segundo DataGrid. Incluso se podría especificar un campo de la base de datos diferente al mostrado en la lista, este es el caso cuando se tiene un código y una descripción y se desea exhibir uno pero filtrar por el otro. En el lado del commandargument='<%# (String) DataBinder.Eval(Container, "DataItem.EmployeeName") + ","+ DataBinder.Eval(Container,"DataItem.EmployeeID").ToString() %>' En el evento clic es necesario aplicar un pequeño truco para aislar los 2 datos. Como exhibe el fuente 5 esto se logra convirtiendo al resultado en una matriz utilizando de delimitador la coma. string[] cmdargs = e.commandargument.tostring().split(','); string employeename = cmdargs[0]; int employeeid = Convert.ToInt32(cmdArgs[1]); Fuente 4 Como mencioné al comienzo del artículo los informes hacen uso de dos características dignas de ser comentadas. Por un lado la lógica de cada informe no está en realidad contenida dentro del formulario Web. En realidad se ha separado el código utilizando clases para representar los diferentes objetos de negocio (funcionalidades). Cada informe invoca su propio conjunto de métodos de clases, las que llevan lógicamente adelante las diferentes operaciones. Esto mejora ampliamente la reutilización ya que hace viable que incluso la interfaz gráfica pueda ser una aplicación de Windows, o lo que es más interesante, exponer esta lógica mediante servicios Web con el fin de que sea Fuente 5

17 << dnm.asp.net consumida por terceros. A su vez el código relacionado con el acceso a datos se comprende dentro de una clase común a toda la aplicación, lo que brinda el beneficio de poder modificar la implementación de conexión al origen de datos y que siempre y cuando se conserve la interfaz (métodos) la aplicación siga funcionando. Seguramente ya sepa de lo que le estoy hablando, de una bonita aplicación en 3 capas (presentación, lógica de negocio y lógica de acceso a datos -se muestran en la figura 4-). Debido a que los informes están siempre orientados a listas de elementos la transferencia de información entre los componentes de negocio se hace utilizando colecciones personalizadas basadas en la clase ArrayList. Esto facilita posteriormente la gestión y pasaje de la información entre métodos de las clases. El fuente 6 nos muestra parte de su implementación. public class HierarchicalReportCollection : ArrayList public enum HierarchicalReportFields InitValue, Territory, SalesTotals, EmployeeName //Sigue... Fuente 6 A su vez se implementan algunos métodos como ser Sort, el que hace posible ordenar alfabéticamente sus miembros. Sin embargo esta técnica tiene varias ventajas y por supuesto desventajas. La parte buena es que se tiene en todo momento la tecnología intellisense para consultar los campos de la base de datos, los que en realidad son implementados en la colección mediante un enumerado. Adicionalmente colección rima con orientación (a objetos), lo que hace que sea mucho más liviana para el pasaje entre componentes en comparación con un DataSet. Sin embargo el punto oscuro es que si se agrega un nuevo campo a la base de datos hay que modificar la implementación de la colección y el código si se desea tener acceso al mismo. Recomiendo evaluar en cada caso ventajas y desventajas de aplicar esta técnica. Bloque de aplicación de acceso a datos Figura 4 Como comenté anteriormente el acceso a datos se realiza empleando procedimientos almacenados y por supuesto ADO.NET. Aquí se utiliza el llamado Bloque de Aplicación de acceso a datos. Básicamente éste es un conjunto de clases orientadas a SQL Server, las que encapsulan llamadas a ADO.NET con el objetivo de brindar una vía más sencilla, rápida y clara de lidiar con una base de datos. A mi criterio utilizar ADO.NET es tedioso, por lo que Microsoft a implementado esta biblioteca para mejorar la experiencia. Para los curiosos debo decir que se ofrecen los fuentes en C# y Visual Basic.NET incluido en los ejemplos de inicio rápido (Quick Start Samples). Esto permite personalizar cada una de las facetas, aunque en general con lo que se ofrece es más que suficiente. La compilación del proyecto de Bloque de aplicación de acceso a datos produce una biblioteca denominada Microsoft.ApplicationBlocks.Data.dll. Dentro de ésta se incluye una clase principal SqlHelper que ofrece el núcleo de funcionalidades (hay otras pero las dejaremos de lado para no extendernos). A su vez se ofrecen varios métodos estáticos lo que hace posible invocar a varios de sus miembros directamente. He incluido dos pequeños ejemplos de utilización en el fuente 7. //Obtiene un DataSet de una consulta estándar- DataSet ds = SqlHelper.ExecuteDataset( "SERVER=MiServidor;DATABASE=Northwind;INTEGRATED SECURITY=sspi;", CommandType.Text, "SELECT * FROM Clientes"); //Obtiene un DataSet invocando a un procedimiento //almacenado con 1 parámetro. DataSet midataset = SqlHelper.ExecuteDataset(""SERVER=MiServidor;DATA- BASE=Northwind;INTEGRATED SECURITY=sspi;", "ObtenerCliente", "1133"); En ADO.NET se necesitarían varias líneas para llevar adelante esta tarea, sin embargo utilizando la clase citada se reduce a una sola línea. Si está interesado en conocer más acerca del bloque le recomiendo que lo baje del sitio de Microsoft (msdn.micro- Fuente 7 17

18 << dnm.asp.net 18 soft.com/library/default.asp?url=/downloads/list/bda.asp). Hemos visto hasta aquí el funcionamiento más que interesante de ASP.NET Reports Starter Kit y sus condimentos. En el próximo apartado aprenderemos cómo añadir al informe jerárquico, un gráfico 3D utilizando los componentes Web de Office Utilizando Office Web Components 11.0 Un requerimiento común de un informe en estos días es ofrecer algún tipo de gráficos. Cuando se piensa en una aplicación de Windows esto es bastante sencillo ya que hay varias bibliotecas que cumplen este fin, incluso se tienen varios controles ActiveX que pueden brindar una solución sencilla en pocas horas de programación. Proveer la capacidad gráfica a una aplicación Web también puede tenerse sin demasiadas complicaciones si se conocen las herramientas adecuadas. Básicamente existen dos posibles soluciones: la primera es utilizando controles ActiveX o ensamblados a ejecutarse del lado del explorador. Esto ofrece una excelente interactividad y posibilita que el propio usuario pueda interactuar con la gráfica. Sin embargo además de no ser una solución multiplataforma, esta opción puede verse opacada por temas de seguridad, el usuario puede tener una política restrictiva que no le permita ejecutar el control. La segunda solución es crear la gráfica del lado del servidor para luego enviarla al explorador dentro de una página Web. Esta alternativa no es interactiva, aunque se consiguen ciertas características de este tipo escribiendo código script del lado del cliente en conjunto con el servidor. Afortunadamente Microsoft cuenta con un motor de gráficos bastante potente que cubre ambas alternativas llamado Microsoft Web Components y la versión 11 es la más reciente. OWC es la biblioteca que utiliza Microsoft Office 2003 para generar las gráficas, aunque también se pueden hacer muchas, pero muchas cosas más. Vale la pena destacar que no es necesario tener instalado Microsoft Office 2003, es posible bajar e instalar gratuitamente este paquete de la Web de la siguiente dirección (si tiene el CD de Office podrá encontrar allí esta utilidad): D= c-402e-4f72-97a5- e0fd290d4b76. Tenga presente la ruta de instalación ya que la utilizaremos luego para localizar las ayudas. Ahora bien si hace uso del modo interactivo deberá contar con una licencia de Office en el servidor, pero si por el contrario usa el modo estático esto no es necesario, por lo menos en base a lo que dice la licencia la que podrá leer y evaluar tranquilamente (support.microsoft.com/default.aspx?scid=kb; en-us;555075). Entendiendo como trabaja OWC 11.0 OWC es una colección de componentes COM que ofrecen clases con sus respectivos métodos, los que pueden ser accedidos desde cualquier aplicación.net framework. Es viable utilizar los mismos en modo interactivo -como control ActiveX del lado del explorador- o en modo estático, cosa que elegiré ya que nos permitirá crear mediante código de servidor los gráficos que serán insertados en el formulario Web como imagen. Lo primero que debemos hacer una vez bajado e instalado este paquete es agregar una referencia COM en nuestro proyecto de Visual Studio.NET, lo que nos permitirá interactuar con cada una de las facilidades provistas por la biblioteca (figura 5). Figura 5 Dependiendo de si se trata de Visual C# o Visual Basic.NET una de las siguientes dos líneas será de utilidad para configurar las clases al espacio predeterminado. using OWC11; Imports OWC11 OWC cuenta con varias ayudas y componentes, la tabla 1 muestra los archivos de documentación de las distintas funcionalidades. Antes de escribir una sola línea que haga referencia a OWC he creado un formulario Web vacío que será el encargado de implementar al código que dibujará al gráfico. Este formulario será insertado dentro de la página del informe jerárquico que vimos anteriormente utilizando una etiqueta de IFRAME (si desea compatibilidad con Netscape utilice un marco estándar). Ella permite en forma muy sencilla y modular adicionarle nuevas características a la página del informe, simplemente insertando al nuevo formulario Web dentro del que contiene al informe. <iframe id=miiframe name=miiframe frameborder=no runat=server width=90% height=330 src=grafico3d.aspx> </iframe> La página que contendrá al gráfico tomará de una variable de sesión los datos a mostrar, por lo que bastará con guardar allí el DataSet para que la serie sea representada automáticamente. Ahora centraremos nuestra atención en la parte programática. Para dibujar un gráfico es necesario crear un objeto de tipo ChartSpaceClass. Esta clase en realidad hace posible contener una o más gráficas; de hecho podríamos tener varios dibujos contenidos en el mismo espacio. La siguiente línea muestra cómo añadir un gráfico al espacio previamente creado. EspacioGráfico.Charts.Add(0) El próximo paso es bastante sencillo ya que solamente hay que configurar algunos valores estéticos como el estilo de la gráfica, el fuente del texto a utilizar, el color de borde, etc; todo

19 << dnm.asp.net Componente Archivo de ayuda Chart OWCDCH11.chm PivotTable OWCDPL11.chm Spreadsheet OWCDSS11.chm Spreadsheet OWCFUN11.chm DataSource, Chart, PivotTable y Spreadsheet esto interactuando directamente con las propiedades de la clase. Mostraré tan sólo unas pocas líneas para no extenderme en demasía, puede luego si lo desea bajar el código fuente completo y depurarlo paso a paso para analizar el resto de las líneas, aunque le advierto que no se llevará mayores sorpresas (fuente 8). Descripción Referencia para tiempo de diseño del componente para creación de gráficas. Referencia para tiempo de diseño del componente de tabla Pivote. Referencia de tiempo de diseño del componente de hoja de cálculo. Referencia de funciones del componente de hoja de calculo. OWCVBA11.chm Referencia de programación para todos los componentes. Tabla1. Resumen de espacios en GDI+ Ahora es necesario establecer una nueva serie que contenga la información de cómo los datos serán mostrados. Aquí se define la vía en la que se plasmarán la información en colores, tipos de letra, centrado de los valores, etc. (fuente 9). Como último paso es necesario cargar en el gráfico de tarta los valores de la serie a representar. Lamentablemente si bien este control es muy flexible no acepta un DataSet como origen de datos, cosa inconveniente ya que el informe jerárquico utiliza este medio como fuente de información. Sin embargo se admite una matriz como origen, por lo que he creado una pequeña rutina que convierte el DataSet en un objeto de este tipo. La primera línea establece la matriz conteniendo las categorías (descripciones), mientras que la segunda configura los valores a representar (fuente 10). El enumerado ChartDimensionsEnum indica qué tipo de serie se cargarán en cada caso -descripciones o valores-, mientras el valor chdataliteral de ChartSpecialDataSourcesEnum especifica que los datos deberán ser tomados del último argumento del método SetData, en este caso la matriz. EspacioGráfico.Border.Color = "white" EspacioGráfico.Charts(0).HasTitle = True EspacioGráfico.Charts(0).Type = ChartChartTypeEnum.chChartTypePie3D EspacioGráfico.Charts(0).Title.Font.Bold = True Figura 6 Fuente 8 EspacioGráfico.Charts(0).SeriesCollection(0).DataLabelsCollection(0).Font.Name = "verdana" EspacioGráfico.Charts(0).SeriesCollection(0).DataLabelsCollection(0).Font.Size = 10 EspacioGráfico.Charts(0).SeriesCollection(0).DataLabelsCollection(0).Font.Bold = True EspacioGráfico.Charts(0).SeriesCollection(0).DataLabelsCollection(0).Font.Color = "red" EspacioGráfico.Charts(0).SeriesCollection(0).DataLabelsCollection(0).Position = ChartDataLabelPositionEnum.chLabelPositionCenter Fuente 9 Finalmente el gráfico resultante se retorna al formulario Web utilizando la técnica que explicamos en el artículo anterior que se basaba en escribir sobre el objeto de respuesta el binario conteniendo la imagen resultante. La figura 6 nos muestra lo que podemos lograr haciendo uso de ASP.NET Reports Starter Kit y OWC 11. Espero que lo que traté aquí le haya servido para conocer algunas técnicas, trucos, y tecnologías aplicadas a ASP.NET. Por mi parte me despido esperando como siempre vuestros comentarios. EspacioGráfico.Charts(0).SeriesCollection(0).SetData(OWC11.ChartDimensionsEnum.chDimCategories, Convert.ToInt32(OWC11.ChartSpecialDataSourcesEnum.chDataLiteral), MatrizCategorias) EspacioGráfico.Charts(0).SeriesCollection(0).SetData(OWC11.ChartDimensionsEnum.chDimValues, Convert.ToInt32(OWC11.ChartSpecialDataSourcesEnum.chDataLiteral), MatrizValores) Fuente 10 19

20 Por Yamil Hernández y Miguel Katrib Grupo Weboo Universidad de La Habana Aspectos e intercepción de métodos en.net o cómo poner la guinda sin estropear el merengue Aspectos e Intercepción << << Con los recursos que brinda.net, es posible desarrollar mecanismos para interceptar la llamada a un método.una vez interceptada una llamada se puede entonces tomar el control y ejecutar funcionalidades relacionadas con la ejecución del método, pero que no están incluidas en el código de éste. Este artículo desarrolla y explica tres vías para llevar a cabo esta intercepción.se propone además un patrón de cómo aprovechar la intercepción para, mediante el uso de los atributos de.net, poder intercalar funcionalidad para asociar a la ejecución del método interceptado.se muestra cómo esta funcionalidad puede expresarse en términos de atributos.esto sirve de base a lo que se suele llamar entretejido de código (weaving) y con ello dar soporte a la aplicación de las ideas de la Programación Orientada a Aspectos (AOP 1 ) en el desarrollo de software sobre.net. El sueño de muchos desarrolladores de software se manifiesta en tener un mundo en el que desarrollar aplicaciones se sustente en ensamblar componentes de software que interactúen vía simples llamadas a métodos. Sin embargo, por lo general esto pasa por alto que ciertos aspectos de las aplicaciones suelen afectar a todas las partes de un programa. A la larga los programas tienden a contaminarse con cachitos 2 de código que intentan lidiar con aquellos aspectos de las aplicaciones que no son el foco central del problema que éstos intentan solucionar. Con frecuencia estos aspectos suelen entrometerse en el código original afectando con ello la aspiración de obtener soluciones reutilizables. Esta es el área que aborda lo que se ha dado en llamar Programación Orientada a Aspectos (AOP) 1 al intentar proveer estrategias de reutilización para solucionar los problemas mencionados. Ejemplos tradicionales de estos aspectos que pueden estar presentes o no en muchas componentes de software, con independencia del dominio del problema al que están dedicados, son la seguridad, la serialización, la sincronización, la transaccionalidad, etc. De hecho la infraestructura de.net trae integrada, a través de Visual Studio, los compiladores, la BCL y el CLR, soluciones para estas categorías de aspectos. Lamentablemente no hay aún en.net un mecanismo directo e integrado para que, de forma simple, los desarrolladores puedan implementar sus propios aspectos personalizados. Sin embargo,.net sí dispone de tres recursos básicos, que utilizados y desarrollados integradamente, pueden permitirnos dar un soporte para la implantación de estas ideas. Estos tres recursos son la infraes- 1 Siglas del inglés Aspect Oriented Programming. 2 A ver si aceptamos esta palabra, tan sonora en español, como sustitución del término en inglés snippet.

Workflows? Sí, cuántos quiere?

Workflows? Sí, cuántos quiere? Workflows? Sí, cuántos quiere? 12.11.2006 Servicios Profesionales Danysoft Son notables los beneficios que una organización puede obtener gracias al soporte de procesos de negocios que requieran la intervención

Más detalles

Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere.

Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere. UNIVERSIDAD DE CARABOBO FACULTAD DE CIENCIA Y TECNOLOGÍA DIRECCION DE EXTENSION COORDINACION DE PASANTIAS Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere. Pasante:

Más detalles

Las Novedades de VisualStudio.Net

Las Novedades de VisualStudio.Net Artículos Grupo Danysoft: Las Novedades de Visual Studio.NET Las Novedades de VisualStudio.Net Visual Studio es el paquete de software para desarrolladores más importante de la actualidad y desde hace

Más detalles

CONCLUISIONES Y RECOMENDACIONES

CONCLUISIONES Y RECOMENDACIONES CONCLUISIONES Y RECOMENDACIONES CONTENIDO 7.1 Verificación de Hipótesis 7.2 Conclusiones 7.3 Recomendaciones Mónica Cecilia Gallegos Varela - 145 - VERIFICACIÓN DE HIPÓTESIS La hipótesis planteada al inicio

Más detalles

Elementos requeridos para crearlos (ejemplo: el compilador)

Elementos requeridos para crearlos (ejemplo: el compilador) Generalidades A lo largo del ciclo de vida del proceso de software, los productos de software evolucionan. Desde la concepción del producto y la captura de requisitos inicial hasta la puesta en producción

Más detalles

Día 5-6-2012 17:00h Lugar: Obra Social Ibercaja, Sala De actos, Rambla Ferran 38, 3º, Lleida

Día 5-6-2012 17:00h Lugar: Obra Social Ibercaja, Sala De actos, Rambla Ferran 38, 3º, Lleida Resumen de la conferencia Día 5-6-2012 17:00h Lugar: Obra Social Ibercaja, Sala De actos, Rambla Ferran 38, 3º, Lleida Ponente: Luis Muñiz Socio Director de Sisconges & Estrategia y experto en Sistemas

Más detalles

Internet Information Server

Internet Information Server Internet Information Server Internet Information Server (IIS) es el servidor de páginas web avanzado de la plataforma Windows. Se distribuye gratuitamente junto con las versiones de Windows basadas en

Más detalles

Creación y administración de grupos de dominio

Creación y administración de grupos de dominio Creación y administración de grupos de dominio Contenido Descripción general 1 a los grupos de Windows 2000 2 Tipos y ámbitos de los grupos 5 Grupos integrados y predefinidos en un dominio 7 Estrategia

Más detalles

PLANTILLAS DE DOCUMENTOS EN WORD 2007

PLANTILLAS DE DOCUMENTOS EN WORD 2007 1 PLANTILLAS DE DOCUMENTOS EN WORD 2007 Introducción Una plantilla es un modelo o patrón para crear nuevos documentos. En una plantilla se guarda internamente el formato utilizado, es decir, el estilo

Más detalles

Capítulo 5. Cliente-Servidor.

Capítulo 5. Cliente-Servidor. Capítulo 5. Cliente-Servidor. 5.1 Introducción En este capítulo hablaremos acerca de la arquitectura Cliente-Servidor, ya que para nuestra aplicación utilizamos ésta arquitectura al convertir en un servidor

Más detalles

Sesión No. 4. Contextualización INFORMÁTICA 1. Nombre: Procesador de Texto

Sesión No. 4. Contextualización INFORMÁTICA 1. Nombre: Procesador de Texto INFORMÁTICA INFORMÁTICA 1 Sesión No. 4 Nombre: Procesador de Texto Contextualización La semana anterior revisamos los comandos que ofrece Word para el formato del texto, la configuración de la página,

Más detalles

Conoce los Tipos de Hosting que Existen y Elige el Mejor para tus Necesidades

Conoce los Tipos de Hosting que Existen y Elige el Mejor para tus Necesidades Conoce los Tipos de Hosting que Existen y Elige el Mejor para tus Necesidades A veces me preguntan acerca de las diferencias entre muchos tipos de servicios de hospedaje web, y pensé que traería muchos

Más detalles

App para realizar consultas al Sistema de Información Estadística de Castilla y León

App para realizar consultas al Sistema de Información Estadística de Castilla y León App para realizar consultas al Sistema de Información Estadística de Castilla y León Jesús M. Rodríguez Rodríguez rodrodje@jcyl.es Dirección General de Presupuestos y Estadística Consejería de Hacienda

Más detalles

Introducción En los años 60 s y 70 s cuando se comenzaron a utilizar recursos de tecnología de información, no existía la computación personal, sino que en grandes centros de cómputo se realizaban todas

Más detalles

MANUAL DE USUARIO APLICACIÓN SYSACTIVOS

MANUAL DE USUARIO APLICACIÓN SYSACTIVOS MANUAL DE USUARIO APLICACIÓN SYSACTIVOS Autor Edwar Orlando Amaya Diaz Analista de Desarrollo y Soporte Produce Sistemas y Soluciones Integradas S.A.S Versión 1.0 Fecha de Publicación 19 Diciembre 2014

Más detalles

SAP BusinessObjects Edge BI Standard Package La solución de BI preferida para. Empresas en Crecimiento

SAP BusinessObjects Edge BI Standard Package La solución de BI preferida para. Empresas en Crecimiento SAP BusinessObjects Edge BI Standard Package La solución de BI preferida para Empresas en Crecimiento Portfolio SAP BusinessObjects Soluciones SAP para Empresas en Crecimiento Resumen Ejecutivo Inteligencia

Más detalles

AGREGAR COMPONENTES ADICIONALES DE WINDOWS

AGREGAR COMPONENTES ADICIONALES DE WINDOWS INSTALACIÓN DE IIS EN WINDOWS XP El sistema está desarrollado para ejecutarse bajo la plataforma IIS de Windows XP. Por esta razón, incluimos la instalación de IIS (Servidor de Web) para la correcta ejecución

Más detalles

Planificación en Team Foundation Server 2010

Planificación en Team Foundation Server 2010 Planificación en Team Foundation Server 2010 Planificación y Seguimientos en Proyectos Agile con Microsoft Visual Studio Team Foundation Server 2010 Dirigido a: Todos los roles implicados en un proyecto

Más detalles

Servicio de Informática Vicerrectorado de Tecnologías de la Información y la Comunicación

Servicio de Informática Vicerrectorado de Tecnologías de la Información y la Comunicación Vicerrectorado de Tecnologías de la Información y la Comunicación Conexión mediante Escritorio Remoto de Windows Última Actualización 16 de septiembre de 2013 Histórico de cambios Fecha Descripción Autor

Más detalles

PLANTILLAS EN MICROSOFT WORD

PLANTILLAS EN MICROSOFT WORD PLANTILLAS EN MICROSOFT WORD Una plantilla es un modelo o patrón para crear nuevos documentos. En una plantilla se guarda internamente el formato utilizado, es decir, el estilo de la fuente, el tamaño,

Más detalles

Manual de Usuario Sitio Dinámico e-ducativa Versión 7.01.00

Manual de Usuario Sitio Dinámico e-ducativa Versión 7.01.00 Manual de Usuario Sitio Dinámico e-ducativa Versión 7.01.00 ÍNDICE DE CONTENIDOS INTRODUCCIÓN...3 ÁREAS DEL SITIO WEB...4 1. ENCABEZADO...5 2. SECCIONES Y PÁGINAS DEFINIDAS...5 3. CONTENIDO...5 4. NOVEDADES

Más detalles

Guía de uso del Cloud Datacenter de acens

Guía de uso del Cloud Datacenter de acens guíasdeuso Guía de uso del Cloud Datacenter de Calle San Rafael, 14 28108 Alcobendas (Madrid) 902 90 10 20 www..com Introducción Un Data Center o centro de datos físico es un espacio utilizado para alojar

Más detalles

Instalar protocolo, cliente o servicio nuevo. Seleccionar ubicación de red. Práctica - Compartir y conectar una carpeta

Instalar protocolo, cliente o servicio nuevo. Seleccionar ubicación de red. Práctica - Compartir y conectar una carpeta Configuración de una red con Windows Aunque existen múltiples sistemas operativos, el más utilizado en todo el mundo sigue siendo Windows de Microsoft. Por este motivo, vamos a aprender los pasos para

Más detalles

Qué es.net? Por César Villarreal, Global Project Manager

Qué es.net? Por César Villarreal, Global Project Manager Por César Villarreal, Global Project Manager Agosto 2012 Alguna vez te han hecho la pregunta Qué es.net? Para nosotros los tecnólogos, el término.net es bastante familiar. Pero cuando nos sentamos a conversar

Más detalles

LINEAMIENTOS ESTÁNDARES APLICATIVOS DE VIRTUALIZACIÓN

LINEAMIENTOS ESTÁNDARES APLICATIVOS DE VIRTUALIZACIÓN LINEAMIENTOS ESTÁNDARES APLICATIVOS DE VIRTUALIZACIÓN Tabla de Contenidos LINEAMIENTOS ESTÁNDARES APLICATIVOS DE VIRTUALIZACIÓN... 1 Tabla de Contenidos... 1 General... 2 Uso de los Lineamientos Estándares...

Más detalles

Base de datos en Excel

Base de datos en Excel Base de datos en Excel Una base datos es un conjunto de información que ha sido organizado bajo un mismo contexto y se encuentra almacenada y lista para ser utilizada en cualquier momento. Las bases de

Más detalles

WINDOWS 2008 7: COPIAS DE SEGURIDAD

WINDOWS 2008 7: COPIAS DE SEGURIDAD 1.- INTRODUCCION: WINDOWS 2008 7: COPIAS DE SEGURIDAD Las copias de seguridad son un elemento fundamental para que el trabajo que realizamos se pueda proteger de aquellos problemas o desastres que pueden

Más detalles

Bases de datos en Excel

Bases de datos en Excel Universidad Complutense de Madrid CURSOS DE FORMACIÓN EN INFORMÁTICA Bases de datos en Excel Hojas de cálculo Tema 5 Bases de datos en Excel Hasta ahora hemos usado Excel básicamente para realizar cálculos

Más detalles

Comparación entre Active Reports, Crystal Reports, y MS Reporting Services

Comparación entre Active Reports, Crystal Reports, y MS Reporting Services Comparación entre Active Reports,, y Este documento presenta una comparación entre estas tres herramientas de generación de reportes. Autor: Santiago Blanco Fecha: 25 de julio de 2005 Soporte de distintas

Más detalles

INTRODUCCIÓN: Una Visión Global del Proceso de Creación de Empresas

INTRODUCCIÓN: Una Visión Global del Proceso de Creación de Empresas INTRODUCCIÓN: Una Visión Global del Proceso de Creación de Empresas 1 INTRODUCCIÓN. Una visión global del proceso de creación de empresas Cuando se analiza desde una perspectiva integral el proceso de

Más detalles

Acronis License Server. Guía del usuario

Acronis License Server. Guía del usuario Acronis License Server Guía del usuario TABLA DE CONTENIDO 1. INTRODUCCIÓN... 3 1.1 Generalidades... 3 1.2 Política de licencias... 3 2. SISTEMAS OPERATIVOS COMPATIBLES... 4 3. INSTALACIÓN DE ACRONIS LICENSE

Más detalles

IDEA DE NEGOCIO EDUGER LOGISTIC GERMAN EDUARDO BALSERO MORALES PROFESOR: GERARDO ANDRES ARCOS CELIS

IDEA DE NEGOCIO EDUGER LOGISTIC GERMAN EDUARDO BALSERO MORALES PROFESOR: GERARDO ANDRES ARCOS CELIS IDEA DE NEGOCIO EDUGER LOGISTIC GERMAN EDUARDO BALSERO MORALES PROFESOR: GERARDO ANDRES ARCOS CELIS CORPORACIÓN UNIVERSITARIA IBEROAMERICANA TECNOLOGIA EN LOGISTICA INFORMATICA BOGOTA D.C. 2013 INTRODUCCIÓN

Más detalles

Ventajas del software del SIGOB para las instituciones

Ventajas del software del SIGOB para las instituciones Ventajas del software del SIGOB para las instituciones Podemos afirmar que además de la metodología y los enfoques de trabajo que provee el proyecto, el software, eenn ssi i mi issmoo, resulta un gran

Más detalles

Edición de Ofertas Excel Manual de Usuario

Edición de Ofertas Excel Manual de Usuario Edición de Ofertas Excel Manual de Usuario Alfonso XI, 6 28014 Madrid F(+34) 91 524 03 96 www.omie.es Ref. MU_OfertasExcel.docx Versión 4.0 Fecha: 2012-11-26 ÍNDICE 1 INTRODUCCIÓN 3 2 CONSIDERACIONES DE

Más detalles

Novedades. Introducción. Potencia

Novedades. Introducción. Potencia Introducción Basado en el demostrado rendimiento y flexibilidad de la versión 8.5, Crystal Reports 9 presenta una amplia variedad de avanzadas funciones para que el diseño, entrega e integración de informes

Más detalles

Guía Rápida de Inicio

Guía Rápida de Inicio Guía Rápida de Inicio 1. Acerca de esta Guía Esta guía le ayudará a instalar y dar los primeros pasos con BitDefender Security for SharePoint. Para disponer de instrucciones detalladas, por favor, diríjase

Más detalles

MANUAL DE USUARIO CMS- PLONE www.trabajo.gob.hn

MANUAL DE USUARIO CMS- PLONE www.trabajo.gob.hn MANUAL DE USUARIO CMS- PLONE www.trabajo.gob.hn Tegucigalpa M. D. C., Junio de 2009 Que es un CMS Un sistema de administración de contenido (CMS por sus siglas en ingles) es un programa para organizar

Más detalles

Para optimizar este proceso lo dividiremos en etapas y deberemos tener bien claro el objetivo que debemos alcanzar en cada una de ellas:

Para optimizar este proceso lo dividiremos en etapas y deberemos tener bien claro el objetivo que debemos alcanzar en cada una de ellas: ETAPAS DEL PROCESO DE SELECCIÓN DE PERSONAL EN LAS EMPRESAS FAMILIARES En la actualidad muchas empresas familiares han evolucionado intentando aplicar técnicas adecuadas para el proceso de Selección de

Más detalles

Programa diseñado y creado por 2014 - Art-Tronic Promotora Audiovisual, S.L.

Programa diseñado y creado por 2014 - Art-Tronic Promotora Audiovisual, S.L. Manual de Usuario Programa diseñado y creado por Contenido 1. Acceso al programa... 3 2. Opciones del programa... 3 3. Inicio... 4 4. Empresa... 4 4.2. Impuestos... 5 4.3. Series de facturación... 5 4.4.

Más detalles

FACULTAD DE INFORMATICA MATERIA: GESTION DE CONTENIDO ELECTRONICO PROFESOR: JONATHAN VEGA ALUMNOS: LUISA ROSERO JAIME CAMACHO DATOS INFORMATIVOS:

FACULTAD DE INFORMATICA MATERIA: GESTION DE CONTENIDO ELECTRONICO PROFESOR: JONATHAN VEGA ALUMNOS: LUISA ROSERO JAIME CAMACHO DATOS INFORMATIVOS: FACULTAD DE INFORMATICA MATERIA: GESTION DE CONTENIDO ELECTRONICO PROFESOR: JONATHAN VEGA ALUMNOS: LUISA ROSERO JAIME CAMACHO DATOS INFORMATIVOS: TRABAJO BIBLIOGRAFICO DE, CONCEPTOS, IMÁGENES, EJEMPLOS,

Más detalles

Oficina Online. Manual del administrador

Oficina Online. Manual del administrador Oficina Online Manual del administrador 2/31 ÍNDICE El administrador 3 Consola de Administración 3 Administración 6 Usuarios 6 Ordenar listado de usuarios 6 Cambio de clave del Administrador Principal

Más detalles

UNIDESYS UNIVERSAL BUSINESS SYSTEMS INSTALACIÓN NUEVO PUESTO DE TRABAJO

UNIDESYS UNIVERSAL BUSINESS SYSTEMS INSTALACIÓN NUEVO PUESTO DE TRABAJO www.ubs-systems.com Teléfono: 91 3681185 UNIDESYS UNIVERSAL BUSINESS SYSTEMS INSTALACIÓN NUEVO PUESTO DE TRABAJO Unidesys Versión 2011 1 CONTENIDO 1 INTRODUCCIÓN 3 2 FUENTES DE DATOS 4 3 INSTALACIÓN DEL

Más detalles

MANUAL DE AYUDA MODULO TALLAS Y COLORES

MANUAL DE AYUDA MODULO TALLAS Y COLORES MANUAL DE AYUDA MODULO TALLAS Y COLORES Fecha última revisión: Enero 2010 Índice TALLAS Y COLORES... 3 1. Introducción... 3 CONFIGURACIÓN PARÁMETROS TC (Tallas y Colores)... 3 2. Módulos Visibles... 3

Más detalles

Solicitar la competencia Business Intelligence Solutions

Solicitar la competencia Business Intelligence Solutions Solicitar la competencia Business Intelligence Solutions Guía paso a paso de la inscripción En Microsoft Partner Program, las competencias de Microsoft definen sus áreas de especialización, ayudándole

Más detalles

Capítulo VI. Estudio de Caso de Aplicación del Integrador de Información Desarrollado

Capítulo VI. Estudio de Caso de Aplicación del Integrador de Información Desarrollado Capítulo VI Estudio de Caso de Aplicación del Integrador de Información Desarrollado 6.1 Organización elegida La Organización elegida para el caso de aplicación, es la empresa CTM Tours del grupo Costamar,

Más detalles

FUNDAMENTOS DE PROGRAMACION CON C#

FUNDAMENTOS DE PROGRAMACION CON C# Capítulo 1 FUNDAMENTOS DE PROGRAMACION CON C# El lenguaje C# C# (léase, en inglés C sharp, y en español C almohadilla) es un lenguaje de programación que permite el desarrollo de aplicaciones para Internet,

Más detalles

INTRODUCCIÓN A LA PROGRAMACIÓN WEB UNIDAD. Estructura de contenidos: http://www.ucv.edu.pe/cis/ cisvirtual@ucv.edu.pe. 1.

INTRODUCCIÓN A LA PROGRAMACIÓN WEB UNIDAD. Estructura de contenidos: http://www.ucv.edu.pe/cis/ cisvirtual@ucv.edu.pe. 1. INTRODUCCIÓN A LA PROGRAMACIÓN WEB UNIDAD 1 Estructura de contenidos: 1. Programación Web 2. Sistema De Información 3. Sistema Web 4. Requisitos Para Sistemas Web Con Asp 5. Internet Information Server

Más detalles

ESTUDIO DE LA VIABILIDAD DEL SISTEMA

ESTUDIO DE LA VIABILIDAD DEL SISTEMA ESTUDIO DE LA VIABILIDAD DEL SISTEMA Como ya sabemos el objetivo del estudio de viabilidad del sistema es el análisis de un conjunto concreto de necesidades para proponer una solución a corto plazo, que

Más detalles

Nos encargamos del tuyo, tú disfruta

Nos encargamos del tuyo, tú disfruta EN ACTIVE SABEMOS QUE TIENES COSAS MÁS IMPORTANTES QUE EL TRABAJO, POR ESO Nos encargamos del tuyo, tú disfruta 2015 ACTIVE BUSINESS & TECHNOLOGY. TODOS LOS DERECHOS RESERVADOS. 1 Esta nueva versión ha

Más detalles

Una plantilla es un documento de Word 2003 con la característica de que el tipo de documento es plantilla de documento (.dot).

Una plantilla es un documento de Word 2003 con la característica de que el tipo de documento es plantilla de documento (.dot). Unidad 3. Plantillas Objetivos de la unidad: Una plantilla es un documento prediseñado que usted puede usar para crear nuevos documentos con el mismo formato. A través de una plantilla, el aspecto de un

Más detalles

Cómo elegir tu SOFTWARE DE GESTIÓN?

Cómo elegir tu SOFTWARE DE GESTIÓN? Cómo elegir tu SOFTWARE DE GESTIÓN? 00 Introducción Tu empresa está en expansión y has decidido integrar todas las áreas de tu negocio para seguir creciendo. Has iniciado la búsqueda de un software de

Más detalles

Introducción a las redes de computadores

Introducción a las redes de computadores Introducción a las redes de computadores Contenido Descripción general 1 Beneficios de las redes 2 Papel de los equipos en una red 3 Tipos de redes 5 Sistemas operativos de red 7 Introducción a las redes

Más detalles

Curso Excel Básico - Intermedio

Curso Excel Básico - Intermedio Curso Excel Básico - Intermedio Clase 4 Relator: Miguel Rivera Adonis Introducción Base de Datos: Definición de Base de Datos Ordenar datos Formulario Filtros Trabajar con Sub-Totales Validación de Datos

Más detalles

CASOS DE ÉXITO DIST-PLEX MODUART. PARTNER Team Solutions SAS Es una compañía con más de 10 años de experiencia en la implementación de soluciones de

CASOS DE ÉXITO DIST-PLEX MODUART. PARTNER Team Solutions SAS Es una compañía con más de 10 años de experiencia en la implementación de soluciones de PARTNER Team Solutions SAS Es una compañía con más de 10 años de experiencia en la implementación de soluciones de Administración de Relaciones con Clientes (CRM). Reconocida como Microsoft Gold Certified

Más detalles

Módulo I Unidad Didáctica 2

Módulo I Unidad Didáctica 2 Módulo I Unidad Didáctica 2 Introducción Tal como un periódico, por ejemplo, no es sólo una colección de artículos, un sitio Web no puede ser simplemente una colección de páginas. Qué se busca al diseñar

Más detalles

MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD

MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD Fecha última revisión: Diciembre 2010 Tareas Programadas TAREAS PROGRAMADAS... 3 LAS TAREAS PROGRAMADAS EN GOTELGEST.NET... 4 A) DAR DE ALTA UN USUARIO...

Más detalles

CASO PRÁCTICO. ANÁLISIS DE DATOS EN TABLAS DINÁMICAS

CASO PRÁCTICO. ANÁLISIS DE DATOS EN TABLAS DINÁMICAS CASO PRÁCTICO. ANÁLISIS DE DATOS EN TABLAS DINÁMICAS Nuestra empresa es una pequeña editorial que maneja habitualmente su lista de ventas en una hoja de cálculo y desea poder realizar un análisis de sus

Más detalles

Hablemos de RESULTADOS de los últimos años por un segundo. He estado:

Hablemos de RESULTADOS de los últimos años por un segundo. He estado: Te Gustaría que te Ayudara Personalmente a Crear Tu Negocio Digital en 30 días o a conseguir Más Clientes, Más Ingresos y Mejores Resultados en Tu Negocio Actual Completamente Gratis? Escrito de: Joan

Más detalles

Internet como herramientas de comunicación: El correo electrónico

Internet como herramientas de comunicación: El correo electrónico Internet como herramientas de comunicación: El correo electrónico 1. El correo electrónico Objetivo del tema: Aprender a manejar el correo electrónico y los medios de comunicación existentes en Internet.

Más detalles

Manual de uso de la plataforma para monitores. CENTRO DE APOYO TECNOLÓGICO A EMPRENDEDORES -bilib

Manual de uso de la plataforma para monitores. CENTRO DE APOYO TECNOLÓGICO A EMPRENDEDORES -bilib Manual de uso de la plataforma para monitores CENTRO DE APOYO TECNOLÓGICO A EMPRENDEDORES -bilib [Manual de uso de la plataforma para monitores] 1. Licencia Autor del documento: Centro de Apoyo Tecnológico

Más detalles

Control del Stock, aprovisionamiento y distribución a tiendas.

Control del Stock, aprovisionamiento y distribución a tiendas. Control del Stock, aprovisionamiento y distribución a tiendas. Tan importante como el volumen de ventas y su rentabilidad, el control del stock supone uno de los pilares fundamentales en el éxito de una

Más detalles

REDES DE ÁREA LOCAL. APLICACIONES Y SERVICIOS EN WINDOWS

REDES DE ÁREA LOCAL. APLICACIONES Y SERVICIOS EN WINDOWS REDES DE ÁREA LOCAL. APLICACIONES Y SERVICIOS EN WINDOWS Servicio DNS - 1 - Servicio DNS...- 3 - Definición... - 3 - Instalación... - 5 - Configuración del Servidor DNS...- 10 - - 2 - Servicio DNS Definición

Más detalles

Proyecto MONO. Juantomás García. 1. Introducción. GNOME Hispano juantomas@lared.es

Proyecto MONO. Juantomás García. 1. Introducción. GNOME Hispano juantomas@lared.es Juantomás García GNOME Hispano juantomas@lared.es Qué es el proyecto MONO?. Estado actual del proyecto. Por qué es interesante para el software libre disponer de la tecnología relacionado con el proyecto

Más detalles

ACCESO AL SERVIDOR EXCHANGE MEDIANTE OWA

ACCESO AL SERVIDOR EXCHANGE MEDIANTE OWA ACCESO AL SERVIDOR EXCHANGE MEDIANTE OWA El Acceso al correo a través de OWA (Outlook Web Access) es una herramienta que permite a los usuarios consultar sus mensajes en una interfaz Web a través de un

Más detalles

Introducción a Visual Studio.Net

Introducción a Visual Studio.Net Introducción a Visual Studio.Net Visual Studio es un conjunto completo de herramientas de desarrollo para la generación de aplicaciones Web ASP.NET, Servicios Web XML, aplicaciones de escritorio y aplicaciones

Más detalles

Implantar Microsoft Software Updates Service (SUS)

Implantar Microsoft Software Updates Service (SUS) Implantar Microsoft Software Updates Service (SUS) Guía rápida de instalación Versión: 1.0 Autor: Paulino Insausti Barrenetxea Fecha: 15 de Junio de 2005 Licencia: CreativeCommons - ShareAlike Indice 1.Introducción...

Más detalles

e-mailing Solution La forma más efectiva de llegar a sus clientes.

e-mailing Solution La forma más efectiva de llegar a sus clientes. e-mailing Solution La forma más efectiva de llegar a sus clientes. e-mailing Solution Es muy grato para nosotros presentarles e-mailing Solution, nuestra solución de e-mail Marketing para su empresa. E-Mailing

Más detalles

NBG Asesores Abogados

NBG Asesores Abogados Caso de Éxito www.sagedespachosprofesionales.com despachosprofesionales@sage.es 902 01 34 49 Caso de Éxito Las actualizaciones periódicas de Sage Profesional Class a nuevas normativas nos permiten atender

Más detalles

Operación Microsoft Windows

Operación Microsoft Windows Entornos de red Concepto de red En el nivel más elemental, una red consiste en dos equipos conectados entre sí mediante un cable de forma tal que puedan compartir datos. Todas las redes, no importa lo

Más detalles

Windows Server 2003. Windows Server 2003

Windows Server 2003. Windows Server 2003 Windows Server 2003 Windows Server 2003 Es un sistema operativo de la familia Windows de la marca Microsoft para servidores que salió al mercado en el año 2003. Está basada en tecnología NT y su versión

Más detalles

Creación y consultas hacia un cubo OLAP.

Creación y consultas hacia un cubo OLAP. Instituto Tecnológico Superior de Acatlán de Osorio SEP SEIT DGIT DIVISIÓN DE LA CARRERA DE LICENCIATURA EN INFORMÁTICA Trabajo: Creación y consultas hacia un cubo OLAP. Materia: Bases de Datos Avanzadas

Más detalles

WINDOWS 2008 5: TERMINAL SERVER

WINDOWS 2008 5: TERMINAL SERVER WINDOWS 2008 5: TERMINAL SERVER 1.- INTRODUCCION: Terminal Server proporciona una interfaz de usuario gráfica de Windows a equipos remotos a través de conexiones en una red local o a través de Internet.

Más detalles

Guía de instalación de la carpeta Datos de IslaWin

Guía de instalación de la carpeta Datos de IslaWin Guía de instalación de la carpeta Datos de IslaWin Para IslaWin Gestión CS, Classic o Pyme a partir de la revisión 7.00 (Revisión: 10/11/2011) Contenido Introducción... 3 Acerca de este documento... 3

Más detalles

K2BIM Plan de Investigación - Comparación de herramientas para la parametrización asistida de ERP Versión 1.2

K2BIM Plan de Investigación - Comparación de herramientas para la parametrización asistida de ERP Versión 1.2 K2BIM Plan de Investigación - Comparación de herramientas para la parametrización asistida de ERP Versión 1.2 Historia de revisiones Fecha VersiónDescripción Autor 08/10/2009 1.0 Creación del documento.

Más detalles

ENTORNO DE DESARROLLO MICROSOFT.NET 2010

ENTORNO DE DESARROLLO MICROSOFT.NET 2010 ENTORNO DE DESARROLLO MICROSOFT.NET 2010 UNIDAD 2 Estructura de contenidos: 1. Conociendo ASP 2. Sitio Web y Proyecto Web 3. WebForm 4. Características de los webforms 5. Entorno del.net 6. Controles básicos

Más detalles

UAM MANUAL DE EMPRESA. Universidad Autónoma de Madrid

UAM MANUAL DE EMPRESA. Universidad Autónoma de Madrid MANUAL DE EMPRESA Modo de entrar en ÍCARO Para comenzar a subir una oferta de empleo, el acceso es a través del siguiente enlace: http://icaro.uam.es A continuación, aparecerá la página de inicio de la

Más detalles

SIEWEB. La intranet corporativa de SIE

SIEWEB. La intranet corporativa de SIE La intranet corporativa de SIE por ALBA Software Acceso a los servicios SIE desde páginas Web para los usuarios de sistema *. Administración del Sistema (cuentas de usuarios, permisos, servicios, etc...)

Más detalles

Práctica No. 1. Consulta de las versiones del SO

Práctica No. 1. Consulta de las versiones del SO Práctica No. 1 Consulta de las versiones del SO Objetivos: Determinar la versión y la revisión del sistema operativo (SO). Analizar el método utilizado para configurar las actualizaciones de Windows vista

Más detalles

8 pasos para garantizar el éxito en tu implementación de CRM

8 pasos para garantizar el éxito en tu implementación de CRM 8 pasos para garantizar el éxito en tu implementación de CRM Tu estrategia de CRM merece tener éxito, pues hoy por hoy, las empresas centradas al cliente se convierten en dominantes del mercado, adaptando

Más detalles

PERFIL TÉCNICO CONSULTOR SHAREPOINT PARA LA WEB

PERFIL TÉCNICO CONSULTOR SHAREPOINT PARA LA WEB PLIEGO DE PRESCRIPCIONES TÉCNICAS PARA LA CONTRATACIÓN DE LA CONSULTORÍA Y ASISTENCIA PARA LOS PROYECTOS WEB EN EL TRIBUNAL CONSTITUCIONAL PERFIL TÉCNICO CONSULTOR SHAREPOINT PARA LA WEB 1 Índice Antecedentes...

Más detalles

LICITACIÓN N L13045 NUEVO SISTEMA LEY DE TRANSPARENCIA

LICITACIÓN N L13045 NUEVO SISTEMA LEY DE TRANSPARENCIA LICITACIÓN N L13045 NUEVO SISTEMA LEY DE TRANSPARENCIA ACLARACIONES Y RESPUESTAS A CONSULTAS SEGUNDA PARTE De acuerdo a lo señalado en el numeral 11 de las Bases de Licitación, a continuación se presenta

Más detalles

DIRECCION DE PROYECTOS II

DIRECCION DE PROYECTOS II DIRECCION DE PROYECTOS II DESARROLLO DEL CURSO PROFESIONAL EN DIRECCION DE PROYECTOS II: Durante el desarrollo del Curso Profesional en Dirección de Proyectos II, el alumno irá asimilando el contenido

Más detalles

Manual para la utilización de PrestaShop

Manual para la utilización de PrestaShop Manual para la utilización de PrestaShop En este manual mostraremos de forma sencilla y práctica la utilización del Gestor de su Tienda Online mediante Prestashop 1.6, explicaremos todo lo necesario para

Más detalles

El Outsourcing como Opción Estratégica

El Outsourcing como Opción Estratégica El Outsourcing como Opción Estratégica Improven Consultores Colón 18, 2ºF 46004 Valencia Tel: 96 352 18 22 Fax: 96 352 20 79 www.improven-consultores.com info@improven-consultores.com El outsourcing como

Más detalles

Tools. Ibermática Soluciones Empresariales 2012, Todos los derechos reservados http://soluciones.ibermatica.com

Tools. Ibermática Soluciones Empresariales 2012, Todos los derechos reservados http://soluciones.ibermatica.com Tools http://soluciones.ibermatica.com La aplicación Tools Ibermática incluye 15 aplicaciones que llevan a cabo varios trabajos centrados en el diseño. Estas aplicaciones han sido desarrolladas pensando

Más detalles

1.4.1.2. Resumen... 1.4.2. ÁREA DE FACTURACIÓN::INFORMES::Pedidos...27 1.4.2.1. Detalle... 1.4.2.2. Resumen... 1.4.3. ÁREA DE

1.4.1.2. Resumen... 1.4.2. ÁREA DE FACTURACIÓN::INFORMES::Pedidos...27 1.4.2.1. Detalle... 1.4.2.2. Resumen... 1.4.3. ÁREA DE MANUAL DE USUARIO DE ABANQ 1 Índice de contenido 1 ÁREA DE FACTURACIÓN......4 1.1 ÁREA DE FACTURACIÓN::PRINCIPAL...4 1.1.1. ÁREA DE FACTURACIÓN::PRINCIPAL::EMPRESA...4 1.1.1.1. ÁREA DE FACTURACIÓN::PRINCIPAL::EMPRESA::General...4

Más detalles

1 GLOSARIO. Actor: Es un consumidor (usa) del servicio (persona, sistema o servicio).

1 GLOSARIO. Actor: Es un consumidor (usa) del servicio (persona, sistema o servicio). 1 GLOSARIO A continuación se definen, en orden alfabético, los conceptos básicos que se han abordado a lo largo del desarrollo de la metodología para la gestión de requisitos bajo la Arquitectura Orientada

Más detalles

Creación y administración de grupos locales

Creación y administración de grupos locales Creación y administración de grupos locales Contenido Descripción general 1 Introducción a los grupos de Windows 2000 2 Grupos locales 5 Grupos locales integrados 7 Estrategia para utilizar grupos locales

Más detalles

FASCÍCULO. Decidir con inteligencia. Este es el momento.

FASCÍCULO. Decidir con inteligencia. Este es el momento. Decidir con inteligencia. Este es el momento. Nos complace que sigas nuestras publicaciones para enterarte de cosas importantes para tu negocio. En el fascículo anterior vimos concretamente las funciones

Más detalles

Departamento CERES Área de Tarjetas Inteligentes Manual de Usuario

Departamento CERES Área de Tarjetas Inteligentes Manual de Usuario 14 CORREO SEGURO. Hay aplicaciones de correo que permiten enviar y recibir correos cifrados y firmados digitalmente utilizando criptografía. Estas operaciones garantizan el intercambio seguro de información,

Más detalles

INSTALACIÓ N A3ERP. Informática para empresas INTRODUCCIÓN CONSIDERACIONES GENERALES DE LA INSTALACIÓN PAQUETES DE INSTALACIÓN PREDEFINIDOS

INSTALACIÓ N A3ERP. Informática para empresas INTRODUCCIÓN CONSIDERACIONES GENERALES DE LA INSTALACIÓN PAQUETES DE INSTALACIÓN PREDEFINIDOS Página 1 de 20 INSTALACIÓ N A3ERP INTRODUCCIÓN La instalación de a3erp v9 ha sufrido una trasformación importante respecto a sus versiones anteriores. Cualquier instalación exige la existencia de un pc

Más detalles

Capítulo 4. Requisitos del modelo para la mejora de la calidad de código fuente

Capítulo 4. Requisitos del modelo para la mejora de la calidad de código fuente Capítulo 4. Requisitos del modelo para la mejora de la calidad de código fuente En este capítulo definimos los requisitos del modelo para un sistema centrado en la mejora de la calidad del código fuente.

Más detalles

Cómo ayudar a nuestros hijos e hijas en las tareas escolares si no sabemos euskera?

Cómo ayudar a nuestros hijos e hijas en las tareas escolares si no sabemos euskera? Cómo ayudar a nuestros hijos e hijas en las tareas escolares si no sabemos euskera? Este documento es un resumen de la charla No sabemos euskera, Cómo ayudar a nuestros hijos e hijas en las tareas escolares?.

Más detalles

Toda base de datos relacional se basa en dos objetos

Toda base de datos relacional se basa en dos objetos 1. INTRODUCCIÓN Toda base de datos relacional se basa en dos objetos fundamentales: las tablas y las relaciones. Sin embargo, en SQL Server, una base de datos puede contener otros objetos también importantes.

Más detalles

Novedades en Q-flow 3.02

Novedades en Q-flow 3.02 Novedades en Q-flow 3.02 Introducción Uno de los objetivos principales de Q-flow 3.02 es adecuarse a las necesidades de grandes organizaciones. Por eso Q-flow 3.02 tiene una versión Enterprise que incluye

Más detalles

Visión General de GXportal. Última actualización: 2009

Visión General de GXportal. Última actualización: 2009 Última actualización: 2009 Copyright Artech Consultores S. R. L. 1988-2009. Todos los derechos reservados. Este documento no puede ser reproducido en cualquier medio sin el consentimiento explícito de

Más detalles

Guía de los cursos. Equipo docente:

Guía de los cursos. Equipo docente: Guía de los cursos Equipo docente: Dra. Bertha Patricia Legorreta Cortés Dr. Eduardo Habacúc López Acevedo Introducción Las organizaciones internacionales, las administraciones públicas y privadas así

Más detalles

Objetivos del proyecto:

Objetivos del proyecto: Crear una página web corporativa atractiva, fácil de usar, que permita dar a conocer nuestra empresa, nuestros servicios y nuestros productos, a través de un medio con tanta importancia como es Internet.

Más detalles