Vous êtes sur la page 1sur 9

UNIVERSIDAD CATLICA DE CUENCA

COMUNIDAD EDUCATIVA AL SERVICIO DEL PUEBLO UNIDAD ACADMICA DE INGENIERIA DE SISTEMAS, ELCTRICA Y ELECTRNICA

Evaluacin de Frameworks
Juan Beltrn, Jos Yaguana
Unidad Acadmica de Ingeniera de Sistemas, Elctrica y Electrnica, Universidad Catlica de Cuenca Cuenca, Ecuador
jugabel130688@gmail.com yaguanaj@gmail.com

1.

Seleccin de la Plataforma

1.1. Seleccin de las plataformas. ASP/ASPx .NET XAMP

1.2. Seleccin de las caractersticas a evaluar. ASP/ASPx .NET


Caractersticas:
Proporcionar un entorno coherente de programacin orientada a objetos, en el que el cdigo de los objetos se pueda almacenar y ejecutar de forma local pero distribuida en Internet o ejecutar de forma remota. Proporcionar un entorno de ejecucin de cdigo que reduzca lo mximo posible la implementacin de software y los conflictos de versiones. Proporcionar un entorno de ejecucin de cdigo que elimine los problemas de rendimiento de los entornos en los que se utilizan scripts o intrpretes de comandos. Basar toda la comunicacin en estndares del sector para asegurar que el cdigo de .NET Framework se puede integrar con otros tipos de cdigo. Ofrecer al programador una experiencia coherente entre tipos de aplicaciones muy diferentes, como las basadas en Windows o en el Web.

XAMP
Caractersticas: Es una herramienta muy prctica que nos permite instalar el entorno MySQL, Apache y PHP, suficiente para empezar proyectos web o revisar alguna aplicacin localmente. Como lo indican en su sitio web, es crear una distribucin fcil de instalar, de tal manera que los desarrolladores web principiantes cuenten con todo lo necesario ya configurado.

La configuracin por defecto de XAMPP tiene algunas deficiencias de seguridad.

-1-

UNIVERSIDAD CATLICA DE CUENCA


COMUNIDAD EDUCATIVA AL SERVICIO DEL PUEBLO UNIDAD ACADMICA DE INGENIERIA DE SISTEMAS, ELCTRICA Y ELECTRNICA
No se pueden actualizar individualmente las versiones de los programas que instala. Sistema es que es multiplataforma, es decir, existen versiones para diferentes sistemas operativos, tales como: Microsoft Windows, GNU/Linux, Solaris, y MacOS X. Existen versiones para Linux, Windows

1.3. Valoracin de las caractersticas.

ASP/ASPx .NET
Proporcionar un entorno coherente de programacin orientada a objetos, en el que el cdigo de los objetos se pueda almacenar y ejecutar de forma local pero distribuida en Internet o ejecutar de forma remota. Proporcionar un entorno de ejecucin de cdigo que reduzca lo mximo posible la implementacin de software y los conflictos de versiones. Proporcionar un entorno de ejecucin de cdigo que elimine los problemas de rendimiento de los entornos en los que se utilizan scripts o intrpretes de comandos. Basar toda la comunicacin en estndares del sector para asegurar que el cdigo de .NET Framework se puede integrar con otros tipos de cdigo. Ofrecer al programador una experiencia coherente entre tipos de aplicaciones muy diferentes, como las basadas en Windows o en el Web.

Puntos

XAMP
Es una herramienta muy prctica que nos permite instalar el entorno MySQL, Apache y PHP, suficiente para empezar proyectos web o revisar alguna aplicacin localmente.

Puntos

Como lo indican en su sitio web, es crear una distribucin fcil de instalar, de tal manera que los desarrolladores web principiantes cuenten con todo lo necesario ya configurado. La configuracin por defecto de XAMPP tiene algunas deficiencias de seguridad.

No se pueden actualizar individualmente las versiones de los programas que instala.

Sistema es que es multiplataforma, es decir, existen versiones para diferentes sistemas operativos, tales como: Microsoft Windows, GNU/Linux, Solaris, y MacOS X. Existen versiones para Linux, Windows.

