UNIVERSIDAD YACAMBU

Junio, 2008

 

 

ANÁLISIS Y DISEÑO DE SISTEMAS

 

 

 

 

Gutiérrez Leivic

Johanna Piña

 

     Suponga que usted lo contrata una empresa que tiene un producto y lo quiere comercializar en la Web. Usted debería explicar los procedimientos a seguir por la empresa que desee incorporar una página Web o portal para vender un determinado producto por la Web.

 

 

     Si queremos que una empresa se comercialice rápidamente y sea conocida o encontrada por muchos, está debe tener una página Web. Para incorporar una página Web a una empresa se deben seguir los siguientes pasos:

 

Levantamiento de Información

 

     En esta etapa del proyecto se debe recabar toda la información y expectativas que tiene el dueño de la empresa con respecto al proyecto. La idea es que nosotros entendamos a la perfección lo que necesitan y los recursos que disponen, para que podamos planificar en base a ello.

     Se debe tener claro, la misión y la visión de la empresa, dependiendo de estas sabremos hacia donde queremos llegar.

     Para esto se deberá realizar cuestionario donde se especifique sus requerimientos, necesidades y objetivos planteados para el proyecto Web. Este relevamiento de datos preliminar es fundamental para comenzar a asegurar el éxito del proyecto.

En el cuestionario deben considerarse los siguientes puntos:

 

Grado de Integración de su proyecto

1.        qué nivel de conocimientos tiene el contratante sobre Internet?

2.       dónde o cómo llegó a persuadirse de que puede llegar a obtener cierto éxito con un proyecto web?

3.       escoja una de las alternativas siguientes:

·         Encaro este proyecto porque poseo una firme convicción y decisión en llevarlo adelante para conseguir mis propósitos

·         Encaro este proyecto porque deseo "ver cómo me va" y sobre la marcha decidiré algo a respecto

 

Describa su RUBRO o área de especialización de sus actividades.

1.       Describa su rubro o área de especialización de sus actividades

2.      Escoja 2 términos claves (conjunto de dos a cinco palabras claves) que describan lo que usted ofrece. Si puede haga una lista más extensa (tenga en cuenta que estos deben ser precisamente los que "busquen" en los buscadores aquellos internautas que deseen encontrar los productos/servicios que usted ofrece)

3.      Cuéntenos quién o quienes es/son su/s competidor/es directos

4.      Díganos cuáles son los sitios web de su competencia

 

Sobre su empresa / actividad

Por favor provea información sobre:

1.       Tamaño de su empresa (Filial central, sucursales, etc)

2.      Cantidad de empleados

3.      Facturación anual

4.      Cantidad de productos o servicios que tiene a la venta

5.      Familia o categorías de productos/servicios (en caso de haber más de una)

 

Debe aclarar el ámbito geográfico de alcance de sus actividades.

Su sitio web será un medio de promoción de su empresa/productos para:

1.       ¿una ciudad? ¿varias ciudades?

2.      ¿una región? ¿varias regiones?

3.      ¿un país? ¿algunos paises?

4.      ¿todo el mundo?

Especifique en cada caso.

 

Público Objetivo o Target (usuarios y potenciales clientes)

Defina y especifique a qué tipo de público desea capturar con su sitio web, tratando de describir sus rasgos fundamentales o características socioeconómicas:

1.       edad,

2.      sexo,

3.      idioma,

4.      nivel socio-cultural

5.      poder adquisitivo,

6.      rasgos particulares

7.      lugares de reunión

8.      preferencias de consumo

Es muy importante para nosotros que usted nos indique todo lo que pueda servirnos para conocer sus usuarios o potenciales clientes. Tenga en cuenta que la web se hará para ellos y no para usted.

 

Establecer los Objetivos del Proyecto

 

     Los objetivos del proyecto deben estar claros para el contratante y para el experto que la diseña, con el fin de no se creen falsas expectativas, todo se debe plasmar en un documento donde se describan las especificaciones del proyecto. Este punto puede significar la diferencia entre el éxito y el Fracaso.

 

Evaluación de recursos y Material disponible

 

Evaluamos los recursos de administración y actualización posteriores del website, como así también los recursos para su promoción online efectiva.

El material de edición debe cumplir con ciertas normas de calidad. Entonces nosotros:

  • Evaluamos la calidad de los textos a utilizar en la web
  • Evaluamos la calidad del material gráfico -identidad de imagen-
  • Evaluamos la calidad del material multimedia
  • Evaluamos las formas, métodos y procedimientos.

 

Planeamiento y Documentación del proyecto web

 

Aquí comienza la planificación propiamente dicha. Elaboramos aquí un brief de proyecto donde detallamos instrucciones y especificaciones de producción del sitio web:

  • Los requerimientos de tu sitio web (como medio para lograr cubrir las necesidades y objetivos de tu Empresa/Negocio)
  • La forma de producir u optimizar los materiales y herramientas a utilizar
  • Los plazos y etapas para su realización,
  • La inversión monetaria propuesta,
  • Las tecnologías que deben utilizarse
  • Los perfiles profesionales intervinientes
  • Las normas de calidad que deben respetarse
  • La asignación/delegación de tareas (diagramas de Gannt) a los profesionales intervinientes.
  • Las formas de entrega del trabajo terminado, documentación y archivos fuente entregables, etc
  • Garantías exigidas a sus desarrolladores

También incluye un boceto que contiene:

  • Un prototipo de Interfaz gráfica (organización de la pantalla y la disposición de sus elementos)
  • Sugerencia de uso de patrones de diseño web
  • Sugerencias de arquitectura de contenidos y organización del web
  • Sugerencias de navegabilidad (Browsing y Searching)

