3. EL LENGUAJE UNIFICADO DE MODELADO UML

Tamaño: px
Comenzar la demostración a partir de la página:

Download "3. EL LENGUAJE UNIFICADO DE MODELADO UML"

Transcripción

1 TABLA DE CONTENIDO 1. INTRODUCCION 2. DESCRIPCION 3. EL LENGUAJE UNIFICADO DE MODELADO UML 1 4. LENGUAJE DE PROGRAMACIÓN JAVA 7 5. PLATAFORMA JAVA 8 6. PLATAFORMA.NET 9 7. ARQUITECTURA J2EE vs ARQUITECTURA.NET CONCLUSIONES 20 1

2 INTRODUCCION Los servicios Web aún deben recorrer un largo camino entre estándares, proveedores de servicios y consumidores de los mismos, pero hasta el momento Microsoft y específicamente.net llevan una cierta ventaja sobre J2EE. Aún así, sigue planeando la cuestión de la independencia de la plataforma. Si.Net no acaba siendo realmente multiplataforma, posiblemente J2EE predominará en el desarrollo de servicios Web para grandes empresas y para servicios Web clientes que requieran no depender de una plataforma específica, y.net predominará en el desarrollo de servicios Web para pequeñas y medianas empresas que usan Windows. Mas por ahora conforme al desarrollo del entorno parece que lo anteriormente descrito puede ser un camino seguro, mas vemos que en esta área no todo esta escrito ya vimos como avanzo Google y los productos que tenia alrededor. 2

3 2. DESCRIPCION Por el valor eminentemente técnico del presente documento he decidido intentar desarrollar la posibilidad 1 que se describe abajo, conforme al modelo declarado en los documentos AIU. 1. Investigación publicable en revista o foro Internacional de la especialidad. (Amplío a continuación esta opción) El objetivo de AIU es procurar que la capacidad de cada uno de los estudiantes sea reconocida para abrir fronteras. Por lo mismo le solicitamos que su(s) proyectos(s) tengan un reconocimiento regional y mundial. Sabemos y creemos que sus aportaciones serán de mucha ayuda; por esto requerimos que el proyecto sea publicado en alguna revista, periódico y/o otros medios (TV, radio, Internet, etc.). Previo a la realización de su trabajo consultarlo con la fuente correspondiente para conocer los requerimientos que se deben cubrir. Una vez publicado su artículo le pedimos enviar una copia a AIU para su archivo y difusión. Así las cosas he publicado el texto en El centro de tesis, documentos, publicaciones y recursos educativos más amplio de la Red. Con varios millones de usuarios. 3

4 3. EL LENGUAJE UNIFICADO DE MODELADO UML Lenguaje Unificado de Modelado (UML, por sus siglas en inglés, Unified Modeling Language) es el lenguaje de modelado de sistemas de software más conocido y utilizado en la actualidad; aún cuando todavía no es un estándar oficial, está respaldado por el OMG 1 (Object Management Group). Es un lenguaje gráfico para visualizar, especificar, construir y documentar un sistema de software. UML ofrece un estándar para describir un modelo del sistema, incluyendo aspectos conceptuales tales como procesos de negocios y funciones del sistema, y aspectos concretos como expresiones de lenguajes de programación, esquemas de bases de datos y componentes de software reutilizables. En otros términos, así como en la construcción de un edificio se realizan planos previo a su construcción, en software se deben realizar diseños en UML previa codificación de un sistema, ahora bien, aunque UML es un lenguaje, éste posee más características visuales que programáticas que facilitan a integrantes de un equipo multidisciplinario participar e intercomunicarse fácilmente, estos integrantes son los analistas, diseñadores, especialistas de área y desde luego los programadores. Además de haberse convertido en un estándar de facto, UML es un estándar industrial promovido por el grupo OMG al mismo nivel que el estándar CORBA 2 para intercambio de objetos distribuidos. Para la revisión de UML se formaron dos "corrientes" que promovían la aparición de la nueva versión desde distintos puntos de vista. Finalmente se impuso la visión más industrial frente a la académica. Recientemente se ha publicado la versión 2.0 en la que aparecen muchas novedades y cambios que, fundamentalmente, se centran en resolver carencias prácticas. Además, esta versión recibe diversas mejoras que provienen del lenguaje SDL 3. 1 La OMG (Object Management Group) es una asociación sin fines de lucro formada por grandes corporaciones, muchas de ellas de la industria del software, como por ejemplo: IBM, Apple Computer, Sun Microsystems Inc y Hewlett-Packard?. Esta asociación se encarga de la definición y mantenimiento de estándares para aplicaciones de la industria de la computación. Otro de los estándares definidos por la OMG, además del UML, es CORBA, el cual permite interoperabilidad multiplataforma a nivel de objetos de negocio. 2 En computación, CORBA (Common Object Request Broker Architecture arquitectura común de intermediarios en peticiones a objetos), es un estándar que establece una plataforma de desarrollo de sistemas distribuidos facilitando la invocación de métodos remotos bajo un paradigma orientado a objetos. Fue definido y está controlado por el OMG que define las APIs, el protocolo de comunicaciones y los mecanismos necesarios para permitir la interoperabilidad entre diferentes aplicaciones escritas en diferentes lenguajes y ejecutadas en diferentes plataformas, lo que es fundamental en computación distribuida. 3 SDL (Specification and Description Language) es un lenguaje de especificación formal y visual. Está diseñado para la especificación de sistemas complejos, interactivos, orientados a eventos, de 4

5 Es importante resaltar que UML es un "lenguaje" para especificar y no para describir métodos o procesos. Se utiliza para definir un sistema de software, para detallar los artefactos en el sistema y para documentar y construir. En otras palabras, es el lenguaje en el que está descrito el modelo. Se puede aplicar en una gran variedad de formas para dar soporte a una metodología de desarrollo de software (tal como el Proceso Unificado de Rational 4 ) pero no especifica en sí mismo qué metodología o proceso usar. Hoy en día, esta consolidado como el lenguaje estándar en el análisis y diseño de sistemas de computo. Mediante UML es posible establecer la serie de requerimientos y estructuras necesarias para plasmar un sistema de software previo al proceso intensivo de escribir código. Entre más complejo es el sistema que se desea crear más beneficios presenta el uso de UML, las razones de esto son evidentes, sin embargo, existen dos puntos claves : El primero se debe a que mediante un plano/visión global resulta más fácil detectar las dependencias y dificultades implícitas del sistema, y la segunda razón radica en que los cambios en una etapa inicial (análisis) resultan más fáciles de realizar que en una etapa final de un sistema como lo seria la fase intensiva de codificación. Puesto que UML es empleado en el análisis para sistemas de mediana-alta complejidad, era de esperarse que su base radicara en otro paradigma empleado en diseños de sistemas de alto nivel que es la orientación a objetos 5, por lo que para trabajar en UML puede ser considerado un pre-requisito tener experiencia en un lenguaje orientado a objetos. UML cuenta con varios tipos de diagramas, los cuales muestran diferentes aspectos de las entidades representadas. Un diagrama Caso de Uso describe lo que hace un sistema desde el punto de vista de un observador externo, debido a esto, un diagrama de este tipo generalmente es de los más sencillos de interpretar en UML, ya que su razón de tiempo real o que presenten un comportamiento paralelo, y donde módulos o entidades independientes se comuniquen por medio de señales para efectuar su función. 4 El Proceso Unificado Racional (Rational Unified Process en inglés, habitualmente resumido como RUP) es un proceso de desarrollo de software y junto con el Lenguaje Unificado de Modelado UML, constituye la metodología estándar más utilizada para el análisis, implementación y documentación de sistemas orientados a objetos. Es un conjunto de metodologías adaptables al contexto y necesidades de cada organización. También se conoce por este nombre al software desarrollado por Rational, hoy propiedad de IBM, el cual incluye información entrelazada de diversos artefactos y descripciones de las diversas actividades. Está incluido en el Rational Method Composer (RMC), que permite la personalización de acuerdo a necesidades. 5 La Programación Orientada a Objetos (POO u OOP según sus siglas en inglés) es un paradigma de programación que usa objetos y sus interacciones para diseñar aplicaciones y programas de computadora. Incluye herencia, modularidad, polimorfismo, y encapsulamiento. 5

6 ser se concentra en un Que hace el sistema, a diferencia de otros diagramas UML que intentan dar respuesta a un Como logra su comportamiento el sistema. Un Caso de Uso esta muy relacionado con lo que pudiera ser considerado un escenario en el sistema, esto es, lo que ocurre cuando alguien interactúa con el sistema: "Acude un mesero a colocar la orden, la orden es tomada por el cocinero, y posteriormente se abona a la cuenta del cliente el cargo". Un Caso de Uso es empleado con más frecuencia en alguna de las siguientes etapas : Determinación de Requerimientos: Por lo general nuevos requerimientos de sistema generan nuevos usos-casos, conforme es analizado y diseñado el sistema. Comunicación con el Cliente: Debido a la sencillez de este tipo de diagramas, son fáciles de emplear para comunicarse con el cliente final del proyecto. Generación de pruebas de Sistemas: A través de los diagramas uso-caso se pueden generar una serie de pruebas de sistema. Un Diagrama de Actividad demuestra la serie de actividades que deben ser realizadas en un Caso de Uso, así como las distintas rutas que pueden irse desencadenando. Es importante recalcar que aunque un diagrama de actividad es muy similar en definición a un diagrama de flujo (típicamente asociado en el diseño de software), estos no son lo mismo. Un diagrama de actividad es utilizado en conjunción de un diagrama caso de uso para auxiliar a los miembros del equipo de desarrollo a entender como es utilizado el sistema y como reacciona en determinados eventos. Lo anterior, en contraste con un diagrama de flujo que ayuda a un programador a desarrollar código a través de una descripción lógica de un proceso. Se pudiera considerar que un diagrama de actividad describe el problema, mientras un diagrama de flujo describe la solución. Un diagrama de actividad incluye los siguientes elementos: Inicio: El inicio de un diagrama de actividad es representado por un círculo de color negro sólido. Actividad : Una actividad representa la acción que será realizada por el sistema la cual es representada dentro de un ovalo. Transición: Una transición ocurre cuando se lleva acabo el cambio de una actividad a otra, la transición es representada simplemente por una linea con una flecha en su terminación para indicar dirección. En UML, un diagrama de clases es un tipo de diagrama estático que describe la estructura de un sistema mostrando sus clases, atributos y las relaciones entre ellos. Los diagramas de clases son utilizados durante el proceso de análisis y 6

