REPUBLICA BOLIVARIANA DE VENEZUELA

MINISTERIO DE EDUCACION SUPERIOR

UNIVERSIDAD YACAMBU

VICERECTORADO DE ESTUDIOS VIRTUALES

CATEDRA: ANALISIS Y DISEÑO DE SISTEMAS

 

DOCENTE: Msc. YAROS PÉREZ

 

TRABAJO No. 4

 

DESARROLLO DE UN SISTEMA DE INFORMACION BASADO EN TECNOLOGIA WEB CON ACCESO A BASE DE DATOS

 

AUTOR: Econ. LUIS H. VILORIA DOMINGUEZ

 

JSP. CONCEPTO.

 

Java Server Pages (JSPs) es un método de creación de páginas web dinámicas en servidor usando el lenguaje Java. En ese sentido son similares a otros métodos o lenguajes tales como el, PHP, los CGIs (common gateway interface) , programas que generan páginas web en el servidor, o los ASP (Active Server Pages), un método específico de Microsoft. Sin embargo, se diferencian de ellos en otras cosas.

Para empezar, los JSPs, se ejecutan en una máquina virtual Java, lo cual permite que, en principio, se puedan usar en cualquier tipo de ordenador, siempre que exista una máquina virtual Java para él. Cada JSP se ejecuta en su propia hebra, es decir, en su propio contexto; pero no se comienza a ejecutar cada vez que recibe una petición, sino que persiste de una petición a la siguiente, de forma que no se pierde tiempo en invocarlo (cargar programa + intérprete). Su persistencia le permite también hacer una serie de cosas de forma más eficiente: conexión a bases de datos y manejo de sesiones, por ejemplo.

Los JSPs son en realidad servlets: un JSP se compila a un programa en Java la primera vez que se invoca, y del programa en Java se crea una clase que se empieza a ejecutar en el servidor como un servlet. Un JSP es una página Web con etiquetas especiales y código Java incrustado

 

PHP. CONCEPTO

 

Oficialmente, PHP es un preprocesador de hipertextos.

Para ilustrar esto podemos ver un simple ejemplo:

<html>
   <head>
     <title>Example</title>
   </head>
   <body>
     <?php echo "Hi, Esto es un Script PHP";?>
   </body>
</html>

Esto es muy parecido a cualquier otro Script escrito en Perl o C. El código de PHP está incluido en tags especiales "<?,?>".

Lo que hace diferente a PHP es que el código que se deba ejecutar se ejecuta siempre en el servidor.

Así, al ejecutar el script anterior, el cliente recibirá sólo los resultados de la ejecución por lo que es imposible para el cliente acceder al código que generó la página.

Todos los que nos hemos enfrentado con el diseño de páginas Web hemos echado de menos un poco más de dinamismo en ellas. Representar una página repleta de gráficos y nada más, deja de ser suficiente para ciertas aplicaciones en Internet. Estas aplicaciones requieren de cierta interactividad con el usuario, y han sido muchas las tecnologías aplicadas a este fin (formularios, CGI, etc.).

Ahora está disponible la versión 3 de PHP, o la versión 4 no definitiva, Profesional Home Pages, la solución para la construcción de Webs con independencia de la Base de Datos y del servidor Web, válida para cualquier plataforma. El objetivo final es conseguir la integración de las paginas HTML con aplicaciones que corran en el servidor como procesos integrados en el mismo, y no como un proceso separado, como ocurría con los CGIs. Igualmente interesa que dichas aplicaciones sean totalmente independientes del navegador (lo que no ocurría con otros lenguajes basados en scripts, como JavaScript o VisualBasic Script), independientes de la plataforma y de la Base de Datos.

Perl ha sido el lenguaje que ha servido como estándar para construir CGIs durante mucho tiempo, y aún sigue siendo una de las mejores soluciones para desarrollar aplicaciones Web portables, ya que trabaja sobre cualquier servidor Web que soporte CGIs, y sobre cualquier plataforma que soporte Perl, que son la mayoría, incluso ha servido para desarrollar módulos que extienden la funcionalidad de los servidores. Pero nada tiene que envidiar PHP. PHP, está más orientado a conexiones entre páginas Web y servidores donde se almacenan toda clase de Bases de Datos.