Al finalizar esta etapa, se deben tener los documentos entregables que contienen la planificación del proyecto web. Estos pueden ser: archivos Word o HTML, diagramas con imágenes y capturas de pantalla.

 

 

 

JSP

 

     Para la Enciclopedia libre Wikipedia, JavaServer Pages (JSP) es una tecnología Java que permite generar contenido dinámico para Web, en forma de documentos HTML, XML o de otro tipo. Esta tecnología es un desarrollo de la compañía Sun Microsystems. La Especificación JSP 1.2 fue la primera que se liberó y en la actualidad está disponible la Especificación JSP 2.1.

 

     Las JSP's permiten la utilización de código Java mediante scripts. Además es posible utilizar algunas acciones JSP predefinidas mediante etiquetas. Estas etiquetas pueden ser enriquecidas mediante la utilización de Librerías de Etiquetas (TagLibs o Tag Libraries) externas e incluso personalizadas. Microsoft, la más directa competencia de Sun, ha visto en esta estrategia de Sun una amenaza, lo que le ha llevado a que su plataforma .NET incluya su lenguaje de scripts ASP.NET que permite ser integrado con clases .NET (ya estén hechas en C++, VisualBasic o C#) del mismo modo que jsp se integra con clases Java.

 

     Con JSP podemos crear aplicaciones Web que se ejecuten en varios servidores Web, de múltiples plataformas, ya que Java es en esencia un lenguaje multiplataforma. Las páginas JSP están compuestas de código HTML/XML mezclado con etiquetas especiales para programar scripts de servidor en sintaxis Java. Por tanto, las JSP podremos escribirlas con nuestro editor HTML/XML habitual.

 

     Las páginas JSP permiten que separemos la presentación final de la lógica de negocio (capas media y final). Es un gran "Rapid Application Development" (RAD) de aplicaciones Web. Esta sección explica los conceptos y las ventajas de la tecnología JSP, y luego demostraremos cómo utilizar esta tecnología emocionante, y cómo crear componentes reutilizables para manejar formularios

 

 La Web Dinámica

 

     El Web se ha desarrollado desde un sistema de información distribuido hypermedia basado en red que ofrecía información estática hasta un mercado para vender y comprar mercancías y servicios. Las aplicaciones cada vez más sofisticadas para permitir este mercado requieren una tecnología para presentar la información dinámica. Las soluciones de primera generación incluyeron CGI, que es un mecanismo para ejecutar programas externos en un servidor Web. El problema con los scripts CGI es la escalabilidad; se crea un nuevo proceso para cada petición.

 

     Las soluciones de segunda generación incluyeron vendedores de servidores Web que proporcionaban plug-ins y a APIs para sus servidores. El problema es que sus soluciones eran específicas a sus productos servidores. Por ejemplo, Microsoft proporcionó las páginas activas del servidor (ASP) que hicieron más fácil crear el contenido dinámico. Sin embargo, su solución sólo trabajaba con Microsoft IIS o Personal Web Server. Por lo tanto, si deseábamos utilizar ASP teníamos que confiarnos a los productos de Microsoft y no estaríamos gozando de la libertad de seleccionar nuestro servidor Web y sistema operativo preferidos.

 

     Otra tecnología de segunda generación que es absolutamente popular en las empresas son los Servlets. Los Servlets hacen más fácil escribir aplicaciones del lado del servidor usando la tecnología Java. El problema con los CGI o los Servlets, sin embargo, es que tenemos que seguir el ciclo de vida de escribir, compilar y desplegar.

 

Las páginas JSP son una solución de tercera generación que se pueden combinar fácilmente con algunas soluciones de la segunda generación, creando el contenido dinámico, y haciéndolo más fácil y más rápido construir las aplicaciones basadas en Web que trabajan con una variedad de otras tecnologías: servidores Web, navegadores Web, servidores de aplicación y otras herramientas de desarrollo. 

 

Detrás de la Escena

 

     Cuando se llame a ésta página (date.jsp), será compilada (por el motor JSP) en un Servlet Java. En este momento el Servlet es manejado por el motor Servelt como cualquier otro Servlet. El motor Servlet carga la clase Servlet (usando un cargador de clases) y lo ejecuta para crear HTML dinámico para enviarlo al navegador, como se ve en la Figura Flujo Petición/Respuesta cuando se llama a una página JSP. Para este ejemplo, el Servelt crea un objeto Date y lo escribe como un String en el objeto out, que es el stream de salida hacia el navegador.

 


Figura: Flujo Petición/Respuesta cuando se llama a una página JSP.

 

     La siguiente vez que se solicite la página, el motor JSP ejecuta el Servlet ya cargado a menos que la página JSP haya cambiado, en cuyo caso es automáticamente recompilada en un Servlet y ejecutada.

 

XML

 

     La mayoría de la gente ha oído hablar de XML (Lenguaje de Marcas Extensible, Extensible Markup Language), siendo muy corriente que se tenga la idea de que es una especie de HTML avanzado, por lo que siempre que sale el tema de XML surgen cuestiones fundamentales como: ¿qué es exactamente XML?, ¿es XML una nueva versión de HTML?, ¿para que sirve?, ¿cuáles fueron los motivos de su creación?, ¿tiene alguna aplicación en la actualidad?.

 

     XML es un lenguaje de marcas que ofrece un formato para la descripción de datos estructurados, el cual conserva todas las propiedades importantes del antes mencionado SGML. Es decir, XML es un metalenguaje, dado que con él podemos definir nuestro propio lenguaje de presentación y, a diferencia del HTML, que se centra en la representación de la información, XML se centra en la información en si misma. La particularidad más importante del XML es que no posee etiquetas prefijadas con anterioridad, ya que es el propio diseñador el que las crea a su antojo, dependiendo del contenido del documento. De esta forma, los documentos XML con información sobre libros deberían tener etiquetas.

 