7 diseño de los sistemas informáticos, donde se crea el diseño conceptual de la información que se manejará en el sistema, y los componentes que se encargaran del funcionamiento y la relación entre uno y otro. A pesar de su status de estándar ampliamente reconocido y utilizado, UML siempre ha sido muy criticado por su carencia de una semántica precisa, lo que ha dado lugar a que la interpretación de un modelo UML no pueda ser objetiva. Otro problema de UML es que no se presta con facilidad al diseño de sistemas distribuidos. En tales sistemas cobran importancia factores como transmisión, serialización 6, persistencia 7, etc. UML no cuenta con maneras de describir tales factores. No se puede, por ejemplo, usar UML para señalar que un objeto es persistente o remoto, o que existe en un servidor que corre continuamente y que es compartido entre varias instancias de ejecución del sistema analizado. Por lo anterior se ha desarrollado un nuevo enfoque denominado UML 2.0. En las versiones previas del UML, se hacía un fuerte hincapié en que UML no era un lenguaje de programación. Un modelo creado mediante UML no podía ejecutarse. En el UML 2.0, esta asunción cambió de manera drástica y se modificó el lenguaje, de manera tal que permitiera capturar mucho más comportamiento. De esta forma, se permitió la creación de herramientas que soporten la automatización y generación de código ejecutable, a partir de modelos UML, mediante la utilización de los siguientes estándares: Superestructura: Es la especificación que se usa todos los días. Aquí se encuentran todos los diagramas que la mayoría de los desarrolladores conocen. Infraestructura: Conceptos de bajo nivel. Meta-Modelo da soporte a la superestructura, entre otras. OCL: Lenguaje de restricción. De utilidad para especificar conceptos ambiguos sobre los distintos elementos del diagrama. XMI / Intercambio de diagramas: Permite compartir diagramas entre diferentes herramientas de modelado UML. 6 La serialización es un mecanismo ampliamente usado para transportar objetos a través de una red, para hacer persistente un objeto en un archivo o base de datos, o para distribuir objetos idénticos a varias aplicaciones o localizaciones. 7 Se entiende por persistencia en la programación orientada por objetos la capacidad que tienen los objetos de conservar su estado e identidad entre distintas ejecuciones del programa que los creó o de otros programas que accedan a ellos. De este modo los objetos pueden clasificarse en: Transitorios: cuyo tiempo de vida depende directamente del ámbito del proceso que los instanció. Persistentes: cuyo estado es almacenado en un medio secundario para su posterior reconstrucción y utilización, por lo que su tiempo de vida es independiente del proceso que los instanció. La persistencia permite al programador almacenar, transferir y recuperar el estado de los objetos. Para esto existen varias técnicas: Serialización, motores de persistencia y bases de datos orientadas a objetos 7

8 Para lograr los objetivos enunciados, varios aspectos del lenguaje fueron reestructurados y/o modificados. La especificación se separó en cuatro especificaciones (paquetes) bien definidas, tal como se muestra en la Figura 1. Es interesante destacar que el UML 2.0 puede definirse a sí mismo. Es decir, su estructura y organización es modelable utilizando el propio UML 2.0; de esta manera, se da un ejemplo de utilización del UML en un dominio distinto al del desarrollo de software. En este caso, cada paquete del diagrama representa cada una de las cuatro especificaciones que componen el lenguaje. :: Figura 1: Especificaciones principales del UML En UML 2.0 hay 13 tipos diferentes de diagramas 9. Para comprenderlos de manera concreta, a veces es útil categorizarlos jerárquicamente: Diagramas de estructura, enfatizan en los elementos que deben existir en el sistema modelado: Diagrama de clases Diagrama de componentes Diagrama de objetos Diagrama de estructura compuesta (UML 2.0) Diagrama de despliegue Diagrama de paquetes 8 Tomado de 9 Tomado de 8

9 Diagramas de comportamiento, enfatizan en lo que debe suceder en el sistema modelado: Diagrama de actividades Diagrama de casos de uso Diagrama de estados Diagramas de Interacción, son un subtipo de diagramas de comportamiento, que enfatiza sobre el flujo de control y de datos entre los elementos del sistema modelado: Diagrama de secuencia Diagrama de colaboración Diagrama de tiempos (UML 2.0) Diagrama de vista de interacción (UML 2.0) UML se puede aplicar a cualquier lenguaje orientado a objetos tales como Java, C++, PHP, Ruby, C#, NET y en general cualquiera de los lenguajes soportados en la plataforma Net de Microsoft. Esto se puede hacer mediante la aplicación de una metodología como RUP, acrónimo de "Rational Unified Process", una metodología que permite emplear UML de manera eficiente y de esta forma evolucionar adecuadamente en el diseño e implementación de un sistema informático, lo que permite desarrollar sistemas informáticos muy eficientes y ampliamente documentados y en donde el conocimiento del sistema reside en la propia empresa y no solo en los sujetos que lo desarrollaron. El Proceso Unificado tiene varias décadas de desarrollo y uso práctico, desde sus inicios en el proceso Objectory 10 hasta el Proceso Unificado de Rational (Rational Unified Process, o RUP). El RUP es un proceso de desarrollo de software dirigido por casos de uso, centrado en la arquitectura, iterativo e incremental. RUP pretende implementar las mejores prácticas en ingeniería de software, con el objetivo de asegurar la producción de software de calidad, dentro de plazos y presupuestos predecibles. 10 Objectory es una metodología orientada objetos creada sobre todo por Ivar Jacobson, quien es también responsable de la ingeniería de programas informáticos orientadas objetos. 9

10 4. LENGUAJE DE PROGRAMACIÓN JAVA Java es un lenguaje de programación orientado a objetos desarrollado por Sun Microsystems a principios de los años El lenguaje en sí mismo toma mucha de su sintaxis de C y C++, pero tiene un modelo de objetos más simple y elimina herramientas de bajo nivel como punteros 11. Las aplicaciones Java están típicamente compiladas en un bytecode 12, aunque la compilación en código máquina nativo también es posible. En el tiempo de ejecución, el bytecode es normalmente interpretado o compilado a código nativo para la ejecución, aunque la ejecución directa por hardware del bytecode por un procesador Java también es posible. La implementación original y de referencia del compilador, la máquina virtual y las librerías de clases de Java fueron desarrollados por Sun Microsystems en Desde entonces, Sun ha controlado las especificaciones, el desarrollo y evolución del lenguaje a través del Java Community Process, si bien otros han desarrollado también implementaciones alternativas de estas tecnologías de Sun, algunas incluso bajo licencias de software libre. Entre noviembre de 2006 y mayo de 2007, Sun Microsystems liberó la mayor parte de sus tecnologías Java bajo la licencia GNU GPL, de acuerdo con las especificaciones del Java Community Process, de tal forma que prácticamente todo el Java de Sun es ahora software libre (aunque la biblioteca de clases de Sun que se requiere para ejecutar los programas Java todavía no es software libre). Entre junio y julio de 1994, se reorientó la plataforma hacia la Web. Con el advenimiento del navegador web Mosaic, los desarrolladores de Java consideraron que asi se propiciaría que Internet se convirtiese en un medio interactivo. El entorno de ejecución era relativamente seguro y los principales navegadores web pronto incorporaron la posibilidad de ejecutar applets Java incrustadas en las páginas web. 11 Un puntero es una variable manipulable que referencia una región de memoria; en otras palabras es una variable cuyo valor es una dirección de memoria. Una forma común de describir la memoria principal de un ordenador es como una colección de pequeñas cajitas (celdas) que almacenan datos e instrucciones. Cada celda está identificada unívocamente por un número o dirección de memoria. 12 El bytecode es un código intermedio más abstracto que el código máquina. Habitualmente se lo trata como a un fichero binario que contiene un programa ejecutable similar a un módulo objeto, que es un fichero binario que contiene código máquina producido por el compilador. Como código intermedio, se trata de una forma de salida utilizada para reducir la dependencia respecto del hardware específico y facilitar la interpretación. Los programas en bytecode suelen ser interpretados por un intérprete de bytecode (en general llamado máquina virtual, dado que es análogo a un computador). Su ventaja es su portabilidad: el mismo código binario puede ser ejecutado en diferentes plataformas y arquitecturas. 10

11 Un applet es un componente de una aplicación que se ejecuta en el contexto de otro programa, por ejemplo un navegador web. El applet debe ejecutarse en un contenedor, que lo proporciona un programa anfitrión, mediante un plugin 13, o en aplicaciones como teléfonos móviles que soportan el modelo de programación por applets. A diferencia de un programa, un applet no puede ejecutarse de manera independiente, ofrece información gráfica y a veces interactúa con el usuario, típicamente carece de sesión y tiene privilegios de seguridad restringidos. Un applet normalmente lleva a cabo una función muy específica que carece de uso independiente. Un Java applet es un código JAVA que se utiliza principalmente para el trabajo de páginas web, ya que es un pequeño programa que es utilizado en una página HTML y representado por una pequeña pantalla gráfica dentro de ésta. Por otra parte, la diferencia entre una aplicación JAVA y un applet radica en cómo se ejecutan. Para cargar una aplicación JAVA se utiliza el intérprete de JAVA De otra parte los servlets son objetos que corren dentro del contexto de un contenedor de servlets o dentro de un servidor de aplicaciones que además de contenedor para servlet tendrá contenedor para objetos más avanzados como son los EJB 14. La palabra servlet deriva de applet que, como se dijo arriba, se refiere a pequeños programas escritos en Java que se ejecutan en el contexto de un navegador web. Por contraposición, un servlet es un programa que se ejecuta en un servidor. El uso más común de los servlets es generar páginas web de forma dinámica a partir de los parámetros de la petición que envíe el navegador web. 5. PLATAFORMA JAVA La plataforma Java es el nombre de un entorno o plataforma de computación originaria de Sun Microsystems, capaz de ejecutar aplicaciones desarrolladas 13 Un plugin (o plug-in -en inglés "enchufar"-, también conocido como addin, add-in, addon o addon) es una aplicación informática que interactúa con otra aplicación para aportarle una función o utilidad específica, generalmente muy específica, como por ejemplo servir como driver o controlador en una aplicación, para hacer así funcionar un dispositivo en otro programa. Ésta aplicación adicional es ejecutada por la aplicación principal. Los plugins típicos tienen la función de reproducir determinados formatos de gráficos, reproducir datos multimedia, codificar/decodificar s, filtrar imágenes de programas gráficos, tales como flash, Windows media etc. 14 Un "Java Bean" es un componente utilizado en Java que permite agrupar funcionalidades para formar parte de una aplicación, como agrupar información personal, datos sobre un pedimento, requerimientos de ordenes,etc. Un "Enterprise Java Bean" también agrupa funcionalidades para una aplicación, sin embargo, a diferencia de un "Java Bean" un "Enterprise Java Bean" es un " deployable component ", el término "deployable component" implica que existe un ambiente de ejecución, éste ambiente es precisamente un "EJB (Enterprise Java Bean) Container" parte de un java application server. Un "Java Bean" requiere ser integrado con otros componentes para que éste sea funcional, mientras un "Enterprise Java Bean" a través de un "EJB Container" puede ser activado("deployed"). 11

