Vous êtes sur la page 1sur 8

Estratos de la ingeniera web

El desarrollo de sistemas y aplicaciones basados en Web incorpora modelos de proceso especializados, mtodos de ingeniera del software adaptados a las caractersticas del desarrollo de WebApps y un conjunto de importantes tecnologas habilitadoras. Los procesos, mtodos y tecnologas proporcionan un enfoque en estratos de la IWeb que es conceptualmente idntico a los estratos de la ingenie-ra del software Todo Enfoque debe estar sustentado en un compromiso con la calidad, y y enfoque en la calidad: la base de la ingeniera que software El proceso: define el marco de trabajo, control de la gestin del proyecto, estable el contexto en el cual se aplican los mtodos tcnicos, se generan los productos del trabajo. Mtodo: proporcionan los como tcnicos para construir el software. Herramientas proporcin el servicio automatizado o semiautomatizado para los procesos y mtodos.

y y

Los Estratos en la Iweb tenemos: Proceso: Los modelos de procesos IWeb adoptan la filosofa del desarrollo gil. El desarrollo gil enfatiza un enfoque de desarrollo riguroso que incorpora rpidos ciclos de desarrollo. Aun cuando rpidos ciclos de tiempo dominan la reflexin acerca del desarrollo, es importante reconocer que el problema todava debe analizarse, debe desarrollarse un diseo, la implementacin debe proceder en una forma incremental y se debe iniciar un enfoque organizado de prueba. Sin embargo, dichas actividades del marco de trabajo se deben definir dentro de un proceso que:
1) 2)

3) 4)

adopte el cambio, aliente la creatividad y la independencia del equipo de desarrollo y fortalezca la interaccin con los accionistas de la WebApp, construya sistemas que utilicen pequeos equipos de desarrollo subraye el desarrollo evolutivo o incremental mediante el uso de cortos ciclos de desarrollo [MMCD01]

Mtodos:

El panorama de los mtodos de IWeb abarca un conjunto de labores tcnicas que permiten al ingeniero Web comprender, caracterizar y luego construir una WebAppde alta calidad. Los mtodos de IWeb (que se tratan con detalle en los captulos 18al 20) se pueden categorizar de la siguiente manera: y Mtodos de comunicacin: definen el enfoque con que se facilita la comunicacin entre ingenieros Web y los dems participantes de la WebApp (por ejemplo, usuarios finales, clientes de negocios, expertos en problemas de dominio, diseadores de contenido, lderes de equipo, gestores de proyecto). Las tcnicas de comunicacin son particularmente importantes durante la recoleccin de requisitos y siempre quesea evaluado un incremento en la WebApp.. y Mtodos de anlisis de requisitos: proporcionan una base para comprender el contenido que entregar una WebApp, la funcin que proporcionar al usuario final y los modos de interaccin que cada clase de usuario requerir mientras ocurra la navegacin por medio de la WebApp. y Mtodos de diseo: abarcan una serie de tcnicas de diseo que abordan el contenido, la aplicacin y la arquitectura de informacin, as como el diseo de interface y la estructura de navegacin de la WebApp. y Mtodos de prueba: incorporan revisiones tcnicas formales tanto del contenido y el modelo de diseo como de una amplia variedad de tcnicas de prueba que abordan conflictos al nivel de componente y arquitectnicos , pruebas de la navegacin, pruebas de facilidad de uso, pruebas de seguridad y pruebas de configuraciones importante sealar que, aunque los mtodos IWeb adoptan muchos de los mismos conceptos y principios subyacentes a los mtodos de ingeniera del software descritos en la parte 2 de este libro, los mecanismos de anlisis, diseo y prueba de-ben adaptarse para acomodar las caractersticas especiales de las WebApps. Adems de los mtodos tcnicos que se han subrayado, es esencial una serie de actividades sombrilla (con mtodos asociados) para la ingeniera Web exitosa. sta incluye tcnicas de gestin de proyecto (por ejemplo, estimacin, calendarizacin, anlisis de riesgo), tcnicas de gestin de configuracin de software y de revisin. Herramientas y tecnologa A lo largo de la dcada pasada ha evolucionado un amplio conjunto de herramientas y tecnologa conforme las WebApps se han vuelto ms complejas y extendidas. Dichas tecnologas abarcan un amplio conjunto de descripcin de contenido y lenguajes de modelacin: y HTML: Lenguaje de Marcado de Hipertexto, sirve para la elaboracin de pginas web, El
entorno para trabajar HTML es simplemente un procesador de texto.

