1 AÑO 8 N . 90 -91 / ENERO - FEBRERO DE 2006 O La computación al servicio de la persona Publicación Mensual / Grupo de Computación Centro de Formación Cívica y Religiosa de Pinar del Río La digitalización de la información (V) ¿Qué es una Base de Datos? En números anteriores hemos tratado el tema de la digitalización de la información de video, audio, imágenes, etc. En esta ocasión trataremos las bases de datos, que son como almacenes de información, que en su primera forma de texto y números jugaron un papel decisivo en los albores de la informática, y que hoy almacenan todo tipo de información. Para empezar podemos decir que una base de datos es cualquier conjunto de datos organizados para su almacenamiento en la memoria de una o varias computadoras, diseñado para facilitar su acceso y actualización. Vista de un formulario de ventas de una tienda. Corresponde a la base de datos Neptuno, un ejemplo incluido en Microsoft Access 2003 Restringir el acceso de los usuarios a las aplicaciones A veces es necesario que determinados usuarios de una PC compartida por varias personas, no puedan acceder a determinados programas de aplicación. Hay varias maneras, pero la más sencilla consiste en quitar el permiso de acceso de los usuarios deseados a la carpeta donde está el programa, o simplemente, al ejecutable princiapal. Esto es posible sólo en Windows NT, 2000 o XP. Para modificar los permisos de una carpeta basta hacer clic derecho en ésta, y hacer clic en propiedades, ahí escoger la pestaña seguridad. Aparecerá la ventana con la lista de permisos sobre usuarios y grupos de la máquina. Al usuario correspondiente se le debe quitar el permiso de lectura. Es posible que los permisos no estén asignados por usuarios, sino al grupo Usuarios de la PC, pues dichos permisos sean comunes a todos en la carpeta seleccionada. En este caso hay que eliminar Una base de datos puede ser la nómina de pago de una empresa, la relación de productos de una tienda, la lista de secuencias de virus conocidas para usar en un antivirus, el inventario de un museo, la lista de abonados y servicios contratados de una central telefónica, etc. La humanidad trabaja con bases de datos desde que aparecieron las primeras formas de organización, sólo que no fue hasta mediados del siglo pasado que éstas comenzaron a ser almacenadas y gestionadas utilizando máquinas. Una parte importante del éxito de las computadoras consistió precisamente en que su aplicación al almacenamiento y gestión rápida y segura de datos, dio un gran impulso a la múltiples sectores de la sociedad. En 1970 el investigador británico Edgar F. Codd desarrolló el concepto de Base de Datos Relacional que consiste en una forma de administrar la información en la que se almacena la información en varias tablas (filas y columnas de datos) o ficheros independientes y realiza búsquedas que permiten relacionar datos que han sido almacenados en más de una continúá en la próxima página... Trucos con PC dicha asignación al grupo, o simplemente denegarle el permiso de lectura y entonces establecer los permisos de acceso individuales por usuario. 2 ...¿Qué es una base de datos? tabla. Con la aparición de Internet el concepto se amplía, y los sistemas de gestión de datos pueden relacionar información almacenada en computadoras en todo el mundo. Por ejemplo, las tiendas virtuales como amazon.com o los proveedores de correo electrónico como yahoo.com, tienen sus bases de datos distribuidas en servidores en el mundo entero. Un gestor de bases de datos debe cuidar varios elementos, que a su vez constituyen sus objetivos principales, estos son: Independencia entre los datos y los programas de aplicación Consiste en que haya inmunidad de las aplicaciones a los cambios en la estructura de almacenamiento y en la estrategia de acceso , constituye el objetivo fundamental de los sistemas de gestión de bases de datos (SGBD). Ya vimos que con ficheros tradicionales la lógica de la aplicación contempla la organización de los ficheros y el método de acceso. Por ejemplo, si por razones de eficiencia se utiliza un fichero secuencial indexado, el programa de aplicaciones debe considerar la existencia de los índices y la secuencia del fichero. Entonces es imposible modificar la estructura de almacenamiento o la estrategia de acceso sin afectar el programa de aplicación (naturalmente, lo que se afecta en el programa son las partes de éste que tratan los ficheros, lo que es ajeno al problema real que el programa de aplicación necesita resolver.) En cambio en un SGBD se debe poder modificar la estructura de almacenamiento o el método de acceso según los cambios en el fenómeno o proceso de la realidad sin necesidad de modificar los programas de aplicación (también para buscar mayor eficiencia). Minimizar la redundancia Consiste en que se guarden sólo los datos necesarios, sin que haya necesidad de repetirlos para implementar determinadas facilidades de procesamiento. Integración y sincronización de las bases de datos El SGBD debe garantizar la entrega al programa de aplicación de los datos que solicita y en la forma en que lo solicita. Esta se encuentra vinculada a la sincronización, que consiste en la necesidad de garantizar el acceso múltiple y simultáneo a la BD, de modo que los datos puedan ser compartidos por diferentes usuarios a la vez. Están relacionadas, ya que lo usual es que diferentes usuarios trabajen con diferentes enfoques y requieran los mismos datos, pero desde diferentes puntos de vista. Integridad de los datos Consiste en garantizar la no contradicción entre los datos almacenados de modo que, en cualquier momento del tiempo, los datos almacenados sean correctos, es decir, que no se detecte inconsistencia entre los datos. Está relacionada con la minimización de redundancia, ya que es más fácil garantizar la integridad si se elimina ésta. Seguridad y protección de los datos Protección: garantizar sólo el acceso autorizado a los datos, de forma tal que se impida cualquier intento de acceso no autorizado. Seguridad: que el sistema de bases de datos disponga de métodos que garanticen la restauración de las BD al producirse alguna falla técnica, interrupción de la energía eléctrica, etc. SQL Son las siglas en inglés de Lenguaje de Consulta Estructurado (Standard Query Language), el cual es uno de los recursos más utilizados para administrar bases de datos con gran independencia del hardware de la máquina donde están almacenados los datos, así como del sistema operativo que corre. SQL es un lenguaje para consultar, actualizar y manejar bases de datos relacionales. Se deriva de un proyecto de investigación de IBM, que creó el “lenguaje estructurado de consulta en inglés” (SEQUEL) a mediados de la década de 1970. El SQL (Structured Query Language) es un estándar aceptado en productos de bases de datos, que fue utilizado comercialmente por primera vez por la empresa Oracle en 1979. A pesar de que no se trata de un lenguaje de programación como puedan serlo C o Pascal, puede utilizarse en el diseño continúa... Desactivar la Trucos con PC llamada en espera Cuando se va a utilizar el módem para conectar la PC a un servidor, es conveniente que no esté activado el servicio de llamada en espera, muy común en los usuarios de plantas digitales. El hecho de que el servicio esté activado, hace que cuando alguien llama a nuestro número, cuando el módem está conectado, los tonos de aviso de la central que normalmente nos indican que está entrando otra llamada, pueden hacer abortar la comunicación entre nuestra máquina y el servidor. Esto se debe a que estos tonos hacen perder en sincronismo de datos a los módems que están activos en ese momento. Para evitar esto, se puede utilizar la configuración de 95/98/XP en el Panel de Control, en el icono de acceso a los módems, se marca el módem que interesa y allí en Propiedades de marcado existe una línea “Ubicación con llamada en espera. Para desactivar marcar:” Ahí se debe introducir el código #43# que sirve para desactivar el servicio. El código para activar el servicio es *43#. Edita: Centro de Formación Cívica y Religiosa / Obispado de Pinar del Río, Calle Máximo Gómez No. 160 e/ Ave. Rafael Ferro y Comandante Pinares. Pinar del Río / Tel. 752359. Email: [email protected], Asunto: Infonotas. Redacción : Grupo de Computación. CFCR. Director: Sergio L. Cabarrouy / Distribución: Estefanía Zagorski. Enero - Febrero de 2006. Cómo desconectar la llamada en espera. Infonotas será mejor si usted colabora en su realización. Haga llegar sus artículos a la oficina del Centro de Formación Cívica y Religiosa en el Obispado de esta ciudad. Los trabajos pueden presentarse impresos o en disco. Esperamos su colaboración 3 ¿El fin de la TV convencional? Opinión ¿Vivimos en la era del entretenimiento on-demand? Las nuevas tecnologías e Internet están otorgando al consumidor más poder que nunca, y el resultado es un explosivo crecimiento de posibilidades que permiten la elección a la carta de contenidos, imágenes y música. Anoten estos datos registrados en EE.UU. en 2005: 24 millones de hogares tienen acceso al servicio de video-on-demand de la TV por cable; 10 millones de hogares disponen de dispositivos de time-shifting, esto es, que permiten programar el tiempo de grabación en TV; 38 millones de hogares, con Internet de alta velocidad; 10 millones utilizan iTunes, el servicio de música y video online de Apple; 300.000 habrán empleado el podcasting. Algunos medios como Business Week se han referido al fenómeno como “el final de la TV como usted la conocía”, y han destacado una fecha clave, el 7 de noviembre, como el comienzo de una nueva era; ese día NBC Universal y CBS Broadcasting abandonaron viejas políticas y decidieron empezar a distribuir bajo demanda sus principales shows. También ha sido importante el anuncio de Yahoo de divulgar una tecnología que permite utilizar a distancia, para grabar emisiones de TV, el dispositivo digital TiVo. El CEO de Comcast Corp, el mayor operador de cable del país, sostiene que “la computadora ha explotado dentro del televisor”. El fenómeno preocupa a las networks y a los grandes conglomerados mediáticos, dado que se fragmentan las audiencias y los mercados, y los anunciantes ven difuminado su mensaje. La publicidad en Internet es todavía una fracción mínima, no más del 2,7 %, del negocio de los $17.800 millones que atraen las cadenas de TV. Pero crece al 40 % anual. Y más todavía que la competencia de Internet, a los gigantes mediáticos les inquieta la distribución gratuita de contenidos, como la que permite eDonkey.com, hoy con tres millones de usuarios. Y es que Internet, en sí mismo es, o empieza a ser, un medio-on-demand, que, al hacer posible lograr lo que uno quiere en el momento deseado, ha cambiado la percepción de los consumidores hacia la oferta de los medios tradicionales. ...¿Qué es una base de datos? de consultas interactivas y puede incluirse en un programa cualquiera como un conjunto de instrucciones de manejo de datos (sentencias). Por ejemplo, basándose en soportes externos al propio lenguaje y aun al propio programa ya compilado (como es un servidor o un motor SQL que haga de puente entre la aplicación, el sistema operativo y las bases de datos), lenguajes como Visual Basic o C/C++ pueden incluir sentencias SQL en su código. Aunque en el mercado se pueden encontrar diversas variantes (dialectos) del lenguaje SQL, todos tienen un mínimo común basado en el estándar ANSI SQL de 1986, con extensiones propietarias. Desde 1991 se fueron realizando progresos para disponer de un estándar cada vez más Esquema de las relaciones de la base de datos Neptuno de Access 2003. completo, conocido como SAG SQL, propiciado por el denominado SQL Access Group. El SQL estándar cuenta con elementos destinados a la definición, modificación, control, protección de los datos y acceso a bases de datos distribuidas en una red, haciendo factible que varios usuarios puedan consultar la misma base de datos de forma simultánea. Debido a su simplicidad, que proviene de ser sintáctica y gramaticalmente cercano al lenguaje natural, pueden utilizarlo tanto los usuarios técnicos como los que no lo son; esto, unido a su potencia, lo ha hecho muy popular. Los sistemas de gestión de bases de datos más conocidos Microsoft Fox Pro: Es un sistema de gestión de bases de datos relacionales orientado a la elaboración de un programa que corre sobre Windows (aunque también puede compilarse para Unix), y que gestiona los datos almacenados en tablas que se guardan en ficheros en el disco duro local o la red. El programa elaborado utiliza SQL para interactuar con la base de datos. Microsoft Access: Sistema de gestión de bases de datos relacionales orientado al diseño de ficheros que contienen tanto la información de datos como las características de la interfaz, pero que no genera necesariamente un programa ejecutable. Esto tiene la ventaja de que facilita las labores de mantenimiento y modificación de la base de datos de manera muy simple sin que se pierda la integridad, pero necesita tener instalado en la máquina el motor de la base de datos, que normalmente viene incluido en los paquetes Office de Microsoft. SQL Server: Motor de bases de datos, que puede gestionar una o varias bases de datos, y corre normalmente en un servidor, pero puede hacerlo en una máquina con sistema operativo cliente, sea Windows o Linux. Oracle, continúa... 4 La RIIAL, una red de personas, para llegar hasta el último Así se define esta red desde sus albores, cuando fue creada a principio de los noventa del siglo pasado, por iniciativa de Juan Pablo II, de venerada memoria. Quien escucha el término “Red Informática para la Iglesia en América Latina”, lo primero que se imagina es en una organización de soporte técnico compuesta por servidores, máquinas clientes, fibras ópticas, y enlaces satelitales, como cualquier red. Sin embargo esta es ante todo una red de personas integrada por técnicos en informática, obispos, sacerdotes, religiosos, laicos y organizaciones eclesiales que colaboran entre sí para tender puentes de comunicación entre las comunidades cristianas y el mundo, sin importar el medio de comunicación. Los miembros de la RIIAL se ocupan fundamentalmente de servicios de información que responden a sus iglesias particulares, cada cual con su propio estilo y autonomía. Éstos pueden ser servidores de correo, web, ftp, chat, foros de discusión y noticias, software específico para la Iglesia, aplicaciones multimedia, allí donde la tecnología disponible lo permite, pero donde no, simplemente puede que usen el Packet Radio en medio de la selva o el transporte público de montaña. El problema es que la información fluya libremente entre las comunidades y el mundo, para servir al anuncio del mensaje cristiano que realiza la Iglesia y que llamamos Evangelización. La Red la integran todos los que forman la Iglesia en Iberoamérica, incluyendo Italia, aunque aún no hayan comenzado un proceso de informatización, pero que quieren incorporar la informática como otro medio para el trabajo evangelizador. La RIIAL tiene cuatro grandes campos de trabajo: Comunicación eclesial: Servicios técnicos y contenidos (material multimedia, web, listas de discusión y correos) puestos en común. Capilaridad: Llegar hasta los últimos y necesitados. Esto significa que lo primero es procurar que los más apartados, con menos acceso a la tecnología puedan conectarse a la red; en segundo término está el aumentar otras prestaciones como potencia de los servidores, velocidades de transmisión. La RIIAL prioriza las relaciones efectivas entre las personas conectadas a las redes, basándose en la sistematicidad en compartir contenidos. Así se trata de evitar lo que ocurre en algunas iglesias particulares donde la mayoría de las personas tiene conexión a Internet, pero uno no conoce el correo del otro, así se pierde un enorme potencial de trabajo en común. Estudio y Formación: Análisis de la realidad para realizar proyectos de desarrollo de redes, así como talleres de técnicos en los que se enseña el manejo de la tecnología informática, así como, el estilo de trabajo de la RIIAL. Tecnología para la Iglesia: Programas específicos para facilitar el trabajo en la Iglesia. El más importante se llama Office Eclesial, que es un gestor de bases de datos que incluye la gestión de la información de bautismo, matrimonio, defunción, etc., así como listas de contactos, gestión de proyectos, economía, entre otras utilidades. En estos momentos la RIIAL ha sido encargada por el CELAM de gestionar los aportes a la V Asamblea de Obispos de todo el continente, para ello ha desarrollado un sistema informático basado en una pequeña base de datos que cabe en un disquete y contiene el documento de trabajo, permitiendo agregar a éste los aportes, es muy fácil de usar y corre en un procesador 386. La RIIAL trabaja para que Internet sea como una “mesa común” donde cualquier persona pueda encontrar amigos, ayudas técnicas o humanas, así como espacios de participación. En esta mesa cada cual se puede beneficiar de los hallazgos de los demás e influir en la opinión pública. La RIIAL está al servicio de cada iglesia particular, pero también de las conferencias episcopales. No es una organización que “baja directivas” a sus miembros, sino que agrupa personas y organizaciones de comunicación autónomas de las iglesias particulares, y realiza trabajos en común por encargo de organizaciones de la Iglesia o por propia iniciativa, para responder a una necesidad. La Iglesia debe tender puentes humanos e informáticos que promuevan la construcción del tejido social que está dañado por muchos factores, entre ellos la llamada “brecha digital”, que agrega un factor de discriminación a los ya existentes, debido al hecho de que las personas que pueden acceder a Internet tienen acceso a más oportunidades de formación, trabajo y recreación que las que no. Al mismo tiempo, la Iglesia debe ser la “presencia humanizante” en la carrera tecnológica que también puede enajenar a las personas y someterlas a graves peligros. Algunos de los servicios de la RIIAL Agencias de Noticias, Servicios Informativos, Radios (1) Vatican Information Service,VIS: www.vatican.va/news_services/press/vis/vis_sp.html Noticelam: www.celam.org Zenit: www.zenit.org Servicio de Observación sobre Internet SOI: www.observatoriodigital.net Radio Vaticana: www.radiovaticano.org CNBB (Brasil) : www.cnbb.org.br/noticias.html 5 Agencia Ecclesia (Portugal): www.ecclesia.pt Oficina de Prensa (Perú): www.iglesiacatolica.org.pe/cep/ Agencia FIDES: www.fides.org Servidoras - Magisterio de la Iglesia: www.servidoras.org.ar Biblioteca de la Congregación para el Clero: www.clerus.org Biblioteca Electrónica Cristiana -BEC: www.multimedios.org Servicios Informáticos RIIAL: Centro “Ntra. Señora de Guadalupe”: www.riial.org\centro Plan Alfa: www.planalfa.es Directorios Eclesiásticos: Consejo Episcopal Latinoamericano-CELAM: www.celam.org Archidiócesis de Madrid-Guía Internet de la Iglesia Católica: www.archimadrid.es/guia/guia.htm Vista del Office Eclesial, herramienta para la gestión de la información parroquial, hecha en Ms FoxPro. Glosario Packet Radio: Sistema de transmisión de datos basado en MODEMs muy sencillos que se acoplan a plantas de radioaficionados, las velocidades de transmisión son bajas (hasta 9600 bps), pero se puede lograr una transmisión de datos entre dos terminales en cualquier parte del mundo. Existen servidores internacionales para packet radio, algunos gratuitos y otros no. En Cuba la Federación Nacional de Radioaficionados regula el uso de esta tecnología. Evangelización: Es la misión principal de la Iglesia, consiste en anunciar el mensaje de Jesucristo a través del culto, la predicación y las obras de caridad, las cuales incluyen la promoción integral de la persona, y la transformación de la sociedad. Iglesia Particular: Porción de la Iglesia a cargo de un Obispo (o varios obispos, un titular y sus auxiliares). Ver Diócesis. CELAM: Conferencia Episcopal Latinoamericana. Organización de coordinación y consulta al servicio de las Conferencias Episcopales de Latinoamérica. Conferencia Episcopal: Asamblea que reúne a los obispos católicos de un país. Es un espacio común de consulta y coordinación del trabajo común entre los obispos de las diferentes diócesis del país. Diócesis: Porción de la Iglesia Católica a cargo de uno o varios obispos, de los cuales uno es el titular y los otros auxiliares. En muchos casos las diócesis coinciden geográficamente con las provincias civiles. En Cuba hay 11 diócesis y por ejemplo la nuestra, Pinar del Río, va desde Guanajay hasta el Cabo de San Antonio, la diócesis de La Habana incluye las dos provincias civiles habaneras, pero Matanzas coincide exactamente con la provincia civil. Cada diócesis es autónoma y el obispo titular de ésta debe obediencia solamente al Papa. Noticias Los servicios de seguridad no pueden "escuchar" a través de Skype.com Mientras muchos gobiernos debaten la legalidad de las escuchas telefónicas, y otros simplemente escuchan, la tecnología de mayor crecimiento para las llamadas por la Red parece tener el potencial de hacer de aquella práctica una cuestión del pasado. Skype garantiza la confidencialidad de las llamadas al encriptar las conversaciones entre los usuarios Skype, el servicio de comunicaciones telefónicas por Internet recientemente adquirido por eBay, suministra llamadas telefónicas y mensajes instantáneos entre los usuarios. Sin embargo y a diferencia de otras herramientas similares, las comunicaciones entre los usuarios que utilizan este sistema transitan por la red de manera codificada lo que evita que puedan interceptarse o grabarse el contenido de éstas por terceras personas. Skype no es la primera ni seguramente la última aplicación que encripta la información. Durante años ha habido programas de correos electrónicos y mensajes instantáneos seguros a un costo reducido o gratis. Estos sistemas eran empleados por los usuarios más "geeks" que también encriptaban sus mensajes electrónicos con sistemas de llaves. Pero en gran medida, los usuarios de Internet no habían sentido una necesidad de privacidad tal que compensara el esfuerzo extra necesario para aplicar la codificación. En particular, programas de correo electrónico como Pretty Good Privacy son considerados engorrosos por mucha gente y dificiles de comprender para aquellos que usen la red principalmente para entretenerse./ IBLNEWS. Google, Yahoo y otros gigantes, cuestionados por su entrega a China El congresista norteamericano Christopher Smith, denunció la “colaboración enfermiza” de Google, Yahoo, Microsoft y Cisco Systems con el Gobierno de China para “decapitar la voz de los disidentes”. ¿Todo vale con tal de hacer negocios? ¿Tan pronto se ha evaporado, por ejemplo, el idealismo de Google (y su famosa proclama de “no seas malvado”)? Desde estas compañías estadounidenses se está vendiendo hardware y software (routers, buscadores, filtros, rastreadores de blogs…) que el régimen chino utiliza para vigilar a su población y se está proporcionando información que sirve para encarcelar a ciudadanos por practicar un simple ejercicio de libertad de expresión. Los directivos de las cuatro mencionadas compañías se defendieron en el Congreso argumentando que era la Casa Blanca quien más podía hacer a la hora de propiciar la reforma de los derechos humanos en China, y que ellos vienen adaptándose a la cultura y usos locales de cada país donde hacen negocios. Un congresista de Iowa, se dirigió a Google espetándole: “¿De modo que si queremos saber cómo ejercer la censura hay que dirigirse a la compañía que simboliza la mayor libertad informativa de la historia?” Elliot Schorage, que representaba a Google, admitió “no es algo que hagamos con entusiasmo ni de lo que nos sintamos orgullosos”. /IBLNEWS Colección completa de la Revista Vitral en Internet Vitral Mutimedia ha completado su colección de la Revista agregando los primeros 22 números, que hasta ahora no estaban en el sitio, activo desde el 22 de febrero de 1999. 6 ¿Qué es una base de datos?... Microsoft y otras venden programas servidores SQL. En este caso es común que la interfaz de administración de la base de datos sea responsabilidad del cliente. Ésta puede ser un programa o un sitio web, con una tecnología de páginas web activas (asp, php, etc.) electrónico, la enseñanza, el correo, y la navegación web en su implementación tecnológica, utilizan cada vez más ampliamente las bases de datos, lo cual las hace imprescindibles para el desarrollo de aplicaciones. Por tanto un desarrollador debe conocer los principios generales del funcionamiento de las bases de datos, así como las herramientas de gestión que de forma más sencilla pueden resolver necesidades. Infonotas ha publicado un curso elemental de bases de datos sobre MS Access en los números del 43 al 59, que incluye los conceptos fundamentales de diseño de bases de datos relacionales. Dichos conceptos deben ser el punto de partida para la incursión en este fantástico y ya imprescindible mundo de las bases de datos. Glosario: My SQL: Servidor SQL que soporta bases de datos de pequeña capacidad y puede instalarse en cualquier máquina que corra Linux o Windows. Es una herramienta muy usada por los desarrolladores, que de esta forma pueden poner a punto la base de datos y el sistema de gestión en su propia PC y luego exportarla hacia un servidor donde realizará su verdadera función. Las bases de datos en Internet Como acabamos de ver, una de las maneras de acceder y administrar las bases de datos es a través de sitios web. Esta tecnología se ha hecho cada vez más popular por su flexibilidad y potencia, permitiendo que prácticamente cualquier sitio pueda ser manejado como una base de datos, lo cual a su vez provoca que el sitio pueda ser actualizado dinámicamente, sin que haya que cambiar por ello el diseño de las páginas web que el usuario consulta. Esto se debe a que en la tecnología de los sitios web activos, la página que le llega al cliente, se forma “en caliente” en el servidor, inmediatamente después de su solicitud, consultando para ello una o varias bases de datos, cuyo contenido puede cambiar entre una solicitud de un cliente a otra. Piense por ejemplo en una tienda on-line, en uno de cuyos estantes ha ido usted a comprar un libro, uno de los datos que se ofrece en la página es el número de ejemplares en existencia en el momento en que ha accedido. Si usted compra el libro, el próximo cliente que entre a esa página encontrará un número de ejemplares en existencia menor al menos en uno al que usted encontró. Las páginas activas en un sitio web se programan utilizando código específico para ese fin que se inserta dentro del código HTML normal de las páginas. En dependencia de la tecnología que se use en el servidor será la sintaxis del código activo, los más comunes son PHP y ASP. Hay también otras tecnologías como CGI pero los ficheros que contienen el código son compilados, y realizados en algún lenguaje de programación de alto nivel como C++. Herramienta imprescindible en informática Actualmente no se entiende la gestión de la información en computadoras sin las bases de datos. El comercio PHP: Acrónimo de Personal Home Page. Fue desarrollado por Rasmus Lerdorf y su primer versión pública data de 1995. Consiste en un programa intérprete y el código correspondiente que se inserta en las páginas HTML, y que permite realizar la inmensa mayoría del procesamiento de datos común en la web, desde mandar y recibir cookies, hasta consultar una base de datos, o generar automáticamente un correo electrónico. Las páginas web que contenga código de este tipo deben tener extensión PHP, para que el servidor pueda utilizar el intérprete correspondiente a la hora de “servirlas” a un cliente que quiera visitarla. Para que un servidor pueda alojar un sitio con páginas PHP, el motor de esta tecnología debe estar instalado allí. En www.php.net/ downloads.php se puede encontrar dicho intérprete libre, y en www.php.net/download-docs.php, abundante documentación. ASP: Acrónimo de Active Server Pages. Tecnología de páginas web activas desarrollada por Microsoft. Sigue el mismo principio de funcionamiento explicado arriba para PHP, sólo que el código en que se escribe puede ser Java Script o Visual Basic Script, que surgieron respectivamente a partir de los lenguajes de programación del alto nivel: Java y Visual Basic. CGI: Acrónimo de Common Gateway Interface. Tecnología que permite realizar páginas activas, pero el código que las genera está compilado a partir de un lenguaje de programación de alto nivel como C++. Los CGIs son muy eficientes pero poco flexibles a la hora de dar mantenimiento al sitio, ya que requieren recompilación. SELECT Pedidos.IdPedido, Pedidos.IdCliente, Pedidos.IdEmpleado, Pedidos.FechaPedido, Pedidos.FechaEntrega, Pedidos.FechaEnvío, Pedidos.FormaEnvío, Pedidos.Cargo, Clientes.Dirección, Clientes.Ciudad, Clientes.Región, Clientes.CódPostal, Clientes.País FROM Clientes INNER JOIN Pedidos ON Clientes.IdCliente = Pedidos.IdCliente; Representación gráfica y en sentencia SQL de una consulta de selección sobre dos tablas relacionadas (Base de datos Neptuno). 7 Elementos Activos y subprogramas La referencia a controles ActiveX en el código HTML tiene un aspecto parecido al de los Applets, en esencia son muy parecidos. Los ActiveX son también módulos de programas que se ejecutan en el cliente, pero la diferencia con los Applets de Java es que estos últimos son pseudo código (programa a medio compilar), que es ejecutado por la Máquina Virtual de Java (JVM) que está instalada en la computadora del cliente y está adjunta al navegador. Los ActiveX en cambio, son programas ya compilados que corren “libremente” en la máquina del cliente, por lo que debe estar debidamente instalado como parte del sistema operativo Windows y otro. Cuando se instala Office y FrontPage en la máquina se instalan por defecto varios de estos controles, así que a lo mejor el navegador no tiene que pedirlo al servidor cuando encuentre la referencia a uno de éstos en la página que ha descargado. En caso contrario tiene que pedirlo, lo aceptará en función de lo establecido en la seguridad. He aquí un ejemplo de la referencia al ActiveX “Microsoft Calendar”: <object classid="clsid:8E27C92B-1264-101C-8A2F040224009C02" id="Calendar1" width="288" height="192"> <param name="_Version" value="524288"> <param name="_ExtentX" value="7620"> <param name="_ExtentY" value="5080"> <param name="_StockProps" value="1"> <param name="BackColor" value="-2147483633"> <param name="Year" value="2000"> <param name="Month" value="4"> <param name="Day" value="23"> <param name="DayLength" value="1"> <param name="MonthLength" value="2"> <param name="DayFontColor" value="0"> <param name="FirstDay" value="1"> <param name="GridCellEffect" value="1"> <param name="GridFontColor" value="10485760"> <param name="GridLinesColor" value="-2147483632"> <param name="ShowDateSelectors" value="-1"> <param name="ShowDays" value="-1"> <param name="ShowHorizontalGrid" value="-1"> <param name="ShowTitle" value="-1"> <param name="ShowVerticalGrid" value="-1"> <param name="TitleFontColor" value="10485760"> <param name="ValueIsNull" value="0"> </object> Si bien pude establecerse que la Máquina Virtual de Java vigile que el Applet no haga operaciones dañinas a la máquina, no hay manera de controlar los ActiveX, sólo se puede establecer en el navegador que se acepten sólo los controles ActiveX que estén firmados digitalmente y traigan el certificado de una empresa conocida. Seguridad en el explorador cliente La máquina virtual de Java dejecuta el pseudocódigo pero puede controlar su funcionamiento. Al mecanismo A Controles ActiveX a prend Creación de Páginas Web (y 21) mediante el cual la Máquina Virtual de Java aísla el código Java del resto del sistema operativo se llama Caja de Arena o Sand Box, en Inglés. Este mecanismo permite vigilar todas las operaciones que el código Java pide que se hagan en la máquina, eliminando las no permitidas. La caja de arena puede separarse en varias capas lógicas: Verificador: Analiza el byte code antes de que se ejecute para verificar que cumple las reglas básicas del lenguaje. Cargador de clases: Responsable de cargar las clases en el intérprete. Permiten que las clases sean separadas de acuerdo a su origen. Responsable de seguridad: Permite imponer restricciones en el uso de los recursos del sistema (archivos, red, programas externos, interfaz usuario). Recursos del sistema: Pantalla, disco duro, multimedia, etc. Las últimas versiones de los browsers permiten controlar los privilegios de los Applets Java. El usuario puede indicar que los Applets se ejecuten fuera del Sandbox. Los Applets Java pueden tener firmas digitales. Es aconsejable establecer la caja de arena para los Applets y no descargar ActiveX sin certificar. No es aconsejable desabilitar ambas facilidades a pesar de que las herramientas de seguridad no son infalibles, pues la navegación por Ventana de edición de permisos de ejecución en el cliente de navegación Internet se haría Internet Explorer 4.0 dificultosa. Trucos con PC A veces se quiere compilar en un VCD un grupo de videos con extensión mpg, wmv, u otra cualquiera, y el programa de grabación en CD, Nero por ejemplo, devuelve un error diciendo que no conoce la codificación del fichero y sin embargo el video se ve en Windows Media Player u otro reproductor que tengamos instalado en la máquina, porque a su vez tenemos instalado el CODEC para dicho tipo de video. Una solución a este problema puede ser cambiar la extensión del fichero que da problemas y ponerle AVI. Esta extensión se utiliza en general para almacenar video con independencia del CODEC que usa. Este cambio no afecta la reproducción del fichero, y sin embargo hace que Nero utilice el CODEC instalado para recodificarlo a VCD estándar. 8 Formularios en las páginas web La inmensa mayoría de los sitios de Internet de la actualidad son interactivos, es decir, el cliente recibe la página y ahí puede leer, oír música o ver un video, pero también puede enviar datos al servidor como facturas de compra, opiniones, correo electrónico, etc. La estructura fundamental para el envío de información desde la página web que lee el cliente hacia el servidor es el formulario. Estructura de un formulario La estructura general de un formulario es: Etiqueta de inicio: <FORM ACTION=”mailto:dirección_de_email” METHOD=”POST” ENCTYPE=”TEXT/PLAIN”> Cuerpo del formulario, con los distintos elementos para poder introducir los datos. Botones de envío y de borrado. Etiqueta de cierre </FORM> Etiqueta de inicio El atributo ACTION indica la acción que se debe efectuar y que es que los datos sean enviados por email a la dirección indicada. (Si hiciéramos uso del CGI, sería precisamente aquí donde indicaríamos su localización en el servidor, que habitualmente es el directorio cgi-bin, para que procese los datos). El atributo METHOD=POST indica que los datos sean inmediatamente enviados por correo a la dirección de email, nada más pulsar el usuario el botón de envío. Con el atributo ENCTYPE=”TEXT/PLAIN” se consigue que las respuestas las recibamos como un fichero de texto, perfectamente legible y sin codificar. Elementos para introducir los datos Los vamos a dividir en tres clases: Introducción por medio de texto Introducción por medio de menús Introducción por medio de botones La introducción de los datos se consigue por medio de la etiqueta: <INPUT TYPE=”xxx” NAME=”yyy” VALUE=”zzz”> En donde: xxx es la palabra que indica el tipo de datos. yyy es el nombre que le asignamos nosotros a la variable en la que se introduce el dato. zzz es la palabra asociada a un elemento. Todo esto, que de momento parece muy confuso, se aclarará al ir viendo los distintos casos. Introducción por medio de texto (una línea) En este caso es xxx=text, es decir, INPUT TYPE=”text”. El atributo VALUE no procede en este caso. Vamos a poner un ejemplo: solicitamos el apellido del usuario. <FORM ACTION=”mailto:[email protected]” METHOD=”POST” ENCTYPE=”TEXT/PLAIN”> Escribe tu apellido: <BR><INPUT TYPE=”text” NAME=”Apellido”> </FORM> Que resulta en un campo de formulario así: Si el usuario introduce su apellido, p. ej. Ruiz, y pulsa el botón de envío, recibiremos un email suyo con el texto: Apellido=Ruiz La longitud de este formulario es por defecto de 20 caracteres. Se puede variar incluyendo en la etiqueta el atributo SIZE=”número”. Por otra parte, sea cual sea la longitud del formulario, si no se indica nada, el usuario puede introducir el número de caracteres que quiera. Se puede limitar esto, incluyendo en la etiqueta el atributo MAXLENGTH=”número”. Cuando el texto a introducir puede alcanzar una gran longitud, por ejemplo un comentario, es conveniente utilizar un formulario de texto de múltiples líneas. Esto se consigue con la etiqueta de inicio: <TEXTAREA NAME=”yyy” ROWS=”número” COLS=”número”> </TEXTAREA> Cuadros combinados Si queremos que el usuario, en vez de introducir un texto, como hemos visto en los casos anteriores, escoja entre varias opciones que le presentamos nosotros, haremos uso de un formulario en forma de cuadro combinado. El aspecto de éste se consigue con la etiqueta <OPTION>. Vea el ejemplo a continuación: <FORM ACTION=”mailto:[email protected]” METHOD=”POST” ENCTYPE=”TEXT/PLAIN”> ¿Cuál es tu color preferido? <BR><SELECT NAME=”ColorPreferido”> <OPTION>Rojo <OPTION>Verde <OPTION>Azul <OPTION>Amarillo </SELECT > </FORM> Botones de envío y de borrado Hasta ahora, en todos los ejemplos que hemos visto, faltaba un elemento esencial en cualquier formulario, y es el botón de envío de los datos, que se consigue con la etiqueta: <INPUT TYPE=”submit” VALUE=”zzz”> En donde zzz es el texto que queremos que aparezca en el botón. Vamos a añadirlo al primer ejemplo, en el que se solicitaba el apellido del usuario: <FORM ACTION=”mailto:[email protected]” METHOD=”POST” ENCTYPE=”TEXT/PLAIN”> Escribe tu apellido: <BR><INPUT TYPE=”text” NAME=”Apellido”> <P><INPUT TYPE=”submit” VALUE=”Enviar atos”> </FORM> Fragmento del formulario de participación en el libro de visitas de nuestro sitio en internet: www.vitral.org.