12 usando el Lenguaje de programación Java y un conjunto de herramientas de desarrollo. En este caso, la plataforma no es un hardware específico o un sistema operativo, sino más bien una máquina virtual encargada de la ejecución, y un conjunto de librerías estándar que ofrecen funcionalidad común. La plataforma es así llamada la Plataforma Java (antes conocida como Plataforma Java 2[1]), e incluye: Plataforma Java, Edición Estándar (Java Platform, Standard Edition), o Java SE (antes J2SE) Plataforma Java, Edición Empresa (Java Platform, Enterprise Edition), o Java EE (antes J2EE) Plataforma Java, Edición Micro (Java Platform, Micro Edition), o Java ME (antes J2ME) Desde 2006, la versión actual de la Plataforma Java se conoce tanto por versión 1.5 o versión 5, aunque todas las denominaciones se refieren a la misma versión. Sin embargo, se prefiere el término versión 5. Una visión general de la multitud de tecnologías que componen la Plataforma Java puede encontrarse en la página de documentación del JDK. La Plataforma Java se compone de un amplio abanico de tecnologías, cada una de las cuales ofrece una parte del complejo de desarrollo o del entorno de ejecución en tiempo real. Por ejemplo, los usuarios finales suelen interactuar con la máquina virtual de Java y el conjunto estándar de bibliotecas. Además, las aplicaciones Java pueden usarse de forma variada, como por ejemplo ser incrustadas en una página Web. Para el desarrollo de aplicaciones, se utiliza un conjunto de herramientas conocidas como JDK (Java Development Kit, o herramientas de desarrollo para Java). Java Runtime Environment [editar] Un programa destinado a la Plataforma Java necesita dos componentes en el sistema donde se va a ejecutar: una máquina virtual de Java (JVM), y un conjunto de librerías para proporcionar los servicios que pueda necesitar la aplicación. La JVM que proporciona Sun Microsystems, junto con su implementación de las librerías estándar, se conocen como Java Runtime Environment (JRE) o Entorno en tiempo de ejecución para Java. El JRE es lo mínimo que debe contener un sistema para poder ejecutar una aplicación Java sobre el mismo. Para el desarrollo de programas se ofrece un paquete de utilidades y herramientas conocido como JSDK (Java Software Development Kit). 6. PLATAFORMA.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 12

13 plataforma y que permita un rápido desarrollo de aplicaciones..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. A largo plazo Microsoft pretende reemplazar el API Win32 o Windows API 15 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, 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 16. Con esta plataforma Microsoft incursiona de lleno en el campo de los Servicios Web y establece el XML 17 como norma en el transporte de información en sus productos y lo promociona como tal en los sistemas desarrollados utilizando sus herramientas. 15 La Interfaz de Programación de Aplicaciones, cuyo acrónimo en inglés es API (Application Programming Interface), es un conjunto de funciones residentes en bibliotecas (generalmente dinámicas) que permiten que una aplicación corra bajo el sistema operativo Windows. Debido a su estrecha relación con el desarrollo de software, los programas en sus especificaciones generalmente explicitan la versión de la API del sistema operativo, mediante diversas nomenclaturas tales como la versión específica del sistema operativo (para Windows 98, por ejemplo), o explicitando la versión del conjunto de librerías (Plataforma Win32, etc.). 16 Licencia Pública General (GPL). El autor conserva los derechos de autor (copyright), y permite la redistribución y modificación bajo términos diseñados para asegurarse de que todas las versiones modificadas del software permanecen bajo los términos más restrictivos de la propia GPL. Esto hace que sea imposible crear un producto con partes no licenciadas GPL: el conjunto tiene que ser GPL. 17 XML es un Lenguaje de Etiquetado Extensible muy simple, pero estricto que juega un papel fundamental en el intercambio de una gran variedad de datos. Es un lenguaje muy similar a HTML pero su función principal es describir datos y no mostrarlos como es el caso de HTML. XML es un formato que permite la lectura de datos a través de diferentes aplicaciones. 13

14 Ahora bien, la W3C 18 define "Servicio Web" como un sistema de software diseñado para permitir interoperatibilidad máquina a máquina en una red. En general, los servicios web son sólo APIs Web que pueden ser accedidas en una red, como internet, y ejecutadas en un sistema de hosting remoto. En términos sencillos, un servicio web es cualquier sistema de software diseñado para soportar interacción máquina a máquina sobre una red. En definitiva, permite comunicación entre diferentes máquinas, con diferentes plataformas y entre programas distintos. Esta comunicación se logra a través de la adopción de diversos estándares abiertos. Esta amplia definición abarca múltiples y diferentes sistemas, pero en general "servicio web" suele referir a clientes y servidores que se comunican usando mensajes XML que siguen el estándar SOAP..NET intenta ofrecer una manera rápida y económica pero a la vez segura y robusta de desarrollar aplicaciones - o como la misma plataforma las denomina, soluciones - permitiendo a su vez 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. 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 y Cobol.NET. 18 El Consorcio World Wide Web (W3C) es un consorcio internacional donde las organizaciones miembro, personal a tiempo completo y el público en general, trabajan conjuntamente para desarrollar estándares Web. La misión del W3C es: Guiar la Web hacia su máximo potencial a través del desarrollo de protocolos y pautas que aseguren el crecimiento futuro de la Web. 14

15 7. ARQUITECTURA J2EE vs ARQUITECTURA.NET 19 Repasando un poco se tiene: J2EE (Java 2 Platform, Enterprise Edition) es, según la definicion de Sun Microsystems, un conjunto de estándares y especificaciones para el desarrollo de aplicaciones empresariales basado en la tecnología Java. Esquemáticamente se resume en la siguiente fórmula J2EE = Java + Componentes adicionales orientados a empresas (EJBs, JSPs). La plataforma J2EE ha sido creada con la participación de cientos de empresas de diversa índole y es, sin lugar a dudas una plataforma conjunta, no exclusiva de Sun o de ninguna otra compañía. Actualmente se han desarrollado una serie de herramientas (quizá las más conocidas sean JBuilder, de Borland, y ForteTM de la propia Sun) comerciales para implementar esta plataforma. La sintaxis de Java es muy similar a la de otro lenguaje orientada a objetos, pero su filosofía se encuentra a medio camino entre éste y Smalltalk. Java incorpora un recolector automático de memoria (garbage collector), al igual que Smalltalk, con lo que elimina una fuente tradicional de problemas en C/C++. Sin embargo, tal y como sucede con C++, Java es un lenguaje fuertemente "tipado", en el que se comprueban los tipos declarados en tiempo de compilación, a diferencia de lo que sucede en Smalltalk, donde esto se comprueba en tiempo de ejecución (lo cual suele retrasar el proceso de depuración). Desde su origen, Java dispuso de una líbrería de clases estándar (al igual que Smalltalk y al contrario de lo que sucedió con C++, que al principio no tenía). En Java existe un clase básica única: la clase Object de la cual se derivan todas las otras, de modo similar a lo que ocurre en Smalltalk, mientras que en C++ una clase no tiene por qué tener una clase base de la cual derive. Java admite la herencia múltiple (es decir, una clase puede derivar de varias clases distintas) de un modo distinto a lo que lo hace C++, usando interfaces. Un interfaz es una colección de nombres de métodos sin definiciones reales (o lo que es lo mismo: sin implementación) que indican que una clase tiene un conjunto de comportamientos, además de los que la clase hereda de sus superclases. Existe una diferencia esencial entre Java y C++, desde el punto de vista de la orientación a objetos: no es posible -al igual que ocurre en Smalltalk- utilizar funciones libres o una programación estructurada en Java, desde un comienzo hay que programar mediante clases y objetos en Java; sin embargo, en C++ es posible utilizar funciones libres y realizar programas que no estén orientados a objetos e incluso utilizar código orientado a objetos y código orientado a 19 Tomado de (ABIÁN, 2003), (SANCHO, 2004), (OSMOSIS LATINA, 2005), (GONZÁLEZ MORENO, 2006), (ROBERT FRANZ GROUP, 2006), (GOMEZ, 2007), (BARRAPUNTO, 2007), (GOMEZ, 2007) 15

16 programación estructurada en un mismo programa, lo cual (con un mal uso) puede llevar a la escritura de código de dudosa legibilidad. Java, por cuestión de eficiencia, dispone de tipos de datos primitivos (enteros, carácteres, etc.) que no son clases, aunque sí tienen clases asociadas, con sus correspondientes métodos. Lo mismo sucede con C++, pero no con Smalltalk: en este lenguaje todos los tipos de datos son clases: es un lenguaje OO completamente "puro". Java, por otra parte, no admite punteros, uno de los principales problemas de los programadores en C/C++. Una de las novedades revolucionarias de Java fue la portabilidad: Sun abordó el problema introduciendo el modelo de bytecodes: cuando un programa Java se compila no se transforma en un conjunto de instrucciones código máquina nativas de la plataforma utilizada (lo cual impediría su completa portabilidad), sino que se transforma en un conjunto de bytecodes independientes de la plataforma utilizada que son leídos e interpretados por la máquina virtual Java (JVM) para ejecutar el programa. Por ejemplo, cuando se compila un programa Java en una plataforma Windows/Intel, se obtiene la misma salida compilada (o los mismos bytecodes) que en un sistema Macinstosh o Unix. Esta máquina virtual Java (recibe este nombre porque es una máquina imaginaria que se implementa emulando por software una máquina real) es una aplicación que debe ser instalada en el ordenador para que los programas Java puedan ser ejecutados y será diferente para cada plataforma. A la hora de hacer funcionar una aplicación Java en una plataforma distinta a aquella en la que se escribió el programa, bastará con llevar los archivos de bytecodes generados por la primera plataforma a la otra plataforma (donde deberá haberse instalado la máquina virtual Java correspondiente a ésta, que será distinta a la máquina virtual Java de la primera plataforma). En la práctica, a partir de la aparición de Java 2 (ó Java 1.2) ni siquiera es necesario que la plataforma de destino tenga la JVM correspondiente, basta con que tenga instalado el JRE (Java Runtime Environment), que tiene el permiso de Sun para distribuirse gratuitamente junto con las aplicaciones realizadas por los desarrolladores. Lógicamente, Sun provee de un gran número de versiones de JVM y JRE, para distintos ordenadores y sistemas operativos. En resumidas cuentas: los archivos binarios Java, que se obtienen al compilar el código fuente, son independientes de la plataforma y pueden ejecutarse en múltiples plataformas sin necesidad de volver a compilar el archivo fuente, al contrario de lo que sucede en lenguajes como Visual Basic 6.0 ó Delphi. Microsoft.Net es, de acuerdo con la definición de Microsoft, una plataforma que comprende servidores, clientes y servicios. Consiste en un conjunto de aplicaciones como Visual Studio.Net, los servicios.net, etc. Esta plataforma es una implementación basada en estándares abiertos como SOAP, WSDL, C#, y el CLI (Command Line Interface). Desde el punto de vista del programador, el 16

