Está en la página 1de 24

UNIDAD I

Programacin web 2
Objetivo general: Al trmino del curso el alumno estar capacitado para implantar aplicaciones de tercer capa mediante el conocimiento de las reglas de operacin de negocios.

Julio Boijseauneau Iker Romero Salgado Jos Lui Lopez

8 U L.I.

Contenido

1.1 Introduccin...2

1.2 Servidor de Aplicaciones.5

1.3 Servidores de Base de Datos7

1.4 Lenguajes de Programacion..11 del lado del cliente

1.5 Lenguajes de Programacion..14 del lado del servidor

1.6 Herramientas para el desarrollo.21 de aplicaciones Web

1.7 archivo anexo con mapa conceptual

1.1 INTRODUCCION
A continuacin explicaremos cada uno de los puntos del temario del profesor Martin Martnez Rangel acerca del tema 1 de nuestro temario de la materia programacin web 1 en donde se explicara los puntos vistos en clase y detallados a profundidad por parte de los integrantes de este equipo esperando dar a conocer a fondo cada uno de los temas que a continuacin veremos. Un sistema distribuido se basa en el concepto de distribuir lgicamente la ejecucin de una aplicacin, que tambin puede estar distribuida fsicamente o puede estar corriendo en una misma computadora. La idea principal de un sistema distribuido, es la divisin lgica de la aplicacin en varias capas, de forma de repartir las responsabilidades de realizar tareas especficas en cada una de ellas. En nuestro caso las aplicaciones distribuidas van a estar basadas en una arquitectura de 3 capas, es decir, que cada una de las capas se va a especializar en realizar determinadas tareas. En la primer capa se encuentran los componentes de la aplicacin que implementan la interfaz de la misma con el cliente (Capa de Presentacin), en la segunda se hayan los componentes que se ocupan de ejecutar la lgica del negocio de la aplicacin, es decir todo lo que es comportamiento del sistema (Servidor de Aplicaciones) y en la tercer capa estn los componentes encargados de realizar toda la manipulacin y persistencia de los datos (Servidor de Base de Datos). A diferencia de las aplicaciones Cliente/Servidor tradicionales (2 capas), donde la ejecucin de todo el cdigo de la aplicacin (lgica del negocio) se realiza en el cliente, en una aplicacin 3 capas, se distribuye el cdigo; ejecutando parte en el cliente y parte en el servidor de aplicaciones. De esta forma logramos ganar en escalabilidad, seguridad y performance como veremos ms adelante. Cabe aclarar que en una arquitectura como esta, el servidor de aplicaciones puede a su vez comunicarse con otros servidores de aplicaciones, distribuyendo de esta forma la responsabilidad de los servicios que son provistos al cliente. Del mismo modo, el servidor de la base de datos no tiene porque ser uno solo, sino que se puede contar con varios. Es este tipo de arquitectura, los clientes se comunican con el servidor de aplicaciones mediante un protocolo de comunicacin especfico segn el lenguaje de la aplicacin y el servidor utilizado; a su vez, el servidor de aplicaciones se comunica con la base de datos mediante un protocolo de comunicacin o driver especfico segn el DBMS utilizado.

La forma de comunicacin entre los componentes, del cliente y el servidor de aplicaciones, se

realiza con .Net remoting, esto implica que para el transporte de la informacin se crean mensajes que viajan bajo HTTP o TCP (.Net Channel Services). La forma de comunicacin con el servidor de base de datos desde el servidor de aplicaciones es a traves de ADO.NET Solo es posible generar aplicaciones tres capas utilizando ADO.NET como mtodo de conexin a la base de datos, no es posible generar una aplicacin en tres capas utilizando ODBC Adems, las aplicaciones en tres capas solo pueden ser generadas con Interfaz Win, no es posible generar aplicaciones tres capas con Interfaz Web.

Las diferentes capas suelen ser: Capa 1: Cliente de aplicacin: Navegador Web

Capa 2 : Servidor de Aplicaciones: Apache, Servidor Tomcat con servlets Capa 3 : Servidor de Datos: Base de datos, servidor SMTP Ventajas de la arquitectura de tres capas: Las llamas de la interfaz del usuario en la estacin de trabajo, al servidor de capa intermedia, son ms flexibles que en el diseo de dos capas, ya que la estacin solo necesita transferir parmetros a la capa intermedia.

Con la arquitectura de tres capas, la interfaz del cliente no es requerida para comprender o comunicarse con el receptor de los datos. Por lo tanto, esa estructura de los datos puede ser modificada sin cambiar la interfaz del usuario en la PC.