1.4. Calificacin de cada plataforma. ASP/ASPx .NET obtuvo un puntaje de 39/50. XAMP obtuvo un puntaje de 35/50. 1.5. Cmputo de totales y seleccin de la mejor plataforma.
ASPx .NET obtuvo una calificacin de 39/50 dando a conocer que es una plataforma ptima para la ampliacin y programacin. XAMP obtuvo una calificacin de 35/50 que obtuvo un segundo lugar de acuerdo a la programacin y sus caractersticas. Por lo tanto la mejor plataforma para la programacin es ASPx .NET.

-2-

UNIVERSIDAD CATLICA DE CUENCA


COMUNIDAD EDUCATIVA AL SERVICIO DEL PUEBLO UNIDAD ACADMICA DE INGENIERIA DE SISTEMAS, ELCTRICA Y ELECTRNICA
2. Seleccin del Framework

2.1. Seleccin de los frameworks.

MVC: Maverick Basados en Plantillas: CodeIgniter

2.2. Seleccin de las caractersticas a evaluar.

MVC: Maverick
Caractersticas. Tus comandos, controladores, vistas y transformadores se configuran con un mtodo fcil XML. Para ms flexibilidad puedes pre procesarlo con XSLT. Maverick elegir automticamente entre diferentes vistas basadas en lenguajes de usuario, tipo navegador o cualquier otra caracterstica Maverick soporta tanto controladores singleton tipo Struts (Acciones) y estilo Webwork. Maverick es multiplataforma, portado a .NET y PHP.

Basados en Plantillas: CodeIgniter


Caractersticas Permite la internacionalizacin para la traduccin del texto de la interfaz, los datos y el contenido de localizacin. La presentacin usa templates y layouts que pueden ser construidos por diseadores de HTML que no posean conocimientos del framework. Los formularios soportan la validacin automtica, lo cual asegura mejor calidad de los datos en la base de datos y una mejor experiencia. Clases de base de datos llenas de caractersticas con soporte para varias plataformas.

-3-

UNIVERSIDAD CATLICA DE CUENCA


COMUNIDAD EDUCATIVA AL SERVICIO DEL PUEBLO UNIDAD ACADMICA DE INGENIERIA DE SISTEMAS, ELCTRICA Y ELECTRNICA

2.3. Valoracin de las caractersticas. MVC: Maverick


Tus comandos, controladores, vistas y transformadores se configuran con un mtodo fcil XML. Para ms flexibilidad puedes pre procesarlo con XSLT. Maverick elegir automticamente entre diferentes vistas basadas en lenguajes de usuario, tipo navegador o cualquier otra caracterstica Maverick soporta tanto controladores singleton tipo Struts (Acciones) y estilo Webwork.

Puntos

XAMP Permite la internacionalizacin para la traduccin del texto de la interfaz, los datos y el contenido de localizacin.

Puntos

La presentacin usa templates y layouts que pueden ser construidos por diseadores de HTML que no posean conocimientos del framework. Los formularios soportan la validacin automtica, lo cual asegura mejor calidad de los datos en la base de datos y una mejor experiencia. Clases de base de datos llenas de caractersticas con soporte para varias plataformas.

Maverick es multiplataforma, portado a .NET y PHP.

2.4. Calificacin de cada framework.

MVC: Maverick obtuvo un puntaje de 25/40 Basados en Plantillas: CodeIgniter obtuvo un puntaje de 34/40

2.5. Cmputo de totales y seleccin del mejor framework.


MVC: Maverick obtuvo un puntaje total de 25/40 no tuvo mayor soporte de las plataformas. Basados en Plantillas: CodeIgniter obtuvo un puntaje de 34/40 tuvo mayor capacidad de las plataformas. Por lo tanto el mejor framework seleccionada es de Basados en Plantillas: CodeIgniter.

-4-

UNIVERSIDAD CATLICA DE CUENCA


COMUNIDAD EDUCATIVA AL SERVICIO DEL PUEBLO UNIDAD ACADMICA DE INGENIERIA DE SISTEMAS, ELCTRICA Y ELECTRNICA
3. Pruebas de Concepto en el Framework