17 entorno.net ofrece un solo entorno de desarrollo para todos los lenguajes que soporta (actualmente [Abril 2002] unos 30: Visual Basic, C++, C#, Visual J#, Fortran, Cobol...). La manera en que lo hace se verá más adelante. La estrategia.net es innovadora en el sentido de que no compila aplicaciones en código nativo -es decir, no compila aplicaciones en código específico para Intel o Mac, por ejemplo-. La compilación, al igual que sucede con Java, se realiza en dos pasos sucesivos. El código escrito por el programador se compila en el lenguaje intermedio de Microsoft (MSIL: Microsoft Intermediate Language), del mismo modo que las instrucciones en Java se convierten en bytecodes. Es entonces cuando el CLR (CLR: Common Language Runtime ó entorno común de ejecución) de Microsoft compila en tiempo de ejecución las aplicaciones en código nativo de la plataforma Intel ó Mac, por ejemplo. El CLR también revisa el código, verificando la seguridad del mismo y recolectando los objetos para los cuales no existe ya ninguna referencia (recolección de basura), además de gestionar las excepciones entre otras tareas. Es inevitable comparar este manera de trabajar con los bytecodes de Java. Para generar el código MSIL, los compiladores de.net utilizan la información recogida en el CTS (Common Type System), un sistema de tipos comunes en el que se incluyen todos los tipos de datos, estructuras y operaciones de muchos lenguajes de alto nivel distintos. Para que el código pueda utilizarse en otras aplicaciones escritas en otro/otros lenguajes es necesario que los lenguajes usados cumplan la CLS (Common Language Specification), una especificación de los tipos de datos, estructuras y operaciones comunes a todos los lenguajes de programación (y, por tanto, un subconjunto del CTS). El código escrito en un lenguaje que cumpla la CLS puede ser utilizado en el entorno.net en aplicaciones escritas en otros lenguajes que también cumplan la CLS (Nota: Es precisa la exigencia de que cumplan la CLS, pues el CTS es demasiado general y podría suceder que un lenguaje A usara características del CTS de las que otro lenguaje B carece, por lo que no sería posible utilizar código escrito en A en aplicaciones escritas en B -y viceversa-). Por ejemplo, es posible definir una clase en C# y derivar una subclase de ella usando Visual Basic.Net, pues ambos lenguajes se ajustan a la CLS aunque su sintaxis sea muy diferente. Del mismo modo, y por poner otro ejemplo, un bucle que imprima diez veces el tradicional mensaje "Hola Mundo" se escribirá de distinta manera en C# y Visual Basic.Net (o en lenguajes de terceras partes como Fortran, Cobol, etc.), pero los compilador de estos lenguajes -si cumplen la CLS- generarán el mismo código MSIL. Por otro lado, Visual Basic Net ha experimentado un profundo cambio y puede ya ser considerado como un verdadero lenguaje orientado a objetos. Estos cambios se deben a que debe cumplir la CLS para que pueda utilizarse junto a otros lenguajes de la plataforma.net en aplicaciones.net. Sólo en VB 4.0 se 17

18 introdujeron algunas de las características de la orientación a objetos, pero ni siguiera en la versión 6.0 se implementaron todas. C# C Sharp es un nuevo lenguaje de programación incluido en la plataforma.net por vez primera. Es un lenguaje orientado a objetos fuertemente "tipado", diseñado por Microsoft para obtener una elevado rendimiento con una relativa simplicidad del lenguaje. Como ya se ha apuntado antes, pero vale la pena remarcar este punto, la plataforma.net está centrada en torno al Common Languaje Runtime (similar a la Java Virtual Machine de Sun) y a un conjunto de bibliotecas que pueden ser usadas por una amplia variedad de lenguajes capaces de trabajar conjuntamente al ser compilados todos en el lenguaje intermedio MSIL, ya citado anteriormente. C# juega un importante papel en.net porque ha sido diseñado para trabajar de forma óptima con.net y ciertas características de.net se implementaron pensando en que su rendimiento fuera óptimo con C# (de hecho, algunas bibliotecas de.net como Collection, XML, ADO+, ASP+, GDI+ y otras fueron escritas en C#). A la vista del lenguaje, puede decirse que fue concebido basándose en Java y C++. Algunas (no todas) de las similitudes entre Java y C# son las siguientes: Ambos lenguajes compilan un código independiente de la máquina y el sistema operativo que se ejecuta mediante sus correspondientes entornos (JVM o entorno.net). Incorporan un "recolector de basura". No necesitan punteros (Java no los permite y C# permite un uso restringido dentro del código señalado como unsafe (inseguro). No se utilizan ficheros de cabecera (como en C y C++), todo el código se empaqueta en packages (Java) o assemblies (C#). Admiten hilos (threads). Admiten herencia múltiple mediante interfaces. Permiten clases internas (clases en el interior de otras clases). No admiten programación estructurada, cualquier "cosa" pertenece a una clase. Entre las ventajas mencionadas por Microsoft de utilizar este lenguaje, sintácticamente también parecido a Java, es que ha sido diseñado pensando en Internet y arquitecturas de componentes: En C#, cualquier objeto puede representarse como un objeto COM, permitiendo una integración relativamente sencilla con aplicaciones escritas en otros lenguajes. Posiblemente, C# se utilizará para escribir aplicaciones (o partes de aplicaciones) que requieran un alto rendimiento (como el que podría proporcionar C ó C++) sin tener necesidad de preocuparse de aspectos como la gestión de la memoria, la construcción de bibliotecas de bajo nivel, la comprobación de los índices de los arrays, etc. 18

19 La plataforma.net permite utilizar un lenguaje llamado Visual J# (todavía no he tenido la ocasión de utilizarlo, por lo que me baso en lo comentado de forma oficial por Microsoft y algunos articulistas independientes), que implementa casi de forma completa el JDK (Java Development Kit) de Sun dentro de.net. Al igual que sucedía con Visual J++, el JNI (Java Native Interface) ha sido excluido de Visual J#. Aunque aún es pronto para juzgar este lenguaje y sus herramientas de desarrollo asociadas, posiblemente tendrá una fuerte dependencia del entorno Windows. De todos modos, debido a que solo alcanza hasta el JDK (quizás por los problemas legales que tuvo y tiene Microsoft con Sun) estará en desventaja con J2EE, cuya última versión utiliza el SDK 1.4.x. La plataforma.net se ha diseñado teniendo muy presente los servicios Web, una nueva forma de enfocar el negocio del software que puede decirse que los servicios Web son una prolongación lógica de la arquitectura cliente/servidor. Las consecuencias que se derivan del uso de los servicios Web cambian totalmente las reglas del juego: los usuarios pueden optar por alquilar los componentes que necesiten, que siempre estarán actualizados, sin necesidad de comprar aplicaciones completas mediante el sistema actual de licencias. Aún así, pese al entusiasmo despertado en la comunidad de programadores alrededor de los servicios Web, aún hay un largo camino que recorrer (unificación de estándares, adaptación de las empresas y consumidores a estos servicios). Como similitudes entre las plataformas en discusión puede decirse: El propósito tanto de J2EE como de la plataforma.net es facilitar y simplificar el desarrollo de aplicaciones empresariales o corporativas. De cara al comercio electrónico, las JSP (Java Server Pages) son muy similares a ASP (Active Server Pages) o a su descendiente ASP.Net, y los EJB (Enterprise JavaBeans) son muy similares a los COM/COM+ de Microsoft. Los servidores de aplicaciones J2EE y.net proporcionan un modelo de acceso de componentes a datos y de lógica del negocio, separados por una capa intermedia de presentación implementada mediante ASP.Net (:Net) ó Servlets (J2EE). Visual Basic.Net y C# son lenguajes orientados a objetos, al igual que Java, y en su diseño ha tenido mucha importancia la existencia de Internet. Desde la perspectiva de los desarrolladores, J2EE y.net proporcionan las herramientas para crear Servicios Web. Tal y como se ha expuesto J2EE y.net son multiplataforma. Al usar.net una compilación en dos pasos, le permitiría teóricamente proporcionar en el futuro entornos de ejecución para diferentes plataformas de forma similar a Java y sus JREs y SDKs. 19

20 Ahora como ventajas de.net frente a J2EE 1. Una ventaja muy importante del entorno.net frente a J2EE es la posibilidad de emplear múltiples lenguajes de programación, mientras que J2EE sólo trabaja con uno: Java. Aunque sin duda algún teórico pensara que lo ideal sería que solo hubiera un lenguaje de programación (a ser posible estandarizado), esta idea es tan utópica como pensar que el esperanto acabará substituyendo a otros idiomas humanos. La realidad es que esta alta diversidad de lenguajes es obligatoria por la misma variedad de las necesidades de los programadores. Todavía hoy existen más líneas de código escritas en Cobol que en C++ ó Java. Un lenguaje moderno y orientado a objetos como Java puede resultar totalmente ineficaz -y hasta inadecuado- a la hora de abordar problemas que involucren cálculos matemáticos masivos y complejos, mientras que esos mismos cálculos pueden ser abordados mucho más adecuadamente con un lenguaje tan primitivo como Fortran 77. Por otro lado,.net posibilita así que programadores de terceros lenguajes pasen a esta plataforma reduciendo el tiempo de aprendizaje y entrenamiento. 2. Las herramientas de desarrollo incluidas por Microsoft en su Visual Studio.Net son mucho más simples, intuitivas y sencillas de manejar que las herramientas de desarrollo equivalentes en J2EE suministradas por otras empresas (entre ellas la propia Sun). Cualquier programador medio/avanzado se manejará rápidamente con la programación del interface de usuario en Visual Studio.Net, al igual que sucedía con versiones anteriores de Visual Studio. 3. C# es un lenguaje interesante, fácil de aprender por los programadores de Java (de hecho, Microsoft ofrece un conversor de Java a C#), que en caso de estandarizarse podría resultar un lenguaje muy conveniente para ciertas tareas de programación en diferentes plataformas. No está escrito en ninguna parte que los lenguajes no puedan evolucionar (de hecho, tanto los lenguajes de programación como los lenguajes humanos lo hacen) y, en ese sentido, C# es una rama evolutiva más del árbol de los lenguajes orientados a objetos. 4. Microsoft ha impulsado con gran energía los servicios Web y ha resaltado su importancia entre toda la comunidad de desarrolladores (utilicen o no los productos de esta compañía). La plataforma.net se ha diseñado considerando los servicios Web (mientras que J2EE no) siendo estos servicios propios de la plataforma y ofrece una nueve versión de ASP, ASP.Net, que puede considerarse un entorno de programación "de verdad" en lugar de un entorno basado en scripts. En términos de la propia Microsoft ".Net fue construido para la integración a través de los servicios Web XML usando protocolos y formatos de ficheros como SOAP (Simple Object Access Protocol), WSDL (Web Services Description Language), y UDDI (Universal Description, Discovery, and Integration)". Comparativamente,.Net 20

21 va por delante con respecto a J2EE con respecto a servicios Web y estos servicios son propios de la plataforma, aunque J2EE respondió ya con el lanzamiento del Java Web Services Developer Pack. De todos modos, la facilidad, rapidez y sencillez con la que se pueden construir servicios Web con el Asistente de servicios Web de Visual Studio.Net son muy superiores a las de las herramientas para construir servicios Web dentro del entorno de J2EE. Ventajas de J2EE frente a.net : 1. Las implementaciones de J2EE pueden adquirirse a distintas compañías, mientras que.net solo puede comprarse a Microsoft. El hecho de que haya distintas organizaciones implementando J2EE ofrece mayor variedad para los usuarios finales y permite la existencia de una cierta competencia entre ellas para obtener mejores productos que no existe en el caso de Microsoft y su.net. 2. Debido al proceso evolutivo de los productos de Microsoft, y en muchos casos, por motivos de compatibilidad la seguridad frente a virus informáticos de los productos de Microsoft es menor que los basados en Java, pues desde un comienzo Java se fundamentó en un estricto modelo de seguridad. 3. Como se ha escrito ya, las aplicaciones Java pueden correr en una amplia gama de sistemas operativos (desde sistemas empresariales como Windows 2000, OS/390, Solaris, HP-UX, IRIX u otras versiones de Unix hasta en sistemas orientados más a ordenadores personales como Mac OS, Windows 9x ó Linux,y en sistemas operativos para dispositivos móviles) y de arquitecturas hardware. Hasta la fecha,.net corre solamente sobre sistemas operativos de Microsoft (aunque esta situación podría cambiar en el futuro), siendo J2EE el único entorno de desarrollo que ofrece una independencia real de la plataforma. 4. La tecnología Java es una tecnología abierta (en el sentido de que el código de la plataforma completa puede ser obtenido, revisado y estudiado por cualquiera que esté interesado) y se basa en gran parte en estándares de organizaciones de normalización y estándares empresariales "de facto". Esto posibilita que los desarrolladores puedan conocer y entender completamente cómo hace las cosas Java y aprovecharlo para sus aplicaciones y, por otro lado, al basarse en estándares empresariales, simplifica la integración con productos de múltiples compañías. En contraposición, solo el código fuente del Nuevo lenguaje C# de la plataforma.net ha sido abierto al público general (aunque Microsoft permite a compañías con las que le unen intereses comunes el acceso al código fuente de ciertas partes de.net). 5. Aunque Java fue creado originalmente por una compañía: Sun MicroSystems, lo cierto es que J2EE es ahora el producto de la colaboración de más de

.NET y J2EE VALORACIÓN Y COMPARACIÓN DE LOS ELEMENTOS DE LAS DOS PLATAFORMAS. Definiciones...2 C# y Java...3 Similitudes...4 Ventajas...

.NET y J2EE VALORACIÓN Y COMPARACIÓN DE LOS ELEMENTOS DE LAS DOS PLATAFORMAS. Definiciones...2 C# y Java...3 Similitudes...4 Ventajas... .NET y J2EE VALORACIÓN Y COMPARACIÓN DE LOS ELEMENTOS DE LAS DOS PLATAFORMAS Definiciones...2 C# y Java.....3 Similitudes...4 Ventajas...4 Definiciones Sobre J2EE J2EE (Java 2 Platform Enterprise Edition)

Más detalles

JAVA EE 5. Arquitectura, conceptos y ejemplos.

JAVA EE 5. Arquitectura, conceptos y ejemplos. JAVA EE 5. Arquitectura, conceptos y ejemplos. INTRODUCCIÓN. MODELO DE LA APLICACIÓN JEE5. El modelo de aplicación Java EE define una arquitectura para implementar servicios como lo hacen las aplicaciones

Más detalles

La utilización de las diferentes aplicaciones o servicios de Internet se lleva a cabo respondiendo al llamado modelo cliente-servidor.

La utilización de las diferentes aplicaciones o servicios de Internet se lleva a cabo respondiendo al llamado modelo cliente-servidor. Procesamiento del lado del servidor La Programación del lado del servidor es una tecnología que consiste en el procesamiento de una petición de un usuario mediante la interpretación de un script en el

Más detalles

Elementos requeridos para crearlos (ejemplo: el compilador)

Elementos requeridos para crearlos (ejemplo: el compilador) Generalidades A lo largo del ciclo de vida del proceso de software, los productos de software evolucionan. Desde la concepción del producto y la captura de requisitos inicial hasta la puesta en producción

Más detalles

A continuación resolveremos parte de estas dudas, las no resueltas las trataremos adelante

A continuación resolveremos parte de estas dudas, las no resueltas las trataremos adelante Modulo 2. Inicio con Java Muchas veces encontramos en nuestro entorno referencias sobre Java, bien sea como lenguaje de programación o como plataforma, pero, que es en realidad Java?, cual es su historia?,

Más detalles

1 GLOSARIO. Actor: Es un consumidor (usa) del servicio (persona, sistema o servicio).

1 GLOSARIO. Actor: Es un consumidor (usa) del servicio (persona, sistema o servicio). 1 GLOSARIO A continuación se definen, en orden alfabético, los conceptos básicos que se han abordado a lo largo del desarrollo de la metodología para la gestión de requisitos bajo la Arquitectura Orientada

Más detalles

GLOSARIO. Arquitectura: Funcionamiento, estructura y diseño de una plataforma de desarrollo.

GLOSARIO. Arquitectura: Funcionamiento, estructura y diseño de una plataforma de desarrollo. GLOSARIO Actor: Un actor es un usuario del sistema. Esto incluye usuarios humanos y otros sistemas computacionales. Un actor usa un Caso de Uso para ejecutar una porción de trabajo de valor para el negocio.

Más detalles

http://www.cem.itesm.mx/extension/ms

http://www.cem.itesm.mx/extension/ms Diplomado Programación orientada a objetos con Java y UML Las empresas necesitan contar con sistemas de información modernos, ágiles y de calidad para alcanzar sus objetivos y ser cada vez más competitivos

Más detalles

Capitulo III. Diseño del Sistema.

Capitulo III. Diseño del Sistema. Capitulo III. Diseño del Sistema. Para el desarrollo del sistema en la presente tesis se utilizo el paradigma orientado a objetos utilizando el lenguaje Java en su versión 1.2. Por medio de este lenguaje

Más detalles

Visual Studio 2008 es el conjunto de herramientas de

Visual Studio 2008 es el conjunto de herramientas de 1. VISUAL STUDIO 2008 Visual Studio 2008 es el conjunto de herramientas de desarrollo y programación creado por Microsoft tanto para aplicaciones Windows como aplicaciones web. La aparición de Visual Studio

Más detalles

La interoperabilidad se consigue mediante la adopción de estándares abiertos. Las organizaciones OASIS y W3C son los comités responsables de la

La interoperabilidad se consigue mediante la adopción de estándares abiertos. Las organizaciones OASIS y W3C son los comités responsables de la Servicios web Introducción Un servicio web es un conjunto de protocolos y estándares que sirven para intercambiar datos entre aplicaciones. Distintas aplicaciones de software desarrolladas en lenguajes

Más detalles

Tema 1: y el lenguaje Java 1.Programación orientada a objetos 2.El lenguaje Java 3.Compilación, bytecode y JVMs 4.Entornos de desarrollo Java 5.Java vs otros lenguajes OO Programación orientada a objetos

Más detalles

CAPÍTULO 3 VISUAL BASIC

CAPÍTULO 3 VISUAL BASIC CAPÍTULO 3 VISUAL BASIC 3.1 Visual Basic Microsoft Visual Basic es la actual y mejor representación del viejo lenguaje BASIC, le proporciona un sistema completo para el desarrollo de aplicaciones para

Más detalles

UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos

UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos 2.1. Principios básicos del Modelado de Objetos UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos Hoy en día muchos de los procesos que intervienen en un negocio o empresa y que resuelven

Más detalles

Módulo 2. Inicio con Java

Módulo 2. Inicio con Java Módulo 2. Inicio con Java Objetivos: -Clasificar el lenguaje de programación Java según las formas de clasificar los lenguajes de programación. -Describir el funcionamiento de la plataforma Java. -Explicar

Más detalles

Versión: 01. Fecha: 01/04/2013. Código: F004-P006-GFPI GUÍA DE APRENDIZAJE Nº 1 1. IDENTIFICACIÓN DE LA GUIA DE APRENDIZAJE

Versión: 01. Fecha: 01/04/2013. Código: F004-P006-GFPI GUÍA DE APRENDIZAJE Nº 1 1. IDENTIFICACIÓN DE LA GUIA DE APRENDIZAJE SERVICIO NACIONAL DE APRENDIZAJE SENA GUÍA DE APRENDIZAJE SISTEMA INTEGRADO DE GESTIÓN Proceso Gestión de la Formación Profesional Integral Procedimiento Ejecución de la Formación Profesional Integral

Más detalles

PORTAL DE INTEGRACIÓN DE BANCOS DE INFORMACIÓN DISPERSOS A TRAVÉS DE WEB SERVICES Autor: Ing. Walther Antonioli Ravetto

PORTAL DE INTEGRACIÓN DE BANCOS DE INFORMACIÓN DISPERSOS A TRAVÉS DE WEB SERVICES Autor: Ing. Walther Antonioli Ravetto PORTAL DE INTEGRACIÓN DE BANCOS DE INFORMACIÓN DISPERSOS A TRAVÉS DE WEB SERVICES Autor: Ing. Walther Antonioli Ravetto Introducción: Sobre casi cualquier tema del quehacer humano que se aborde, existen

Más detalles

Tema 1. Introducción a JAVA

Tema 1. Introducción a JAVA Tema 1. Introducción a JAVA Historia Características Plataforma Java Entorno de desarrollo Ejemplo: Hola mundo Estructura general de un programa Java 1 Historia de Java (i) Surge en 1991: Sun Microsystems

Más detalles

INF 473 Desarrollo de Aplicaciones en

INF 473 Desarrollo de Aplicaciones en INF 473 Desarrollo de Aplicaciones en Java Unidad II El Lenguaje de Programación Java Prof. José Miguel Rubio jose.rubio.l@ucv.cl jrubio@inf.ucv.cl PUCV Marzo 2008 1 Orígenes del Lenguaje Java 1991. James

Más detalles

CORPORACIÓN MEXICANA DE INVESTIGACIÓN EN MATERIALES, S.A. DE CV

CORPORACIÓN MEXICANA DE INVESTIGACIÓN EN MATERIALES, S.A. DE CV Página 1 de 6 1. OBJETIVO El presente documento tiene la finalidad de citar los beneficios de la migración de la herramienta de análisis de riesgo, mantenimiento e inspección que en lo sucesivo se denominará

Más detalles

Capítulo I. Marco Teórico

Capítulo I. Marco Teórico 1 Capítulo I. Marco Teórico 1. Justificación Hoy en día existe una gran diversidad de aplicaciones que corren sobre la World Wide Web (WWW o Web), y cada una orientada a un fin en particular, el cuál depende

Más detalles

3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON)

