UNIDAD 1. PLATAFORMA WEB



INDICE




1.Plataforma Web.

1.1. Evolución de las Aplicaciones Web.

1.1.1. Web 1.0.

1.1.2. Web 2.0.

1.1.3. Web 3.0.

1.2. Arquitecturas de la Tecnología Cliente - Servidor.

1.2.1. Aplicaciones de 2, 3 y n Capas.

1.3. Lenguajes de Programación Web y DBMS.

1.4. Instalación y Configuración de la Plataforma Web en Multiplataforma.

1.4.1. Sistema Operativo.

1.4.2. Servidor Web.

1.4.4. Web

1.4.5. DBMS.

1.5. Seguridad.




1.Plataforma Web.




Una plataforma web, estamos diciéndo que nuestro sistema funcionará desde un navegador web, independientemente del sistema operativo (SO) que se esté utilizando.



Esto tiene la ventaja de que no es necesario crear el mismo software para cada tipo de SO. Pero tiene desventajas en el sentido de que no puede ser tan potente como un sistema que funciona usando los recursos del SO.



La plaforma web referencia a un sistema que te permita crear y administrar un sitio web. Es el caso de Blogspot, MySpace o cualquier otra plataforma web que nos permite crear un blog, empleando un sistema web donde podemos subir artículos, crear categorías, administrar los usuarios que se suscriban a nuestro blog, etc.






1.1. Evolución de las Aplicaciones Web





Con la introducción de Internet y del Web en concreto, se han abierto infinidad de posibilidades en cuanto al acceso a la información desde casi cualquier sitio. Esto representa un desafío a los desarrolladores de aplicaciones, ya que los avances en tecnología demandan cada vez aplicaciones más rápidas, ligeras y robustas que permitan utilizar el Web.


Afortunadamente, tenemos herramientas potentes para realizar esto, ya que han surgido nuevas tecnologías que permiten que el acceso a una base de datos desde el Web, por ejemplo, sea un mero trámite. El único problema es decidir entre el conjunto de posibilidades la correcta para cada situación.


El viejo CGI ha cumplido con el propósito de añadir interactividad a las páginas Web pero sus deficiencias en el desarrollo de aplicaciones y en la escalabilidad de las mismas ha conducido al desarrollo de APIs específicos de servidor como Active Server Pages, ASP, y PHP, que son más eficientes que su predecesor CGI.


Para aprovechar el potencial de estas tecnologías y ofertar una solución de servidor más extensible y portable, Sun ha desarrollado la tecnología llamada servlet. Los servlets Java son muy eficientes, debido al esquema de threads en el que se basan y al uso de una arquitectura estándar como la JVM, Java Virtual Machine.


Otra nueva tecnología viene a sumarse a las que extienden la funcionalidad de los servidores Web, llamada Java Server Pages, JSP. Los JSP permiten juntar HTML, aplicaciones Java, y componentes como las Java Beans creando una página Web especial que el servidor Web compila dinámicamente en un servlet la primera vez que es llamada.






1.1.1. Web 1.0.





La 'Web 1.0 (1991-2003) es la forma más básica que existe, con navegadores de sólo texto bastante rápidos. Después surgió el HTML que hizo las páginas web más agradables a la vista, así como los primeros navegadores visuales tales como IE, Netscape,explorer (en versiones antiguas), etc.


La Web 1.0 es de sólo lectura. El usuario no puede interactuar con el contenido de la página (nada de comentarios, respuestas, citas, etc), estando totalmente limitado a lo que el Webmaster sube a ésta.


Web 1.0 se refiere a un estado de la World Wide Web, y cualquier página web diseñada con un estilo anterior del fenómeno de la Web 2.0. Es en general un término que ha sido creado para describir la Web antes del impacto de la fiebre punto com en el 2001, que es visto por muchos como el momento en que el internet dio un giro.





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


Cuando el web inició, nos encontrábamos en un entorno estático, con páginas en HTML que sufrían pocas actualizaciones y no tenían interacción con el usuario.


La Web 2.0 es la transición que se ha dado de aplicaciones tradicionales hacia aplicaciones que funcionan a través del web enfocadas al usuario final. Se trata de aplicaciones que generen colaboración y de servicios que reemplacen las aplicaciones de escritorio.


