jueves, 10 de julio de 2008

Cómo trabajar con Visual Studio 2003 sin privilegios de Administrador

¿Es necesario que los desarrolladores cuenten con privilegios de “Administrador” para poder hacer debugging de aplicaciones con Visual Studio .NET 2003?
NO. Las “Local Security Policy | User Rights Assignment” de “Debug programs” asignadas a Administradores es solo necesaria para poder hacer debugging de aplicaciones externas que hayan sido lanzadas por usuarios distintos al Local User Account. Para el desarrollo de aplicaciones standard, incluidas aplicaciones Windows, aplicaciones web y web services, solo es necesario que los usuarios sean miembros de los siguientes grupos locales:
  • VS Developers
  • Debugger Users
  • Advanced Users

VS Developers
Este grupo otorga los siguientes permisos:
  1. Acceso de Lectura, Escritura, Borrar y Modificar sobre wwwroot$
  2. Acceso de Lectura, Escritura, Borrar y Modificar sobre el directorio de archivos \wwwroot (solo NTFS)
  3. Acceso de Operador (Administrativo) al IIS Metabase (IIS Local)
  4. Debugger User
    Permite a los miembros:
    1. Lanzar procesos con la cuenta de usuario.
    2. Terminar procesos con la cuenta de usuario.
    3. Enumerar procesos corriendo en el sistema.
    4. Comunicarse con el Machine Debug Manager.
    Advanced Users
    Permite tener acceso de Lectura y Escritura sobre el directorio: “C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files”

    Debugging ASP.NET Web Applications y Servicios
    Para poder debuguear una ASP.NET web application o web service el Visual Studio debugger necesita poder attacharse al ASPNET Worker Process, aspnet_wp.exe. El ASP Worker Process normalmente con una predefinida cuenta de usuario llamada”ASPNET”, la cual fue creada durante la instalación del .NET Framework con el IIS. Como por defecto uno utiliza una cuenta de Administrador, no va a tener problemas nuncas para hacer un attach a un proceso lanzado por otro usuario, en este caso el usuario ASPNET.
    Lo que debemos hacer es configurar al ASPNET Worker Process para que corra con nuestra cuenta de usuario.
    Configurar el “machine.config”
    1. Localizar el archivo “C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\CONFIG\machine.config”
    2. Buscar el tag <processModel> y modificar las credenciales con el usuario que queremos trabajar


    <processModel userName="machine" password="AutoGenerate" ...... />

    por

    <processModel userName="YourUserName" password="YourPassword" ...... />


    Otra opción más segura, dado que el password queda visible, es encriptándolo utilizando la aplicación aspnet_setreg.exe
    aspnet_setreg.exe -k:SOFTWARE\MY_SECURE_APP\processModel -u:"YourUserName" -p:"YourPassword"
    Entonces hay que modificar el processModel con lo siguiente:

    <processModel

    userName="registry:HKLM\SOFTWARE\MY_SECURE_APP\processModel\ASPNET_SETREG,userName"

    password="registry:HKLM\SOFTWARE\MY_SECURE_APP\processModel\ASPNET_SETREG,password"

    ...... />



    Es necesario tener permisos de administrador para poder agregar esto en el registro, por lo cual será necesaria la asistencia cada vez que haya que actualizar la contraseña.

    Consideraciones
    Para poder trabajar con proyectos Web ya existentes, va a ser necesario:

    Crear un proyecto web en blanco desde nuestro Visual Studio, el cual cuenta con permisos para crear el Directorio Virtual en el IIS local.
    Reemplazar los archivos del proyecto web creado por los fuentes del anterior proyecto existente.

    Referencias
    Visual Studio .NET User Groups – Use, Permissions, Security
    Overview on the use, permissions, and security provided to Visual Studio users for developing and debugging Windows applications, ASP.NET web applications, and ASP.NET web services.
    Informacion sobre aspnet_setreg.exe http://support.microsoft.com/default.aspx?scid=329290
    http://msruniv.corp.bcentral.com/shared%20documents/dotNETDevVSGROUPS.doc
    http://msruniv.corp.bcentral.com/shared%20documents/dotNETDevVSGROUPS.pdf
    http://msdn.microsoft.com/en-us/library/aa289173.aspx
    http://cyberforge.com/weblog/aniltj/articles/254.aspx

miércoles, 9 de enero de 2008

Ingeniero al fin!!

Ya pasó más de un mes de aquel día tan esperado, y todavía la sonrisa no se me borra.
Quiero aprovechar para agradecerles a mis compañeros de tesis Hernan Novillo y Pablo Sparhakl, por haber compartido tantas horas de trabajo poniendo la mejor onda.

Pablo, Yo y Hernán