HTML e Internet

 

    Para comprender plenamente cuales fueron las razones que llevaron a la creación del XML por parte del W3C, es necesario comenzar aclarando la evolución de Internet y del lenguaje HTML. El lenguaje HTML es originariamente un subconjunto del SGML ( Lenguaje de Marcas Estándar Generalizado, Standard Generalized Markup Language), especializado en la descripción de documentos en pantalla a través de marcas. El proyecto inicial se basaba en una colección de etiquetas que permitían describir documentos de texto y vínculos de hipertexto que permitían desplazarse entre diferentes documentos, siempre con independencia de la máquina. Conociendo las normas de actuación de estas etiquetas y disponiendo de un sencillo editor de textos ASCII, se pueden confeccionar fácilmente documentos HTML.

 

Objetivos y Orígenes

 

     XML fue desarrollado por un grupo de trabajo bajo los auspicios del consorcio World Wide Web (W3C) a partir de 1996. Este fue constituido en 1994 con el objetivo de desarrollar protocolos comunes para la evolución de Internet. Se trata de un consorcio de la industria internacional con sedes conjuntas en el Instituto Tecnológico de Massachussets, de Estados Unidos, el Instituto Nacional de Investigación en Informática y Automática europeo y la Keio University Shonan Fujisawa Campus de Japón. El W3C tiene como misión la publicación para uso público de protocolos o estándares globales de uso libre. Al comenzar el proyecto, los objetivos planteados por el grupo de desarrollo del XML fueron diez puntos [Young M. 2000].

 

Características del XML

 

     XML es un formato basado en texto, específicamente diseñado para almacenar y transmitir datos. Un documento XML se compone de elementos XML, cada uno de los cuales consta de una etiqueta de inicio, de una etiqueta de fin y de los datos comprendidos entre ambas etiquetas. Al igual que los documentos HTML, un documento XML contiene texto anotado por etiquetas. Sin embargo, a diferencia de HTML, XML admite un conjunto ilimitado de etiquetas, no para indicar el aspecto que debe tener algo, sino lo que significa. Por ejemplo: un elemento XML puede estar etiquetado como precio, número de pedido o nombre. El autor del documento es quien decide qué tipo de datos va a utilizar y qué etiquetas son las más adecuadas.

 

Estándares Abiertos

 

     XML se basa en una tecnología desarrollada a partir de estándares probados y optimizada para la Web. La iniciativa XML consta de un conjunto de estándares relacionados entre sí.

 

Fortalezas y Debilidades del XML

 

     La meta fundamental del XML es hacer la cooperación y la interoperabilidad más fáciles entre módulos que pertenecen a diferentes sistemas, e incluso a diferentes organizaciones. Entonces, ¿por qué el XML se ha convertido en tecnología del alto nivel tan rápidamente? La respuesta es simple: XML es texto simple, pero es también elegante. Un lenguaje de marcas hace fácil identificar (y extraer en un tiempo posterior) segmentos específicos de información con significados especiales. Usar texto simple y mantener el contenido universalmente interpretable son dos condiciones para implementar una tecnología exitosamente entre sistemas heterogéneos. Una cadena del texto se puede transferir y se puede manejar fácilmente en cualquier plataforma destino. Sin embargo, si usted solo planea definir un protocolo basado en texto para hacer que sus módulos se comuniquen, usted no necesita necesariamente XML. El ASCII, de hecho, ha existido durante mucho tiempo. La diferencia recae en las etiquetas XML que se utilizan para delimitar segmentos de información.

 

ASP

 

 

     ASP (Active Server Pages) es la tecnología para la creación de páginas dinámicas del lado del servidor desarrollada por Microsoft.

     El tipo de servidores que emplean este lenguaje son aquellos que funcionan con sistema operativo de la familia de Windows NT. Afortunadamente, también podemos visualizar páginas ASP sobre Windows 95/98.

     Para escribir páginas ASP utilizamos un lenguaje de scripts, que se colocan en la misma página Web junto con el código HTML. Comúnmente este lenguaje de scripts es Visual Basic Script, que deriva del conocido Visual Basic, aunque también se pueden escribir los scripts ASP en otro lenguaje: JScript, que deriva a su vez del conocido Javascript.

     Existe una versión de Visual Basic Script en el lado cliente y otra en el lado del servidor. En los dos casos, como su nombre indica, el lenguaje de base es Visual Basic por lo que su aprendizaje puede ser perfectamente coordinado, ya que las sentencias y las sintaxis son prácticamente las mismas. En ASP, al estar programando páginas del lado del servidor, utilizaremos Visual Basic Script del lado del servidor.