Todo inició cuando Dale Dougherty de O’Reilly Media utilizó este término en una conferencia en la que compartió una lluvia de ideas junto a Craig Cline deMedia Live? en la que hablaba del renacimiento y evolución de la web. Constantemente estaban surgiendo nuevas aplicaciones y sitios con sorprendentes funcionalidades. Y así se dio la pauta para la Web 2.0 conference de 2004. Esta conferencia no solo fue exitosa sino que ya tuvo seguimiento en la Web 2.0 Conference del 2005 celebrada en Octubre.


En la charla inicial del Web Conference se habló de los principios que tenían las aplicaciones Web 2.0:


La web es la plataforma


La información es el procesador


Efectos de la red movidos por una arquitectura de participación.


La innovación surge de características distribuidas por desarrolladores independientes.


El fin del círculo de adopción de software (“Servicios en beta perpetuo”).





1.1.3. Web 3.0.



Web 3.0 es una expresión que se utiliza para describir la evolución del uso y la interacción de las personas en internet a través de diferentes formas entre los que se incluyen la transformación de la red en una base de datos, un movimiento social hacia crear contenidos accesibles por múltiples aplicaciones non-browser, el empuje de las tecnologías de inteligencia artificial, la web semántica, la Web Geoespacial o la Web 3D. La expresión es utilizada por los mercados para promocionar las mejoras respecto a la Web 2.0. Esta expresión Web 3.0 apareció por primera vez en 2006 en un artículo de Jeffrey Zeldman, crítico de la Web 2.0 y asociado a tecnologías como AJAX. Actualmente existe un debate considerable en torno a lo que significa Web 3.0, y cuál sea la definición más adecuada.




1.2. Arquitecturas de la Tecnología Cliente - Servidor. 



La arquitectura cliente-servidor es un modelo de aplicación distribuida en el que las tareas se reparten entre los proveedores de recursos o servicios, llamados servidores, y los demandantes, llamados clientes. Un cliente realiza peticiones a otro programa, el servidor, que le da respuesta. Esta idea también se puede aplicar a programas que se ejecutan sobre una sola computadora, aunque es más ventajosa en un sistema operativo multiusuario distribuido a través de una red de computadoras.


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.


Una disposición muy común son los sistemas multicapa en los que el servidor se descompone en diferentes programas que pueden ser ejecutados por diferentes computadoras aumentando así el grado de distribución del sistema.


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. Este tipo de red puede utilizarse conjuntamente en caso de que se este utilizando en una red mixta.


Características


En la arquitectura C/S el remitente de una solicitud es conocido como cliente. Sus características son: 
Es quien inicia solicitudes o peticiones, tienen por tanto un papel activo en la comunicación (dispositivo maestro o amo). 
Espera y recibe las respuestas del servidor. 
Por lo general, puede conectarse a varios servidores a la vez. 
Normalmente interactúa directamente con los usuarios finales mediante una interfaz gráfica de usuario. 
Al contratar un servicio de redes, se debe tener en cuenta la velocidad de conexión que le otorga al cliente y el tipo de cable que utiliza , por ejemplo : cable de cobre ronda entre 1 ms y 50 ms. 


Al receptor de la solicitud enviada por el cliente se conoce como servidor. Sus características son: 
Al iniciarse esperan a que lleguen las solicitudes de los clientes, desempeñan entonces un papel pasivo en la comunicación (dispositivo esclavo). 
Tras la recepción de una solicitud, la procesan y luego envían la respuesta al cliente. 
Por lo general, aceptan conexiones desde un gran número de clientes (en ciertos casos el número máximo de peticiones puede estar limitado). 
No es frecuente que interactúen directamente con los usuarios finales. 


Arquitecturas multi-capas



La arquitectura cliente/servidor genérica tiene dos tipos de nodos en la red: clientes y servidores. Consecuentemente, estas arquitecturas genéricas se refieren a veces como arquitecturas de dos niveles o dos capas.


Algunas redes disponen de tres tipos de nodos: 
Clientes que interactúan con los usuarios finales. 
Servidores de aplicación que procesan los datos para los clientes. 
Servidores de la base de datos que almacenan los datos para los servidores de aplicación. 


Esta configuración se llama una arquitectura de tres-capas. 
Ventajas de las arquitecturas n-capas: 


La ventaja fundamental de una arquitectura n-capas comparado con una arquitectura de dos niveles (o una tres-capas con una de dos niveles) es que separa hacia fuera el proceso, eso ocurre para mejorar el balance la carga en los diversos servidores; es más escalable. 
Desventajas de las arquitecturas de la n-capas: 
Pone más carga en la red, debido a una mayor cantidad de tráfico de la red. 
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. 