Soporta un único "Safe Mode", es decir, un mecanismo de seguridad que permite que varios usuarios estén corriendo scripts PHP sobre el mismo servidor. Este mecanismo está basado en un esquema de permisos de ficheros, permitiendo el acceso a aquellos ficheros que son apropiados por el mismo identificador de usuario que el del script que está intentando acceder a ese fichero, o bien cuando el fichero está en el directorio que es propiedad del mismo identificador de usuario que el del script que está intentando acceder.

PHP es un lenguaje de programación soportado por HTML. La sintaxis está heredada de C, Java y Perl. Este lenguaje está orientado para los constructores de páginas Webs, permitiendoles crear páginas dinámicamente generadas de forma rápida.

En el nivel más básico PHP es equiparable a un CGI cualquiera. La mayor fuerza de PHP es que está preparado para soportar accesos a muchos tipos de bases de datos como:

•  Adabas D

•  dBase

•  Empress

•  FiclePro

•  informix

•  InterBase

•  Solid

•  Sybase

•  Velocis

•  Unix dbm

•  mSQL

•  MySQL

•  Oracle

•  PosgreSQL

Además de esto, PHP soporta la utilización de otros protocolos como IMAP, SNMP, NNTP, POP3 o HTTP a nivel de socket.

PHP fue creado por Rasmus Lerdorf a finales de 1994, aunque no hubo una versión utilizable por otros usuarios hasta principios de 1995. Esta primera versión se llamó, Personal Home Page Tools . Al principio, PHP sólo estaba compuesto por algunas macros que facilitaban el trabajo a la hora de crear una página Web. Hacia mediados de 1995 se creo el analizador sintáctico y se llamó PHP/F1 Versión 2, y sólo reconocía el texto HTML y algunas directivas de mSQL. A partir de este momento, la contribución al código fue pública. El crecimiento de PHP desde entonces ha sido exponencial, y han surgido versiones nuevas como la actual, PHP3 y la incipiente PHP4.

 

FUNCIONES DE PHP

 

•  MySql

La lista de funciones disponibles es la siguiente:

•  mysql_affected_rows : Otiene el número de tuplas modificadas en la última operacion MySql.

int mysql_affected_rows(int [identificador de link])

Devuelve el número de líneas afectadas por la última operación, INSERT, UPDATE o DELETE, asociadas con el identificador que se especifica.

Si no se especifica el link, se asume que se refiere al último.

Excepción: Si la última operación ha borrado todos los registros de una tabla, esta función devuelve 0.

Esta función no tiene efecto con ninguna operación SELECT, puesto que no modifican ninguna línea.

•  mysql_change_user : Modifica el usuario responsable de las operaciones.