El cdigo de la capa intermedia puede ser reutilizado por mltiples aplicaciones si est diseado en formato modular. La separacin de roles en tres capas, hace ms fcil reemplazar o modificar una capa sin afectar a los mdulos restantes. Desventajas de las Arquitecturas de Tres Capas y basadas en Web. Los ambientes de tres capas pueden incrementar el trfico en la red y requiere ms balance de carga u tolerancia a las fallas.

Los exploradores actuales no son todos iguales.

La estandarizacin entre diferentes proveedores ha sido lenta en desarrollarse. Muchas organizaciones son forzadas a escoger uno en lugar de otro, mientras que cada uno ofrece sus propias y distintas ventajas.

1.2 Servidor de Aplicaciones

Servidores de aplicaciones Un servidor de aplicaciones no es ms que un cambio de nombre, para algunos servidores Web de nueva generacin que proporcionan la lgica de negocio sobre la que construir aplicaciones. Suelen asociarse con servidores de alto rendimiento pensados para dar servicio a sitios Web (Web sites) con grandes necesidades: afluencia de visitas, movimiento de datos, atencin de transacciones hacia bases de datos, etc. Generalmente los fabricantes del sector tienen a disposicin del pblico un servidor Web bsico y otro con multitud de extensiones fuertemente integradas al que llaman servidor de aplicaciones. Puede encontrarse un buen listado de servidores de aplicaciones A modo de ejemplo se muestra un listado con los productos de algunas empresas bien conocidas:

BEA Weblogic Server Borland AppServer Allaire ColdFusion Lotus Domino Netscape application server Oracle application server Sybase Enterprise Server IBM WebSphere

Figura: Arquitectura de funcionamiento de un servidor de aplicaciones. Un servidor de aplicaciones clsico (figura capas: ) se apoya en un modelo cliente/servidor de tres

1. Presentacin: una interfaz, generalmente grfica que reside en los clientes. El ejemplo tpico es un navegador. 2. Lgica de negocio: donde reside el servidor de aplicaciones y el conjunto de programas a los que da soporte. 3. Almacenamiento: generalmente una base de datos.

1.3 Servidor de base de datos


Definicin Para bases de datos con mltiples usuarios sirve un servidor de base de datos. Las bases de datos estn situadas en un servidor y se puede acceder a ellas desde terminales o equipos con un programa -llamado cliente- que permita el acceso a la base o bases de datos. Los gestores de base de datos de este tipo permiten que varios usuarios hagan operaciones sobre ella al mismo tiempo: un puede hacer una consulta al mismo tiempo que otro, situado en un lugar diferente, est introduciendo datos en la base. Alternativas Servidor de Base de Datos MySQL MySQL es el servidor de bases de datos relacionales ms popular, desarrollado y proporcionado por MySQL AB. Por que usar MySQL? El servidor de bases de datos MySQL es muy rpido, seguro, y fcil de usar. Si eso es lo que se est buscando, se le debe dar una oportunidad a MySQL. El servidor MySQL fue desarrollado originalmente para manejar grandes bases de datos mucho ms rpido que las soluciones existentes y ha estado siendo usado exitosamente en ambientes de produccin sumamente exigentes por varios aos. Aunque se encuentra en desarrollo constante, el servidor MySQL ofrece hoy un conjunto rico y til de funciones. Su conectividad, velocidad, y seguridad hacen de MySQL un servidor bastante apropiado para accesar a bases de datos en Internet. El software de bases de datos MySQL consiste de un sistema cliente/servidor que se compone de un servidor SQL multihilo, varios programas clientes y bibliotecas, herramientas administrativas, y una gran variedad de interfaces de programacin (APIs). Se puede obtener tambin como una biblioteca multihilo que se puede enlazar dentro de otras aplicaciones para obtener un producto ms pequeo, ms rpido, y ms fcil de manejar. Servidor de Base de Datos PostgreSQL PostgreSQL es un servidor de base de datos relacional orientada a objeto publicado bajo licencia libre BSD, una buena alternativa a MySQL. Instalacin ilimitada. Con PostgreSQL, nadie puede demandarlo por violar acuerdos de licencia, puesto que no hay costo asociado a la licencia del software. Modelos de negocios ms rentables con instalaciones a gran escala. No existe la posibilidad de ser auditado para verificar cumplimiento de licencia en ningn momento. Flexibilidad para hacer investigacin y desarrollo sin necesidad de incurrir en costos adicionales de licenciamiento. Existen varias herramientas grficas de alta calidad para administrar las bases de datos y para

