Las nif

Solo disponible en BuenasTareas
  • Páginas : 11 (2685 palabras )
  • Descarga(s) : 4
  • Publicado : 13 de abril de 2010
Leer documento completo
Vista previa del texto
EJEMPLO PRACTICO DE APLICACIÓN CLIENTE SERVIDOR
La tecnología de diseño de aplicaciones según el modelo cliente-servidor es la más utilizada en el desarrollo de programas flexibles, seguros y mantenibles. Puede llevarse a cabo según diferentes estructuras, que veremos paso a paso en este ejemplo.

ORGANIZACIÓN DEL CÓDIGO La organización del código, su estructuración según el modelo deorientación al objeto, es fundamental si queremos conectar los diferentes componentes de forma rápida y fiable. Por lo tanto, el diseño de los elementos del proyecto (la solución en el caso de .NET) es algo DETERMINANTE. 1) La clase de acceso a los datos En una aplicación de este tipo siempre tendremos una clase principal que será la encargada de proveer todos los servicios de acceso a los datos. Enningún otro sitio del programa se debe acceder directamente a las bases de datos. Este componente encapsula, aísla los datos del resto de la aplicación. 2) Un programa de pruebas (en modo consola o en modo visual) que permita verificar el funcionamiento de la clase de acceso a los datos. En este programa, mediante un menú, programaremos las funciones que nos permitan llamar a cada uno de los métodos ypropiedades de la clase de acceso a datos. Además de un buen banco de pruebas, esta aplicación constituye un elemento fundamental en la documentación de la misma, permite ver con claridad la forma de utilizar cada uno de sus elementos. Además, cuando se trabaja en grupo, el encargado de cada componente debe generar un proyecto de pruebas sencillo que le permita depurarlo y ponerlo en marcha antesde juntarlo con el resto de módulos, y servirá de clarificación para el resto de compañeros de trabajo. 3) Clases “satélite” de la aplicación Una aplicación de acceso a datos puede trabajar directamente con objetos de tipo DataSet, pero en muchas ocasiones es preferible el diseño de clases específicas para las entidades que viajan entre cliente y servidor. Estas clases suelen coincidir con lasentidades del modelo de la base de datos. Las relaciones 1 – N de la base de datos se implementan habitualmente como ArrayList dentro de la clase. Generalmente, queda mucho mejor documentado y claro un esquema que trabaje con clases en lugar de un esquema que trabaje con DataSets. Si trabajamos con DataSets, para cada caso deberemos documentar el modelo entidad/relación del mismo. 4) El prototipovisual Si la aplicación va a realizarse en el entorno de Aplicaciones para Windows, debemos realizar un prototipo funcional, que permita ver cómo quedará el diseño final, sin implementar las funciones de acceso a datos. Únicamente ha de permitir la navegación sobre los diferentes escenarios que tendremos. Según el tipo de aplicación, puede ser necesario el desarrollo de varios prototipos, dirigidos adiferentes perfiles de usuario. En ningún caso se debe mezclar este prototipo con la gestión de los datos. La gestión de los datos es única, y los prototipos utilizan aquellas partes de la clase de gestión que sea necesario.

5) Los datos globales de la aplicación cliente En la aplicación cliente tendremos una serie de datos globales que van a ser utilizados en todo el programa. La conexión conla clase de acceso a datos es un ejemplo. Dado que programamos en un entorno de orientación al objeto, NO TENEMOS VARIABLES GLOBALES. Con este modelo, la clase de inicio debería tener toda la información global, y pasarla a cada uno de los elementos que se van activando. Para evitar esta situación, construiremos una clase ESTATICA en el proyecto, donde almacenaremos aquellos datos que deban serutilizados globalmente. 6) La estructura de proyectos Para separar correctamente las distintas partes del proyecto, en nuestra solución deberemos tener como mínimo los siguientes elementos: - Una biblioteca de clases. Contendrá la clase de acceso a datos y las clases satélite (si las hay). - Un proyecto de pruebas. Permitirá probar cada método/propiedad de la clase de datos (no importa si es en...
tracking img