3.1. Arquitectura del framework (explicacin y diagrama)


Evolucin de los framework.

La infraestructura de .NET Remoting es un enfoque abstracto de la comunicacin entre procesos. La mayor parte del sistema funciona sin llamar la atencin slo tiene que marcar sus clases personalizadas como serializables para que el sistema funcione. Pero la verdadera ventaja del sistema de interaccin remota es su capacidad para permitir la comunicacin entre objetos pertenecientes a dominios de aplicacin o a procesos distintos mediante diferentes protocolos de transporte, formatos de verbalizacin, esquemas de duracin de objetos y modos de creacin de objetos. Adems, la interaccin remota permite intervenir en prcticamente todas las fases del proceso de comunicacin, sea cual sea la razn. Un framework de arquitectura es una estructura de soporte en el cual el desarrollo de un sistema de informacin puede ser organizado y encarado con mayor simplicidad. Un buen framework de arquitectura es aquel que resuelve los problemas tcnicos ms complejos, como por ejemplo, el manejo de transacciones, permitiendo a los desarrolladores concentrarse en el diseo y desarrollo del dominio de la aplicacin Como conclusin podemos decir que a un framework se lo puede ver como una arquitectura de software que modela las relaciones generales de las entidades del dominio, proveyendo una infraestructura y entorno de trabajo que extiende el dominio.

-5-

UNIVERSIDAD CATLICA DE CUENCA


COMUNIDAD EDUCATIVA AL SERVICIO DEL PUEBLO UNIDAD ACADMICA DE INGENIERIA DE SISTEMAS, ELCTRICA Y ELECTRNICA
A continuacin se muestra el diagrama de alto nivel de la arquitectura planteada para este framework.

Logic Layer E x c e p t I o n s

DataBase Layer

O b j e c t s

L o g g e r

Hibernate

Datos

3.2. Estrategia para el montaje de la aplicacin en el framework

Un framework es un conjunto de libreras o Clases que ayudan a realizar tareas repetitivas ms o menos complejas para agilizar el desarrollo de un proyecto. Esto quiere decir que la gran parte del cdigo viene dado, pero debemos instanciar y parametrizar la clase para que ella se encargue de hacer el trabajo duro y nos devolver el resultado final de la operacin. Son como las funciones nativas de un lenguaje pero usando una programacin orientada a objetos. Con esto vemos que queramos o no debemos desarrollar nuestro proyecto fuera del framework pero ahorrando tiempo en el desarrollo de secuencias que ya nos vienen dadas. por ejemplo, php tiene funciones is_array, is_file, is_int, que nos devuelve true o false de si el valor pasado cumple o no una o varias condiciones, un framework suele tener mtodos de validacin por ejemplo para web, entonces si queremos saber si en un formulario nos introducen un email podemos hacer uso de un mtodo ya incorporado Val::is_email($email) y ste nos devolver true o false si cumple las condiciones necesarias para considerarse un email vlido, no tenemos que programar un mtodo desde cero que nos valide el contenido dado. Un ejemplo de framework puede ser Zend.

-6-

UNIVERSIDAD CATLICA DE CUENCA


COMUNIDAD EDUCATIVA AL SERVICIO DEL PUEBLO UNIDAD ACADMICA DE INGENIERIA DE SISTEMAS, ELCTRICA Y ELECTRNICA
3.3. rbol de directorios del framework con el contenido de cada carpeta.
Las API administradas System.DirectoryServices, System.DirectoryServices.ActiveDirectory y System.DirectoryServices.Protocols proporcionan acceso al servicio y administracin de directorio. Juntos, estas API administradas proporcionan una solucin completa para el desarrollo de aplicaciones orientadas a directorios y habilitadas para directorios mediante cdigo administrado. El grfico siguiente muestra cmo las tres API administradas se relacionan entre y con sus homlogas no administradas.

System.DirectoryServices Namespace Overview


Proporciona acceso a Active Directory desde cdigo administrado. System.DirectoryServices se compila en ADSI. DirectoryEntry y DirectorySearcher son los dos tipos de objeto base. Todas las operaciones se ejecutan en torno a estos dos objetos.