hacer diseo de bases de datos. Muchas organizaciones, incluyendo grandes corporaciones, instituciones gubernamentales y pequeos negocios en lnea usan PostgreSQL para manejar sus datos ms valiosos y aplicaciones de misin crtica.

Caractersticas MySQL

Es muy rpido Administracin por consola o por herramientas grficas Es seguro Es fcil de usar Maneja grandes bases de datos Cuenta con varios programas cliente y bibliotecas Cuenta con varias herramientas grficas administrativas Cuenta con una gran variedad de interfaces de programacin (APIs) Licencia GPL Mejor integracin con PHP No hay lmite en el tamao de los registros Consume muy pocos recuros, tanto de CPU como de memoria Cuenta con un mejor control de acceso, es decir, se puede definir qu usuarios tienen acceso a que tablas y con qu permisos

PostgreSQL

No necesita de licencias de software Es estable, es decir no es suceptible a cadas Se puede personalizar

Es multiplataforma Entre sus caractersticas estan la Potencia y flexibilidad Consume bastantes recursos y carga ms el sistema Por su arquitectura de diseo se necesita aumentar el nmero de CPUs y la cantidad de RAM Fue diseado para ambiertes de alto volumen Permiten la duplicacin de bases de datos maestras en mltiples sitios de replica Cuenta con funciones de compatibilidad para ayudar en la transicin desde otros sistemas menos compatibles con SQL

Como conclusin a la comparacin entre MySQL y Postgres, parece aceptado que MySQL junto con Apache y PHP forman un buen equipo para servir pginas web con contenido dinmico, discusiones, noticias, etc. En general, sistemas en los que la velocidad y el nmero de accesos concurrentes sea algo primordial, y la seguridad no sea muy importante (pueda bastar con hacer backups peridicos que se restaurarn tras una cada del servidor). En cambio, para sistemas ms serios en las que la consistencia de la BD sea fundamental (BD con informacin realmente importante, bancos, etc.) PostgreSQL es una mejor opcin pese a su mayor lentitud. Beneficios

Seguridad:
MySQL Tiene soporte nativo para SSL (que es un protocolo que usa diferentes algoritmos de encriptacin para asegurarse de que los datos que viajan a travs de una red pblica (ej. Internet) pueden ser fiables). Para solventar algun problema de inseguridad, una solucin consiste en hacer uso de Secure Shell (SSH) para crear un tnel entre el servidor web y el servidor de base de datos MySQL. Se puede hacer uso de algn firewall para proteger el servidor de bases de datos. As, aunque el servidor MySQL se encuentre detrs de un firewall, puede tambin usar un Servidor SSH. Aunque se cuelgue, no suele perder informacin ni corromper los datos. Mejor control de acceso, en el sentido de qu usuarios tienen acceso a qu tablas y con qu permisos. PostgreSQL PostgreSQL ha agregado permisos a esquemas, funciones y otros objetos y nuevas opciones de configuracin para aumentar la granularidad del control del administrador sobre la seguridad.

Administracin:

MySQL

MySQL cuenta con diversas herramientas grficas de administracin de base de datos como MySQL Administrator que permiten administrar de forma sencilla la(s) base(s) de datos y observar de forma visual como estn operando. Mejores utilidades de administracin (backup, recuperacin de errores, etc). Su principal objetivo de diseo fue la velocidad. PostgreSQL PGAdmin y phpPgAdmin, dos de las tres GUIs (Inferfaces Grficas) ms populares para PostgreSQL tendrn nuevas versiones para PostgreSQL, haciendo ms confortable que nunca el cambio para administradores de bases de datos. Requerimientos

Linux version Empresarial Enlace a internet 1GB RAM, Disco Duro 50GB, Procesador P4

Que incluye el servicio


Instalacin y configuracin de Linux (RedHat Enterprise SuSE Enterprise) Instalacin y configuracin de base de datos con MySQL o PostgreSQL

Tiempo de Implementacin La implementacin se lleva a cabo en un da Servicios recomendados


Soporte por evento plizas de soporte 7x24

10

1.4 Lenguajes de programacin del lado del cliente


Un lenguaje del lado cliente es totalmente independiente del servidor, lo cual permite que la pgina pueda ser albergada en cualquier sitio. Pero nuestra pgina no se ver bien si la computadora cliente no tiene instalados los plug-in adecuados. El cdigo, tanto del hipertexto como de los scripts, es accesible a cualquiera y ello puede afectar a la seguridad.