int mysql_change_user(string user, string password, string[database], int [identificador de link]

Los parámetros database y link son opcionales.

Si la nueva combinación de usuario y password no es correcta, seguirá activa la actual.

•  mysql_close : Cierra la conexión MySql.

int mysql_close(int [identificador de link]

Esta función cierra la conexión permanente que mantiene el link. El parámetro es opcional. Si no se especifica, se cerrará la última conexión abierta.

Si una conexión no se cierra, el script la cierra automáticamente al terminar su ejecución.

Esta función no opera correctamente con las conexiones abiertas con la función mysql_pconnect() .

•  mysql_connect : Open a connection to a MySQL Server.

int mysql_connect(string[hostname [:port][:/path/to/socket]], string[username],string [password])

Esta función establece una conexión a un servidor mysql. Todos los argumentos son opcionales y los valores por defecto son localhost , el usuario dueño del proceso , sin password .

Si realizas dos veces una llamada a esta función con los mismos parámetros, devuelve el mismo identificador que para la llamada anterior.

Todas las conexiones terminan al terminar la ejecución del script, a no ser que se elimine la conexión llamando a la función mysql_close() .

•  mysql_create_db : Crea una base de datos en el gestor de Bases de Datos.

int mysql_create_db(string databaseName, int [identificador del link])

Esta función crea una nueva base de datos asociada al link especificado.

Para mantener la coherencia con otras versiones, se utiliza mysql_createdb()

•  mysql_data_seek : Realiza un movimiento en el puntero de los datos resultado.

int mysql_data_seek(int result_identifier, int row_number)

Esta función permite que el puntero a los resultados apunte a la línea especificada.

El número de líneas comienza en 0.

•  mysql_db_query : Realiza una consulta a una base de datos.

int mysql_db_query(string database, string query, int [identificador del link]

Selecciona la base de datos database y ejecuta una consulta. Si no se especifica el link, utiliza el último abierto, si no existe, intenta optener uno llamando internamente a la función mysql_connect() sin argumentos.

•  mysql_drop_db : Realiza una operación Drop sobre una base de datos.

int mysql_drop_db(string database_name, int [identificador del link])

Devuelve True o False según haya o no tenido éxito.

Nota: Cuidado, según la versión de MySql, borra toda la base de datos aún conteniendo tablas con datos.

•  mysql_errno : Devuelve un código de error relacionado con la última operación MySql realizada.

int mysql_errno(int [identificador del link]

Esta función devuelve el número del código de error que devuelve el servidor MySql.

•  mysql_error : Devuelve el mensaje de error asociado a un código concreto relacionado con la última operación MySql realizada.

string mysql_error(int [identificador del link]

Devuelve la cadena asociada a un error que posee el identificador de conexión que se especifica.

•  mysql_fetch_array : Introduce el resultado en un array asociativo.

array mysql_fetch_array(int result, int [result type])

Esta función es una versión extendida de mysql_fetch_row() . Lo que hace es almacenar el resultado en un array indexado, almacenando así los datos en un índice asociativo utilizando los nombres de los campos como claves.

Si existen más de una columna con el mismo nombre, tendrá precedencia la última columna. Para acceder a lal otras columnas con el mismo nombre, se debe indexar la columna o hacerun alias para ella.

Ejemplo:

  select tabla1.precio as precio 1, tabla2.precio as precio2 from tabla1, tabla2

El segundo argumento, es una constante que puede tomar los siguientes valores.

•  MYSQL_ASSOC

•  MYSQL_NUM

•  MYSQL_BOTH

•  mysql_fetch_field : Devuelve un objeto con la información de un resultado.

object mysql_fetch_field(int result, int [field_offset])

Devuelve un objeto con la información que contiene result Puede utilizarse par obtener información de los campos de ciertas consultas. Si el campo del desplazamiento no está especificado, se selecciona el siguiente dato que no haya sido ya asignado mediante esta función.

Las propiedades del objeto son:

•  name: Nombre del campo

•  table: Nombre de la tabla a la que pertenece el campo.

•  max_length: Longitud máxima.

•  not_null: Será verdadero si el campo poosee esta propiedad.

•  primary_key: Verdadero si el campo es la clave principal.

•  unique_key: Verdadero si el campo es clave única.

•  multiple_key: Verdadero si el campo no es clave única.

•  numeric: Verdadero si se trata de un campo numérico.

•  blob: Verdadero si la columna es a BLOB.

•  type: Tipo de la columna.

•  unsigned: Verdadero si se trata de un dato sin signo.

•  zerofill: Verdadero si la columna tiene la propiedad zerofill .

•  mysql_fetch_lengths : Obtener la longitud de los resultados.

array mysql_fetch_lengths(int result)

Devuelve un array que contiene las longitudes de todos los campos que forman el último registro asignado con la función mysql_fetch_row(), mysql_fetch_array() o mysql_fetch_object() .

•  mysql_fetch_object : Devuelve el resultado como un objeto.

object mysql_fetch_object(int result, int [result_type])

Devuelve un objeto con las propiedades del último registro extraido de un resultado.

Esta función es igual que mysql_fetch_array() con la diferencia de que se obtiene un objeto en vez de un array.

El segundo argumento, es una constante que puede tomar los siguientes valores.

•  MYSQL_ASSOC

•  MYSQL_NUM

•  MYSQL_BOTH

 

•  mysql_fetch_row : Devuelve el resultado como un array.

array mysql_fetch_row(int result)

Devuelve un array con un registro del resultado o false en el caso de que no existan registros.

Si se llama dos veces a esta función, él asignará el primer registro del resultado la primera vez y el segundo registro del resultado la segunda vez.

 

•  mysql_field_name : Devuelve el nombre de un campo especificado en un resultado.

string mysql_field_name(int result, int field_index)

Devuelve el nombre del campo que se especifica, mediante el orden que ocupe dentro del resultado.

 

•  mysql_field_seek : Asigna el puntero de los resultados a una posición determinada.

int mysql_field_seek(int result, int field_offset)

Busca el desplazamiento que se especifica en el segundo argumento, dentro del resultado.

 

•  mysql_field_table : Obtiene el nombre de la tabla de un campo especificado.

string mysql_field_table(int result, int field_offset)

 

•  mysql_field_type : Obtiene el tipo de un campo especificado.

Obtiene el nombre de la tabla para el campo que se indica en el desplazamiento.

string mysql_field_type(int result, int field_offset)

Se devuelve el tipo del campo que se indica mediante el desplazamiento.

Las cadenas que devuelve pueden ser:

•  int

•  real

•  string

•  blob

•  Otros tipos detallados en la documentación de MySql.

 

•  mysql_field_flags : Obtiene los "Flags" asociados del campo especificado.

string mysql_field_flags(int result, int field_offset)

Devuelve una cadena con las propiedades del campo separadas por un espacio. Para partir esa cadena se puede utilizar la función explode()

Las palabras que puede devolver son:

•  not_null

•  primary_key

•  unique_key

•  multiple_key

•  blob

•  unsigned

•  zerofill

•  binary

•  enum

•  auto_increment

•  timestamp

 

•  mysql_field_len : Obtiene las longitud de un campo especificado.

int mysql_field_len(int result, int field_offset)

Devuelve la longitud del campo especificado.

 

•  mysql_free_result : Libera la memoria de los resultados.

int mysql_free_result(int result)

Libera la memoria que utiliza el parámetro.

 

•  mysql_insert_id : Obtiene el identificador de la última operación INSERT.

int mysql_insert_id(int [link_identifier] )

Devuelve el ID generado para un campo AUTO_INCREMENTED. Devolverá el id autogenerado devuelto por la última operación INSERT del enlace que se especifica como argumento.

Si el identificador no se especifica, se utiliza la última conexión abierta.

 

•  mysql_list_fields : Lista los campos resultado.

int mysql_list_fields(string database_name, string table_name, int [link_identifier]

Devuelve información del nombre de la tabla que se proporciona. El puntero que devuelve, puede ser utilizado con las funciones mysql_field_flags(), mysql_field_len(), mysql_field_name() y mysql_field_type() .

El resultado es un entero positivo, sólo devuelve -1 en caso de que exista algún error.

 

•  mysql_list_dbs : Lista las bases de datos disponibles en el servidor MySQL.

int mysql_list_dbs(int [link_identifier] )

Devuelve un puntero que contiene la lista de bases de datos disponibles en ese servidor MySql.

Con la información que devuelve, puede llamarse a la función mysql_tablaname() .

 

•  mysql_list_tables : Lista las tablas de una base de datos MySql.

int mysql_list_tables(string database, int [link_identifier] )

Extrae un putero a la lista de tablas que están en una base de datos.

Para extraer el nombre de las tablas se puede posteriormente utilizar mysql_db_query() o mysql_tablename() .

 

•  mysql_num_fields : Otiene el número de campos del resultado.

int mysql_num_fields(int result);

Devuelve el número de campos que contiene el parámetro resultado.

 

•  mysql_num_rows : Obtiene el número de líneas del resultado.

int mysql_num_rows(int result)

Devuelve el número de líneas que contiene el parámetro resultado.

 

•  mysql_pconnect : Abre una conexión permanente con una base de datos.

int mysql_pconnect(string [hostname [:port] [:/path/to/socket] ] , string [username] , string [password] )

Devuelve una conexión persistente a un servidor MySql.

Todos los argumentos son opcionales y sus valores son los mismos que para la función mysql_connect() .

Esta función primero, intenta encontrar una conexión ya existente, si la encuentra, devuelve un identificador para ella, y en el caso de que no la encuentre, abre una nueva conexión permanente.

Despues de esto, mantiene la conexión hasta que finaliza la ejecución del script.

Hay que tener cuidado, porque mysql_close() no cierra conexiones abiertas con esta función.

 

•  mysql_query : Envia una consulta SQL a MySQL.

int mysql_query(string query, int [identificador del link] )

Envía una consulta a una base de datos activa en el servidor asociado al link que se especifica. En el caso de que no se especifique ninguna conexión abierta, la función intenta reestablecer una conexión con la función mysql_connect() .

La cadena de la consulta, debe terminar con ; .

La función devuelve TRUE o FALSE si la consulta tiene éxito. Si el valor devuelto es TRUE, significa que la consulta puede ser realizada, no que existan datos que respondan a esa consulta.

Para consultar cuantas líneas responden a esa consulta, se puede utilizar la función mysql_affecter_rows() y nos dirá cuantas líneas se han visto afectadas por la última operación INSERT, DELETE, REPLACE o UPDATE . En el caso de tratarse de una operación SELECT la función mysql_query() devuelve un identificador de resultado que se puede utilizar con la función mysql_result() .

 

•  mysql_result : Obtiene los datos resultados.

int mysql_result(int result, int row, mixed [field] )

Devuelve el contenido de una celda de la tabla dinámica que devuelve MySql como resultado de una operación previa.

El último argumento es opcional y puede contener el desplazamiento del campo que se desea obtener, el nombre del campo o algo como tabla.campo o el alias del campo que se desee consultar si se establecio previamente.

Cuando se trabaja con amplios conjuntos de resultados, es mejor utilizar alguna de las funciones que extraen un registro de esa consulta.

Hay que tener cuidado de no hacer llamadas a funciones que obtienen resultados de result junto con esta función, puesto que el puntero que va leyendo de los resultados, puede perderse.

 

•  mysql_select_db : Selecciona una base de datos MySql.

int mysql_select_db(string database_name, int [identificador del link] )

Esta función asigna la base de datos activa en el servidor asociado al identificador del link.

 

•  mysql_tablename : Obtiene el nombre de la tabla de un campo.

string mysql_tablename(int result, int i)

Esta función devuelve el nombre de una tabla de un puntero de resultados que ha devuelto previamente la función mysql_num_rows .

 

HTML. CONCEPTO.

 

El lenguaje HTML, a pesar de su sencillez, es sin duda un invento prodigioso. Es el más existoso sistema de presentación de documentos de la historia. Desde que aparecio el WWW, gracias al HTML hemos podido publicar y acceder a más información de la que jamás hemos podido imaginar.

Pero a su vez, el HTML ha sido víctima de su propio éxito. El gran crecimiento de Internet, los intereses comerciales y la necesidad de poder realizar páginas Web vistosas, ha dado lugar a que en poco tiempo este lenguaje haya evolucionado muy rápidamente y, por desgracia, no siempre por el camino más adecuado. Actualmente estamos en la versión 4.0 y, sin embargo, sigue siendo igual de rígido e inflexible como era en un principio. Y es que es un lenguaje limitado en cuanto que no nos permite realizar sobre Internet todas las aplicaciones o cosas que nos gustaría.

 

XML. CONCEPTO.

 

XML , sigla en inglés de e X tensible M arkup L anguage (« lenguaje de marcas extensible»), es un metalenguaje extensible de etiquetas desarrollado por el World Wide Web Consortium (W3C). Es una simplificación y adaptación del SGML y permite definir la gramática de lenguajes específicos (de la misma manera que HTML es a su vez un lenguaje definido por SGML). Por lo tanto XML no es realmente un lenguaje en particular, sino una manera de definir lenguajes para diferentes necesidades. Algunos de estos lenguajes que usan XML para su definición son XHTML , SVG , MathML .

XML no ha nacido sólo para su aplicación en Internet , sino que se propone como un estándar para el intercambio de información estructurada entre diferentes plataformas. Se puede usar en bases de datos, editores de texto, hojas de cálculo y casi cualquier cosa imaginable.

XML es una tecnología sencilla que tiene a su alrededor otras que la complementan y la hacen mucho más grande y con unas posibilidades mucho mayores. Tiene un papel muy importante en la actualidad ya que permite la compatibilidad entre sistemas para compartir la información de una manera segura, fiable y fácil.

La idea que subyace bajo el XML es la de crear un lenguaje muy general que sirva para muchas cosas. El HTML está diseñado para presentar información directamente a los humanos, y esto sin duda es algo bueno, pero es un lenguaje complicado de procesar para los programas informáticos. El HTML no es bueno porque no indica lo que está representando , se preocupa principalmente de que eso tiene que ir en azul, o con un tipo de letra determinada, pero no te dice que lo que está mostrando es el título de un libro o el precio de un artículo. El XML hace precisamente esto: describe el contenido de lo que etiqueta .

La diferencia es clara en el siguiente ejemplo:

http://www.programacion.com/html/xml/htmdsssl/capitulo1/cap1sgm2.gif

Donde podemos observar como Amazón presenta en su Web información sobre los libros.

El código en HTML es el siguiente:

    <p> <dt> <b> <a href="/exec/obidos/ASIN/0764531999/qid=919015337"> Xml : Extensible Markup Language</a></b> ~ <NOBR><font color=#990033>Usually ships in 24 hours</font></NOBR> <dd> Elliotte Rusty Harold / Paperback / Published 1998 <br> Our Price: $31.99 ~ <NOBR><font color =#990033>You Save: $8.00 (20%)</font></NOBR> <br> <a href="/exec/obidos/ASIN/0764531999/qid=919015337"> <i>Read more about this title...</i></a>  

y en XML lo podríamos escribir de la siguiente manera:

  <?xml version="1.0"?> <libro> <titulo>Xml: Extensible Markup Language</titulo> <disponible tiempo="24" unidad="hours"/> <autor>Elliotte Rusty Harold</autor> <formato>Paperback</formato> <publicacion>1998</publicacion> <precio cantidad="31.99" moneda="dolar"/> <descuento cantidad="20"/> <enlacelibro href="/exec/obidos/ASIN/0764531999/qid=919015337"/> </libro>  

Es evidente que no hay que ser ningún programador experto para entender que cualquier programa informático podrá trabajar de forma más eficiente sobre el segundo ejemplo que sobre el primero.

Esto permitirá, por ejemplo, realizar motores de búsqueda mucho más eficaces, lo que nos permitirá un acceso más rápido y eficiente a la información. Nos permitirá acceder a nuestras páginas favoritas desde nuestro telefonos celulares , o desde la radio de nuestros automoviles, en el momento en el que los programas de reconocimiento de voz trabajen con XML. Facilitará el intercambio de información y la cooperación entre las empresas facilitando el comercio electrónico, etc. Y es que el XML busca precisamente crear la capacidad de hacerlo todo en la Web .

Si el HTML supuso una revolución porque permite la comunicación entre las personas, el XML supondra una revolución porque va a permitir la comunicación entre las máquinas.

 

HTML, XML, versus SGML

 

Tampoco tenemos que equivocarnos y pensar que el XML es un HTML++. Tanto el XML como el HTML tienen su base en el SGML. El SGML (Standard Generalized Markup Language, ISO 8879) es el estándar internacional para la definición de la estructura y el contenido de diferentes tipos de documentos electrónicos . Es decir, es un metalenguaje que nos permite definir lenguajes para definir la estructura y el contenido de nuestros documentos. La definición de la estructura y el contenido de un tipo de documento se realiza en una DTD. En ella definimos los elementos que conformarán ese tipo de documentos y como tienen que estar organizados para que sea correcto.

Un ejemplo de DTD es por ejemplo la que define cómo tendrán que ser los documentos HTML. Por tanto, el HTML no es más que un tipo de documento SGML que se utiliza en la Web, y esto es importante, ya que aquí radica su principal diferencia con el XML.

El XML no es ningún tipo de documento SGML, sino que es una versión abreviada de SGML optimizada para su utilización en Internet. Esto significa que con él vamos a poder definir nuestros propios tipos de documentos (podremos definir nuestras propias etiquetas) y, por tanto , ya no dependeremos de un único e inflexible tipo de documento HTML.

El XML más que un HTML++ hay que considerarlo como un SGML-- optimizado para su utilización en Internet . Como escribió Richard Ligth en su libro Presenting XML , "XML ofrece el 80% de las ventajas del SGML con un 20% de su complejidad". Y es que los diseñadores de XML intentaron dejar fuera sólo aquellas partes que raramente se utilizan. Esta reducción resultó ser muy importante: la especificación XML ocupa aproximadamente 30 páginas, frente a las 500 del SGML.

 

ASP. CONCEPTO.

 

Active Server Pages ( ASP ) es una tecnología del lado servidor de Microsoft para páginas web generadas dinámicamente, que ha sido comercializada como un anexo a Internet Information Server (IIS).

La tecnología ASP está estrechamente relacionada con el modelo tecnológico de su fabricante. Intenta ser solución para un modelo de programación rápida ya que programar en ASP es como programar en VisualBasic, por supuesto con muchas limitaciones ya que es una plataforma que no se ha desarrollado como lo esperaba Microsoft.

Lo interesante de este modelo tecnológico es poder utilizar diversos componentes ya desarrollados como algunos controles ActiveX. Otros problemas que han hecho evolucionar esta tecnología es el no disponer de información "que oriente a quienes desean aprenderla y resulta muy costosa en tiempo descubrir aquí y allá toda la información para volverla altamente útil".

ASP ha pasado por cuatro iteraciones mayores, ASP 1.0 (distribuido con IIS 3.0), ASP 2.0 (distribuido con IIS 4.0), ASP 3.0 (distribuido con IIS 5.0) y ASP.NET (parte de la plataforma .NET de Microsoft). Las versiones pre-.NET se denominan actualmente (desde 2002) como ASP clásico .

En el último ASP clásico, ASP 3.0, hay seis objetos integrados disponibles para el programador, Application, ASPError, Request, Response, Server y Session. Cada objeto tiene un grupo de funcionalidades frecuentemente usadas y útiles para crear páginas web dinámicas.

FORMAS DE INCORPORAR UNA PÁGINA WEB O PORTAL PARA VENDER UN DETERMINADO PRODUCTO POR LA WEB

Una empresa, para incorporar una página Web o portal a los fines de vender un producto, debe realizar los siguientes pasos:

•  Disponer del hardware (equipos) necesario, que incluye:

•  Conexión a un proveedor de servicios de internet

•  Deben poseer el nombre del dominio debidamente registrado.

•  Servidor Web, Servidor de Bases de Datos.

•  Hardware para los empleados con necesidad de trabajar con la pagina, con sus correspondientes periféricos.

•  Un sistemas de cableado bien estructurado, con sus correspondientes componentes electronicos (repetidores, concentradores, etc) para una efectiva conexión de los usuarios.

•  Cortafuegos efectivos.

•  Se debe adquirir un sistema operativo que sea capaz de soportar el intercambio de información y que compatible tanto en clientes como en servidores (Unix, Linux, Windows, Apple, etc)

•  Poseer disponibilidad en las aplicaciones de red como navegadores y correo electrónico para establecer comunicación con los clientes.

•  Diseñar la instrumento Web para la venta del producto, teniendo en consideración la capacidad de la empresa. Este instrumento debe incluir modelos para la presentación del producto (imágenes, utilidad, prerrogativas, precio), formas de pago, sugerencia, contactos. Así mismo, con una Interfaz de usuario de facil manejo y entorno amigable, con sus niveles de acceso bien definidos de acuerdo con las caracteristicas de los usuarios.

•  Establecer el instrumento considerando la distribución de la empresa tanto de oficina principal y sucursales si existen.

•  Instruir a los empleados acerca de los instrumentos y el uso de la misma, así como en técnicas de manejo del de los clientes, técnicas de comunicación firme y negociación, lo que le va a permitir responder eficiente y oportunamente las solicitudes de los clientes.

•  Establecer campañas publicitarias, ya sea mediante correos personalizados o publicaciones en medios de comunicación, la disponibilidad del instrumento a las personas y/o entidades con las cuales la empresa se comunica con frecuencia, así como a clientes potenciales sobre las bondades de dichos productos.

•  Mantener una campaña de divulgación permanente y actualizada sobre la calidad de servicio, para que esto permita mantener la idoneidad de la empresa en el mercado.

 

INFOGRAFIA.

http://geneura.ugr.es/~jmerelo/JSP/

http://kal-el.ugr.es/~maribel/php/

http://www.programacion.com/html/xml/htmdsssl/capitulo1/capitulo1.htm

http://es.wikipedia.org/wiki/XML

 

Hosted by www.Geocities.ws

1