3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON) 3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON) 3.1.1 Introducción Este método proporciona un soporte para el diseño creativo de productos de software, inclusive a escala industrial.

Más detalles

Clientes Donantonio. Especificación de requisitos software. Juan José Amor David Escorial Ismael Olea

Clientes Donantonio. Especificación de requisitos software. Juan José Amor David Escorial Ismael Olea Especificación de requisitos software Tabla de contenidos Juan José Amor David Escorial Ismael Olea 1. Introducción...3 1.1. Propósito...3 1.2. Ámbito del sistema...3 1.3. Definiciones, acrónimos y abreviaturas...3

Más detalles

Servidores Donantonio

Servidores Donantonio Especificación de requisitos software Tabla de contenidos Juan José Amor David Escorial Ismael Olea 1. Introducción...3 1.1. Propósito...3 1.2. Ámbito del sistema...3 1.3. Definiciones, acrónimos y abreviaturas...3

Más detalles

INTRODUCCIÓN A JAVA. Índice

INTRODUCCIÓN A JAVA. Índice INTRODUCCIÓN A JAVA Índice Qué es Java? La plataforma Java 2 La Máquina Virtual de Java Características principales Qué ventajas tengo como desarrollador? Bibliografía 2 1 Qué es Java? La tecnología Java