Javascript.

Javascript es un lenguaje de programacin que realiza acciones dentro del mbito de una pgina web. Su compatibilidad con la mayora de los navegadores modernos, lo posiciona como el lenguaje de programacin del lado del cliente ms utilizado. Con Javascript podemos crear efectos especiales en las pginas y definir interaccin con el usuario. El navegador (browser) del cliente es el encargado de interpretar las instrucciones Javascript y ejecutarlas para realizar estos efectos e interactividades, de modo que el mayor recurso, y tal vez el nico, con que cuenta este lenguaje es el propio navegador.

Entre las acciones tpicas que se pueden realizar en Javascript tenemos dos vertientes. Por un lado los efectos especiales sobre pginas web, para crear contenidos dinmicos y elementos de la pgina que tengan movimiento, cambien de color o cualquier otro dinamismo.

Por el otro, javascript nos permite ejecutar instrucciones como respuesta a las acciones del usuario (eventos), con lo que podemos crear pginas interactivas con programas como calculadoras, agendas, o tablas de clculo.

Javascript es un lenguaje con muchas posibilidades, es orientado a objetos, con funciones, estructuras de datos complejas, etc.

Adems, Javascript pone a disposicin del programador todos los elementos que forman la pgina web, para que ste pueda acceder a ellos y modificarlos dinmicamente.

JavaScript no permite dos de las caractersticas clsicas de los lenguajes orientados a objetos (herencia y polimorfismo), pero permite la creacin y manipulacin de objetos sencillos, y la definicin de mtodos y propiedades para dichos objetos.

11

JavaScript soporta el Modelo de Objetos de Documento (DOM, Document Object Model). El DOM es el conjunto de objetos predefinidos que nos permite acceder a todos los elementos de una pgina y a ciertas caractersticas especficas del navegador.

<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Ejemplo JavaScript</title> </head> <body> < script> var respuesta = confirm("Aceptame o rechazame") alert ("Has pulsado: " + respuesta) < /script> < /body> < /html> Visual Basic Script

Ejecutar

Es un lenguaje de programacin de scripts del lado del cliente, slo compatible con Internet Explorer. Es por ello se usa poco. Est basado en Visual Basic de Microsoft. Tanto su sintaxis y modo de operacin es una versin reducida del primero. El modo de funcionamiento de Visual Basic Script para construir efectos especiales en pginas web es muy similar al utilizado en Javascript y los recursos a los que se puede acceder tambin son los mismos: el navegador. Applets de Java

Son programas hechos en Java, que se transfieren con las pginas web y que el navegador ejecuta en el espacio de la pgina. Los applets son ms difciles de programar que los scripts en Javascript y requerirn conocimientos medios del lenguaje Java. La principal ventaja de utilizar applets consiste en que son independientes del navegador, del sistema operativo y multiplataformas.

Cada sistema operativo dispone de una mquina Virtual de Java que puede interpretar los Byte Codes y transformarlos a sentencias ejecutables en el sistema en cuestin.

Arquitectura de appletviewer

El appletviewer representa la interfaz mnima de navegacin. En la figura se muestran los pasos que seguira appletviewer para presentarnos el resultado de la ejecucin del cdigo de nuestra clase.

12

Esta es una visin simplificada del appletviewer. La funcin principal de esta aplicacin es proporcionar al usuario un objeto de tipo Graphics sobre el que dibujar, y varias funciones para facilitar el uso del objeto Graphics. Ciclo de vida de un Applet Cuando un applet se carga en el appletviewer, comienza su ciclo de vida, que pasara por las siguientes fases: Se crea una instancia de la clase que controla el applet. En el ejemplo de la figura anterior, sera la clase HolaMundo. El applet se incializa. El applet comienza a ejecutarse. El applet empieza a recibir llamadas. Primero recibe una llamada init (inicializar), seguida de un mensaje start (empezar) y paint (pintar). Estas llamadas pueden ser recibidas asncronamente.

13

Flash

Es un programa multimedia de Adobe que se utiliza para crear presentaciones animadas. Se trata de una aplicacin del lado del cliente que es leda por los principales navegadores. Las animaciones se realizan a partir de vectores y de imgenes en base a pxeles (llamadas raster graphics) y pueden incluir audio y video. Este programa es uno de los ms utilizados para animar sitios Web y

1.5 Lenguajes de programacin del lado Servidor


