MICROSOFT .NET Datos en la palma de la mano El estado de Santa Catarina ofrece sus servicios a la población a través de aplicaciones móviles mediante la plataforma Microsoft.NET. Por Marcelo Negrini y Claudia Scheiner Dentro de un acuerdo de colaboración, el CIASC (Centro de computación y automatización del estado de Santa Catarina) a través de su presidente Eugênio Berka Filho, el asesor Carlos Eduardo da Silva y el consultor Renato Haddad, desarrolló una aplicación móvil destinada a ofrecer servicios de información del estado a través de teléfonos celulares. El CIASC fue fundado el 14 de mayo de 1975 con el estado como principal accionista. En la actualidad emplea a 365 personas. Surgió la necesidad de consolidar la dispersión de las actividades de procesamiento electrónico de datos y microfilmación de la administración pública, con la adopción de una política racional para las nuevas adquisiciones o los nuevos alquileres. El objetivo era evitar duplicaciones, periodos de inactividad y malos dimensionamientos de los equipos del sector público. El estado de Santa Catarina también necesitaba adaptarse a una nueva filosofía de desarrollo económico, científico y tecnológico acorde con la política nacional en materia de computación. Renato Haddad, consultor independiente galardonado con la distinción Most Valuable Professional (MVP) de Microsoft, ha seguido el desarrollo y la evolución de la plataforma Microsoft .NET desde la aparición de la primera versión beta. Renato es autor de diversos artículos tecnológicos para el sitio de MSDN en Brasil (www.microsoft.com/brasil/msdn) y escribió siete libros, los últimos tres dedicados a .NET (“C# - Aplicaciones y soluciones”, “VB.NET – Conceptos y aplicaciones” y “ASP.NET para desarrolladores de ASP”, editora Érica). Desde la llegada del protocolo WAP (Wireless Application Protocol) a Brasil, Renato Haddad y Carlos Eduardo da Silva desarrollan aplicaciones que permiten a la población y a la policía militar consultar datos de registro de vehículos, impuestos sobre la propiedad de vehículos automotores y multas. Cualquier teléfono que soporte WAP puede hacer consultas a las bases de datos de vehículos, por ejemplo, durante los controles policiales o consultas realizadas por los propios ciudadanos. Perfil del Cliente CIASC - Centro de computación y automatización del estado de Santa Catarina, responsable del desarrollo y las soluciones de aplicaciones para las dependencias de gobierno de Santa Catarina. Solución Aplicación móvil basada en ASP.NET, servicios de Web y VB.NET, usando navegadores WAP como clientes. Software y Servicios Windows 2000 Server Visual Basic .NET Visual Studio .NET Mobile Internet Toolkit SQL Server 2000 Otra aplicación disponible es la consulta de datos de compañías a través de su número de registro de persona moral o registro federal de contribuyentes. Esto permite a los responsables de la fiscalización consultar datos desde cualquier lugar. La tecnología que se utilizó fue una base de datos de IDMS con acceso a través de ODBC, páginas en ASP (Active Server Pages) y WML (Wireless Markup Language), además de Windows NT 4.0. Dado que el acceso debe hacerse a través de compañías de telecomunicaciones, se contó con Global Telecom y TIM Celular, que se ofrecieron rápidamente a ofrecer toda la ayuda y el soporte necesarios para la ejecución del proyecto. En los teléfonos de Global Telecom, dentro del menú de servicios públicos, el público tiene acceso a la consulta de multas y datos del impuesto sobre la propiedad de vehículos automotores. Cuando Microsoft introdujo el Mobile Internet Toolkit, el cual contaba con las herramientas necesarias para el desarrollo de aplicaciones móviles, Haddad no tardó en instalarlo y crear algunos prototipos. Teniendo en cuenta la gran facilidad que ofrecía la herramienta, se propuso al CIASC la migración de la aplicación WAP a Mobile .NET. Herramientas Microsoft: productividad El CIASC consideró las ventajas de la migración y autorizó el proceso, el cual suponía la participación del área de administración de datos para ejecutar la migración de datos de IDMS a SQL Server 2000, facilitando la creación de servicios de Web y aumentando el desempeño de las consultas y la escalabilidad de todo el sistema. La plataforma de ejecución de la aplicación es Windows 2000 Server con .NET Framework. El uso de Visual Studio .NET facilitó mucho la migración, dado que su facilidad de uso y su productividad permitieron crear aplicaciones en un tiempo récord. Como utiliza el esquema RAD (Rapid Application Development), basta con seleccionar el control adecuado, arrastrarlo y colocarlo en el documento, configurar las propiedades e insertar el código para controlar la aplicación. La aplicación inicial fue desarrollada con las herramientas ASP y WML, en las que es necesario escribir de forma manual prácticamente todas las líneas de código. Ya en Visual Studio.NET, el desempeño llegó a aumentar hasta un 70%, puesto que los controles estaban disponibles y accesibles con un solo clic del mouse. También había creación manual de código, pero en un volumen mucho más pequeño, dado que una gran parte de la estructura de acceso de datos y los controles visuales se diseñaron visualmente. El lenguaje utilizado fue Visual Basic.NET. El acceso a la base de datos se creó con ADO.NET, con la clase System.Data.SqlClient (con acceso de datos nativo a SQL Server 7.0 o posterior). De esta forma, se consiguió una mayor velocidad de respuesta de la base de datos. Debido a que ADO.NET se caracteriza por trabajar con bases de datos desconectadas, las consultas resultaron más rápidas que con el sistema anterior, pues el uso de Stored Procedures en las páginas redujo en un 30% el tiempo de procesamiento. “Haciendo una comparación entre el viejo mundo de Web y el actual, vemos que antiguamente se hacían las páginas con herramientas como Visual InterDev, Dreamweaver Ultradev, HomeSite, Adobe GoLive o el propio Bloc de notas (eso los más sacrificados). Se insertaba primero el diseño de la página y después el código correspondiente en VBScript, JavaScript, etc., sin contar que fuera necesario intercalar código HTML o WML mediante VBScript. La pesadilla comenzaba con el mantenimiento de la página, ya que cualquier alteración del diseño influía mucho en el código escrito. A la hora de desarrollar componentes, se solía utilizar Visual Basic 6.0 e instalar MTS (Microsoft Transaction Server)”, comenta Haddad en relación con el proceso de desarrollo tradicional. “En la actualidad todo esto es distinto. En primer lugar, todo se encuentra en una única herramienta (diseño, código, componentes, servicios de Web y lenguajes) y es posible desarrollar con el concepto Code Behind, es decir, separando el diseño y el código en archivos distintos. Está claro que basta vincular estos archivos entre sí para que se relacionen”, continúa el consultor. Reutilización de código El gran secreto de una aplicación bien estructurada reside en crear código que pueda ser productivo y reutilizable. Siempre que se necesita una determinada rutina en distintos lugares, suele crearse un componente e instalar una DLL (su representación física). Los clientes que lo utilizarán harán referencia a sus métodos y propiedades. Quien desarrolla con este concepto se enfrenta a distintos problemas de instalación como conflictos de DLL, desbordamiento de memoria, etc., una situación que se complica cuando las distintas partes del sistema están separadas por firewalls, algo que es habitual en aplicaciones de Web con acceso a bases de datos. Para solucionar estos problemas, Microsoft fue una de las pioneras en el concepto de servicios de Web, clases de código que pueden ser utilizadas desde los protocolos abiertos de Internet. Cuando existe una solicitud al servicio de Web, el protocolo SOAP (Simple Object Access Protocol) empaqueta el resultado en un archivo XML y lo transmite a través de HTTP. No existen problemas con firewalls y el lenguaje XML puede ser interpretado por otros sistemas. Esta integración con XML fue utilizada en el proyecto del CIASC. Un servicio de Web recibe como argumento la matrícula del vehículo o el número del registro nacional de vehículos automotores (Renavam) y devuelve en formato XML la información respectiva. El mismo servicio de Web puede usarse en cualquier aplicación, ya sea desde Windows, Web o celular. Visión a futuro El desafío de las aplicaciones celulares es el acceso y el manejo de datos en cualquier lugar y a cualquier hora, ya sea a través de una computadora portátil, un celular, una PC de bolsillo o un organizador PDA. A medida que la estructura de las empresas de telecomunicaciones sean más rápidas, la avalancha de aplicaciones móviles debe crecer, principalmente para integrar distintos sistemas operativos. Con .NET será posible realizar esta integración de forma transparente, sin tener que seguir memorizando herramientas diferentes. Según el Capitán Busi, del Centro de comunicaciones e informática de la policía militar del estado de Santa Catarina, el potencial y el objetivo de las aplicaciones móviles es permitir un acceso rápido a la información. Actualmente, cuando alguien llama al 190 (el número de teléfono de la policía en Brasil), ya sea un miembro de la policía militar o un ciudadano, se ocupa una línea telefónica. Con esa tecnología, todas las consultas de datos por parte de los policías militares se harán directamente con el celular, sin ocupar ninguna línea del 190. De esta forma, se descongestiona el uso del sistema telefónico de la corporación durante las consultas de datos de vehículos. El CIASC prevé ampliar el uso de la plataforma .NET. Según Carlos Eduardo, existen distintas aplicaciones que pueden ser migradas a esta plataforma, permitiendo integrar datos centralizados de aplicaciones que se ejecutan en diferentes entornos. Marcelo Negrini (mnegrini@microsoft.comError! No bookmark name given.) es gerente de desarrollo comercial de la plataforma .NET de Microsoft. Claudia Scheiner (claudia@scheiner.com.br) es directora de Scheiner Solutions.