miércoles, 27 de febrero de 2013

1.3 Lenguajes de programación web y DBMS


Actualmente existen diferentes lenguajes de programación para desarrollar en la web, estos han ido surgiendo debido a las tendencias y necesidades de las plataformas. En el presente artículo pretende mostrar las ventajas y desventajas de los lenguajes más conocidos.


LENGUAJE HTML
Desde el surgimiento de internet se han publicado sitios web gracias al lenguaje HTML. Es un lenguaje estático para el desarrollo de sitios web (acrónimo en inglés de HyperText Markup Language, en español Lenguaje de Marcas Hipertextuales). Desarrollado por el World Wide Web Consortium (W3C). Los archivos pueden tener las extensiones (htm, html).


LENGUAJE JAVASCRIPT
Este es un lenguaje interpretado, no requiere compilación. Fue creado por Brendan Eich en la empresa Netscape Communications. Utilizado principalmente en páginas web. Es similar a Java, aunque no es un lenguaje orientado a objetos, el mismo no dispone de herencias. La mayoría de los navegadores en sus últimas versiones interpretan código Javascript.

LENGAE PHP
PHP es un lenguaje de script interpretado en el lado del servidor utilizado para la generación de páginas web dinámicas, embebidas en páginas HTML y ejecutadas en el servidor. PHP no necesita ser compilado para ejecutarse. Para su funcionamiento necesita tener instalado Apache o IIS con las librerías de PHP. La mayor parte de su sintaxis ha sido tomada de C, Java y Perl con algunas características específicas. Los archivos cuentan con la extensión (php).


LENGUAJE ASP
Es una tecnología del lado de servidor desarrollada por Microsoft para el desarrollo de sitio web dinámicos. ASP significa en inglés (Active Server Pages), fue liberado por Microsoft en 1996. Las páginas web desarrolladas bajo este lenguaje es necesario tener instalado Internet Information Server (IIS).
ASP no necesita ser compilado para ejecutarse.


LENGUAJE JSP
Es un lenguaje para la creación de sitios web dinámicos, acrónimo de Java Server Pages. Está orientado a desarrollar páginas web en Java. JSP es un lenguaje multiplataforma. Creado para ejecutarse del lado del servidor.

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







En la estructura básica de un Sistema Manejador de Base de Datos se enuncian dos lenguajes que permiten trabajar sobre la base de datos.  Estos lenguajes estandar son:

DDL (Data Definition language):  Lenguaje de Definición de Datos.  Por medio de este el DBMS identifica las descripciones de los elementos de los esquemas y almacena la descripción del esquema en el catálogo del DBMS.

Por medio de este el DBMS especifica el esquma conceptual e interno (Base de datos Almacenada).

SDL (Store Definition language): Lenguaje de definición de almacenamiento.  Es utilizado por el DBMS para especificar el esquema interno que corresponde a la Base de Datos Almacenada.
VDL (View Definition language): Lenguaje de Definición de Vistas.  Es utilizado por el DBMS para especificar las vistas del usuario y sus correspondiencias con el esquema conceptual.
En las Bases de Datos Relacionales, el SQL, representa una combinación de los anteriores.
DML (Data Manipulation language): Lenguaje de Manipulación de Datos.  Permite la manipulación de las operaciones de Inserción, Eliminación y Modificación.
Tipos de DML's:
De alto Nivel o No por procedimientos: SQL.
De bajo Nivel o por procedimientos.

Aplicaciones de 2,3 y n capas


Lo que se conoce como arquitectura en capas es en realidad un estilo de programación cuyo objetivo principal es separar los diferentes aspectos del desarrollo, tales como las cuestiones de aplicación, lógica de negocios, mecanismos de almacenamiento, etc.


La arquitecturade 2 capas
Son las que tienen 2 niveles las cuales son el nivel de de aplicación y el nivel de base de datos.
El nivel de apicación es como por ejemplo un buscador como google que es el que ocupamos y el nivel de base de datos es el que los busca y ya lo encuentra en internet.