Existe una multitud de lenguajes concebidos o no para Internet. Cada uno de ellos explota ms a fondo ciertas caractersticas que lo hacen ms o menos tiles para desarrollar distintas aplicaciones.

Un lenguaje del lado del servidor es aquel que se ejecuta en el servidor web, justo antes de que se enve la pgina a travs de Internet al cliente. Las pginas que se ejecutan en el servidor pueden realizar accesos a bases de datos, conexiones en red, y otras tareas para crear la pgina final que ver el cliente.

Los lenguajes de lado servidor ms ampliamente utilizados para el desarrollo de pginas dinmicas son el ASP, JSP, PERL y PHP.

ASP.NET (Active Server Pages).

Lenguaje comercializado por Microsoft, y usado por programadores para desarrollar entre otras funciones, sitios web. ASP.NET es el sucesor de la tecnologa ASP, fue lanzada al mercado mediante una estrategia de mercado denominada .NET.

Se desarrollado para resolver las limitantes que brindaba tu antecesor ASP. Para el desarrollo de ASP.NET se puede utilizar C#, VB.NET o J#. Los archivos cuentan con la extensin (aspx). Para su funcionamiento de las pginas se necesita tener instalado IIS con el Framework .Net. Microsft Windows 2003 incluye este framework, solo se necesitar instalarlo en versiones anteriores.

14

El lenguaje ASP consiste en una serie de clases .NET utilizadas para crear aplicaciones Web, tanto del lado cliente (Web Form) como del lado servidor (Web Service). La integracin de nativa .NET Framework con el sistema operativo Windows Server 2003 hace que su ejecucin sea ms estable y rpida que otros lenguajes de programacin.

Las pginas creadas con la tecnologa ASP.NET funcionan en todo tipo de navegadores incluyendo Netscape, Safari y Internet Explorer.

Actualizaciones Dinmicas Soporte de servicios web XML Conexiones del tipo DSN, o sin utilizacin de DSN, para acceder a fuentes de datos ODBC.

Ventajas: 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. Desventajas: Mayor consumo de recursos. Tecnologa propietaria. Hospedaje de sitios web costosos.

JSP Es un lenguaje para la creacin de sitios web dinmicos, acrnimo de Java Server Pages. Est orientado a desarrollar pginas web en Java. JSP es un lenguaje multiplataforma.

15

JSP fue desarrollado por Sun Microsystems. Comparte ventajas similares a las de ASP.NET, desarrollado para la creacin de aplicaciones web potentes. Posee un motor de pginas basado en los servlets de Java. Para su funcionamiento se necesita tener instalado un servidor Tomcat.

Caractersticas: Cdigo separado de la lgica del programa. Las pginas son compiladas en la primera peticin. Permite separar la parte dinmica de la esttica en las pginas web. Los archivos se encuentran con la extensin (jsp). El cdigo JSP puede ser incrustado en cdigo HTML.

Los elementos que pueden ser insertados en las pginas JSP son los siguientes: Cdigo: se puede incrustar cdigo Java. Directivas: permite controlar parmetros del servlet. Acciones: permite alterar el flujo normal de ejecucin de una pgina.

Ventajas: Ejecucin rpida del servlets. Crear pginas del lado del servidor. Multiplataforma. Cdigo bien estructurado. Integridad con los mdulos de Java. La parte dinmica est escrita en Java.

Desventajas: Complejidad de aprendizaje.

16

PERL Perl (Practical Extraction and Report Language) es un lenguaje de programacin desarrollado por Larry Wall (lwall at netlabs.com) inspirado en otras herramientas de UNIX como son: sed, grep, awk, c-shell, para la administracin de tareas propias de sistemas UNIX. No establece ninguna filosofa de programacin concreta. No se puede decir que sea orientado a objetos, modular o estructurado aunque soporta directamente todos estos paradigmas; su punto fuerte son las labores de procesamiento de textos y archivos. Lenguaje de programacin basado en scripts portable a casi cualquier plataforma. Es muy utilizado para escribir CGIs. Uno de sus elementos ms potentes son las expresiones regulares, que a partir de su versin en Perl han sido adoptadas por otros lenguajes y plataformas como .NET o Javascript.