Al utilizar System.DirectoryServices, no es preciso entender los conceptos avanzados. Por ejemplo, al utilizar los controles LDAP para realizar una bsqueda paginada, especifique el tamao de pgina y enumere los resultados devueltos. Todos los procesos, desde construir un control de resultado de pgina, enviar solicitudes y obtener una cookie de resultados de pgina, a volver a emitir las solicitudes, son controlados por System.DirectoryServices. No es preciso que los usuarios entiendan la sintaxis de la propiedad; se controla automticamente a travs de la asignacin del esquema interno.

System.DirectoryServices se disea para los desarrolladores que realizan el desarrollo rpido de aplicaciones para las aplicaciones de lnea-de-negocio y las aplicaciones habilitadas para directorios.

System.DirectoryServices.ActiveDirectory Namespace Overview

Proporciona un modelo de objetos de abstraccin de alto nivel que compila tareas de Active Directory. Los conceptos de Active Directory como bosque, dominio, sitio, subred, particin y esquema forman parte del modelo de objetos.

System.DirectoryServices.ActiveDirectory se compila en System.DirectoryServices y tiene caractersticas similares a System.DirectoryServices. A diferencia de System.DirectoryServices o System.DirectoryServices.Protocols que proporcionan acceso general a los directorios, System.DirectoryServices.ActiveDirectory proporciona ms abstraccin y est centrado en todas las tareas y operaciones para Active Directory y Active Directory Application Mode (ADAM). Por

-7-

UNIVERSIDAD CATLICA DE CUENCA


COMUNIDAD EDUCATIVA AL SERVICIO DEL PUEBLO UNIDAD ACADMICA DE INGENIERIA DE SISTEMAS, ELCTRICA Y ELECTRNICA
ejemplo, System.DirectoryServices.ActiveDirectory se utiliza para buscar controladores de dominio en un dominio determinado, para replicar instancias de ADAM, para configurar la confianza y para crear topologas. El espacio de nombres System.DirectoryServices.ActiveDirectory est pensado para aquellos administradores que desean automatizar las tareas diarias y para desarrolladores de TI que crean aplicaciones de lnea-de-negocios de Active Directory o relacionadas con ADAM.

System.DirectoryServices.Protocols Namespace Overview

Diseado para el Protocolo ligero de acceso a directorios (LDAP) y similar a protocolos como Directory Services Markup Lenguaje (DSML). No es una API de abstraccin de alto nivel. El modelo de objeto de System.DirectoryServices.Protocols est orientado a la conexin, las solicitudes se construyen y se envan por la conexin, y se recibe la respuesta y se devuelve a travs de la conexin. System.DirectoryServices.Protocols estn compilados sobre la API del lenguaje de programacin LDAP C. El objetivo es el alto rendimiento y System.DirectoryServices.Protocols proporcionan una funcionalidad LDAP completa. Las caractersticas avanzadas incluyen un modelo asincrnico, la compatibilidad de certificados y los controles LDAP. System.DirectoryServices.Protocols estn dirigidos a los desarrolladores experimentados que buscan el mximo control y flexibilidad para desarrollar aplicaciones de servidor de alto rendimiento.

3.4. Cdigo de ejemplo del montaje en cada capa


Entity framework en capas. Entidades = new Entidades ();

query = from usuario in entidades.Usuarios select usuario; return QueryToBindingList(query); //llamamos al mtodo que nos convierte la consulta en una lista de usuarios Guru * Framework CLASS TEMPLATE * @version 0.1 * @autor Alex Romero * @company Suneyos.Com * @basedOnWork Michael Peacock */ // Evitamos que se llame directamente desde otra ubicacin ajena al framework if ( ! defined( 'GURUFW' ) ) {

-8-

UNIVERSIDAD CATLICA DE CUENCA


COMUNIDAD EDUCATIVA AL SERVICIO DEL PUEBLO UNIDAD ACADMICA DE INGENIERIA DE SISTEMAS, ELCTRICA Y ELECTRNICA
echo 'Solo se puede llamar desde el propio framework (index.php)'; exit(); }

-9-