Introducción |
Introducción
Para que una Organización se mantenga con índices de alta competitividad, alta productividad y cumpla satisfactoriamente con la entrega de productos y/o servicios de calidad se requiere que la misma se mantenga actualizada tecnológicamente y esto se lográ utilizando herramientas para una mejor comunicación interorganizacional y mejor entendimiento con nuestros clientes para ello se requiere que nuestras aplicaciones informáticas cumplan con ese deseable. Por ello, las nuevas técnicas de análisis y desarrollo de sistemas, herramientas de programación y toda la flota de ventajas que Internet deben ser aprovechadas de la mejor manera. La Web se constituye en el mejor medio de comunicación, así sea en una Intranet Corporativa ya que es mucho más sencillo lograr la difusión de un material por los medios tradicionales. Los datos expuestos se ven enriquecidos notablemente, al contar con enlaces hacia cualquier otro sitio del mundo. Cualquier persona del Planeta puede encontrarlos y tener acceso a ellos. Existe una forma rápida de comunicación entre quien ofrece la información y el visitante. En este sentido, para una organización en donde laboramos debemos combinar las mejores infraestructura de nuestros servidores web y de base de datos con herramientas sólidas para el desarrollo de nuestros componentes de aplicación y manejadores de base de datos de alta robustez. En nuestra Orgagización Petroleos de Venezuela CRP, adelantamos un proyecto en el cual pretendemos integrar en un sistema Web todos los reportes diarios operacionales del negocio de Refinación (variables de proceso de las plantas de producción, información de inventarios y de movimientos de despacho de hidrocarburos). Esto utilizando para nuestra base de datos un manejador de base de datos robusto como Microsoft SQL*Server o Oracle 9i, herramientas de desarrollo para la aplicación como Java Server Page o Microsoft Asp. En lo adelante explicaremos la metodología a seguir en la evaluación de dichas herramientas. El porque de este proyecto, se debe al inconveniente que resulta tener varias aplicaciones disgregadas y no integradas para generar los diversos reportes diarios de todas las plantas. Muchos de estos reportes están desarrollados en macros Excel que capturan información de diversas bases de datos operacionales. Nuestro objetivo es construir una única aplicación integrada, amigable, de fácil acceso desde la web y bajo trabajo de mantenimiento. Para tener claro
el alcance de proyecto se partió de la elaboración con los
usuarios, mediante entrevistas, de una matriz de requerimientos.
Situación
Actual
Actualmente en PDVSA
Complejo Refinador Paraguaná existen diversos reportes de información
diaria operacional desarrollados en macros excel que consultan en las Bases
de Datos Tiempo Real de nuestra Refinería. A continuación
describimos los mismos:
Estos reportes acceden
las bases de datos de los sistemas de: Laboratorio y repositorio de información
de procesos de la Refinería. Se instalan “standalone “ en cada uno
de los usuarios a quienes les interesa dicha información.
Descripción del Sistema Propuesto La aplicación a desarrollar persigue integar en una sola aplicación con tecnología Web todos los reportes operacionales de resumen diario o mensual de las actividades de la Refinería en una aplicación en la cual se puedan configurar los diversos reportes que a petición del usuario se agregarán en el futuro. El Sistema se asemeja a un Sistema Manejador de Reportes, en el cual desde una pantalla de configuración se ingresaran datos como: título del reports, numero de cuadros a imprimir en la hoja del reporte, emcabezado de cada cuadro, variables a imprimir en cada cuadro y que atributo se imprimirá al lado de cada variable. La infraestructura propuesta para esta solución es: un servidor de base de datos con Base de Datos Oracle 9i, un servidor web con Microsoft IIS para servir las páginas, en el cliente se instalará como navegados Internet Explorer. El modelo de datos propuesto es el siguiente:
Pantallas que Muestras el Prototipo de la Aplicación
Ejemplo de Una Pantalla de Despliegue de Reportes
Bases de Datos en Tiempo Real y su Impotancia Un Sistema de Datos en Tiempo Rael es aquel en cuya base de datos se actualiza la información de señales de instrumentos de campos (medidores de presión, temperatura, flujo) al instante o en lapsos de tiempo menores a un minuto. Existen muchos clientes para la información
en tiempo real, tanto interno como externos a la empresa. Algunos de estos
clientes pueden ser: Operaciones, Ingeniería de Procesos, Control
de Procesos, Mantenimiento, Instrumentación, etc.
Analisis y Diseño Estructurado y Orientado a Objetos Para llevar adelante un proyecto de desarrollo de software se requiere de la participación de un grupo de personas. A cada uno de los grupos o personas se les asigna un rol. Un problema a superar es el de comunicación entre ellos. Igualmente se requiere descomponer el proyecto en fase y aquí entra en juego la definición del ciclo de vida de un proyecto. Para solucionar estos dos problemas surge el concepto de metodología. Una metodología es un conjunto de herramientas, modelos, técnicas que permiten definir fases de un proceso de desarrollo y las reglas para pasar de una fase a la siguiente. Se pueden encontrar diversas metodologías,
desde el análisis y diseño estructurado, hasta la metodología
orientada a objetos, para aplicarlas a modelos de desarrollo de software.
Analisis y Diseño Estructurado Permite al analista conocer un sistema o proceso (actividad) en una forma lógica y manejable al mismo tiempo que proporciona la base para asegurar que no se omite ningún detalle pertinente". El objetivo que persigue el análisis
estructurado es organizar las tareas asociadas con la determinación
de requerimientos para obtener la comprensión completa y exacta
de una situación dada.
Componentes - Símbolos gráficos: sirven para identificar y describir los componentes de un sistema y las relaciones entre estos. - Diccionarios de datos: Descripciones de todos los datos utilizados en el sistema pueden ser manual o automatizado. - Descripciones de procesos y procedimientos: emplean técnicas y lenguajes que permiten describir actividades del sistema. - Reglas: Estándares par describir
y documentar el sistema en forma correcta y completa.
Estudia el empleo de los datos en cada actividad, documenta los hallazgos con diagramas de flujo de datos. Herramientas - Diagrama de flujo de datos: son la herramienta mas importante y la base en donde se desarrolla otros componentes. - Diccionario de datos: contienen las características lógicas de los lugares donde se almacenan los datos del sistema, incluyendo nombre, alias, descripción, contenido y organización. - Diagrama de estructuras de datos: este es una descripción de la relación entre entidades (personas, lugares, eventos y objetos ) y el conjunto de información relacionado con la entidad. - Gráfica de estructura: es la herramienta
del diseño que muestra con símbolos la relación entre
los módulos de procesamiento y el software de la comp.
Análisis y Diseño Orientado a Objeto La Programación Orientada a Objetos, POO (OOP, Object Oriented Programming) es una técnica de programación cuyo soporte fundamental es el objeto. Un objeto es una extensión de un Tipo Abstracto de Datos (TAD), concepto ampliamente utilizado desde la década de los setenta. Un TAD es un tipo definido por el usuario, que encapsula un conjunto de datos y las operaciones sobre estos datos. A la hora de definir TAS’s (u objetos) se usa un concepto que nos ayuda a representar la realiad mediante modelos informáticos, la abstracción, que es un proceso mental por el que se evitan los detalles para centrarse en las cosas más genéricas de manerá que se facilite su comprensión. De hecho la abstracción no sólo se utiliza en la informática, un arquitecto al que se han encargado realizar los planos de un edificio no comenzará a realizar ciertos esbozos en un papel para posteriormente ir refinando. Por supuesto que cuando está realizando los esbozos no se preocupa de por dónde van a ir las lineas eléctricas ni las tuberías de saneamiento, abstrae esos detalles para atacarlos posteriormente cuando tenga clara la estructura del edificio Ciclo de Vida El Ciclo de Vida del Desarrollo de Sistemas
es un proceso por el cual los analistas de sistemas, los ingenieros de
software, los programadores y los usuarios finales elaboran sistemas de
información y aplicaciones informáticas.
Herramientas de Desarrollo para Aplicaciones Web 1. JSP- Java Server Page JSP es una tecnología basada en Java que simplifica el proceso de desarrollo de sitios web dinámicos. Las Java server Pages son ficheros de texto que sustituyen a las páginas HTML tradicionales. Los ficheros JSP contienen etiquetas HTML y código embebido que permite al diseñador de la página web acceder a datos desde código Java que se ejecuta en el servidor. JSP se implementa
utilizando la tecnología Servlet. Cuando un servidor web recibe
una petición de una página .jsp, la redirecciona a un proceso
especial dedicado a manejar la ejecución de servlets (servlet container)
llamado JSP container.
ASP - Active Server
Page
ASP es una tecnología desarrollada
por MS para crear páginas web de contenido dinámico apoyándose
en scripts ejecutados en el servidor. Básicamente una página
ASP es una mezcla entre una página HTML y un programa que da como
resultado una página HTML que es enviada al cliente (navegador).
Pero, ¿cúal es la diferencia de ASP.net con el ASP común que conocemos? Mucha, realmente es mucha. Mientras ASP
se escribía en VBScript, ASP.net puede ser escrito en cualquier
lenguaje soportado por el .net Framework, es decir: VB.net; C# y JScript.net.
Si, como has leído, ya no puedes utilizar VBScript sino que debes
utilizar VB.net que es lo que más se aproxima. Otro cambio radical
es que ASP.net es un lenguaje totalmente orientado a objetos.
PHP - Personal Home Page El lenguaje PHP es un lenguaje de programación
de estilo clásico, con esto quiero decir que es un lenguaje de programación
con variables, sentencias condicionales, bucles, funciones.... No es un
lenguaje de marcas como podría ser HTML, XML o WML. Está
mas cercano a JavaScript o a C, para aquellos que conocen estos lenguajes.
Al ser PHP un lenguaje que se ejecuta en el servidor no es necesario que su navegador lo soporte, es independiente del navegador, pero sin embargo para que sus páginas PHP funcionen, el servidor donde están alojadas debe soportar PHP. El lenguaje de programación PHP
es actualmente el más utilizado en la creación de sitios
web. Su popularidad se debe a su carácter gratuito pero también
a su versatilidad, sencillez y fiabilidad, junto con la facilidad para
integrarse con la popular base de datos MySQL.
XML- Extensible Markup Language XML (eXtended Markup Language) es un lenguaje para la definición de lenguajes de etiquetas, lo que llamaríamos "metalenguaje". XML va a indicar como pueden ser creados otros lenguajes por marcas, define las gramáticas de otros lenguajes. Este lenguaje es relativamente joven, eso tendiendo en cuenta que la versión 1.0 es una recomendación del World Wide Web Consortium (W3C)1 de Febrero de 1998. Si bien las ideas no son tan nuevas, ya que XML se apoya en la definición del SGML que es un estandar ISO desde los años 80. Como acabo de mencionar, el XML es un subconjunto del lenguaje SGML, el cual también es un metalenguaje. El problema del SGML es que es una definición demasiado extensa, engorrosa y que su uso podría generar lenguajes incompletos en su definición como sucede con el HTML. Toda la algarabía en torno de este
avance se hizo realidad cuando Microsoft lanzó su Internet Explorer
5 - el primer navegador comercial en apoyar las normas XML.
Considerando las metodologias de análisis de sistemas estudiadas durante el desarrollo de esta materia, lenguajes de programación existentes para desarrollo de aplicaciones web, los diversos Manejadores de Base de Datos exstentes en el mercado sus características y ventajas y las tecnicas tecnolágicas para desarrollo de aplicaciones que abarquen el total de las operaciones del negocio a soportar en la aplicación, propenemos en proyecto indicado arriba la siguiente metologia para el desarrollo de l proyecto: 1. Levantamiento de los requerimientos
del cliente para dimensionar el proyecto, para lo cual se requiere aplicar
las técnicas de análisis de sistemas para recopilar información.
Planificación y Diseño del Sistema El coste de estos servicios será variable en función de la complejidad del proyecto, número de personas que deben trabajar en él, tiempo del que se dispone, programación, idiomas, redacción de textos ,etc. Estos costos pueden ir desde 1.200 a 60.000€ (1,000- 50,000$). Una vez la web esté funcionando,
la empresa tendrá destinar también un dinero para su mantenimiento
que dependerá del número y complejidad de las actualizaciones
previstas o bien facilitar formación específica en la organización
para responsabilizarse de estas tareas.
Fase de Contrucción del Sistema Seleccionamos como
Manejador de Base de Datos a Oracle 9i, por las siguientes razones:
Se seleccionó
como herramienta de desarrollo para la aplicación Microsoft ASP.NET
por las siguientes razones:
A. Matriz de Requerimientos
La página el rincon del programador describe a JSP como una tecnología basada en Java y se describen los beneficios del JSP. La página desarrollo Web realiza una comparación de las ventajas de JSP contra ASP Algunas ventajas de JSP y ejemplo de código JSP
Se describe que es ASP.NET y se dan algunas diferencias con el ASP tradicional 3.0 Conceptos básicos de ASP Conceptos básicos de PHP Se hace una introducción a PHP y se describe una página HTML con el código PHP por dentro Página donde se hace una introducción teórica a PHP
Se define al XML como un lenguaje de etiquetas , se hablan de sus ventajas y se muestran documentos XML
Se describe en forma de defición el CML y HTML |