La arquitectura de 3 c apas
En esta arquitectura solo se agrega una capa mas que es el nivel de dominio un claro ejemplo de este y como trabaja son las aplicaciones que ocupamos para internet como el manejador de base de datos sql server, oracle y software para programar como java etc.


• nivel de aplicación 

la diferencia de este nivel aplicado ahora en una arquitectura de tres capas es que solo tiene que trabajar con la semántica propia de aplicación, sin tener que preocuparse de cómo esta implementado este ni de su estructura física.

• Nivel de dominio de la aplicación.

En cambio este nivel se encarga de toda la estructura física y el dominio de aplicación. 
algo muy importante y que es la mayor ventaja de esta arquitectura es que ahora únicamente se cambia la regla en el servidor de aplicación y esta actuará en todos los clientes, cosa que ni sucedía con la arquitectura en dos capas que si alguna regla se la cambia, se tenía que ir a cada cliente a realizar el cambio.

• Nivel de repositorio. 
Sigue siendo la capa en donde se almacenan los datos y toda la información.




La arquitectura de N capas.

Esta arquitectura también es llamada multicapas en esta solo agrega una capa de presentación y ya esta hace el enlace con la aplicación y ya posteriormente la pase a la capa de aplicación  enseguida a la capa de dominio y por ultimo a la capa de base de datos. Este es el funcionamiento de la arquitectura de N capas.
En una aplicación distribuida en n-capas los diferentes procesos están distribuidos en diferentes capas no sólo lógicas, sino también físicas. los procesos se ejecutan en diferentes equipos, que pueden incluso residir en plataformas o sistemas operativos completamente distintos. cada equipo posee una configuración distinta y está optimizado para realizar el papel que le ha sido asignado dentro de la estructura de la aplicación, de modo que tanto los recursos como la eficiencia global del sistema se optimicen.



1.2 Arquitecturas Cliente-Servidor


Una arquitectura es un conjunto de reglas, definiciones, términos y modelos que se emplean para producir un producto. 
La arquitectura Cliente/Servidor agrupa conjuntos de elementos que efectúan procesos distribuidos y computo cooperativo. 

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). 

Esta arquitectura consiste básicamente en un cliente que realiza peticiones a otro programa (el servidor) que le da respuesta. Aunque esta idea se puede aplicar a programas que se ejecutan sobre una sola computadora es más ventajosa en un sistema operativo multiusuario distribuido a través de una red de computadoras.


La arquitectura cliente-servidor sustituye a la arquitectura monolítica en la que no hay distribución, tanto a nivel físico como a nivel lógico.

La red Cliente/Servidor es aquella red de comunicaciones en la que todos los clientes están conectados a un servidor, en el que se centralizan los diversos recursos y aplicaciones con que se cuenta; y que los pone a disposición de los clientes cada vez que estos son solicitados. Esto significa que todas las gestiones que se realizan se concentran en el servidor, de manera que en él se disponen los requerimientos provenientes de los clientes que tienen prioridad, los archivos que son de uso público y los que son de uso restringido, los archivos que son de sólo lectura y los que, por el contrario, pueden ser modificados, etc. 


lunes, 25 de febrero de 2013

Web 4.0

¿Y ahora la Web 4.0? Este término motiva a pensar qué será ese tipo de Web, por ahora algunos señalan que el resultado de Web 3D+ Web 3.0 (web semántica) + Inteligencia Artificial + Voz como vehículo de intercomunicación= Web 4.0 (web total) es decir que una vez se establezca esta web semántica (entre el año 2010 y el 2020) será el turno de avanzar hacia la web 4.0 en la que el sistema operativo establecido en la web cobre protagonismo, hacia una Web Ubicua, donde el objetivo primordial será el de unir las inteligencias donde tanto las personas como las cosas se comuniquen entre sí para generar la toma de decisiones. Para el 2020 se espera que haya agentes en la Web que conozcan, aprendan y razonen como lo hacemos las personas.

Adjunto el siguiente enlace de un artículo sobre algunos prototipos de lo que podría llegar a ser la web 4.0, como sistemas operativos instalados en la web .

Sistemas operativos web en función