Es el lenguaje de marcado predominante para la elaboracin de pginas web. Es usado para describir la estructura y el contenido en forma de texto, as como para complementar el texto con objetos tales como imgenes.

Puede describir, hasta un cierto punto, la apariencia de un documento, y puede incluir un script (por ejemplo Javascript), el cual puede afectar el comportamiento de navegadores web y otros procesadores de HTML. VRML: Lenguaje para Modelado de Realidad Virtual, sirve para crear mundos en tres
dimensiones a los que accedemos utilizando nuestro navegador, el entorno para trabajar necesario es un editor de textos sencillo y un visualizador VRML (Cosmo Player.)

Posibilita la descripcin de una escena compuesta por objetos 3D a partir de prototipos basados en formas geomtricas bsicas o de estructuras en las que se especifican los vrtices y las aristas de cada polgono tridimensional y el color de su superficie. Permite tambin definir objetos 3D multimedia, a los cuales se puede asociar un enlace de manera que el usuario pueda acceder a una pgina web, imgenes, vdeos u otro fichero VRML de Internet cada vez que haga click en el componente grfico en cuestin. y XML: lenguaje de marcas extensible, especficamente diseado para almacenar y transmitir datos, el entorno para trabajar es un editor estructurado. Es una simplificacin y adaptacin del SGML(Estndar de lenguaje de marcado generalizado) y permite definir la gramtica de lenguajes especficos (de la misma manera que HTML es a su vez un lenguaje definido por SGML. Es un metalenguaje extensible de etiquetas desarrollado por el World Wide Web Consortium (W3C).

Lenguajes de programacin: JavaScript Lenguaje de programacin interpretado, se define como orientado a objetos, basado en prototipos, imperativo y dinmico. y y y y
lenguaje muy sencillo, tiene gran documentacin en la web. Es totalmente gratuito. E un lenguaje de programacin muy liviano, y al usarlo podrs crear pginas web dinmicas, mens desplegables, efectos visuales sencillo, manipular datos y crear aplicaciones web, utilizando poca memoria y manteniendo un tiempo de descarga rpido para tu pagina web.

y y

Lenguaje de scripting seguro y fiable. Los script tienen capacidades limitadas, por razones de seguridad.

El cdigo Javascript se ejecuta en el cliente.

Php
Es un lenguaje multiplataforma, Orientado al desarrollo de aplicaciones web dinmicas con acceso a informacin almacenada en una base de datos.
y

y y y y y y y

El cdigo fuente escrito en PHP es invisible al navegador web y al cliente ya que es el servidor el que se encarga de ejecutar el cdigo y enviar su resultado HTML al navegador. Esto hace que la programacin en PHP sea segura y confiable. Capacidad de conexin con la mayora de los motores de base de datos que se utilizan en la actualidad, destaca su conectividad con MySQL y PostgreSQL. Capacidad de expandir su potencial utilizando mdulos (llamados ext's o extensiones). Es libre, por lo que se presenta como una alternativa de fcil acceso para todos. Permite aplicar tcnicas de programacin orientada a objetos. No requiere definicin de tipos de variables aunque sus variables se pueden evaluar tambin por el tipo que estn manejando en tiempo de ejecucin. Tiene manejo de excepciones (desde PHP5). Si bien PHP no obliga a quien lo usa a seguir una determinada metodologa a la hora de programar (muchos otros lenguajes tampoco lo hacen), aun hacindolo, el programador puede aplicar en su trabajo cualquier tcnica de programacin o de desarrollo que le permita escribir cdigo ordenado, estructurado y manejable. Un ejemplo de esto son los desarrollos que en PHP se han hecho del patrn de diseo Modelo Vista Controlador (MVC), que permiten separar el tratamiento y acceso a los datos, la lgica de control y la interfaz de usuario en tres componentes independientes.

ASP.NET
El ASP.NET fue desarrollado para resolver las limitantes que brindaba tu antecesor ASP. Creado para desarrollar web sencillas o grandes aplicaciones. Los archivos cuentan con la extensin (aspx). Para su funcionamiento de las pginas se necesita tener instalado IIS con el Framework .Net.

Ventajas:
y y y y y y y

Completamente orientado a objetos. Controles de usuario y personalizados. Divisin entre la capa de aplicacin o diseo y el cdigo. Facilita el mantenimiento de grandes aplicaciones. Incremento de velocidad de respuesta del servidor. Mayor velocidad. Mayor seguridad.

Python, Ruby,

Recursos de desarrollo basados en componentes: CORBA (Common Object Request Broker Architecture arquitectura comn de intermediarios en peticiones a objetos); es un estndar que establece una plataforma de desarrollo de sistemas distribuidos facilitando la invocacin de mtodos remotos bajo un paradigma orientado a objetos. CORBA fue definido y est controlado por el Object Management Group (OMG) que define las APIs, el protocolo de comunicaciones y los mecanismos necesarios para permitir la interoperabilidad entre diferentes aplicaciones escritas en diferentes lenguajes y ejecutadas en diferentes plataformas, lo que es fundamental en computacin distribuida. En un sentido general, CORBA "envuelve" el cdigo escrito en otro lenguaje, en un paquete que contiene informacin adicional sobre las capacidades del cdigo que contiene y sobre cmo llamar a sus mtodos. Los objetos que resultan, pueden entonces ser invocados desde otro programa (u objeto CORBA) desde la red. En este sentido CORBA se puede considerar como un formato de documentacin legible por la mquina, similar a un archivo de cabeceras, pero con ms informacin. CORBA utiliza un lenguaje de definicin de interfaces (IDL) para especificar las interfaces con los servicios que los objetos ofrecern. CORBA puede especificar a partir de este IDL, la interfaz a un lenguaje determinado, describiendo cmo los tipos de dato CORBA deben ser utilizados en las implementaciones del cliente y del servidor. Implementaciones estndar existen para Ada, C, C++, Smalltalk, Java, Python, Perl y Tcl. Al compilar una interfaz en IDL se genera cdigo para el cliente y el servidor (el implementador del objeto). El cdigo del cliente sirve para poder realizar las llamadas a mtodos remotos. Es el conocido como stub, el cual incluye un proxy (representante) del objeto remoto en el lado del cliente. El cdigo generado para el servidor consiste en unos skeletons (esqueletos) que el desarrollador tiene que rellenar para implementar los mtodos del objeto. CORBA es ms que una especificacin multiplataforma, tambin define servicios habitualmente necesarios como seguridad y transacciones. Y as este no es un sistema operativo en si, en realidad es un middleware.

COM
Microsoft COM (Component Object Model) de la tecnologa de Microsoft Windows familia de sistemas operativos permite a los componentes de software para comunicarse. COM es utilizado por desarrolladores para crear componentes de software reutilizables, los componentes se unen para crear aplicaciones, y aprovechar los servicios de Windows. Los objetos COM se pueden crear con una variedad de lenguajes de programacin. Lenguajes orientados a objetos, como C + +, proporcionan mecanismos de programacin que simplifican la implementacin de objetos COM. La familia de tecnologas COM incluye COM +, COM distribuido (DCOM) y controles ActiveX . Microsoft proporciona interfaces COM para muchos interfaces de programacin de aplicaciones Windows, tales como Direct Show, Fundacin de Medios, la API de envases, Animacin Windows Manager, dispositivos porttiles de Windows, y Microsoft Active Directory (AD). COM se utiliza en aplicaciones tales como la familia de productos Microsoft Office. Por ejemplo la tecnologa OLE COM permite que los documentos de Word a vincular dinmicamente a los datos en hojas de clculo Excel y COM Automation permite a los usuarios crear secuencias de comandos en sus aplicaciones para realizar tareas repetitivas o control de una aplicacin de otro. Component Object Model (COM) es una plataforma de Microsoft para componentes de software introducida por dicha empresa en 1993. Esta plataforma es utilizada para permitir la comunicacin entre procesos y la creacin dinmica de objetos, en cualquier lenguaje de programacin que soporte dicha tecnologa. El trmino COM es a menudo usado en el mundo del desarrollo de software como un trmino que abarca las tecnologas OLE, OLE Automation, ActiveX, COM+ y DCOM. Si bien COM fue introducido en 1993, Microsoft no hizo nfasis en el nombre COM hasta 1997. es una manera de implementar objetos neutral con respecto al lenguaje, de manera que pueden ser usados en entornos distintos de aquel en que fueron creados, a travs de fronteras entre mquinas. Para componentes bien creados, COM permite la reutilizacin de objetos sin conocimiento de su implementacin interna, porque fuerza a los implementadores de componentes a proveer interfaces bien definidas que estn separados de la implementacin.

MEJORES PRCTICAS EN INGENIERA WEB

Todo desarrollador de WebApp utilizar el marco de trabajo y el conjunto de tareasdel proceso IWeb definido en la seccin 16.3? Probablemente no. En ocasiones, losequipos de ingeniera Web estn sometidos a enorme presin respecto del tiempo ytratarn de

tomar atajos (incluso si stos son imprudentes e implican ms esfuerzode desarrollo, en lugar de menos). Pero se debe aplicar un conjunto fundamental demejores prcticas adoptado de las prcticas de ingeniera del software tratadas alo largo de la Parte 2 de este libro si se han de construir WebApps con calidad in-dustrial.
1)

Tomar tiempo para entender las necesidades del negocio y los objetivos del pro-ducto, incluso si los detalles de la WebApp son vagos. Muchos desarrolladoresde WebApps creen errneamente que los requisitos vagos (que son bastantecomunes) los liberan de la necesidad de asegurarse de que el sistema que es-tn a punto de someter a ingeniera tenga un propsito empresarial legtimo.

El resultado final es (tambin con frecuencia) un buen trabajo tcnico que con-duce a la construccin del sistema equivocado por las razones equivocadaspara el pblico equivocado. Si los accionistas no pueden enunciar una necesi-dad empresarial para la WebApp, debe procederse con extrema precaucin. Silos accionistas luchan por identificar un conjunto de objetivos claros para elproducto (WebApp), no debe procederse mientras ellos no concluyan.
2)