DBMS
(Data Base Management System). Son las siglas en inglés para los Sistemas de Gestión de Bases de Datos (SGBD). Bajo este nombre se conoce a productos de fabricantes como Oracle, Sybase, Informix, Ingres, Borland, Microsoft, IBM, etc.



Sistema de administración de bases de datos. Software que controla la organización, almacenamiento, recuperación, seguridad e integridad de los datos en una base de datos. Acepta solicitudes de la aplicación y ordena al sistema operativo transferir los datos apropiados.
Los DBMS pueden trabajar con lenguajes de programación tradicionales (COBOL, C, etc.) o pueden incluir su propio lenguaje de programación. Por ejemplo, dBASE y Paradox son programas de base de datos con un DBMS, un lenguaje completo de programación y un lenguaje de cuarta generación, haciendo de ellos sistemas completos de desarrollo de aplicaciones. Los comandos de los lenguajes de cuarta generación permiten a los usuarios crear en forma interactiva archivos de bases de datos, editarlos, formular preguntas e imprimir informes sin necesidad de programación. Miles de aplicaciones han sido desarrolladas en ambientes como éstos.




1.4. Instalación y Configuración de la Plataforma Web en Multiplataforma. 




Lo primero, la utilidad, una aplicación en PHP o Java o cualquier otro lenguaje, como por ejemplo un juego o un TPV, una tienda, un portal…, cualquier tipo de aplicación puede compartir datos como hemos visto en los cursos y talleres de servicios web, pero podemos avanzar un poco más: si comprendemos el uso de una plantilla XSLT que transforme un fichero XML, siendo este la salida de nuestra aplicación, en un fichero XHTML que el navegador interpreta, sea en un móvil, un ordenador de escritorio o cualquier otro formato que necesitemos…entonces, las posibilidades son ilimitadas.


Para nosotros como webmasters, programadores, diseñadores…, un XSLT es un fichero que sirve para dar formato HTML a un fichero XML.
http://es.wikipedia.org/wiki/Extensible_Stylesheet_Language_Transformations
¿Cómo?
En español, si abres un fichero .XML con el navegador, éste lee la cabecera buscando de qué manera interpretarlo, aquí entra en juego el esquema XSLT, donde la T es de template, o sea, plantilla, en nuestro caso, una plantilla XHTML.
Bueno, vamos a los ejemplos, éste en concreto es de la W3C:
http://www.w3schools.com/xml/simplexsl.xml
como ves, es una dirección .XML que interpreta el navegador, incluso el IE6 :-).
Esto lo hace gracias a que en la cabecera aparece:

<?xml-stylesheet type=”text/xsl” href=”simple.xsl” ?>
entonces, usa la hoja de estilos o plantilla para dar formato que está en la misma dirección pero con distinta extensión:
http://www.w3schools.com/xml/simple.xsl
como ves, este fichero se basa en un esquema de TRANSFORMACIÓN, lo que quiere decir que va a tomar el contenido del fichero inicial .XML y usando las reglas del XSL va a convertir las etiquetas con nombres comunes, en el ejemplo, son elementos del desayuno, ej.) “<breakfast_menu>” , en divisiones del tipo:
——-
<div style=”..”>
<span>
<!–etc.–>
</span>
</div>
——-
En concreto, esta regla es :
________________________________
<xsl:for-each select=”breakfast_menu/food”>
[CODIGO XHTML]
</xsl:for-each>
________________________________
para extraer los valores de un elemento de un nodo xml, se utiliza <xsl:value-of select=”RUTA/NOMBRE_NODO”/>
que es lo que se utiliza en el ejemplo para el precio, nodo <price> (que está dentro de <food>, que está dentro del menú <breakfast_menu>, que es la raíz o root del documento).
Para mostrar el valor de un atributo, por ejemplo,si a cada nodo <price> le añadimos la moneda:
<price currency=”dollar”>8.50</price>
en la plantilla xslt ,el valor se sacaría, así:
<xsl:value-of select=”price/@currency”/>
ya que estamos dentro de un bucle (o loop) que recorre todos los elementos del tipo
breakfast_menu/food
es decir, todos los <food>, dentro tienen un <price> y sacamos el atributo currency con la @.



1.4.1. Sistema Operativo. 



I.- FUNDAMENTOS DEL SISTEMA OPERATIVO


1.1 EVOLUCION HISTORICA


Primera generación (1945-1955)