Ventajas Es un buen lenguaje pegamento. Se pueden juntar varios programas de una forma sencilla para alcanzar una meta determinada. Los usuarios de Windows agradecern esta propiedad ya que normalmente adolecen de un buen lenguaje tipo script. Es relativamente rpido para un lenguaje tipo script. Est disponible en mltiples plataformas y sistemas operativos (UNIX, Linux y Windows). Un programa que se escriba teniendo en cuenta la compatibilidad puede ser escrito en una plataforma y ejecutado en otra. El desarrollo de aplicaciones es muy rpido. Hay una coleccin enorme de mdulos que pueden ser incorporados a cualquier script de Perl. Estn disponibles en el CPAN (Comprehensive Perl Archive Network). En particular existe una extensin para clculo numrico denominada PDL. Perl es gratuito. Mucho ms que eso, es Software Libre. Esto quiere decir que el cdigo fuente est

17

disponible para que cualquiera lo pueda ver o modificar, y lo que es ms importante, siempre lo estar. Aunque nunca pretendas cambiar el cdigo, es importante disponer de la posibilidad de hacerlo, ya que siempre se podr contratar a una tercera persona para que lo modifique en el caso de que haya un error, y debera ser posible solucionarlo. Le otorga al programador mucha libertad para que haga el programa como quiera. Tal como dice el eslogan de Perl Hay ms de una forma de hacerlo. Desventajas Es lento para algunas aplicaciones, como

programacin a bajo nivel, escribiendo un driver para una aplicacin o corriendo modelos numricos de clculo intensivo. Si bien se pueden insertar subrutinas FORTRAN o C en Perl, teniendo lo mejor de los dos mundos, pero con algo ms de complejidad. La libertad que se le otorga al programador puede significar que el resultado sea un programa ilegible. Si no se escribe con cuidado puede llegar a ser difcil de leer. De hecho hay un concurso de Perl ofuscado. Perl es un lenguaje interpretado. Este tema no es tan crtico como suena, los programas Perl no corrern mucho ms rpidos cuando se compilen, la nica ventaja est en la desaparicin de la fase inicial de compilacin al correr la aplicacin. Utiliza muchos recursos de comput. Esto significa que no es tan ligero como un programa en C, pero en la prctica es ligero comparado con la potencia de procesamiento de las computadoras actuales.

18

PHP PHP es el acrnimo de Hipertext Preprocesor. Es un lenguaje de programacin del lado del servidor gratuito e independiente de plataforma, rpido, con una gran librera de funciones y mucha documentacin. Fue creado originalmente en 1994 por Rasmus Lerdorf, pero como PHP est desarrollado en poltica de cdigo abierto, a lo largo de su historia ha tenido muchas contribuciones de otros desarrolladores.

El cliente solamente recibe una pgina con el cdigo HTML resultante de la ejecucin de la PHP. Como la pgina resultante contiene nicamente cdigo HTML, es compatible con todos los navegadores.

Ventajas: Muy fcil de aprender. Se caracteriza por ser un lenguaje muy rpido. Soporta en cierta medida la orientacin a objeto. Clases y herencia. Es un lenguaje multiplataforma: Linux, Windows, entre otros. Capacidad de conexin con la mayora de los manejadores de base de datos: MysSQL, PostgreSQL, Oracle, MS SQL Server, entre otras. Capacidad de expandir su potencial utilizando mdulos. Posee documentacin en su pgina oficial la cual incluye descripcin y ejemplos de cada una de sus funciones. Es libre, por lo que se presenta como una alternativa de fcil acceso para todos. Incluye gran cantidad de funciones. No requiere definicin de tipos de variables ni manejo detallado del bajo nivel. Desventajas:

19

Todo el trabajo lo realiza el servidor y no delega al cliente. Por tanto puede ser ms ineficiente a medida que las solicitudes aumenten de nmero. La legibilidad del cdigo puede verse afectada al mezclar sentencias HTML y PHP. La programacin orientada a objetos es an muy deficiente para aplicaciones grandes. Dificulta la modularizacin. Dificulta la organizacin por capas de la aplicacin. Seguridad: PHP es un poderoso lenguaje e intrprete, ya sea incluido como parte de un servidor web en forma de mdulo o ejecutado como un binario CGI separado, es capaz de acceder a archivos, ejecutar comandos y abrir conexiones de red en el servidor. Estas propiedades hacen que cualquier cosa que sea ejecutada en un servidor web sea insegura por naturaleza.

PHP est diseado especficamente para ser un lenguaje ms seguro para escribir programas CGI que Perl o C, y con la seleccin correcta de opciones de configuracin en tiempos de compilacin y ejecucin, y siguiendo algunas prcticas correctas de programacin.

20

1.6 Herramientas para el desarrollo de aplicaciones Web


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

21

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 usos 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

22

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.

23

También podría gustarte