También a mi director de tesis Mag. Ing. Jorge Ierache por encaminarnos en el tema y transmitirnos tanta energía positiva por mejorar lo que hacíamos.
El resumen del proyecto es el siguiente:
Este trabajo intenta definir una arquitectura de software para el telemonitoreo de señales de cualquier tipo y escenario de aplicación, el cual brinde un alto grado de abstracción del hardware utilizado para la adquisición de señales.
Además, que permita realizar la adquisición de señales de manera remota o
ambulatoria.

La base para este modelo estará fundamentada en los lineamientos de la arquitectura orientada a servicios (SOA), permitiendo proveer de herramientas que soporten la administración de dispositivos y señales de manera remota.


Como caso de aplicación principal, logramos la integración con un Sistema de Asistencia Ventricular Izquierda (SAVI), el cual pudimos monitorear de manera exitosa. El SAVI es un proyecto de la Facultad de Medicina, dirigido por el Dr. Claudio Cervino y desarrollado por el Ing. Victor Nasini. Gracias a ellos también por su gran colaboración.

lunes, 3 de diciembre de 2007

Presentación de Tesis 7 de diciembre de 2007

El próximo viernes 7 de diciembre de 2007 a las 17 hs, voy a exponer mi tesis de grado "Una Arquitectura para el telemonitoreo de señales" en la Universidad de Morón, de la carrera Ingeniería en Informática.
Este proyecto fue un trabajo en conjunto que realizamos con mis compañeros Hernán Novillo y Pablo Sparhakl.
Haremos una demostración de integración con un dispositivo de Asistencia Ventricular Izquierda, proyecto en el que trabaja la facultad de medicina de la misma universidad.
Despues de un año y medio de trabajo y tanto esfuerzo metido en el mismo, por fin llega el día tan esperado!
Ojalá puedan asistir todas las personas que alguna vez me dijeron- avisame cuando das la tesis asi voy...

viernes, 23 de noviembre de 2007

Conferencia Euro-Par 2008

14th International Euro-Par Conference
European Conference on Parallel and Distributed Computing
(Euro-Par 2008)

Euro-Par es una serie anual de conferencias dedicadas a la promoción y muestra de adelantos de todos los aspectos relacionados con la computación distribuida y paralela.

Euro-Par se focaliza en todos los aspectos de hardware, software, algorítmos y aplicación en este campo. El objetivo de Euro-Par es proveer un foro para la promoción del paralelismo y computación distribuida, ambos como una técnica industrial y una disciplina académica, extendiendo los límites de ambos, el estado del arte y el estado de práctica.

Los siguientes tópicos serán cubiertos por las sesiones regulares de Euro-Par 2008:
  1. Support tools and environments
  2. Performance prediction and evaluation
  3. Scheduling and load balancing
  4. High performance architectures and compilers
  5. Parallel and distributed databases
  6. Grid and cluster computing
  7. Peer to peer computing
  8. Distributed systems and algorithms
  9. Parallel and distributed programming
  10. Parallel numerical algorithms
  11. Distributed and high performance multimedia
  12. Theory and algorithms for parallel computation
  13. High performance networks
  14. Mobile and ubiquitous computing
Fecha y lugar de realización

August 26-29th, 2008
ULPGC, Las Palmas de Gran Canaria, Spain

Enlaces

Sitio oficial http://europar2008.caos.uab.es
Detalle completo de los tópicos http://europar2008.caos.uab.es/topics.php
Contacto europar2008@caos.uab.es

lunes, 29 de octubre de 2007

Creando una aplicación Web con Iron Speed Designer

Si están necesitando armar una aplicación Web donde la mayor parte del trabajo es muy repetitivo, como son los ABMs(Altas, Bajas y Modificaciones), y el tiempo disponible de desarrollo es muy corto, pero al mismo tiempo pretendemos que el look & feel sea tan impactante que deje con espasmo bronquial a los clientes, objetivo que cuesta muchísimo, les recomiendo una herramienta que logra, con muy buenos resultados, suplir estas necesidades.

Su nombre es Iron Speed Designer y sirve para la construcción de aplicaciones Web, generando todo el código fuente para .NET en C# o VB.NET version 1.X o 2.0 con una arquitectura de 3 capas, a partir del esquema de la base de datos que dispongamos, teniendo soporte para la conexión con SQL Server, Oracle y Access.
Esta herramienta no es libre, pero pueden descargar una versión de evaluación la cual no tiene ningún tipo de limitaciones en funcionalidad y si quedan conformes son libres de poder pagar por la licencia.
Aplica el modelo de generación Tier Generator.

Como trabajar

