You are on page 1of 15

Instituto Tecnolgico de Quertaro

Materia: Programacin Web Profesor: Tarea: AMBIENTES PARA EL DESARROLLO DE APLICACIONES WEB. Alumno: Badillo Olguin Rubn Antonio

AMBIENTES PARA EL DESARROLLO DE APLICACIONES WEB.

Qu es un ambiente de desarrollo en aplicaciones web? O simplemente que es un ambiente de desarrollo? Es un programa compuesto por un conjunto de herramientas para un programador. Puede dedicarse en exclusiva a un slo lenguaje de programacin o bien, poder utilizarse para varios. Consiste en un editor de cdigo, un compilador, un depurador y un constructor de interfaz grfica Su meta es proveer un marco de trabajo amigable para los programadores de algn lenguaje de programacin.

Un entorno de desarrollo integrado (IDE- Integrated Development Environment -tambin conocido como entorno de diseo integrado o el medio ambiente integrado de depuracin es una aplicacin de software que ofrece servicios integrales a los programadores de computadoras para el desarrollo de software. Un IDE normalmente se compone de:

* Un editor de texto. * Un compilador. * Un intrprete. * Herramientas de automatizacin. * Un depurador. * Posibilidad de ofrecer un sistema de control de versiones. * Factibilidad para ayudar en la construccin de interfaces grficas de usuario.

IDE para Php

Existen muchos entornos de desarrollo para PHP en software libre tales como: Zend Studio, Open Komodo Project, Eclipse + phpEclipse, entre otros.

Dreamweaver de Adobe

Es en una potente y flexible herramienta de desarrollo que inclute numerosas herramientas para facilitarnos el desarrollo de aplicaciones web.

Dreamweaver permite trabajar con los siguientes modelos de servidor:

* ASP JavaScript * ASP VBScript * ASP.NET C# * ASP.NET VB * COLDFUSION * JSP * PHP MySQL

El concepto de sitios en Dreamweaver es bastante til ya que nos permite mantener un orden lgico/fsico de la estructura de nuestro sitio, enlaces y recursos que este utiliza, tiene el potencial para encargarse completamente de los enlaces relativos (recomendado).

Como se menciono Dreamweaver proporciona soporte para variados modelos de Servidor entregando capacidades de creacin de cdigo estndar para una serie de funciones como son la insercin, edicin, eliminacin y consulta de datos, manejo de ciclos y condiciones, incluso acceso por restringido por password, todo esto de una forma muy bsica,

pero sin duda es un primer acercamiento para novatos, lo importante de esto es que podemos extender esta capacidad mediante nuestros conocimientos y usar este entorno de desarrollo para facilitarnos la dura tarea de desarrollar para la Web.

Jomla!

Joomla! es un Sistema de Gestin de Contenidos (CMS) premiado mundialmente, que le ayuda a construir sitios web y otras aplicaciones online potentes. Lo mejor de todo, es que Joomla es una solucin de cdigo abierto y est disponible libremente para cualquiera que desee utilizarlo.

Joomla! se utiliza en todo el mundo para generar desde una simple pgina web personal hasta complejas aplicaciones web corporativas. Entre los diferentes us os que la gente da a Joomla! estn:

* Webs corporativas o portales * Comercio electrnico * Pequeos sitios de negocios * Webs de organizaciones o ONGs * Aplicaciones gubernamentales * Intranets y extranets corporativas * Webs de escuelas o agrupaciones * Pginas personales o familiares * Portales de comunidades * Revistas y peridicos

Joomla se puede usar para gestionar fcilmente cualquiera de los aspectos de un sitio web, desde la introduccin de contenidos e imgenes hasta la actualizacin de un catlogo de productos o la realizacin de reservaciones online.

WordPress

WordPress es un sistema de gestin de contenido enfocado a la creacin de blogs (sitios web peridicamente actualizados). Desarrollado en PHP y MySQL, bajo licencia GPL y cdigo modificable, tiene como fundador a Matt Mullenweg.

WordPress fue creado a partir del desaparecido b2/cafelog y se ha convertido junto a Movable Type en el CMS ms popular de la blogosfera.

Las causas de su enorme crecimiento son, entre otras, su licencia, su facilidad de uso y sus caractersticas como gestor de contenidos.

El creciente desarrollo del comercio electrnico as como el desplazamiento de las distintas organizaciones hacia la Web ha trado en la actualidad una constante evolucin de las aplicaciones Web. Cada da se incrementan las transacciones financieras, la transferencia de informacin confidencial y ejecucin de procesos online, entre otros, las cuales exigen funcionalidad, confiabilidad, usabilidad y eficiencia por mencionar algunas caractersticas de calidad. Esta relevancia de la economa genera grandes desafos en las aplicaciones Web que son los de controlar y mejorar su calidad.

Aunque las aplicaciones Web estn creciendo rpidamente tanto en uso como en aceptacin, su desarrollo tiende a ser ad hoc, resultando en aplicaciones de pobre calidad. La mayora de los desarrolladores Web ponen poca atencin en la elicitacin y anlisis de requisitos, as como en las metodologas y procesos de desarrollo. A dems los desarrolladores de aplicaciones confan excesivamente en el conocimiento y experticia de los desarrolladores individuales y sus prcticas de desarrollo individual ms bien que en las prcticas estndar.

No obstante, son las mismas metodologas de desarrollo las que no tratan de manera adecuada y profunda los atributos de calidad. Estas situaciones traen como consecuencia que los atributos de calidad de los sistemas basados en la Web tales como la funcionalidad, confiabilidad, mantenibilidad, usabilidad y portabilidad no se les da la debida consideracin que se merecen durante el proceso de desarrollo. En la ingeniera software se denomina aplicacin web a aquellas aplicaciones que los usuarios pueden utilizar accediendo a un servidor web a travs de Internet o de una intranet mediante un navegador. En otras palabras, es una aplicacin software que se codifica en un lenguaje soportado por los navegadores web en la que se confa la ejecucin al navegador. Las aplicaciones web son populares debido a lo prctico del navegador web como cliente ligero, as como a la facilidad para actualizarlas y mantenerlas. Algunas aplicaciones son: los webmails, wikis, weblogs, tiendas en lnea, intranet. Ingeniera Web es el proceso utilizado para crear, implantar y mantener aplicaciones y sistemas Web de alta calidad. Esta breve definicin nos lleva a abordar un as pecto clave de cualquier proyecto como es determinar que tipo de proceso es ms adecuado en funcin de las caractersticas del mismo. Un empleo sistemtico y disciplinado de modelos, mtodos y modelos de ingeniera de software en la Web para el aseguramiento y control de la calidad favorece a la compresin y anlisis y potencialmente mejorar los desarrollos producidos.

El Proceso de Ingeniera Web

Caractersticas como inmediatez y evolucin y crecimiento continuos, nos llevan a un proceso incremental y evolutivo, que permite que el usuario se involucre activamente, facilitando el desarrollo de productos que se ajustan mucho lo que ste busca y necesita.

Segn Pressman, las actividades que formaran parte del marco de trabajo incluiran las tareas abajo enumeradas. Dichas tareas seran aplicables a cualquier aplicacin Web, independientemente del tamao y complejidad de la misma. Las actividades que forman parte del proceso son: formulacin, planificacin anlisis, modelado, generacin de pginas, test y evaluacin del cliente.

* La formulacin identifica objetivos y establece el alcance de la primera entrega. * La planificacin genera la estimacin del costo general del proyecto, la evaluacin de riesgos y el calendario del desarrollo y fechas de entrega. * El anlisis especifica los requerimientos e identifica el contenido. * La Modelado se compone de dos secuencias paralelas de tareas. Una consiste en el diseo y produccin del contenido que forma parte de la aplicacin. La otra, en el diseo de la arquitectura, navegacin e interfaz de usuario. Es importante destacar la importancia del diseo de la interfaz. Independientemente del valor del contenido y servicios presta dos, una buena interfaz mejora la percepcin que el usuario tiene de stos. * En la generacin de pginas se integra contenido, arquitectura, navegacin e interfaz para crear esttica o dinmicamente el aspecto ms visible de las aplicacin, las pginas. * El Test busca errores a todos lo niveles: contenido, funcional, navegacional, rendimiento, etc. El hecho de que las aplicaciones residan en la red, y que interoperen en plataformas muy distintas, hace que el proceso de test sea especialmente difcil. * Finalmente, el resultado es sometido a la evaluacin del cliente.

Control y Garanta de la Calidad

Una de las tareas colaterales que forman parte del proceso es el Control y Garanta de la Calidad (CGC). Todas las actividades CGC de la ingeniera software tradicional como son: establecimiento y supervisin de estndares, revisiones tcnicas formales, anlisis, seguimiento y registro de informes, etc, son igualmente aplicables a la Ingeniera Web. Sin embargo, en la Web toman especial relevancia para valorar la calidad aspectos como:

* Usabilidad * Funcionabilidad * Fiabilidad * Seguridad * Eficiencia * Mantenibilidad

Control de la Configuracin Establecer mecanismos adecuados de control de la configuracin para la Ingeniera Web es uno de los mayores desafos a los que esta nueva disciplina se enfrenta. La Web tiene caractersticas nicas que demandan estrategias y herramientas nuevas. Hay cuatro aspectos importantes a tener en cuenta en el desarrollo de tcticas de control de configuracin para la Web. * Contenido: Considerando la dinamicidad con la que el contenido se genera, es tarea compleja organizar racionalmente los objetos que forman la configuracin y establecer mecanismos de control. * Personal: Cualquiera realiza cambios. Hay mucho personal no especializado que no reconoce la importancia que tiene el control del cambio. * Escalabilidad: Es comn encontrar aplicaciones que de un da para otro crecen considerablemente. Sin embargo, las tcnicas de control no escalan de forma adecuada.

* Poltica: Quin posee la informacin? Quin asume la responsabilidad y coste de mantenerla?

La Gestin del Proceso

En un proceso tan rpido como es el proceso de Ingeniera Web, donde los tiempos de desarrollo y los ciclos de vida de los productos son tan cortos,merece la pena el esfuerzo requerido por la gestin? La respuesta es que dada su complejidad es imprescindible. Entre los aspectos que aaden dificultad a la gestin destacamos:

* Alto porcentaje de contratacin a terceros * El desarrollo incluye una gran variedad de personal tcnico y no tcnico trabajando en paralelo * El equipo de desarrollo debe dominar aspectos tan varidos como, software basado en componentes, redes, diseo de arquitectura y navegacin, diseo grfico y de interfaces, lenguajes y estndares en Internet, test de aplicaciones Web, etc, lo que hace que el proceso de bsqueda y contratacin de personal sea arduo.

Qu marca la diferencia?

A modo de breve resumen enumeramos las siguientes diferencias: * Confluencia de disciplinas: Sistemas de informacin, ingeniera software y diseo grfico que requiere equipos multidisciplinares y polivalentes. Ciclos de vida y tiempo de desarrollo muy cortos * Cambio continuo: * Necesidad de soluciones que permitan flexibilidad y adaptacin conforme el proyecto cambia.

* Requisitos fuertes de seguridad, rendimiento y usabilidad.

Por qu es necesaria?

La Web evoluciona y crece sin diseo alguno. Prcticas tan pobres de calidad pueden introducir defectos que dejen al efecto 2000 como un juego de nios. Es deber de todos proporcionar cimientos firmes a una tecnologa que mgicamente nos permite acceder a cualquier hora a cualquier punto del planeta para obtener bienes tan valiosos como son los servicios y la informacin.

METODOLOGIAS PARA EL DESARROLLO DE APLICACIONES WEB.

METODOLOGIA XP

Es una metodologa gil de desarrollo de software que se basa en la simplicidad, la comunicacin y la retroalimentacin. XP hace hincapi en el testeo de nuestros programas creando test antes de la implementacin, durante y cuando haya terminado. Y cuando se detecte un fallo se crear un nuevo caso de testeo.

METODOLOGIA SCRUM Scrum, ms que una metodologa de desarrollo software, es una forma de auto-gestin de los equipos de programadores. Un grupo de programadores deciden cmo hacer sus tareas y cunto van a tardar en ello. Scrum ayuda a que trabajen todos juntos, en la misma direccin, con un objetivo claro.

METODOLOGIA UWE

La propuesta de Ingeniera Web basada en UML (UWE (Koch, 2000)) es una metodologa detallada para el proceso de autora de aplicaciones con una

definicin exhaustiva del proceso de diseo que debe ser utilizado. Este proceso, iterativo e incremental, incluye flujos de trabajo y puntos de control, y sus fases coinciden con las propuestas en el Proceso Unificado de Modelado.

3.- ASPECTOS DE SEGURIDAD. Proteger aplicaciones .NET Framework proporciona numerosas clases y servicios tiles que son compatibles con la programacin de segu ridad en aplicaciones, permitiendo a los programadores combinar la seguridad de acceso a cdigo (CAS) con la seguridad basada en funciones. Tema | Descripcin | Proteger aplicaciones | Analiza la conveniencia del diseo con fines de seguridad y proporciona vnculos a temas de seguridad en aplicaciones distribuidas, mviles, Web y de escritorio. | Recomendaciones sobre la estrategia de acceso a datos | Describe las tcnicas para tener acceso a datos de forma segura y eficaz desde aplicaciones cliente. | Seguridad de acceso a cdigo | Describe los conceptos bsicos de CAS y proporciona vnculos a temas adicionales. | Conceptos clave de seguridad | Presenta los conceptos bsicos para comprender la seguridad en .NET Framework. |

Proteger ensamblados Los vnculos de esta seccin analizan la proteccin del cdigo y los ensamblados. Los nombres seguros proporcionan a una aplicacin o un componente una identidad nica que puede utilizar otro software para referirse a ella de manera explcita. Utilizar nombres seguros para los ensamblados les protege de la suplantacin por parte de un ensamblado que contenga cdigo malintencionado. Tambin garantiza la coherencia entre las diferentes versiones de un componente.

Debe utilizar nombres seguros para los ensamblados que se van a implementar en la cach de ensamblados global (GAC). Tema | Descripcin | Instrucciones para escribir cdigo seguro | Realza la importancia de la seguridad en el diseo de las aplicaciones desde el inicio. | Crear y utilizar ensamblados con nombre seguro | Describe cmo firmar un ensamblado y hacer referencia al mismo en una aplicacin. | Retrasar la firma de un ensamblado | Describe los nombres seguros para ensamblados en los que la clave est protegida. | Herramienta de nombre seguro (Sn.exe) | Describe el uso de la herramienta de lnea de comandos Sn.exe para los ensamblados con nombre seguro. | Building Secure AssembliesBuilding Secure Assemblies | Proporciona informacin detallada sobre escritura e implementacin de cdigo de seguridad. Estas notas del producto forman parte de la serie de diseos y procedimientos de MSDN. | Seguridad basada en funciones Con frecuencia, es preciso que las aplicaciones proporcionen acceso a datos o recursos basndose en credenciales proporcionadas por el usuario. Normalmente, dichas aplicaciones comprueban la funcin de un usuario y proporcionan acceso a recursos basados en dichas funciones. Common Language Runtime (CLR) proporciona compatibilidad para la autorizacin basada en funciones tomando como base una cuenta de Windows o una identidad personalizada. Otra opcin consiste en utilizar la seguridad COM+ con componentes con servicio. Seguridad basada en funciones Describe la seguridad basada en funciones y proporciona vnculos a temas adicionales. Establecer principales y directiva de seguridad basada en funciones Describe cmo implementar una directiva de seguridad basada en funciones. Seguridad basada en funciones COM+ y .NET Framework Describe cmo integrar cdigo administrado en servicios de seguridad COM+.

Escribir componentes con servicio Describe cmo utilizar clases en el espacio de nombres EnterpriseServices a fin de crear componentes con servicio. Aplicaciones para Windows En versiones anteriores, las aplicaciones Windows normalmente se ejecutaban con todos los permisos. .NET Framework proporciona la infraestructura para rest ringir la ejecucin del cdigo en una aplicacin Windows mediante la seguridad de acceso a cdigo (CAS). Seguridad en los formularios Windows Forms Describe cmo proteger las aplicaciones de formularios Windows Forms y proporciona vnculos a temas relacionados. Acceso ms seguro a archivos y datos en formularios Windows Forms Describe cmo tener acceso a archivos y datos en una aplicacin de formularios Windows Forms en un entorno de confianza parcial. Validar los datos proporcionados por el usuario Describe tcnicas de validacin de los datos introducidos por el usuario. Aplicaciones ASP.NET Por lo general, las aplicaciones ASP.NET deben restringir el acceso a algunas porciones del sitio Web y proporcionan otros mecanismos para la proteccin de datos y la seguridad del sitio. Seguridad de sitios Web ASP.NET Describe cmo proteger aplicaciones ASP.NET. Contiene vnculos a los siguientes temas. Seguridad de aplicaciones Web ASP.NET Describe cmo funciona la seguridad ASP.NET y analiza el diseo seguro, as como la seguridad en un entorno de host. Procedimientos de seguridad bsicos para aplicaciones Web Describe las directrices de seguridad mnima aplicables a todas las aplicaciones Web. Proteger servicios Web XML creados mediante ASP.NET Describe cmo implementar la seguridad en un servicio Web de ASP.NET.

Validar los datos proporcionados por el usuario Describe tcnicas de validacin de los datos introducidos por el usuario. Improving Web Application SecurityImproving Web Application Security Contenido de MSDN que analiza numerosos aspectos de la seguridad de aplicaciones Web. Este contenido se puede descargar o se puede leer en lnea.

Building Secure ASP.NET Applications

Contenido de MSDN que analiza numerosos aspectos de la seguridad de aplicaciones Web. Este contenido se puede descargar o se puede leer en lnea. Interoperabilidad de cdigo no administrado El cdigo que se ejecuta fuera de Common Language Runtime (CLR) se denomina cdigo no administrado. Los componentes COM, las interfaces ActiveX y las funciones de la API de Win32 son ejemplos de cdigo no administrado. Al ejecutar cdigo no administrado se aplican consideraciones de seguridad especiales. Interoperar con cdigo no administrado Proporciona vnculos a temas adicionales en los que se analiza la interoperabilidad de cdigo no administrado. Ensamblados de interoperabilidad primario Describe cmo trabajar con ensamblados de interoperabilidad primaria en una aplicacin .NET. Cmo: Solicitar permiso para obtener acceso a cdigo no administrado Describe cmo solicitar permiso para tener acceso a cdigo no administrado mediante un SecurityPermissionAttribute. Enterprise Services El espacio de nombres System.EnterpriseServices proporciona contenedores que permiten a las aplicaciones .NET integrar cdigo administrado con servicios de seguridad COM+ mediante la claseServicedComponent. Seguridad basada en funciones COM+ y .NET Framework

Describe cmo integrar cdigo administrado en servicios de seguridad COM+. Describe cmo utilizar clases en el espacio de nombres EnterpriseServices a fin de crear componentes con servicio.

BIBLIOGRAFIA:

http://jorgeportella.files.wordpress.com/2011/11/analisis-diseo-ydesarrollodeaplicacionesweb.pdf

http://programacionweb2011.blogspot.mx/2011/01/metodologias-para-eldesarrollo-de.html

http://msdn.microsoft.com/es-es/library/ms172106(v=vs.80).aspx

You might also like