Hardware: Tubos de vacío y paneles de control. Sistema Operativo: No existe.




Segunda Generación (1955-1965)


Hardware: Transistores (tarjetas perforadas). Sistema Operativo:


*S. O. de trabajo único: sólo se dedica a " preparar" el sistema para la llegada de trabajos.



*S. O. por lotes (batch): automatiza la secuencia de operaciones in- volucradas en la ejecución de un programa usando ordenes que lee, interpreta y ejecuta el monitor de lotes (porción de código residente en memoria).


Tercera generación (1965-1980) Hardware: Circuitos integrados. Sistema Operativo:


*S. O. de multiprogramación: más de un programa residente en memoria principal al mismo tiempo. (grado de multiprogramación y overhead)


*S. O. de multiprocesamiento: más de un procesador.


*S. O. mutiusuario o multiacceso: permite acceder a varios usuarios a un mismo ordenador mediante terminales interactivos (tiempo de respuesta).


*S. O. de tiempo compartido: multiprogramación, multiusuario e in- teractivo. El usuario tiene la impresión de que es él el único que trabaja con la máquina.


Sesión de trabajo: desde que el usuario se conecta a través de un terminal, hasta que se desconecta del sistema.


Cuarta generación (1980-1990)


Hardware: Microprocesador (computador personal). Sistema Operativo: (para comunicar varias máquinas)


*S. O. de red: el usuario es conciente de la existencia de varias máquinas e indica de forma explicita con cual desea trabajar.


*S.O. distribuido: el usuario no es conciente de las máquinas conec- tadas entre si (transparencia).




1.2. CARACTERISTICAS DEL S.O


Un sistema operativo debe ser:


*Determinista: el mismo programa ejecutado con los mismos datos debe dar los mismos resultados en cualquier momento y en cualquier ejecución;



*In determinista: el S. O. debe responder a circunstancias que pueden ocurrir en un orden impredecible.



1.3. FUNCIONES PRINCIPALES DEL S.O


1. Inicializar la máquina: preparar el ordenador para su funcionamiento. a) Inicialización total (Initial Program Loading (IPL), Bootstrap-
ping).


b) Inicialización parcial.

2. Servir de máquina extendida (virtual): ocultar los detalles del hardware al usuario y proporcionar un entorno más cómodo. Obje- tivos:


a) Seguridad: el S. O. debe evitar que la ejecución de los programas se interfieran unos entre otros.


 Modos de operación del Hardwarare:


*Modo usuario (estado no privilegiado),


*Modo supervisor (estado privilegiado).


b) Abstracción: los S.O. construyen recursos (virtuales) de alto nivel a partir de los recursos de más bajo nivel (físicos). La máquina física se transforma en una máquina virtual. Con el lenguaje de comandos del S. O. (shell, Interfase externa) se invocan a esos servicios.


3. Administrar los recursos para su funcionamiento: el S.O. es el responsable de:


a) asignar a un programa todos los recursos que necesite. Para ello, debe ser justo en el reparto y en el tiempo asignado, impidiendo que no se favorezca a determinados programas;


b) controlar el uso correcto de los recursos de forma que los programas no se interfieran.


1.4.1.Sistemas Operativos de multiprogramación (o Sistemas Opera- tivos de multitarea).



Es el modo de funcionamiento disponible en algunos sistemas oper- ativos, mediante el cual una computadora procesa varias tareas al mismo tiempo. Existen varios tipos de multitareas. La conmutación de contextos (context Switching) es un tipo muy simple de multitarea en el que dos o más aplicaciones se cargan al mismo tiempo, pero en el que solo se esta procesando la aplicación que se encuentra en primer plano (la que ve el usuario). Para activar otra tarea que se encuentre en segundo plano, el usuario debe traer al primer plano la ventana o pantalla que contenga esa aplicación. En la multitarea cooperativa, la que se utiliza en el sistema operativo Macintosh, las tareas en segundo plano reciben tiempo de procesado durante los tiempos muertos de la tarea que se encuentra en primer plano (por ejemplo, cuando esta aplicación esta esperando información del usuario), y siempre que esta aplicación lo permita. En los sistemas multitarea de tiempo compar- tido, como OS/2, cada tarea recibe la atención del microprocesador durante una fracción de segundo. Para mantener el sistema en orden, cada tarea recibe un nivel de prioridad o se procesa en orden secuen- cial. Dado que el sentido temporal del usuario es mucho más lento que la velocidad de procesamiento del ordenador, las operaciones de multitarea en tiempo compartido parecen ser simultáneas.