Pasos previos I: Instalación del PWS

     Anteriormente hemos explicado que, dada la naturaleza de los lenguajes de lado servidor, nos es imposible trabajar off line como hacíamos para el caso de las páginas HTML que almacenábamos en nuestro disco duro. También dijimos que esto no era completamente cierto ya que podíamos resolver este eventual problema instalándonos en nuestro PC un servidor propio. Este servidor distribuido por Microsoft tiene dos versiones diferentes que son utilizadas dependiendo del equipo que estemos utilizando. Para los usuarios de W95 o W98, la versión disponible se llama Personal Web Server (PWS).

     Si trabajamos bajo sistema Windows NT, o las versiones Profesional y Server de Windows 2000 y XP, el servidor a instalar es el Internet Information Server (IIS).

     Existe también la posibilidad de trabajar en plataformas UNIX empleando en este caso el ChilisoftASP.

     Los usuarios de W95 tienen varias posibilidades para hacerse con el PWS:

     Descargarlo del sitio Microsoft, a partir de una antigua versión de Frontpage 98, instalándolo desde la opción pack de W-NT 4.0 o desde el CD de instalación de W98 (directorio add-ons/pws).

     Los usuarios de Windows ME no tienen soporte para PWS, aunque se pueden probar una serie de pasos para lograr utilizarlo en el sistema.

     Este documento de Microsoft explica mejor este asunto.

     Por otro lado, los usuarios de Windows 2000 deben utilizar IIS 5.0, que se encuentra en la instalación. Es recomendable revisar también las notas de los visitantes al pie de página, porque encontraréis muchos más datos sobre problemas en distintas versiones y compatibilidades con otros sistemas que van apareciendo.

     Algunas versiones del PWS anteriores a la 4.0 requieren un archivo adicional

    asp.exe para poder reconocer páginas ASP.

     PWS podría ser considerado como una versión "light" del IIS4. En realidad en PWS no es suficientemente versátil para ejercer de servidor de un sitio de un tamaño mediano aunque si que podría en un momento dado hacerse cargo de un sitio de tamaño reducido y no muy concurrido. De todas formas, la utilidad del PWS radica sobre todo en que nos permite realizar las pruebas del sitio que vayamos a desarrollar en "local" sin necesidad de colgar nuestros archivos en el servidor que alberga nuestro sitio cada vez que queramos hacer una prueba sobre una pequeña modificación introducida. Esto resulta a todas luces práctico sobre todo para principiantes que necesitan hacer pruebas con una relativa frecuencia permitiendo el ahorro de mucho tiempo.

     Dado que la mayoría de los posibles lectores de este manual trabajan en entorno W95 y 98, en este capítulo nos limitaremos a la descripción del PWS dejando el IIS4 para futuros capítulos. Sin embargo, las explicaciones que damos pueden ser igualmente útiles para quienes tengan que utilizar este último el cual presenta un funcionamiento básico análogo. El uso del PWS es extremadamente fácil. Una vez instalado, podemos observar la introducción de un nuevo icono en la barra de tareas así que en el menú de inicio correspondientes a la aplicación. A partir de cualquiera de ellos podemos tener acceso a la página principal.

     El siguiente paso es crear un directorio virtual dentro del cual alojaremos nuestra página. Hablamos de directorio virtual debido a que nuestra página puede estar alojada en cualquier parte de nuestro disco duro, donde a nosotros nos plazca y con un nombre de directorio que tampoco tiene por qué parecerse al que incluiremos en la URL cuando queramos ejecutar la página. De hecho, la URL que debemos introducir en el navegador para visualizar nuestra página ASP es del tipo: http://localhost/nombre_del_directorio virtual/archivo.asp

     Como se puede observar, en este tipo de dirección no se especifica el camino en el disco duro donde se encuentran nuestros archivos.

     Página de inicio de PWS

     Volviendo a la creación de nuestro directorio virtual, para hacerlo debemos pinchar sobre el icono "Avanzado" el cual nos da acceso a las opciones avanzadas del PWS. Una vez ahí, el siguiente paso es "Agregar" un directorio virtual. Una ventana en la que tendremos que introducir el nombre de dicho directorio virtual y especificar en qué carpeta del disco duro tenemos guardados los archivos y carpetas de la página aparecerá.

     Configurando el directorio virtual

     Ahora no queda más que introducir en el navegador el tipo de URL mencionada anteriormente para ejecutar los scripts creados.

     Una opción interesante en el menú avanzado es la selección del tipo de archivo que será ejecutado por defecto. Aquí podríamos poner archivos con nombre index.html o index.asp o bien con el nombre default o home.

Pasos previos II: Conexión a BD

     El siguiente paso, una vez instalado el servidor que nos permite trabajar en local, es crear los vínculos con las bases de datos que explotaremos en nuestros scripts. En efecto, la utilización de páginas dinámicas está muy frecuentemente asociada con el empleo de bases de datos.

     Una base de datos es sencillamente un conjunto de tablas en las que almacenamos distintos registros (artículos de una tienda virtual, proveedores o clientes de una empresa, películas en cartelera en el cine...). Estos registros son catalogados en función de distintos parámetros que los caracterizan y que presentan una utilidad a la hora de clasificarlos. Así, por ejemplo, los artículos de una tienda virtual podrían catalogarse a partir de distintos campos como puede ser un número de referencia, nombre del artículo, descripción, precio, proveedor.

     Las bases de datos son construidas sirviéndose de aplicaciones tales como el Microsoft Access o el MySQL las cuales resultan bastante sencillas de utilizar con unos conceptos mínimos.

     Nuestro objeto aquí no es explicar la forma de explotarlas sino cómo establecer una conexión entre la base de datos, almacenada en cualquier lugar del disco duro y nuestra página Web alojada también en cualquier parte y reconocida por nuestro servidor personal a partir del directorio virtual.

     Para crear este vínculo, nos servimos de los conectores ODBC (Open DataBase Connectivity) los cuales establecen el enlace con la base de datos.



Acceso por panel de configuración Agregando un DSN


     El primer paso para crear esta conexión es ir al panel de configuración y abrir el icono ODBC 32bits. Dentro de él, deberemos crear un DSN (Data Source Name) de tipo sistema o usuario. Para ello nos colocamos en la solapa correspondiente (DSN sistema o DSN usuario) y seleccionamos "Añadir". A continuación se nos pedirá seleccionar los controladores de la aplicación que hemos utilizado para crear la base de datos, el nombre que le queremos asignar (aquel que empleemos en nuestros scripts) y el camino para encontrarla en el disco duro.