Una vez que tengamos la aplicación instalada y dispongamos de un motor de Base
de Datos, por ejemplo SQL Server 2005, el paso previo a comenzar a utilizar esta herramienta es:
  • Definir el Esquema de la Base de Datos: Diseñar el modelo de Entidad-Relación, con alguna herramienta CASE preferentemente, para luego generar el script resultante y crear el esquema en la Base de Datos.
Usando la herramienta
El Iron Speed no es simplemente un generador de código, es todo un IDE que permite principalmente "configurar" la aplicación a crear, permitiendo modificar formularios en vista de diseño, y cuenta con multiples opciones tratando de cubrir las tareas mas comunes con las que se presenta un desarrollador.
Para crear una aplicación nueva cuenta con un wizard al que accedemos haciendo click en "Create a New Application".

Una vez abierto el Wizard, el mismo propone 5 simples pasos.
  1. Application Information
  2. Page Style
  3. Database Server
  4. Tables
  5. Finish (el más dificil de todos :-) )
Application Information
En este paso indicamos cual será el nombre de nuestra aplicación, cual será el directorio de salida. Además debemos indicar cual será el lenguaje a generar (C# o VB.NET), para que versión del framework, y si queremos que los query sean dinámicos o sean almacenados como Stored Procedures, dependiendo del escenario y la criticidad del sistema quizás nos sea mas conveniente almacenarlos en Stored Procedures.

Page Style
Este es uno de los pasos mas creativos, elegir el template a aplicar!! La version 4.0.5 cuenta con 24 templates, uno mejor que el otro, lo que hace muy dificil elegir uno, asi que lo más productivo es elegirlo al azar para no perder tiempo.

Database Server
Aca especificamos contra que Base de Datos vamos a trabajar, y hay que ingresar las credenciales necesarias para poder tener acceso.
Tables
Este paso es muy importante. La ventana muestra tres estructuras de árbol.
En la primera podemos seleccionar una Base de Dato de las disponibles para la conexión establecida en el paso anterior.
Al seleccionar una, el árbol del medio se carga con las tablas y vistas disponibles, donde podremos seleccionar cuales son las que queremos generar su correspondiente ABM o formulario de reporte.

Finish
Como último paso ya podemos compilar y ejecutar la nueva aplicación haciendo click en el botón correspondiente.
Listo! con esto alcanza y sobra para generar una aplicación que permitirá hacer búsquedas sobre campos de las tablas que indicamos, aplicar filtros, poder hacer Altas de registros y modificar existentes, todo con formularios que aprovechan de la información recolectada de las relaciones entre tablas para agregar Combos de selección, y dependiendo de los tipos de datos de cada campo mostrar en Calendarios, validaciones, etc.

Que hizo por cada Tabla?
En el proyecto de Presentación, por cada tabla generó 4 formularios:
  1. AddNombreTablaPage.aspx (Permite dar de Alta un registro)
  2. EditNombreTablaPage.aspx (Permite modificar un registro)
  3. ShowNombreTablaPage.aspx ( Permite visualizar un registro)
  4. ShowNombreTablaTablePage.aspx ( Form principal de la tabla que agregar textbox de busqueda por columnas, combos con filtros por refencias a otras tablas, opción de Exportar, paginación, etc)
La aplicación corriendo
Para terminar de convencerlos a que prueben esta herramienta, pongo un screenshot de la aplicación creada.
Cabe destacar que ademas se puede configurar seguridad de acceso, utilizar roles, entre otras opciones.
Lo mas importante es chusmear el código generado del cual se puede aprender mucho para generar nuevas ideas.

sábado, 13 de octubre de 2007

Mi primer post!

Hola a todos! en este primer post simplemente quiero presentarme y contar un poco el porqué me decidí a empezar a escribir.
Mi nombre es David Andrada y soy de Hurlingham, una ciudad que está ubicado en la zona Oeste de la provincia de Buenos Aires en la República Argentina.
Soy estudiante de la carrera de Ingeniería en Informática y actualmente estoy trabajando como programador.
Me interesa muchísimo todo lo que tenga que ver con el desarrollo, diseño de software y arquitectura.
En esta profesión es muy común, y practicamente inevitable, tener que consultar en Internet alguno de los miles de problemas con los que nos topamos a diario, y si no fuera porque alguna persona caritativa se molestó en publicarlo, preguntar o responderlo en algún foro o blog, creo que muchos ya nos hubiesemos quedado pelados de tanto agarrarnos la cabeza y tirarnos de los pelos.
Por eso, primero que nada quiero agradacer a todas las personas que en algún momento me salvaron, enseñaron o me hicieron abrir la cabeza, gracias a sus publicaciones.
Lo único que espero es poder devolver un poco de toda la ayuda que recibí y poder publicar articulos que sean de calidad y que ayuden a todos.
Por ahora nada más y estamos en contacto.