Se distinguen por sus habilidades para poder soportar la ejecución de dos o más trabajos activos (que se están ejecutado) al mismo tiempo. Esto trae como resultado que la Unidad Central de Procesamiento (UCP) siempre tenga alguna tarea que ejecutar, aprovechando al máximo su utilización.

Su objetivo es tener a varias tareas en la memoria principal, de man- era que cada uno está usando el procesador, o un procesador distinto, es decir, involucra máquinas con más de una UCP.

Sistemas Operativos como UNIX, Windows 95, Windows 98, Win- dows NT, MAC-OS, OS/2, soportan la multitarea.

Las características de un Sistema Operativo de multiprogramación o multitarea son las siguientes:

*Mejora productividad del sistema y utilización de recursos.

*Multiplexa recursos entre varios programas.

*Generalmente soportan múltiples usuarios (multiusuarios).

*Proporcionan facilidades para mantener el entorno de usuarios indi- viduales.


*Requieren validación de usuario para seguridad y protección.

*Proporcionan contabilidad del uso de los recursos por parte de los usuarios.

*Multitarea sin soporte multiusuario se encuentra en algunos com- putadores personales o en sistemas de tiempo real.

*Sistemas multiprocesadores son sistemas multitareas por definición ya que soportan la ejecución simultánea de múltiples tareas sobre diferentesprocesadores.


En general, los sistemas de multiprogramación se caracterizan por tener múltiples programas activos compitiendo por los recursos del sistema: procesador, memoria, dispositivos periféricos.



1.4.2.Sistema Operativo Monotareas.


Los sistemas operativos monotareas son más primitivos y es todo lo contrario al visto anteriormente, es decir, solo pueden manejar un proceso en cada momento o que solo puede ejecutar las tareas de una en una. Por ejemplo cuando la computadora esta imprimiendo un documento, no puede iniciar otro proceso ni responder a nuevas instrucciones hasta que se termine la impresión.



1.4.3.Sistema Operativo Monousuario.


Los sistemas monousuarios son aquellos que nada más puede atender a un solo usuario, gracias a las limitaciones creadas por el hardware, los programas o el tipo de aplicación que se este ejecutando.


Estos tipos de sistemas son muy simples, porque todos los disposi- tivos de entrada, salida y control dependen de la tarea que se esta utilizando, esto quiere decir, que las instrucciones que se dan, son procesadas de inmediato; ya que existe un solo usuario. Y están orientados principalmente por los microcomputadores.




1.4.4.Sistema Operativo Multiusuario.


Es todo lo contrario a monousuario; y en esta categoría se encuentran todos los sistemas que cumplen simultáneamente las necesidades de dos o más usuarios, que comparten mismos recursos. Este tipo de sistemas se emplean especialmente en redes.


En otras palabras consiste en el fraccionamiento del tiempo (time- sharing).


1.4.5.Sistemas Operativos por lotes.



Los Sistemas Operativos por lotes, procesan una gran cantidad de trabajos con poca o ninguna interacción entre los usuarios y los pro- gramas en ejecución. Se reúnen todos los trabajos comunes para realizarlos al mismo tiempo, evitando la espera de dos o más trabajos como sucede en el procesamiento en serie. Estos sistemas son de los más tradicionales y antiguos, y fueron introducidos alrededor de 1956 para aumentar la capacidad de procesamiento de los programas.

Cuando estos sistemas son bien planeados, pueden tener un tiempo de ejecución muy alto, porque el procesador es mejor utilizado y los Sistemas Operativos pueden ser simples, debido a la secuenciabilidad de la ejecución de los trabajos.

Algunos ejemplos de Sistemas Operativos por lotes exitosos son el SCOPE, del DC6600, el cual está orientado a procesamiento cientí- fico pesado, y el EXEC II para el UNIVAC 1107, orientado a proce- samiento académico.


Algunas otras características con que cuentan los Sistemas Operativos por lotes son:

*Requiere que el programa, datos y órdenes al sistema sean remitidos todos juntos en forma de lote.

*Permiten poca o ninguna interacción usuario/programa en ejecu- ción.

*Mayor potencial de utilización de recursos que procesamiento serial simple en sistemas multiusuarios.


*No conveniente para desarrollo de programas por bajo tiempo de retorno y depuración fuera de línea.


*Conveniente para programas de largos tiempos de ejecución (ej, análisis estadísticos, nóminas de personal, etc.).