Describir cmo interactuarn los usuarios con la WebApp aplicando un enfoquebasado en escenarios. Se debe convencer a los accionistas para desarrollar ca-sos de uso (tratados a lo largo de la Parte 2 de este libro) para reflejar cmolos diversos actores interactuarn con la WebApp. Entonces se pueden aprovechar dichos escenarios 1) para la planeacin y el rastreo del proyecto, 2) pa-ra guiar el anlisis y el modelado del diseo, y 3). como una entrada importan-te para el diseo de pruebas. .Desarrollar un plan del proyecto, incluso si es muy breve. El plan debe basarseen un proceso de marco de trabajo predefinido aceptable para todos los parti-cipantes. Puesto que los plazos del proyecto son muy cortos, la dosificacindel programa debe ser exacta; es decir, en muchas instancias el proyecto debeplanearse y rastrearse diariamente. .Utilizar algn tiempo para modelar lo que se construir. Por lo general, el anli-sis total y los modelos de diseo no se desarrollan durante la ingeniera Web.Sin embargo, la clase UML y los diagramas de secuencia, junto con otra nota-cin UML seleccionada (por ejemplo, diagramas de estado), pueden propor-cionar una visin invaluable. Revisar la consistencia y calidad de los modelos. Las revisiones tcnicas forma-les (captulo 26) se deben dirigir a lo largo del proyecto IWeb. El tiempo em-pleado en las revisiones paga importantes dividendos porque usualmenteelimina reelaboraciones y resulta en una WebApp que exhibe alta calidad, loque aumenta la satisfaccin del cliente. Utilizar herramientas y tecnologa que permitan construir el sistema con tantoscomponentes reutilizables como sea posible. Un amplio conjunto de herramientas WebApp estn a disposicin virtualmente para cada aspecto de la cons-truccin