Más detalles

Capítulo I. Definición del problema y objetivos de la tesis. En la actualidad Internet se ha convertido en una herramienta necesaria para todas

Capítulo I. Definición del problema y objetivos de la tesis. En la actualidad Internet se ha convertido en una herramienta necesaria para todas Capítulo I Definición del problema y objetivos de la tesis 1.1 Introducción En la actualidad Internet se ha convertido en una herramienta necesaria para todas las personas ya que nos permite realizar diferentes

Más detalles

CONCLUISIONES Y RECOMENDACIONES

CONCLUISIONES Y RECOMENDACIONES CONCLUISIONES Y RECOMENDACIONES CONTENIDO 7.1 Verificación de Hipótesis 7.2 Conclusiones 7.3 Recomendaciones Mónica Cecilia Gallegos Varela - 145 - VERIFICACIÓN DE HIPÓTESIS La hipótesis planteada al inicio

Más detalles

Proyecto MONO. Juantomás García. 1. Introducción. GNOME Hispano juantomas@lared.es

Proyecto MONO. Juantomás García. 1. Introducción. GNOME Hispano juantomas@lared.es Juantomás García GNOME Hispano juantomas@lared.es Qué es el proyecto MONO?. Estado actual del proyecto. Por qué es interesante para el software libre disponer de la tecnología relacionado con el proyecto

Más detalles

OLIMPO Servidor Universal

OLIMPO Servidor Universal OLIMPO Servidor Universal Documento 20050714/01 Fecha Creación Julio 2005 Fecha Última Revisión Agosto 2007 Versión de documento 2.0 1/7 Visión Global Desde el año 1984, en IGT Microelectronics hemos ofrecido

Más detalles

App para realizar consultas al Sistema de Información Estadística de Castilla y León

App para realizar consultas al Sistema de Información Estadística de Castilla y León App para realizar consultas al Sistema de Información Estadística de Castilla y León Jesús M. Rodríguez Rodríguez rodrodje@jcyl.es Dirección General de Presupuestos y Estadística Consejería de Hacienda

Más detalles

Proyecto ELO-330 Administración Salas del Departamento de Electrónica RC1. Gerardo Lecaros Felipe Díaz

Proyecto ELO-330 Administración Salas del Departamento de Electrónica RC1. Gerardo Lecaros Felipe Díaz Proyecto ELO-330 Administración Salas del Departamento de Electrónica RC1 Gerardo Lecaros Felipe Díaz Problemática Petición de salas de forma tradicional Solución J2EE Java 2 Platform, Enterprise Edition

Más detalles

DEPARTAMENTO: Informática. MATERIA: Programación. NIVEL: 1º Desarrollo de Aplicaciones Multiplataforma

DEPARTAMENTO: Informática. MATERIA: Programación. NIVEL: 1º Desarrollo de Aplicaciones Multiplataforma DEPARTAMENTO: Informática MATERIA: Programación NIVEL: 1º Desarrollo de Aplicaciones Multiplataforma 1. Objetivos. Competencias Profesionales, Personales y Sociales 1.1 Objetivos del ciclo formativo La

Más detalles

CAPÍTULO 1 Instrumentación Virtual

CAPÍTULO 1 Instrumentación Virtual CAPÍTULO 1 Instrumentación Virtual 1.1 Qué es Instrumentación Virtual? En las últimas décadas se han incrementado de manera considerable las aplicaciones que corren a través de redes debido al surgimiento

Más detalles

CAPÍTULO 5. DESARROLLO Y PRUEBAS

CAPÍTULO 5. DESARROLLO Y PRUEBAS CAPÍTULO 5. DESARROLLO Y PRUEBAS 5.1 Introducción a las Tecnologías 5.1.1 Herramientas 5.1.1.1 SQL Server Es un sistema que sirve para la gestión de base de datos basado en un modelo relacional. Así mismo

Más detalles

Novedades en Q-flow 3.02

Novedades en Q-flow 3.02 Novedades en Q-flow 3.02 Introducción Uno de los objetivos principales de Q-flow 3.02 es adecuarse a las necesidades de grandes organizaciones. Por eso Q-flow 3.02 tiene una versión Enterprise que incluye

Más detalles

Capítulo 4. Requisitos del modelo para la mejora de la calidad de código fuente

Capítulo 4. Requisitos del modelo para la mejora de la calidad de código fuente Capítulo 4. Requisitos del modelo para la mejora de la calidad de código fuente En este capítulo definimos los requisitos del modelo para un sistema centrado en la mejora de la calidad del código fuente.

Más detalles

servicios. El API es definido al nivel de código fuente y proporciona el nivel de

servicios. El API es definido al nivel de código fuente y proporciona el nivel de GLOSARIO API Application Program -ming- Interface Es la interfaz por la cual una aplicación accede al sistema operativo u a otros servicios. El API es definido al nivel de código fuente y proporciona el

Más detalles

Java y Eclipse. Lenguajes y Entornos de Programación Libre

Java y Eclipse. Lenguajes y Entornos de Programación Libre Java y Eclipse Lenguajes y Entornos de Programación Libre El lenguaje Java Un poco de historia: 1990: James Gosling, responsable de una empresa filial creada por Sun Microsystems, empieza a diseñar Java

Más detalles

SERVICE ORIENTED ARCHITECTURE (SOA) CONTENIDO

SERVICE ORIENTED ARCHITECTURE (SOA) CONTENIDO SERVICE ORIENTED ARCHITECTURE (SOA) CONTENIDO Introducción:...1 Service Oriented Architecture...2 Elementos de una Service Oriented Architecture...2 Application frontends...2 Servicios...2 Contrato:...3

Más detalles

Capítulo 2. Planteamiento del problema. Capítulo 2 Planteamiento del problema

Capítulo 2. Planteamiento del problema. Capítulo 2 Planteamiento del problema Capítulo2 Planteamientodelproblema 38 2.1Antecedentesycontextodelproyecto En lo que respecta a los antecedentes del proyecto, se describe inicialmente el contexto donde se utiliza el producto de software.

Más detalles

Service Oriented Architecture: Con Biztalk?

Service Oriented Architecture: Con Biztalk? Service Oriented Architecture: Con Biztalk? Pablo Abbate Servicios Profesionales Danysoft SOA supone una nueva forma de pensar acerca de la arquitectura IT para las empresas. De hecho, es una asociación

Más detalles

Introducción a las redes de computadores

Introducción a las redes de computadores Introducción a las redes de computadores Contenido Descripción general 1 Beneficios de las redes 2 Papel de los equipos en una red 3 Tipos de redes 5 Sistemas operativos de red 7 Introducción a las redes

Más detalles

Estándares para el Uso de Herramientas de Desarrollo y Plataformas de Aplicaciones Web

Estándares para el Uso de Herramientas de Desarrollo y Plataformas de Aplicaciones Web Secretaría de Planificación Estratégica Oficina de Informática Estándares para el Uso de Herramientas de Desarrollo y Plataformas de Aplicaciones Web VERSIÓN 4 Julio 2009 Índice 1. Generalidades... 3 1.1

Más detalles

Ingeniería de Software

Ingeniería de Software Ingeniería de Software MSDN Ingeniería de Software...1 Ingeniería del Software_/_ Ingeniería y Programación...1 Análisis de Requerimientos...2 Especificación...3 Diseño...4 Desarrollo en Equipo...5 Mantenimiento...6

Más detalles

desarrollo. Dentro del desarrollo de la tesis el proceso de modelado del sistema fue hecho con el

