domingo, 19 de junio de 2016


Los componentes de una aplicación web son: 

1. Lógica de negocio.
* Parte más importante de la aplicación.
* Define los procesos que involucran a la aplicación.
* Conjunto de operaciones requeridas para proveer el servicio. 

2. Administración de los datos.
* Manipulación de BD y archivos. 

3. Interfaz
* Los usuarios acceden a través de navegadores, móviles, PDAs, etc.
* Funcionalidad accesible a través del navegador
Las aplicaciones web se modelan mediante lo que se conoce como modelo de capas, Una capa representa un elemento que procesa o trata información. Los tipos son:
* Modelo de dos capas: La información atraviesa dos capas entre la interfaz y la administración de los datos.
* Modelo de n-capas: La información atraviesa varias capas, el más habitual es el modelo de tres capas.


 PROGRAMACIÓN POR CAPAS 

Es un estilo de programación, su objetivo primordial es la separación de la capa de presentación, capa de negocio y la capa de datos.
La ventaja principal: Es el desarrollo se puede llevar a cabo en varios niveles y, en caso de que sobrevenga algún cambio.
En el diseño de sistemas informáticos actuales se suele usar las arquitecturas multilineal o Programación por capas.

Las capas de este modelo son:


Capa de presentación. (Parte en el cliente y en el servidor)- Esta capa es la que ve el usuario, presenta el sistema al usuario, le comunica la información y captura la información del usuario en un mínimo de proceso. Esta capa se comunica únicamente con la capa de negocio. También es conocida como interfaz gráfica y debe tener la característica de ser quot;amigablequot; para el usuario generalmente se presentan como formularios. 

Capa de negocio (servidor web) Aquí es donde, se reciben las peticiones del usuario y se envían las respuestas tras el proceso. S e denomina capa de negocio (e incluso de lógica del negocio) porque es aquí donde se establecen todas las reglas que deben cumplirse. Esta capa se comunica con la capa de presentación, para recibir las solicitudes y presentar los resultados, y con la capa de datos, para solicitar al gestor de base de datos para almacenar o recuperar datos de él.


Capa de Datos (Servidor de datos) Es donde residen los datos y es la encargada de acceder a los mismos. Está formada por uno o más gestores de bases de datos que realizan todo el almacenamiento de datos, reciben solicitudes de almacenamiento o recuperación de información desde la capa de negocio.
* Almacena los datos
* Recupera datos
* Mantiene los datos
* Segura la integridad de los datos 

Arquitectura de tres Capas para la Web.
* Los datos y servicios aparecen separados
* Fácil de separar los datos de la “lógica de negocio”
* El cliente recibe los datos y la información de forma indirecta a través servidor.


Diferencia entre Capas y Niveles 

Capa.- Forma como una solución es segmentada desde el punto de vista lógico.
Nivel.- Forma en que las capas lógicas se encuentran distribuidas de forma física.
Ejem
Tres capas que residen en un ordenador (Presentación + lógica + datos )
Tres capas que residen en dos ordenadores (Presentación, lógica, datos).
Tres capas que residen en tres ordenadores (Presentación, lógica, datos). 

Ventajas
  • Si aumenta el tamaño o la complejidad de la base de datos o del procedimiento lógico, se puede separar en varias computadoras.
  • No es necesario cambiar la interfaz del usuario si se desea modificar algo en la base de datos y pueden introducirse nuevos clientes sin la necesidad de modificar la base de datos.
  • El código de cada capa puede ser reutilizado para realizar otras aplicaciones.
  • La separación de roles en tres capas, hace más fácil reemplazar o modificar una capa sin afectar a los módulos restantes ya que el código del programa es mucho más entendible
  • Comparado con una arquitectura de dos niveles, es más escalable, es decir que se puede aumentar el número de servidores de aplicación en lugar de reemplazar el servidor entero por otro de configuración superior. 

Desventajas
  •  Pueden incrementar el tráfico en la red cuando muchos clientes envían peticiones a un solo servidor.
  •  Requiere más balance de carga y tolerancia a las fallas.
  • Los exploradores actuales no son todos iguales. La estandarización 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.
  •  Es mucho más difícil programar y probar el software que en arquitectura de dos niveles porque tienen que comunicarse más dispositivos para terminar la transacción de un usuario


sábado, 18 de junio de 2016


Arquitectura de las aplicaciones Web. 

Una aplicación Web es proporcionada por un servidor Web y utilizada por usuarios que se Conectan desde cualquier punto vía clientes Web (browsers o navegadores). La arquitectura de un Sitio Web tiene tres componentes principales:



* Un servidor Web
* Una conexión de red
* Uno o más clientes 

Las aplicaciones Web están basadas en el modelo Cliente/Servidor que gestionan servidores web, y que utilizan como interfaz páginas web. 

Las páginas Web son el componente principal de una aplicación o sitio Web. Los browsers piden páginas (almacenadas o creadas dinámicamente) con información a los servidores Web. 

* Los Servidores de Aplicaciones actúan como enlace entre los servidores Web y los Servidores de Bases de datos.
* Se fomenta la escalabilidad del sistema, la seguridad y la reutilización de código.


Partes que componen el sistema 

Cliente: Programa ejecutable que participa activamente en el establecimiento de las conexiones. Envía una petición al servidor y se queda esperando por una respuesta. Su tiempo de vida es finito una vez que son servidas sus solicitudes, termina el trabajo. 