Web 3.0

La Web 3.0 es una extensión del World Wide Web en el que se puede expresar no sólo lenguaje natural, también se puede utilizar un lenguaje que se puede entender, interpretar utilizar por agentes software, permitiendo de este modo encontrar, compartir e integrar la información más fácilmente.
El termino se acuño en 2001 en un artículo científico escrito por American Boauthored Berners-Lee en el que se describía el término como lugar en el cual las máquinas pueden leer páginas Web con la misma facilidad con la que los humanos lo hacemos.

La Web 3.0 y sus servicios se fundamentan en el colectivo de la Web Semántica, búsquedas de lenguaje natural, data-mining, aprendizaje automático y asistencia de agentes, todo ello conocido como técnicas de la Inteligencia Artificial o Inteligencia Web.
De acuerdo a algunos expertos, “la Web 3.0 está caracterizada y aprovisionada por la acertada unión de la Inteligencia Artificial y la Web”, mientras que algunos expertos han definido la Web 3.0 como el siguiente paso en la progresión de las tuberís que conforman Internet.



Web 3.0 – Aplicaciones web conectándose a aplicaciones web, a fin de enriquecer la experiencia de las personas, a esto agrega: estado de conciencia del contexto en la Web Geoespacial, autonomía respecto del navegador y construcción de la Web Semántica.

Web 2-0

La Web 2.0 es la representación de la evolución de las aplicaciones tradicionales hacia aplicaciones web enfocadas al usuario final. El Web 2.0 es una actitud y no precisamente una tecnología. Surge como continuación de la que tendría que haber sido web 1.0.
Las aplicaciones web de la nueva era se caracterizan por:
●La plataforma es la web, se tiende a utilizarla más que el propio
PC.
●Los datos son lo importante
● Arquitectura de participación colectiva que forman las llamadas
redes sociales, como son los blogs, los wikis, facebook, my space, entre otro tipo de redes sociales.
●Los desarrolladores no pertenecen a grandes empresas, son
independientes.
● Todo es siempre beta (se mejora continuamente)

Dicen que una imagen vale mas que mil palabras, así que, en la siguiente imagen vemos todas las características que la Web 2.0



La información en la web 2.0
● Permite la distribución y publicación de un mismo contenido en
muchos sitios.
● Puede extraerse de sus repositorios originales y situarse en cualquier
otro lugar.
● Ofrece una vía mediante la cual podemos seleccionar información
valiosa dentro de la gran masa que hoy caracteriza a Internet.
● Los contenidos a los que podemos acceder con esta tecnología son
variados: escritos, sonoros, vídeos, fotos.

Aquí comienzan las páginas dinámicas, y tanto el usuario como el webmaster contribuyen para la constate actualización del sitio.



domingo, 24 de febrero de 2013

Web 1.0


Web 1.0 era principalmente una red de sólo lectura. Web 1.0 era estática y poco mono-direccional. Las empresas podrían proporcionar catálogos o folletos para presentar sus producciones utilizando la web y personas podían leer y se estableció contacto con las empresas.

La sitios web incluyen páginas HTML estáticas que han actualizado con poca frecuencia. El objetivo principal de los sitios web fue la publicación de la información para cualquier persona en cualquier momento y establecer una presencia en línea. La sitios web no son interactivos y de hecho ha sido el folleto-ware.

 Protocolos básicos de la Web 1.0 son HTTP, HTML y URL




lunes, 4 de febrero de 2013

1.1 Evolución de las aplicaciones Web

La Web ya se ha convertido en una especie de “presencia natural” para la gran mayoría de los usuarios. Pero quienes la hemos visto crecer desde sus inicios sabemos muy bien que el proceso no fue tan sencillo como aparenta. Aún sin tener una relación directa con sus elementos de desarrollo o con los estándares que le han dado forma con el paso de los años, existían otros aspectos más básicos que hacían de la Web todo un desafío. La maduración llegó no sólo a través de las tecnologías que formaron la Web, sino de las que permitían el acceso a ella. La banda ancha cambió por completo nuestra forma de navegar y consumir contenido.