3)

4)

5)

6)

7)

WebApp. Muchas de dichas herramientas permiten que un ingenieroWeb construya porciones significativas de la aplicacin empleando compo-nentes reutilizables. No apoyarse en usuarios anteriores para depurar la WebApp; disense pruebasamplias y ejectense antes de liberar el sistema. Los usuarios de una WebAppcon frecuencia le dan una oportunidad. Si falla en su ejecucin se mueven acualquiera otra parte: nunca regresan. Por esta razn, el "pruebe primero,despus despliegue" debe ser un sistema primordial, incluso si los plazos sedeben prolongar.

Conclusin

y y y y y y

La ingeniera web no es igual a la ingeniera de software, si bien podemos aplicar algunas metodologas de ingeniera de software a ingeniera web, No podemos ser tan estrictos con estas. En la ingeniera web la funcionalidad es fundamental, pero tambin lo es la esttica. La aplicacin web tiene que ser lo ms optimizada posible (1 segundo nos puede costar un cliente). En una WebApp debemos ser cautelosos ya que si falla, nuestro potencial cliente puede que nunca regrese. Siempre pensar en una capacidad de expansin, en internet todo puede ser un gran negocio o un total fracaso. Las pruebas en las WebApp son esenciales. Con la gran evolucin que tiene internet siempre debemos considerar algn tipo de modelo de proceso gil.