Configurando la conexión

     Esta DSN permite en realidad definir la base de datos que será interrogada sin necesidad de pasar por la aplicación que hayamos utilizado para construirla, es decir, con simples llamadas y órdenes desde nuestros archivos ASP podremos obtener los datos que buscamos sin necesidad de ejecutar el Access o el MySQL los cuales, evidentemente, no tendrán por qué encontrarse en el servidor donde trabajemos.

Inicio a la Programación en ASP

     A lo largo de los capítulos precedentes nos ha quedado claro que el ASP es un lenguaje orientado a las aplicaciones en red creado por Microsoft que funciona del lado servidor. Es en efecto el servidor quien se ocupa de ejecutarlo, interpretarlo y enviarlo al cliente (navegador) en forma de código HTML.

     ASP es principalmente utilizado sirviéndose del lenguaje Visual Basic Script que lo es más que una versión light del Visual Basic. Sin embargo, es posible programar páginas ASP en Java Script. Lo único que hay que hacer es especificar en la propia página qué tipo de lenguaje estamos utilizando.

     Dado que el lenguaje ASP está muy frecuentemente embebido dentro del código HTML, es importante poder marcar al servidor qué partes están escritas en un lenguaje y cuáles en otro. Es por ello que todas las partes del archivo que están escritas en ASP estarán siempre delimitadas por los símbolos: <% y %>.

Bucles y Condiciones

     La programación exige en muchas ocasiones la repetición de acciones sucesivas o la elección de una determinada secuencia y no de otra dependiendo de las condiciones específicas de la ejecución.

     Como ejemplo, podríamos hacer alusión a un script que ejecute una secuencia diferente en función del día de la semana en el que nos encontramos.

     Este tipo de acciones pueden ser llevadas a cabo gracias a una paleta de instrucciones presentes en la mayoría de los lenguajes. En este capítulo describiremos someramente algunas de ellas propuestas por el VBS y que resultan de evidente utilidad para el desarrollo de páginas ASP.

     Para evitar el complicar el texto, nos limitaremos a introducir las más importantes dejando de lado otras cuantas que podrán ser fácilmente asimilables a partir de ejemplos prácticos.

Las condiciones: IF

     Cuando queremos que el programa, llegado a un cierto punto, tome un camino determinado en determinados casos y otro diferente si las condiciones de ejecución difieren, nos servimos del conjunto de instrucciones If, Then y Else. La estructura de base de este tipo de instrucciones es la siguiente:

IF condición THEN

Instrucción 1

Instrucción 2

...

ELSE

Instrucción A

Instrucción B

...

END IF

     Llegados a este punto, el programa verificará el cumplimiento o no de la condición. Si la condición es cierta las instrucciones 1 y 2 serán ejecutadas. De lo contrario (Else), las instrucciones A y B serán llevadas a cabo.

     Una vez finalizada la estructura, deberemos cerrar con un End If.

     Esta estructura de base puede complicarse un poco más si tenemos cuenta que no ecesariamente todo es blanco o negro y que muchas posibilidades pueden darse. Es por ello que otras condiciones pueden plantearse dentro de la condición principal. Hablamos por lo tanto de condiciones anidadas que tendrían una estructura del siguiente tipo:

IF condición THEN

Instrucción 1

Instrucción 2

...

ELSE

IF condición2 THEN

Instrucción A

Instrucción B

...

ELSE

Instrucción X

...

END IF

END IF

     De este modo podríamos introducir tantas condiciones como queramos dentro de una condición principal. En este tipo de estructuras es importante cerrar correctamente cada uno de los IF con sus END IF correspondientes. De gran ayuda es la instrucción ELSE IF que permite en una sola línea y sin necesidad de añadir un END IF introducir una condición anidada.

     El uso de esta herramienta resultará claro con un poco de práctica. Pongamos un ejemplo sencillo de utilización de condiciones. El siguiente programa permitiría detectar la lengua empleada por el navegador y visualizar un mensaje en dicha lengua.

 

.NET

 

    .NET es un proyecto de Microsoft para crear una nueva plataforma de desarrollo de software con énfasis en transparencia de redes, con independencia de plataforma de hardware y que permita un rápido desarrollo de aplicaciones. Basado en ella, la empresa intenta desarrollar una estrategia horizontal que integre todos sus productos, desde el sistema operativo hasta las herramientas de mercado.

   .NET podría considerarse una respuesta de Microsoft al creciente mercado de los negocios en entornos Web, como competencia a la plataforma Java de Sun Microsystems. Su propuesta es ofrecer una manera rápida y económica, a la vez que segura y robusta, de desarrollar aplicaciones o como la misma plataforma las denomina, soluciones permitiendo una integración más rápida y ágil entre empresas y un acceso más simple y universal a todo tipo de información desde cualquier tipo de dispositivo.

 

Consideraciones

     La norma (incluido en ECMA-335, ISO/IEC 23271) que define el conjunto de funciones que debe implementar la biblioteca de clases base (BCL por sus siglas en inglés, tal vez el más importante de los componentes de la plataforma), define un conjunto funcional mínimo que debe implementarse para que el marco de trabajo sea soportado por un sistema operativo. Aunque Microsoft implementó esta norma para su sistema operativo Windows, la publicación de la norma abre la posibilidad de que sea implementada para cualquier otro sistema operativo existente o futuro, permitiendo que las aplicaciones corran sobre la plataforma independientemente del sistema operativo para el cual haya sido implementada. El Proyecto Mono emprendido por Ximian pretende realizar la implementación de la norma para varios sistemas operativos adicionales bajo el marco del software libre o código abierto.