*Planificación del procesador sencilla, típicamente procesados en or- den de llegada.

*Planificación de memoria sencilla, generalmente se divide en dos:

parte residente del S.O. y programas transitorios.


*No requieren gestión crítica de dispositivos en el tiempo.

*Suelen proporcionar gestión sencilla de manejo de archivos: se re- quiere poca protección y ningún control de concurrencia para el ac- ceso.



1.4.6.Sistemas Operativos de tiempo real.


Los Sistemas Operativos de tiempo real son aquellos en los cuales no tiene importancia el usuario, sino los procesos. Por lo general, están subutilizados sus recursos con la finalidad de prestar atención a los procesos en el momento que lo requieran. se utilizan en entornos donde son procesados un gran número de sucesos o eventos.

Muchos Sistemas Operativos de tiempo real son construidos para apli- caciones muy específicas como control de tráfico aéreo, bolsas de val- ores, control de refinerías, control de laminadores. También en el ramo automovilístico y de la electrónica de consumo, las aplicaciones de tiempo real están creciendo muy rápidamente. Otros campos de aplicación de los Sistemas Operativos de tiempo real son los sigu- ientes:



*Control de trenes.

*Telecomunicaciones.

*Sistemas de fabricación integrada.

*Producción y distribución de energía eléctrica.


*Control de edificios.


*Sistemas multimedia.


Algunos ejemplos de Sistemas Operativos de tiempo real son: Vx- Works, Solaris, Lyns OS y Spectra. Los Sistemas Operativos de tiempo real, cuentan con las siguientes características:

*Se dan en entornos en donde deben ser aceptados y procesados gran cantidad de sucesos, la mayoría externos al sistema computacional, en breve tiempo o dentro de ciertos plazos.

*Se utilizan en control industrial, conmutación telefónica, control de vuelo, simulaciones en tiempo real., aplicaciones militares, etc.

*Objetivo es proporcionar rápidos tiempos de respuesta.

*Procesa ráfagas de miles de interrupciones por segundo sin perder un solo suceso.

*Proceso se activa tras ocurrencia de suceso, mediante interrupción.

*Proceso de mayor prioridad expropia recursos.

*Por tanto generalmente se utiliza planificación expropiativa basada en prioridades.

*Gestión de memoria menos exigente que tiempo compartido, usual- mente procesos son residentes permanentes en memoria.

*Población de procesos estática en gran medida.


*Poco movimiento de programas entre almacenamiento secundario y memoria.


*Gestión de archivos se orienta más a velocidad de acceso que a uti- lización eficiente del recurso.



1.4.7.Sistemas Operativos de tiempo compartido.


Permiten la simulación de que el sistema y sus recursos son todos para cada usuario. El usuario hace una petición a la computadora, esta la procesa tan pronto como le es posible, y la respuesta aparecerá en la terminal del usuario.


Los principales recursos del sistema, el procesador, la memoria, dis- positivos de E/S, son continuamente utilizados entre los diversos usuarios, dando a cada usuario la ilusión de que tiene el sistema ded- icado para sí mismo. Esto trae como consecuencia una gran carga de trabajo al Sistema Operativo, principalmente en la administración de memoria principal y secundaria.


Ejemplos de Sistemas Operativos de tiempo compartido son Multics, OS/360 y DEC-10.


Características de los Sistemas Operativos de tiempo compartido:

*Populares representantes de sistemas multiprogramados multiusuario, ej: sistemas de diseño asistido por computador, procesamiento de texto, etc.


*Dan la ilusión de que cada usuario tiene una máquina para sí.


*Mayoría utilizan algoritmo de reparto circular.


*Programas se ejecutan con prioridad rotatoria que se incrementa con la espera y disminuye después de concedido el servicio.


*Evitan monopolización del sistema asignando tiempos de procesador


(time slot).



*Gestión de memoria proporciona protección a programas residentes.


*Gestión de archivo debe proporcionar protección y control de acceso debido a que pueden existir múltiples usuarios accesando un mismo archivos.




1.4.8.Sistemas Operativos distribuidos.

Permiten distribuir trabajos, tareas o procesos, entre un conjunto de procesadores. Puede ser que este conjunto de procesadores esté en un equipo o en diferentes, en este caso es trasparente para el usuario. Ex- isten dos esquemas básicos de éstos. Un sistema fuertemente acoplado es a es aquel que comparte la memoria y un reloj global, cuyos tiempos de acceso son similares para todos los procesadores. En un sistema débilmente acoplado los procesadores no comparten ni memoria ni reloj, ya que cada uno cuenta con su memoria local.