Servidor: Es un programa que ofrece un servicio que se puede obtener en una red. Acepta la petición desde la red, realiza el servicio y devuelve el resultado al solicitante. Al ser posible implantarlo como aplicaciones de programas, puede ejecutarse en cualquier sistema donde exista TCP/IP y junto con otros programas de aplicación. El servidor comienza su ejecución antes de comenzar la interacción con el cliente. Su tiempo de vida o de interacción es “interminable”. 


Arquitectura Cliente-Servidor 

En el mundo de TCP/IP las comunicaciones entre computadoras se rigen básicamente por lo que se llama modelo Cliente-Servidor, éste es un modelo que intenta proveer usabilidad, flexibilidad, interoperabilidad y escalabilidad en las comunicaciones. 

El término Cliente/Servidor fue usado por primera vez en 1980 para referirse a PC’s en red.
Su funcionamiento es sencillo: se tiene una máquina cliente, que requiere un servicio de una máquina servidor, y éste realiza la función para la que está programado (nótese que no tienen que tratarse de máquinas diferentes; es decir, una computadora por sí sola puede ser ambos cliente y servidor dependiendo del software de configuración). 

Definición Funcional: se puede definir la computación Cliente/Servidor como una arquitectura distribuida que permite a los usuarios finales obtener acceso a la información en forma transparente aún en entornos multiplataforma. 

En el modelo cliente servidor, el cliente envía un mensaje solicitando un determinado servicio a un servidor (hace una petición), y este envía uno o varios mensajes con la respuesta (provee el servicio). 

En esta arquitectura la capacidad de proceso está repartida entre los clientes y los servidores, aunque son más importantes las ventajas de tipo organizativo debidas a la centralización de la gestión de la información y la separación de responsabilidades, lo que facilita y clarifica el diseño del sistema.


La separación entre cliente y servidor es una separación de tipo lógico, donde el servidor no se ejecuta necesariamente sobre una sola máquina ni es necesariamente un sólo programa.
Los tipos específicos de servidores incluyen los servidores web, los servidores de archivo, los servidores del correo, etc. Mientras que sus propósitos varían de unos servicios a otros, la arquitectura básica seguirá siendo la misma. 

miércoles, 15 de junio de 2016




Estos son los principales elementos de la interfaz de usuario en Bluefish:


1 Área de edición: Es donde se puede apreciar la elaboración de la página web mediante etiquetas. El área de trabajo suele ser la parte principal del programa, que es donde el usuario realiza el trabajo o edición; es decir aquí se edita el código de la página.
El área de trabajo suele estar rodeada de diferentes accesos directos, herramientas y barras que permiten trabajar en esta.

2 Menús y Barras de herramientas:
a)   La parte superior de la interfaz consiste en un menú, una barra de herramientas principal, una barra de herramientas de HTML, y un menú personalizado.
b)   La barra de herramientas principal le proporciona acceso rápido a las funcionalidades básicas de un editor de texto.

c)    La barra de herramientas HTML proporciona acceso a las funcionalidades de HTML más utilizadas.

d)  La barra de herramientas personalizada proporciona acceso a las lenguas y las  funciones de sustitución. Es totalmente personalizable a través del panel de  preferencias.

3 Panel Lateral: Consiste en un explorador de archivos, un navegador referencia de función, y un navegador favorito.

4 Menú Ayuda: Contiene el típíco cuadro de referencia.





¿Qué es BLUEFISH?

Es un potente editor para diseñadores web experimentados y programadores basado en la interfaz GTK2 GUI, soporta muchos lenguajes de programación y de mercado pero se centra en la edición de sitios web dinámicos e interactivos. No es un editor de texto, lo que permite al programador a mantener el control completo. Para facilitar el proceso de edición, un gran número de funciones están a su disposición. Para introducir las marcas y el código, hay barras de herramientas, cuadros de diálogo y menús predefinidos / personalizados por el usuario.
El resaltado de sintaxis, la búsqueda avanzada / reemplazar la funcionalidad, escalabilidad y la función del lenguaje hacen del programa una herramienta poderosa para el desarrollo.
Historia
El desarrollo del proyecto Bluefish inicia bajo un nombre diferente. Un buen (y a la vez libre) editor de texto dirigido al desarrollo web no estaba disponible. Es por ello que Olivier Sessink inicia el proyecto en el año de 1997, es importante resaltar que prácticamente simultáneamente Chris Mazuc trabajaba en un editor HTML.
Gracias a una lista de correo de GTK ambos desarrolladores comentan sus iniciativas y deciden trabajar juntos.
Olivier tiene un editor básico mientras que Chris posee muchos diálogos HTML. Mezclan su código y este nuevo proyecto recibe el nombre de Thtml. Posteriormente se incorpora al equipo de trabajo Neil Millar quien se encarga de agregarle el selector de colores y la integración con Weblint. Surge entonces la necesidad de un logo, mucho más fresco y llamativo, pues iban a aparecer las primeras versiones públicas y se quería ofrecer un producto con una imagen y un nombre más atrayente.
 Es en este momento, cuando Neil plantea como nuevo nombre: Bluefish y acompaña su propuesta de un hermoso Pez azul que sugiere como logo.
 Estos continúan siendo los nombre y logo actuales. Con el paso del tiempo se unieron más desarrolladores y Bluefish comenzó a acaparar la atención de la comunidad de código abierto.