Componentes

     Los principales componentes del marco de trabajo son:

·         El conjunto de lenguajes de programación

·         La Biblioteca de Clases Base o BCL

·         El Entorno Común de Ejecución para Lenguajes o CLR por sus siglas en inglés.

     Debido a la publicación de la norma para la infraestructura común de lenguajes (CLI por sus siglas en inglés), el desarrollo de lenguajes se facilita, por lo que el marco de trabajo .NET soporta ya más de 20 lenguajes de programación y es posible desarrollar cualquiera de los tipos de aplicaciones soportados en la plataforma con cualquiera de ellos, lo que elimina las diferencias que existían entre lo que era posible hacer con uno u otro lenguaje.

Algunos de los lenguajes desarrollados para el marco de trabajo .NET son: C#, Visual Basic, Delphi (Object Pascal), C++, J#, Perl, Python, Fortran, Cobol.NET y PowerBuilder.

 

Common Language runtime (CLR)

     Artículo principal: Common Language Runtime

 

Estructura interna del entorno de ejecución en lenguaje común (CLR por sus siglas en inglés).

 

     Este es el lenguaje insignia de .NET Framework (marco de trabajo .NET) y pretende reunir las ventajas de lenguajes como C, C++ y Visual Basic en uno solo. El CLR es el verdadero núcleo del framework de .NET, entorno de ejecución en el que se cargan las aplicaciones desarrolladas en los distintos lenguajes, ampliando el conjunto de servicios del sistema operativo (W2k y W2003).

La herramienta de desarrollo compila el código fuente de cualquiera de los lenguajes soportados por .NET en un código intermedio, el MSIL (Microsoft Intermediate Lenguaje), similar al BYTECODE de Java. Para generarlo, el compilador se basa en la especificación CLS (Common Language Specification) que determina las reglas necesarias para crear el código MSIL compatible con el CLR.

Para ejecutarse se necesita un segundo paso, un compilador JIT (Just-In-Time) es el que genera el código máquina real que se ejecuta en la plataforma del cliente. De esta forma se consigue con .NET independencia de la plataforma de hardware. La compilación JIT la realiza el CLR a medida que el programa invoca métodos. El código ejecutable obtenido se almacena en la memoria caché del ordenador, siendo recompilado de nuevo sólo en el caso de producirse algún cambio en el código fuente.

 

Características

     Es el encargado de proveer lo que se llama código administrado, es decir, un entorno que provee servicios automáticos al código que se ejecuta. Los servicios son variados:

  1. Cargador de clases: permite cargar en memoria las clases.
  2. Compilador MSIL a nativo: transforma código intermedio de alto nivel independiente del hardware que lo ejecuta a código de máquina propio del dispositivo que lo ejecuta.
  3. Administrador de código: coordina toda la operación de los distintos subsistemas del Common Language Runtime.
  4. Recolector de basura: elimina de memoria objetos no utilizados.
  5. Motor de seguridad: administra la seguridad del código que se ejecuta.
  6. Motor de depuración: permite hacer un seguimiento de la ejecución del código aún cuando se utilicen lenguajes distintos.
  7. Verificador de tipos: controla que las variables de la aplicación usen el área de memoria que tienen asignado.
  8. Administrador de excepciones: maneja los errores que se producen durante la ejecución del código.
  9. Soporte de multiproceso (threads): permite ejecutar código en forma paralela.
  10. Empaquetador de COM: coordina la comunicación con los componentes COM para que puedan ser usados por el .NET Framework.
  11. Soporte de la Biblioteca de Clases Base: interfaz con las clases base del .NET Framework. Esto quiere decir que existen tipos de estructuras como es la de java y la .NET

 

Ensamblados

Diagrama interno de un Ensamble .NET.

Diagrama interno de un Ensamble .NET.

     Los ensamblados son ficheros con forma de EXE o DLL que contienen toda la funcionalidad de la aplicación de forma encapsulada. Con los ensamblados ya no es necesario registrar los componentes de la aplicación.

 

El futuro de .NET

     A largo plazo Microsoft pretende reemplazar el API Win32 o Windows API con la plataforma .NET. Esto debido a que el API Win32 o Windows API fue desarrollada sobre la marcha, careciendo de documentación detallada, uniformidad y cohesión entre sus distintos componentes, provocando múltiples problemas en el desarrollo de aplicaciones para el sistema operativo Windows. La plataforma .NET pretende solventar la mayoría de estos problemas proveyendo un conjunto único y expandible con facilidad, de bloques interconectados, diseñados de forma uniforme y bien documentados, que permitan a los desarrolladores tener a mano todo lo que necesitan para producir aplicaciones sólidas.

     Debido a las ventajas que la disponibilidad de una plataforma de este tipo puede darle a las empresas de tecnología y al público en general, muchas otras empresas e instituciones se han unido a Microsoft en el desarrollo y fortalecimiento de la plataforma .NET, ya sea por medio de la implementación de la plataforma para otros sistemas operativos aparte de Windows (Proyecto Mono de Ximian/Novell para Linux/MacOS

 X

/BSD/Solaris), el desarrollo de lenguajes de programación adicionales para la plataforma (ANSI C de la Universidad de Princeton, NetCOBOL de Fujitsu, Delphi de Borland, PowerBuilder de Sybase entre otros) o la creación de bloques adicionales para la plataforma (como controles, componentes y bibliotecas de clases adicionales); siendo algunas de ellas software libre, distribuibles bajo la licencia GPL.

     Con esta plataforma Microsoft incursiona de lleno en el campo de los Servicios Web y establece el XML como norma en el transporte de información en sus productos y lo promociona como tal en los sistemas desarrollados utilizando sus herramientas.

 