Los sistemas distribuidos deben de ser muy confiables, ya que si un componente del sistema se compone otro componente debe de ser capaz de reemplazarlo.



Entre los diferentes Sistemas Operativos distribuidos que existen ten- emos los siguientes: Sprite, Solaris-MC, Mach, Chorus, Spring, Amoeba, Taos, etc.


Características de los Sistemas Operativos distribuidos:


*Colección de sistemas autónomos capaces de comunicación y coop- eración mediante interconexiones hardware y software .


*Gobierna operación de un S.C. y proporciona abstracción de máquina virtual a los usuarios.


*Objetivo clave es la transparencia.


*Generalmente proporcionan medios para la compartición global de recursos.



*Servicios añadidos: denominación global, sistemas de archivos dis- tribuidos, facilidades para distribución de cálculos (a través de comu- nicación de procesos internodos, llamadas a procedimientos remotos, etc.).




1.4.9.Sistemas Operativos de red.



Son aquellos sistemas que mantienen a dos o más computadoras unidas através de algún medio de comunicación (físico o no), con el objetivo primordial de poder compartir los diferentes recursos y la información del sistema.



El primer Sistema Operativo de red estaba enfocado a equipos con un procesador Motorola 68000, pasando posteriormente a procesadores Intel comoNovell Netware.



Los Sistemas Operativos de red mas ampliamente usados son: Novell Netware, Personal Netware, LAN Manager, Windows NT Server, UNIX, LANtastic.




1.4.10.Sistemas Operativos paralelos.




En estos tipos de Sistemas Operativos se pretende que cuando existan dos o más procesos que compitan por algún recurso se puedan realizar o ejecutar al mismo tiempo.



En UNIX existe también la posibilidad de ejecutar programas sin tener que atenderlos en forma interactiva, simulando paralelismo (es decir, atender de manera concurrente varios procesos de un mismo usuario). Así, en lugar de esperar a que el proceso termine de eje- cutarse (como lo haría normalmente), regresa a atender al usuario inmediatamente después de haber creado el proceso.



Ejemplos de estos tipos de Sistemas Operativos están: Alpha, PVM, la serie AIX, que es utilizado en los sistemas RS/6000 de IBM.



1.4.2. Servidor Web.

 


El objetivo de toda organización radica en la obtención de mas ganancias, mantenerse en el gusto de sus clientes y por supuesto que el numero de ellos incremente; es así como pequeñas, medianas y grandes empresas buscan soluciones de marketing que le den ventajas competitivas sobre los competidores locales, una de las estrategias que busca la obtención de nuevos clientes es la exploración de nuevos mercados, actualmente estos no son solo buscados localmente, sino que la tecnología provee otro camino como buscar en línea (internet), de ahí radica la importancia del conocimiento de las plataformas tecnológicas que son utilizadas para dar el soporte a los negocios electrónicos.


En este artículo se aborda el tema de los servidores web, una de las plataformas necesarias para poder mantener a los sitios web que se dedican a los negocios electrónicos.


Desarrollo
Conceptos Básicos


Iniciaremos por definir lo que es un servidor, como su nombre lo indica, son los dispositivos de red que brindan un servicio a otros dispositivos, a los cuales se les conoce como clientes. En general quien realiza esta tarea es un software especializado, pero comúnmente se conoce como servidor al equipo físico donde se ejecuta, el cual es el centro de la infraestructura de la red.


En redes pequeñas es común que un equipo brinde varios servicios simultáneamente como, por ejemplo, un servidor de archivos el cual también es servidor de impresión.


Partiendo de esta definición, cualquier computadora en la red puede ser un servidor sin necesidad de contar con un hardware o software en particular; aunque existen sistemas operativos especializados (como Microsoft Windows Server, Debian GNU/Linux y SUN Solaris entre otros) los cuales fueron diseñados específicamente para optimizar los recursos que se comparten a la red. De la misma manera, existen equipos puntualmente creados para funcionar con grandes volúmenes de información, durante las 24hs y con mejor rendimiento y velocidad que el hardware de escritorio.