desarrollo. Dentro del desarrollo de la tesis el proceso de modelado del sistema fue hecho con el Capitulo II. Análisis de herramientas y tecnologías de desarrollo. Dentro del desarrollo de la tesis el proceso de modelado del sistema fue hecho con el lenguaje de Modelo de Objetos llamado UML (Unified

Más detalles

Acronis License Server. Guía del usuario

Acronis License Server. Guía del usuario Acronis License Server Guía del usuario TABLA DE CONTENIDO 1. INTRODUCCIÓN... 3 1.1 Generalidades... 3 1.2 Política de licencias... 3 2. SISTEMAS OPERATIVOS COMPATIBLES... 4 3. INSTALACIÓN DE ACRONIS LICENSE

Más detalles

Proceso Unificado de Rational PROCESO UNIFICADO DE RATIONAL (RUP) El proceso de desarrollo de software tiene cuatro roles importantes:

Proceso Unificado de Rational PROCESO UNIFICADO DE RATIONAL (RUP) El proceso de desarrollo de software tiene cuatro roles importantes: PROCESO UNIFICADO DE RATIONAL (RUP) El proceso de desarrollo de software tiene cuatro roles importantes: 1. Proporcionar una guía de actividades para el trabajo en equipo. (Guía detallada para el desarrollo

Más detalles

Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA

Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA Documento de trabajo elaborado para la Red Temática DocenWeb: Red Temática de Docencia en Control mediante Web (DPI2002-11505-E)

Más detalles

Una computadora es un dispositivo electrónico, operando bajo el control de las instrucciones almacenadas en su propia unidad de memoria.

Una computadora es un dispositivo electrónico, operando bajo el control de las instrucciones almacenadas en su propia unidad de memoria. Informáticas I 1. Sistemas Operativos Para comprender el concepto de sistemas operativos y entender los diferentes tipos de ventanas disponibles lo primero que tenemos que cubrir algunas definiciones básicas.

Más detalles

Creación y administración de grupos de dominio

Creación y administración de grupos de dominio Creación y administración de grupos de dominio Contenido Descripción general 1 a los grupos de Windows 2000 2 Tipos y ámbitos de los grupos 5 Grupos integrados y predefinidos en un dominio 7 Estrategia

Más detalles

Novedades. Introducción. Potencia

Novedades. Introducción. Potencia Introducción Basado en el demostrado rendimiento y flexibilidad de la versión 8.5, Crystal Reports 9 presenta una amplia variedad de avanzadas funciones para que el diseño, entrega e integración de informes

Más detalles

Metodología Orientada a Objetos Clave 43100007 Maestría en Sistemas Computacionales

Metodología Orientada a Objetos Clave 43100007 Maestría en Sistemas Computacionales Metodología Orientada a Objetos Clave 43100007 Maestría en Sistemas Computacionales Modulo 03 UML: Vista de Casos de Uso Artefacto: Actores Catedrático MSC. Jose Juan Aviña Grimaldo e-mail josejuan_avina@gmail.com

Más detalles

Modelo para el Aseguramiento de Calidad en el Desarrollo de Software Libre

Modelo para el Aseguramiento de Calidad en el Desarrollo de Software Libre Modelo para el Aseguramiento de Calidad en el Desarrollo de Software Libre Cenditel, Mayo 2011 Licencia de Uso Copyright (c) 2010, Alvarez J., Solé S., Briceño R., Fundación CENDITEL. La Fundación CENDITEL

Más detalles

OMG UML 2.0 Marcando un hito en el desarrollo de software Resumen Keywords Historia del Surgimiento

OMG UML 2.0 Marcando un hito en el desarrollo de software Resumen Keywords Historia del Surgimiento OMG UML 2.0 Marcando un hito en el desarrollo de software Resumen A través de este artículo se ofrece un panorama amplio y de alto nivel sobre la especificación y los diferentes diagramas del Lenguaje

Más detalles

Introducción a los Servicios Web. Ing. José Luis Bugarin ILUMINATIC SAC jbugarin@consultorjava.com

Introducción a los Servicios Web. Ing. José Luis Bugarin ILUMINATIC SAC jbugarin@consultorjava.com Introducción a los Servicios Web Ing. José Luis Bugarin ILUMINATIC SAC jbugarin@consultorjava.com Servicios Web y Soa En un contexto SOA y los servicios web son una oportunidad de negocios en la actualidad.

Más detalles

SISTEMAS DE INFORMACIÓN III TEORÍA

SISTEMAS DE INFORMACIÓN III TEORÍA CONTENIDO: Introducción a los Web services Las bases de los Web services La nueva generación de la Web Interactuando con los Web services La tecnología de Web services XML: Lo fundamental WSDL: Describiendo

Más detalles

Correspondencias entre taxonomías XBRL y ontologías en OWL Unai Aguilera, Joseba Abaitua Universidad de Deusto, EmergiaTech

Correspondencias entre taxonomías XBRL y ontologías en OWL Unai Aguilera, Joseba Abaitua Universidad de Deusto, EmergiaTech Correspondencias entre taxonomías XBRL y ontologías en OWL Unai Aguilera, Joseba Abaitua Universidad de Deusto, EmergiaTech Resumen Todo documento XBRL contiene cierta información semántica que se representa

Más detalles

TÈCNICO EN PROGRAMACIÒN DE SOFTWARE SERVICIO NACIONAL DE APRENDIZAJE, SENA Material de Apoyo Plataforma.NET LA PLATAFORMA.NET

TÈCNICO EN PROGRAMACIÒN DE SOFTWARE SERVICIO NACIONAL DE APRENDIZAJE, SENA Material de Apoyo Plataforma.NET LA PLATAFORMA.NET LA PLATAFORMA.NET La plataforma.net de Microsoft está diseñada para que se puedan desarrollar componentes software utilizando casi cualquier lenguaje de programación, de forma que lo que escribamos en

Más detalles

Unidad II. - Las técnicas en las que se basó, las categorías de análisis o ejes centrales que permiten guiar el proceso de investigación.

Unidad II. - Las técnicas en las que se basó, las categorías de análisis o ejes centrales que permiten guiar el proceso de investigación. Unidad II Metodología de Solución de Problemas 2.1 Descripción del problema (enunciado). Este aspecto nos indica describir de manera objetiva la realidad del problema que se esta investigando. En la descripción

Más detalles

7.1 Java vs.net, la lucha se acrecienta

7.1 Java vs.net, la lucha se acrecienta 7.1 Java vs.net, la lucha se acrecienta Java fue capaz de introducir una cuña en el negocio de herramientas de Microsoft cuando fue introducida al mercado por primera vez a mediados de los '90 porque ofrecía

Más detalles

DIAGRAMA DE CLASES EN UML

DIAGRAMA DE CLASES EN UML DIAGRAMA DE CLASES EN UML Mg. Juan José Flores Cueto jflores@usmp.edu.pe Ing. Carmen Bertolotti Zuñiga cbertolotti@usmp.edu.pe INTRODUCCIÓN UML (Unified Modeling Language) es un lenguaje que permite modelar,

Más detalles

Ingº CIP Fabian Guerrero Medina Master Web Developer-MWD

Ingº CIP Fabian Guerrero Medina Master Web Developer-MWD 1 Java es un lenguaje de programación de Sun Microsystems originalmente llamado "Oak. James Gosling Bill Joy 2 Oak nació para programar pequeños dispositivos electrodomésticos, como los asistentes personales

Más detalles

Visión General de GXportal. Última actualización: 2009

Visión General de GXportal. Última actualización: 2009 Última actualización: 2009 Copyright Artech Consultores S. R. L. 1988-2009. Todos los derechos reservados. Este documento no puede ser reproducido en cualquier medio sin el consentimiento explícito de

Más detalles

Capítulo 5. Cliente-Servidor.

Capítulo 5. Cliente-Servidor. Capítulo 5. Cliente-Servidor. 5.1 Introducción En este capítulo hablaremos acerca de la arquitectura Cliente-Servidor, ya que para nuestra aplicación utilizamos ésta arquitectura al convertir en un servidor

Más detalles

POSGRADO EXPERTO.NET DESARROLLO DE SOFTWARE

POSGRADO EXPERTO.NET DESARROLLO DE SOFTWARE POSGRADO EXPERTO.NET DESARROLLO DE SOFTWARE DESCRIPCIÓN Microsoft es una de las principales empresas dedicada al mundo de las tecnologías, haciendo grandes esfuerzos para ponerse a la cabeza de la actualidad

Más detalles

Capítulo VI. Conclusiones. En este capítulo abordaremos la comparación de las características principales y

Capítulo VI. Conclusiones. En este capítulo abordaremos la comparación de las características principales y Capítulo VI Conclusiones En este capítulo abordaremos la comparación de las características principales y de las ventajas cada tecnología Web nos ofrece para el desarrollo de ciertas aplicaciones. También

Más detalles

LINEAMIENTOS ESTÁNDARES APLICATIVOS DE VIRTUALIZACIÓN

LINEAMIENTOS ESTÁNDARES APLICATIVOS DE VIRTUALIZACIÓN LINEAMIENTOS ESTÁNDARES APLICATIVOS DE VIRTUALIZACIÓN Tabla de Contenidos LINEAMIENTOS ESTÁNDARES APLICATIVOS DE VIRTUALIZACIÓN... 1 Tabla de Contenidos... 1 General... 2 Uso de los Lineamientos Estándares...

Más detalles

<Generador de exámenes> Visión preliminar

<Generador de exámenes> Visión preliminar 1. Introducción Proyecto Final del curso Técnicas de Producción de Sistemas Visión preliminar Para la evaluación de algunos temas de las materias que se imparten en diferentes niveles,

Más detalles

2524 Developing XML Web Services Using Microsoft ASP.NET

2524 Developing XML Web Services Using Microsoft ASP.NET 2524 Developing XML Web Services Using Microsoft ASP.NET Introducción La meta de este curso es de proveer a los estudiantes con el conocimiento y habilidades requeridas para desarrollar soluciones basadas

Más detalles

(basándose en Servicios web)

(basándose en Servicios web) Curso de Verano: Plataforma.NET y servicios web Comparando J2EE y.net (basándose en Servicios web) Jose Ignacio Suárez Fernández Página 1 de 10 Introducción Me decidí a comparar.net con otra plataforma

Más detalles

Workflows? Sí, cuántos quiere?

Workflows? Sí, cuántos quiere? Workflows? Sí, cuántos quiere? 12.11.2006 Servicios Profesionales Danysoft Son notables los beneficios que una organización puede obtener gracias al soporte de procesos de negocios que requieran la intervención

Más detalles

Introducción al.net Framework. Introducción al.net Framework. Diseño Basado en Componentes. Curso 2008 / 09. Diseño Basado en Componentes

Introducción al.net Framework. Introducción al.net Framework. Diseño Basado en Componentes. Curso 2008 / 09. Diseño Basado en Componentes Introducción al.net Framework Diseño Basado en Componentes Introducción al.net Framework Arquitectura.NET Herramientas, lenguajes y tecnologías.net.net Framework Ingeniería Informática Universidad Carlos

Más detalles

Modulo I. Introducción a la Programación Web. 1.1 Servidor Web.

Modulo I. Introducción a la Programación Web. 1.1 Servidor Web. Modulo I. Introducción a la Programación Web. 1.1 Servidor Web. Antes de analizar lo que es un servidor Web y llevara a cabo su instalación, es muy importante identificar diferentes elementos involucrados

Más detalles

Software de Simulación aplicado a entornos de e-learning

Software de Simulación aplicado a entornos de e-learning Software de Simulación aplicado a entornos de e-learning 2009 Laboratorio de Investigación de Software Universidad Tecnológica Nacional Facultad Regional Córdoba Titulo del Proyecto Software de Simulación

Más detalles

Introducción a la Firma Electrónica en MIDAS

Introducción a la Firma Electrónica en MIDAS Introducción a la Firma Electrónica en MIDAS Firma Digital Introducción. El Módulo para la Integración de Documentos y Acceso a los Sistemas(MIDAS) emplea la firma digital como método de aseguramiento

Más detalles

PROCEDIMIENTO ESPECÍFICO. Código G083-01 Edición 0

PROCEDIMIENTO ESPECÍFICO. Código G083-01 Edición 0 Índice 1. TABLA RESUMEN... 2 2. OBJETO... 2 3. ALCANCE... 2 4. RESPONSABILIDADES... 3 5. ENTRADAS... 3 6. SALIDAS... 3 7. PROCESOS RELACIONADOS... 3 8. DIAGRAMA DE FLUJO... 4 9. DESARROLLO... 5 9.1. DEFINICIÓN...

Más detalles

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación II MODELOS y HERRAMIENTAS UML 1 1 Modelado de casos de uso (I) Un caso de uso es una técnica de modelado usada para describir lo que debería hacer

Más detalles

Ventajas del software del SIGOB para las instituciones

Ventajas del software del SIGOB para las instituciones Ventajas del software del SIGOB para las instituciones Podemos afirmar que además de la metodología y los enfoques de trabajo que provee el proyecto, el software, eenn ssi i mi issmoo, resulta un gran

Más detalles

Gerencia de Procesos de Negocio (Business Process Management, BPM). Lic. Patricia Palacios Zuleta

Gerencia de Procesos de Negocio (Business Process Management, BPM). Lic. Patricia Palacios Zuleta Gerencia de Procesos de Negocio (Business Process Management, BPM). Lic. Patricia Palacios Zuleta (Business Process Management, BPM). La Gerencia de los Procesos del Negocio: Se define como: "integración

Más detalles

Unidad V: Programación del lado del servidor

Unidad V: Programación del lado del servidor Unidad V: Programación del lado del servidor 5.1 Introducción al lenguaje La Programación del lado del servidor es una tecnología que consiste en el procesamiento de una petición de un usuario mediante

Más detalles

Estas visiones de la información, denominadas vistas, se pueden identificar de varias formas.

Estas visiones de la información, denominadas vistas, se pueden identificar de varias formas. El primer paso en el diseño de una base de datos es la producción del esquema conceptual. Normalmente, se construyen varios esquemas conceptuales, cada uno para representar las distintas visiones que los

Más detalles

Capítulo 3 Diseño del Sistema de Administración de Información de Bajo Costo para un Negocio Franquiciable

Capítulo 3 Diseño del Sistema de Administración de Información de Bajo Costo para un Negocio Franquiciable Capítulo 3 Diseño del Sistema de Administración de Información de Bajo Costo para un Negocio Franquiciable 1. Introducción. El Sistema de Administración de Información de un Negocio Franquiciable (SAINF)

Más detalles

Programador en Plataforma Java y XML

Programador en Plataforma Java y XML Programador en Plataforma Java y XML Java Fundamentos Módulo 1: Java Básico Introducción En la presente unidad, se detalla los fundamentos de la tecnología Java, reconociendo las 3 plataformas que la conforman.

Más detalles

Edición de Ofertas Excel Manual de Usuario

Edición de Ofertas Excel Manual de Usuario Edición de Ofertas Excel Manual de Usuario Alfonso XI, 6 28014 Madrid F(+34) 91 524 03 96 www.omie.es Ref. MU_OfertasExcel.docx Versión 4.0 Fecha: 2012-11-26 ÍNDICE 1 INTRODUCCIÓN 3 2 CONSIDERACIONES DE

Más detalles

CAPITULO 3 VRML-JAVA-WWW

CAPITULO 3 VRML-JAVA-WWW CAPITULO 3 VRML-JAVA-WWW 50 3.1 Introducción En éste capítulo se comenta brevemente sobre el origen y esencia de los lenguajes VRML 2 y Java, así como de la forma en que se pueden éstos complementar para

Más detalles

Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere.

Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere. UNIVERSIDAD DE CARABOBO FACULTAD DE CIENCIA Y TECNOLOGÍA DIRECCION DE EXTENSION COORDINACION DE PASANTIAS Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere. Pasante:

Más detalles

1 El trabajo expuesto está subvencionado por el proyecto de la URJC PGRAL-2001/14

1 El trabajo expuesto está subvencionado por el proyecto de la URJC PGRAL-2001/14 EVALUACIÓN A TRAVÉS DE LA WEB: EL SISTEMA TUTORMAP 1 R.Criado, D.Martín y S. Sánchez (GIEMATI, Dpto. de CC. Experimentales e Ingeniería de la URJC) Resumen En este trabajo se describen las características

Más detalles

Mejor tecnología para aplicación práctica NOMAD

Mejor tecnología para aplicación práctica NOMAD TECNOLOGÍA APLICACIÓN PRÁCTICA NOMAD: NOMADIC MODEL FOR THE DISPLAY ADAPTATION ORIENTED TO FINAL USERS NOMAD Mejor tecnología para aplicación práctica NOMAD Luis Carlos Niño Tavera Juan Carlos Nova El

Más detalles

1. INTRODUCCIÓN Y OBJETIVOS

1. INTRODUCCIÓN Y OBJETIVOS 1. INTRODUCCIÓN Y OBJETIVOS Los teléfonos móviles son ya parte esencial en nuestra forma de vida y cada día son más los usuarios de estos terminales. Hasta ahora nos han acompañado a todas partes y nos

Más detalles

BASES DE DATOS OFIMÁTICAS

BASES DE DATOS OFIMÁTICAS BASES DE DATOS OFIMÁTICAS Qué es una Bases de Datos Ofimática?. En el entorno de trabajo de cualquier tipo de oficina ha sido habitual tener un archivo con gran parte de la información necesaria para el

Más detalles

Capítulo 3. Análisis y Diseño

Capítulo 3. Análisis y Diseño Capítulo 3 Análisis y Diseño 1 Análisis y Diseño En esta sección se presentará una explicación detallada del sistema, el proceso de desarrollo, así como sus diferentes fases. Además, se presenta la documentación

Más detalles

COLEGIO COMPUESTUDIO

COLEGIO COMPUESTUDIO COLEGIO COMPUESTUDIO ÁREA: TECNOLOGIA E INFORMATICA DOCENTE: WILLY VIVAS LLOREDA ESTUDIANTE: CLEI: III GUIA N 5 N SESIONES: NUCLEO TEMÁTICO: UNIDAD: 2 Sistema operativo (Windows) OBJETIVO: Comprender el

Más detalles

Capítulo VI. Estudio de Caso de Aplicación del Integrador de Información Desarrollado

Capítulo VI. Estudio de Caso de Aplicación del Integrador de Información Desarrollado Capítulo VI Estudio de Caso de Aplicación del Integrador de Información Desarrollado 6.1 Organización elegida La Organización elegida para el caso de aplicación, es la empresa CTM Tours del grupo Costamar,

Más detalles

TEMA: DESARROLLO DE APLICACIONES WEB INTERACTIVAS UTILIZANDO LA TÉCNICA AJAX AUTOR: MERY SUSANA ZAMBONINO BAUTISTA

TEMA: DESARROLLO DE APLICACIONES WEB INTERACTIVAS UTILIZANDO LA TÉCNICA AJAX AUTOR: MERY SUSANA ZAMBONINO BAUTISTA TEMA: DESARROLLO DE APLICACIONES WEB INTERACTIVAS UTILIZANDO LA TÉCNICA AJAX AUTOR: MERY SUSANA ZAMBONINO BAUTISTA AREA DEL TEMA: INGENIERÍA DE SOFTWARE OBJETIVO GENERAL Desarrollar aplicaciones web utilizando

Más detalles

SIMAD CLOUD. La Gestión Documental ahora en la nube, más eficiente SISTEMA INTEGRADO DE ADMINISTRACIÓN DOCUMENTAL

SIMAD CLOUD. La Gestión Documental ahora en la nube, más eficiente SISTEMA INTEGRADO DE ADMINISTRACIÓN DOCUMENTAL La administración documental profesional es una completa herramienta documental dirigida preferiblemente a pequeñas y medianas organizaciones para ganar control sobre sus documentos, con énfasis en la

Más detalles

Primer avance de proyecto de software para la gestión de inscripciones en cursos

Primer avance de proyecto de software para la gestión de inscripciones en cursos Primer avance de proyecto de software para la gestión de inscripciones en cursos 1. Introducción Andrés Felipe Bustamante García, Carolina Sarmiento González En este documento se presentan los resultados

Más detalles

Plataforma desarrollo Java Formación elearning tutorizada en castellano. Fabricante: Java Grupo: Desarrollo Subgrupo: Master Java

Plataforma desarrollo Java Formación elearning tutorizada en castellano. Fabricante: Java Grupo: Desarrollo Subgrupo: Master Java C/Comandante Zorita 4 28020 Madrid/ info@ceticsa.es 902 425 524 / 91 700 01 17 Plataforma desarrollo Java Formación elearning tutorizada en castellano JAVA00d Ciclo de formación en plataforma Java Curso

Más detalles

ACTA DE CONSEJO DE FACULTAD/DEPTO./CENTRO:

ACTA DE CONSEJO DE FACULTAD/DEPTO./CENTRO: Página 1 de 5 EPROGRAMA: INGENIERÍA DE TELECOMUNICACIONES PLAN DE ESTUDIOS: 3 ACTA DE CONSEJO DE FACULTAD/DEPTO./CENTRO: 68 1. DATOS GENERALES ASIGNATURA/MÓDULO/SEMINARIO: PROGRAMACIÓN AVANZADA COMPONENTE:

Más detalles

Capítulo 7. Implementación del Sistema

Capítulo 7. Implementación del Sistema Capítulo 7. Implementación del Sistema 7.1 Servidor Web (Jakarta-Tomcat) Para el desarrollado de este proyecto se utilizó el servidor Web Jakarta-Tomcat, el cual soporta las tecnologías Java HTTP Servlets

Más detalles

Soporte Técnico de Software HP

Soporte Técnico de Software HP Soporte Técnico de Software HP Servicios Tecnológicos HP Servicios contractuales Datos técnicos El Soporte Técnico de Software HP ofrece servicios integrales de soporte remoto de para los productos de

Más detalles