3. Lufthansa
3.4. Lufthansa’s measures to reduce the Carbon Footprint
3.4.2. Technological Progress
3.4.2.3. Alternative Fuels
En IIS 4.0 ya podíamos definir aplicaciones ASP y su directorio de inicio, también podíamos indicar a través de la configuración de los directorios de un sitio Web si la aplicación se ejecutaba en otro espacio de memoria como un proceso aislado.
Con IIS 5.0 el concepto de aplicación ASP no ha variado, es decir, una aplicación es un conjunto de páginas ASP que se ejecutan en un conjunto de directorios definidos dentro de un sitio Web, tampoco ha variado excesivamente la forma de configurar las aplicaciones ASP. Lo más destacable que ofrece IIS 5.0 con respecto a las aplicaciones ASP es la posibilidad de definir tres niveles de protección distintos para dichas aplicaciones.
En IIS 4.0 podíamos indicar que nuestra aplicación se ejecutara en el mismo espacio de memoria que el servidor Web o que se ejecutara en un proceso aislado, pero con IIS 5.0 tenemos otra posibilidad
intermedia, que consiste en que la aplicación se ejecuta en un proceso agrupado con el resto de las aplicaciones ASP.
Los tres grados de protección que ofrece IIS 5.0 para las aplicaciones ASP se denominan bajo, medio y alto.
Protección Descripción
Baja (proceso IIS) Las aplicaciones ASP se ejecutan todas en el mismo espacio de memoria que el servidor Web IIS 5.0. Si una aplicación ASP falla afectará a todo el servidor Web, poniendo en peligro la ejecución de la aplicacion
InetInfo.exe, que es el ejecutable del servidor Web.
Ofrece la ejecución más rápida y eficiente de las aplicaciones ASP, pero tambiénes la que ofrece más riesgos.
Media (agrupada) Esta es la protección por defecto, todas las aplicaciones ASP se ejecutan agrupadas en un espacio de memoria distinto que el del servidor Web, en este caso todas las aplicaciones ASP del servidor Web utilizan una instancia compartida del ejecutable DLLHost.exe.
De esta forma se proteje al ejecutable InetInfo.exe de los posibles fallos de las aplicaciones ASP. Si se produce un fallo en una aplicación ASP no afecta al servidor Web, pero sí a resto de las aplicaciones ASP.
Alta (aislada) Cada aplicación ASP se ejecuta en un espacio de memoria distinto, es decir, cada aplicación se ejecuta en una instancia distinta y exclusiva del ejecutable DLLHost.exe. De esta forma si una aplicación falla no afectará al resto de las aplicaciones ASP ni tampoco al servidor Web, ya que se ejecuta en su propio espacio de memoria.
Microsoft recomienda que por cada servidor Web no se definan más de diez aplicaciones aisladas. Este tipo de protección es recomendable para aplicaciones ASP de alto riesgo o críticas.
Tabla 6
Por defecto el sitio Web predeterminado se define como una aplicación ASP agrupada o con grado de protección medio, este es el modo de protección de la aplicación más usual y recomendable, ya que ofrece una buena relación en lo que a rendimiento y seguridad se refiere, con el grado de protección alto comprometemos el rendimiento y con el grado de protección bajo se compromete la seguridad del funcionamiento del servidor Web.
Como resumen de los distintos grados de protección con los que podemos configurar nuestras aplicaciones ASP diremos que lo recomendable es ejecutar el servidor Web (InetInfo.exe) en su propio proceso, ejecutar aplicaciones decisivas en sus propios procesos y ejecutar el resto de aplicaciones en un proceso agrupado y compartido.
En el capítulo monográfico dedicado a Internet Information Server 5.0 se volverá a comentar en detalle la configuración de aplicaciones ASP.
Figura 10
VBScript 5.0
Hasta ahora hemos visto que en ASP 3.0 nos podemos encontrar nuevos objetos integrados, nuevos componentes de servidor, la nueva versión de los componentes de acceso a datos, y también, como vamos a ver en este apartado, una nueva versión del lenguaje de secuencia de comandos, VBScript 5.0.
Lo más destacable que ofrece VBScript 5.0 es la posibilidad de la utilización de clases, de la misma forma que lo hacíamos con su hermano mayor, Visual Basic, a excepción, claro está, de los eventos. Ahora ya podemos crear objetos de una clase determinada y definida por nosotros con sus métodos y propiedades correspondientes.
En el Código fuente 17 se ofrece la creación y utilización de una sencilla clase en VBScript.
<%Class MiClase Private valor
Public Property Let MiValor(dato) valor=dato
End Property
Public Property Get MiValor() MiValor=valor
Public Function Cuadrado() Cuadrado=valor*valor End Function
End Class
Set objMiClase=New MiClase objMiClase.MiValor=4
Response.Write "El cuadrado de "&objMiClase.MiValor&" es "&objMiClase.Cuadrado()%>
Código fuente 17
Como podemos observar a la vista de la nueva capacidad de VBScript para la utilización de clases, existe una intención de equiparar (o por lo menos acercar) el lenguaje de secuencias de comandos VBScript con su hermano mayor Visual Basic. Esto también se hace patente en otra nueva característica de VBScript, que es la incorporación de la construcción With.
Set objeto=Server.CreateObject("Este.Objeto") With objeto .Propiedad1="Valor 1" .Propiedad2="Valor 2" End With Código fuente 18
También se incorpora la función Eval dentro de VBScript para evaluar una expresión de cadena y devolver el valor verdadero o falso de dicha evaluación.
Otra nueva función de VBScript es Execute, que es utilizada para ejecutar el código contenido en una cadena, puede ser utilizada esta función para crear procedimientos de forma dinámica y ejecutarlos más tarde en el código de la secuencia de comandos.
Mediante el método nuevo método SetLocale podemos cambiar la localización de la secuencia de comandos en lo que se refiere a la utilización del conjunto de caracteres específicos de una localización.
Y para finalizar con las novedades que aporta VBScript 5.0 diremos que también soporta la utilización de expresiones regulares. Para ello se ha incorporado un nuevo objeto dentro de VBScript, denominado RegExp.
<%cadena="prueba nmd dsdjjdh sd dshsdjhd prueba ddsdnmn pruebadrtt" Set objExpresion=New RegExp 'se crea la expresión regular
objExpresion.Pattern="prueba*" 'se configura la expresión objExpresion.IgnoreCase=False
objExpresion.Global=True
Set coincidencias=objExpresion.Execute(cadena) 'se ejecuta la búsqueda
For each Match in coincidencias 'se muestran las coincidencias de la expresión Response.Write "Coincidencia encontrada en la posicion "&Match.FirstIndex&"<br>" Next%>
Código fuente 19
Coincidencia encontrada en la posicion 0 Coincidencia encontrada en la posicion 31 Coincidencia encontrada en la posicion 46