Los servidores se pueden clasificar en distintos tipos de los cuales podemos mencionar, los servidores de archivos su función es la de centralizar la información de todos los usuarios de la red almacenando archivos de usuario, los cuales acceden remotamente a los mismos. Los servidores de aplicaciones en donde el servidor permite el procesamiento de datos de una aplicación de cliente. También existen los servidores de correo en donde se mueven y almacenan el correo electrónico a través de las redes corporativas (vía LANs y WANs) y a través de Internet. Los servidores de base de datos los cuales poseen un tipo de software muy específico, dedicado a servir de interfaz entre la base de datos, el usuario y las aplicaciones que la utilizan.



Los servidores web son aquellos cuya tarea es alojar sitios y/o aplicaciones, las cuales son accedidas por los clientes utilizando un navegador que se comunica con el servidor utilizando el protocolo HTTP (hypertext markup language).


Básicamente un servidor WEB consta de un interprete HTTP el cual se mantiene a la espera de peticiones de clientes y le responde con el contenido según sea solicitado. El cliente, una vez recibido el código, lo interpreta y lo exhibe en pantalla.



Además los servidores pueden disponer de un intérprete de otros lenguajes de programación que ejecutan código embebido dentro del código HTMLde las páginas que contiene el sitio antes de enviar el resultado al cliente. Esto se conoce como programación de lado del servidor y utiliza lenguajes como ASP, PHP, Perl y Ajax. Las ventajas de utilizar estos lenguajes radica en la potencia de los mismos ejecutando tareas mas complejas como, por ejemplo acceder a bases de datos abstrayendo al cliente de toda la operación.




1.4.4. Web. 




En informática, la World Wide Web (WWW) o Red informática mundial1 es un sistema de distribución de información basado en hipertexto o hipermedios enlazados y accesibles a través de Internet. Con un navegador web, un usuario visualiza sitios web compuestos de páginas web que pueden contener texto, imágenes, vídeos u otros contenidos multimedia, y navega a través de ellas usando hiperenlaces.




La Web fue creada alrededor de 1989 por el inglés Tim Berners-Lee con la ayuda del belga Robert Cailliau mientras trabajaban en el CERN en Ginebra, Suiza, y publicado en 1992. Desde entonces, Berners-Lee ha jugado un papel activo guiando el desarrollo de estándares Web (como los lenguajes de marcado con los que se crean las páginas web), y en los últimos años ha abogado por su visión de una Web semántica.




1.4.5. DBMS. 



Los sistemas de gestión de bases de datos (en inglés database management system, abreviado DBMS) son un tipo de software muy específico, dedicado a servir de interfaz entre la base de datos, el usuario y las aplicaciones que la utilizan.



El propósito general de los sistemas de gestión de bases de datos es el de manejar de manera clara, sencilla y ordenada un conjunto de datos que posteriormente se convertirán en información relevante para una organización.



Existen distintos objetivos que deben cumplir los SGBD: 
Abstracción de la información. Los SGBD ahorran a los usuarios detalles acerca del almacenamiento físico de los datos. Da lo mismo si una base de datos ocupa uno o cientos de archivos, este hecho se hace transparente al usuario. Así, se definen varios niveles de abstracción. 
Independencia. La independencia de los datos consiste en la capacidad de modificar el esquema (físico o lógico) de una base de datos sin tener que realizar cambios en las aplicaciones que se sirven de ella. 
Consistencia. En aquellos casos en los que no se ha logrado eliminar la redundancia, será necesario vigilar que aquella información que aparece repetida se actualice de forma coherente, es decir, que todos los datos repetidos se actualicen de forma simultánea. Por otra parte, la base de datos representa una realidad determinada que tiene determinadas condiciones, por ejemplo que los menores de edad no pueden tener licencia de conducir. El sistema no debería aceptar datos de un conductor menor de edad. En los SGBD existen herramientas que facilitan la programación de este tipo de condiciones. 
Seguridad. La información almacenada en una base de datos puede llegar a tener un gran valor. Los SGBD deben garantizar que esta información se encuentra segura de permisos a usuarios y grupos de usuarios, que permiten otorgar diversas categorías de permisos. 
Manejo de transacciones. Una transacción es un programa que se ejecuta como una sola operación. Esto quiere decir que luego de una ejecución en la que se produce una falla es el mismo que se obtendría si el programa no se hubiera ejecutado. Los SGBD proveen mecanismos para programar las modificaciones de los datos de una forma mucho más simple que si no se dispusiera de ellos. 
Tiempo de respuesta. Lógicamente, es deseable minimizar el tiempo que el SGBD demora en proporcionar la información solicitada y en almacenar los cambios realizados. 



1.5. Seguridad. 


No hay comentarios:

Publicar un comentario