PHP

 

     La mayoría de los lenguajes de programación modernos son orientados a objetos (abreviado OO) o en su defecto se aproximan mucho a éstos permitiendo algunas de sus características como es el caso de PHP. La programación OO principalmente hace uso de clases, objetos, relaciones, instancias, propiedades y métodos.

Objetos y Clases

     Cuando hablamos de software OO los objetos casi siempre son elementos físicos, como puede ser un cliente, proveedor, etc. o elementos conceptuales que existen en el entorno software, por ejemplo un objeto encargado del mantenimiento de archivos. El objetivo es representar a éstos elementos de la vida real y a los conceptuales como unidades de software.

     La programación OO esta pensada para construir objetos que contienen atributos y operaciones de manera que cubran nuestras necesidades. Los atributos son variables que contienen información del estado de un objeto. Y las operaciones también conocidas como métodos, funciones y acciones realizan modificaciones del propio objeto o realizan alguna acción externa a éste.

     Una de las principales ventajas de la programación OO es el concepto de encapsulación, conocido también como protección de datos, mediante el cual solo se pueden modificar los datos de un objeto accediendo a través de sus métodos u operaciones (interfaz del objeto). Nunca se pueden modificar directamente desde la aplicación principal.

     La funcionalidad de un objeto esta sujeta a los datos que este maneja, una ventaja de usar objetos es que podemos modificar la funcionalidad de éste, añadir mejoras o corregir errores sin necesidad de cambiar su interfaz. Ya que en caso contrario un proyecto estaría sujeto a un mayor número de fallos y los cambios serían más costosos.

     En algunas áreas de la programación de aplicaciones Web el uso de la programación OO está desestimada, usándose una metodología estructurada basada en funciones, esto es debido a que determinados proyectos no son lo suficientemente extensos como para aplicarles una metodología OO.

     En la programación OO los objetos son únicos y son instancias a una clase determinada. En principio se define la clase con los atributos y métodos correspondientes y luego se crea el objeto que esta basado en una determinada clase (esto se conoce como instancia). Se puede comparar a un objeto con una variable y la clase sería un tipo de dato definido por nosotros.

¿Cómo crear clases, atributos y operaciones en PHP?

      Hasta ahora hemos hablado de las clases de una forma conceptual, a continuación veremos como se crean, para crear una clase en PHP usaremos la palabra reservada class. La estructura mínima de una clase es la siguiente:

     Para que una clase sea útil, necesita atributos y operaciones. Podemos crear atributos como si de variables se trataran, con la palabra reservada var

     Podemos crear métodos declarando funciones dentro de la definición de la clase, el siguiente código crea una clase llamada NombreClase con dos operaciones que no hacen nada. A metodo1 no le pasamos ningún parámetro y a metodo2 le pasamos dos parámetros.

¿Qué es el constructor de una clase?

     Las clases soportan un tipo de función especial que se conoce como constructor. El constructor es llamado cuando se crea el objeto. Normalmente utiliza para inicializar tareas como: asignación de valores a determinados atributos, crear nuevos objetos necesarios para el correcto funcionamiento del objeto, etc.

     El constructor se declara de la misma forma que los métodos, lo único que debemos tener en cuenta es que debe tener el mismo nombre que la clase. A pesar de que nosotros podemos llamar al constructor, su principal propósito es ser llamado automáticamente cuando un objeto es creado. A continuación veremos como se declara el constructor de una clase:

¿Cómo usar objetos, instanciar una clase?

     Después de haber declarado una clase, ya podemos usarla creando un objeto que es una instancia a esa clase como ya se ha mencionado anteriormente. Es muy importante que esto quede claro, los objetos son instancias a una clase, por lo tanto cada objeto es único.

     En php creamos un objeto usando la palabra reservada new. También debemos indicar a que clase va a instanciar el objeto que creemos y pasarle los parámetros (si los requiere) al constructor, en el siguiente código vamos a ver un ejemplo de esto, para ello tomamos como referencia la clase anterior NombreClase:

     Como resultado de este código vemos que el constructor es llamado cada vez que se crea el objeto, y vemos que los objetos son únicos aunque sean instancias de la misma clase, el resultado es el siguiente:


¿Cómo usar los atributos de una clase?

     Una clase, tiene un puntero especial al que podemos referenciar como $this. Si nuestra clase tiene un atributo llamado $atributo, podemos hacer referencia a este desde nuestra clase (métodos) de la siguiente forma $this->atributo, a continuación podemos ver el código de ejemplo del acceso a un atributo de clase desde un método de la propia clase.

     Algunos lenguajes permiten limitar el acceso desde fuera a los atributos de una clase declarándolos como privados o protegidos ("private", "protected"). PHP no soporta esta característica y todos atributos y métodos pueden ser vistos desde fuera de la clase, lo que quiere decir que siempre son públicos.

Podemos realizar la misma acción que anteriormente desde fuera de la clase, usando esta sintaxis.

     Las sentencias anteriores están permitidas en PHP, pero no es una práctica recomendable acceder directamente a los atributos de una clase desde fuera de ésta. Como se ha comentado anteriormente una de las ventajas de la POO es que permite realizar encapsulación por esta razón aunque PHP no permita ocultar los atributos o métodos de una clase, nosotros deberíamos no acceder directamente a ellos, para diferenciarlos de los públicos es conveniente también poner "m_" (de miembro lo cual significa que solo serán usados dentro de la clase) delante de los nombres de métodos y atributos a los cuales no se quiera acceder directamente desde fuera de la clase.

     Para los atributos que queramos acceder directamente desde fuera de la clase, deberíamos escribir funciones de acceso, tanto para establecer como para coger valores. Deberíamos tener un código como el siguiente:

La finalidad de hacer esto, es clarificar el código y tener una sección de código encargada de acceder a los atributos para mantener la encapsulación, y que no sean accedidos directamente. Además si seguimos estas prácticas aumentará la calidad de nuestro software ya que podremos introducir comprobaciones de datos, como rangos, valores permitidos, etc. Veamos un ejemplo de validación de datos a la hora de asignar un valor a atributo mediante el método set_atributo:

     En el código superior vemos que cuando queremos asignar a atributo valores inferiores a 100 no nos deja, y atributo seguirá manteniendo su valor.

¿Cómo usar los métodos de una clase?

     Los métodos de una clase se pueden llamar de la misma forma que se llaman a los atributos, supongamos que tenemos la siguiente clase:

     Creamos un objeto de la case nombreClase con el nombre $obj de la siguiente forma:

     Los métodos de un objeto, son llamados de la misma forma que se llaman a funciones normales, pasándoles como es el caso de metodob el parámetro que necesiten. Como los métodos son funciones que pertenecen a un objeto, deberemos indicar en la llamada el objeto que los incluye, la forma de llamar a un método es idéntica a como llamamos a los atributos de un objeto.

     Si nuestras operaciones, devuelven algún valor, lo capturamos asignándoselo a una variable, podemos ver el siguiente ejemplo


     
$txt_retorno contendrá la cadena de texto:

¿Qué es la Herencia en PHP y como implementarla?

     Como su nombre indica el concepto de herencia se aplica cuando creamos una clase, que va a heredar los métodos y atributos de una ya definida, entonces la clase que hemos creado es una subclase. Para que una clase sea subclase de otra ya creada deberemos usar la palabra reservada extends en el siguiente código podremos ver como creamos una clase llamada SubClaseA que heredará los métodos y atributos de una clase definida con anterioridad llamada ClaseA.

Tenemos la clase ClaseA que es definida de la siguiente forma:

     Si creamos un objeto de la clase SubClaseA este heredará todos los métodos de la clase ClaseA, por lo tanto el siguiente código es válido:

     Como podemos observar aunque declaremos un objeto de la clase SubClaseA, al ser una clase extendida de ClaseA podemos hacer uso de todos los métodos y atributos definidos en ClaseA como si estuvieran contenidos en SubClaseA.

     Debemos tener en cuenta que la herencia solo trabaja en una dirección, la subclase o clase hija hereda las características de su clase padre o superclase, pero la clase padre no posee las características de la hija. Para el caso anterior ClaseA no tendría atributo2 ni metodo2();

¿Cómo sobrescribir métodos y atributos?

Como hemos visto anteriormente, una subclase declara atributos nuevos y operaciones sobre una superclase. Es posible y en muchos casos útil sobrescribir las mismas operaciones o atributos declarados en la superclase. Esto se hace para dar a un atributo un valor diferente en la subclase que el que tiene en la superclase o en el caso de las operaciones para cambiar la funcionalidad de estas. Veamos un ejemplo, por ejemplo si tenemos la clase A:

     Queremos crear una subclase B y alterar el valor de atributo y la funcionalidad de operación de la clase A, entonces escribimos:

     Como podemos observar hemos definido una variable y una operación en B con el mismo nombre que tenían en A.

     Como se ha comentado anteriormente aunque declaremos B no afecta a la definición de A, y si creamos un objeto de la superclase A esté mantendrá sus valores originales. Solo sobrescribiremos los valores y funcionalidad de A cuando creemos un objeto de la clase B.

     A diferencia de otros lenguajes OO, PHP no nos permitirá sobrescribir una función o atributo y poder llamar a los valores de la clase padre.

     La herencia puede tener muchas capas de profundidad, por ejemplo podemos tener una clase C que es subclase de B y está última ser subclase de A, la subclase C heredará y sobrescribirá aquellos atributos y métodos de sus clases padres, en este caso A y B.

¿Soporta PHP la herencia múltiple?

Algunos lenguajes OO soportan herencia múltiple, esto significa que una subclase puede heredar de varias clases padres. PHP no permite esto y una subclase solo puede heredar de una clase padre, sin embargo en PHP no hay ningún tipo de restricción en cuanto a el número de subclases que pueden heredar de una misma clase padre o superclase.

¿Qué es el polimorfismo y como implementarlo?

     Cualquier lenguaje de programación orientado a objetos debe soportar el polimorfismo, esto significa que clases diferentes tendrán un comportamiento distinto para la misma operación. Esto lo veremos más claro con el siguiente ejemplo.

     Supongamos que tenemos dos clases distintas coche y ciclomotor. Ambas tienen sus propios métodos de movimiento, éstos tienen diferentes comportamientos, pero su nombre es el mismo

     Como podemos observar, ambas clases tienen los mismos métodos, supongamos ahora que tenemos otra clase que controla el movimiento de todos los vehículos, es aquí donde entra en juego el polimorfismo, que dependiendo del objeto que tratemos actuará de una forma u otra el método al que llamamos.

     Supongamos que queremos mover cualquier vehículo hacia adelante entonces haríamos:

 

     Como podemos ver el mismo método del objeto movimiento actúa de dos formas diferentes dependiendo del objeto que le pasamos como parámetro.

 

Infografia

http://www.ticsconsulting.es/images/fotos/homepages.gif

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

http://www.conganat.org/seis/informes/2002/PDF/CAPITULO3.pdf

http://es.geocities.com/piccioninj/ADS/T2ads.htm

http://artegami.com/las-5-consideraciones-mas-importantes-al-disenar-una-pagina-web/

 

 

 

 

 

 

 

 

Hosted by www.Geocities.ws

1