HaskellScript y sus Aplicaciones Autores Santiago Ochoa Ceresuela Miguel García Puyol.

Slides:



Advertisements
Presentaciones similares
Desarrollo de aplicaciones en n- capas
Advertisements

COLEGIO DE BACHILLERES PLANTEL #13 Xochimilco-TEPEPAN
APLICACIONES DISTRIBUIDAS
SERVICIOS WEB EN.NET INTEGRANTES: ADRIANA BLANCO PEÑA MIRIAM SORIANO HERNANDEZ ALVARO PETROVICH CID CONTRERAS LUIS RAMIREZ PALESTINO.
¿Qué es Sofware? Son el conjunto de instrucciones que dirigen las actividades del Hardware Consiste en programas, módulos de soporte y archivos de datos,
Framework de.Net Infraestructura sobre la que se reúne todo un conjunto de lenguajes y servicios que simplifican el desarrollo de aplicaciones Entorno.
Lenguaje Unificado de Modelado
Introducción a LAS Bases de Datos
Tecnologías para desarrollo de aplicaciones web. Un caso de uso
ActiveX.
INTRODUCCIÓN A JAVA.
Estructura de un Sistema Operativo
Programación Visual de Sistemas
Introducción al software
Programación Orientada a Objetos
UNIVERSIDAD LATINA (UNILA) ENCAPSULACION Y HERENCIA
Java 2 Platform Enterprise Edition
Aplicación del paradigma orientado a objetos
INTRODUCCIÓN A UML Oscar Miguel Alonso Moreno.
JAVA FX Es un paquete de software que te permitirá desarrollar aplicaciones web para diferentes plataformas, desde un ordenador ordinario hasta teléfonos.
Introducción a la Computación (IC)
DIAGRAMA DE COMPONENTES INTEGRANTES Córdova Vásquez Giovanny Escobar Alvares Calixto Gomez Quinteros Adelaida Pinto Flores Yarmila.
Introducción a ASP.NET.
Introducción al Software
Con fines prácticos se puede clasificar al software en tres tipos: Software de sistema Software de programación Software de aplicación.
Interacción Persona Ordenador
El paradigma de la orientación a objetos La programación orientada a objetos genera códigos eficientes y estandariza la metodología de programación, además.
 El termino OO, significa que el software es organizado como una colección de objetos. Un objeto es un paquete de software que contiene datos y procedimientos.
Administración de datos con MS-SQL Server y Visual Basic
(c) P. Gomez-Gil, INAOE DISEÑO DE COMPONENTES DE SOFTWARE * NOTAS DEL CURSO Ingeniería de Software I DRA. MARIA DEL PILAR GÓMEZ GIL INAOEP.
Introducción a la Programación. Lenguaje de Máquina.
Programación Orientada a Aspectos (POA)
Programación e Ingeniería de Software III
InfoPath Ventajas y Uso.
ASP.NET es una nueva y potente tecnología para escribir páginas web dinámica. Es una importante evolución respecto a las antiguas páginas ASP de Microsoft.
DISEÑO DE SOFTWARE 1ª. Parte
Contenido: 1- Que es el .Net Framework 2- Arquitectura en .Net
NOTE: To change the image on this slide, select the picture and delete it. Then click the Pictures icon in the placeholder to insert your own image. Servidores.
Un programa no es nada mas que una serie de instrucciones dadas al ordenador en un lenguaje entendido por el, para decirle exactamente lo que queremos.
Lenguajes de programación Web
TIPOS DE SOFTWARE Se denomina software a un programa, equipamiento lógico o soporte lógico necesario para hacer posible la realización de una tarea con.
Análisis del lado del servidor y del lado del cliente Ángel Apolinar Corona Irene Granados García.
Unidad VI Documentación
Desarrollo de aplicaciones para ambientes distribuidos
Tecnologias Usadas.Net Framework LINQ WCF Subversion Clickonce Smart Client Deployment SQL Server Compact Edition. Visual Studio Express 2008.
Base de Datos con Visual Basic
Lenguajes de programación para la web Lenguaje html Lenguaje java script Es un lenguaje estático para el desarrollo de sitios web Ventajas: Sencillo que.
Haga clic para modificar el estilo de subtítulo del patrón 28/04/09 Por ARLEDY SARRIA MOLINA NAZLY DIAZ ARIZA JHOANNA MARQUELLA DESARROLLO DE SOFTWARE.
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?
Introducción a la tecnología Realizado por: Miguel Ángel Arias.
Lenguajes de Programación
Mensajería cliente-servidor en Flex y Java
INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE
MIME EXTENSIONES DE CORREO INTERNET MULTIPROPÓSITO. SERIE DE ESPECIFICACIONES DIRIGIDAS AL INTERCAMBIO TRANSPARENTE DE TODO TIPO DE ARCHIVOS A TRAVÉS DE.
Programación Orientada a Objeto
Cristian Fonnegra Marin
María José Freire Mayra Coello Juan Francisco Pérez
INFORMÁTICA Y CONVERGENCIA TECNOLÓGICA
¿Qué es? Requisitos Ventajas y Desventajas
Distributed Component Object Model
UNIDAD V Bibliotecas de Funciones L.I. & M.S.C. OSCAR RAMÍREZ CORTÉS PROGRAMACIÓN DE SISTEMAS.
Navarro Hernández Nadia Samantha. Preescolar 1º. B.
MAESTRIA EN CIENCIAS DE LA COMPUTACION Comparación de implementación de sistemas distribuidos usando COM y CORBA Jesús Gil Muñoz Julio 2001.
INTERFAZ DE ACCESS  Access es un sistema gestor de bases de datos relacionales (SGBD). Una base de datos suele definirse como un conjunto de información.
DISEÑO DE COMPONENTES Y DESARROLLO BASADO EN COMPONENTES
GUARI, MARIELA ESTEFANIA L.U.:  ‘DEFINICION’ ‘Los Antivirus Cloud? (antivirus en la nube) son antivirus que aplican a los antivirus el concepto.
Servicios Web Conjunto de aplicaciones o de tecnologías con capacidad para interoperar en la Web. Estas aplicaciones o tecnologías intercambian datos entre.
Conociendo el modelo Cliente-Servidor
Conociendo el modelo Cliente-Servidor. Introducción En el mundo de TCP/IP las comunicaciones entre computadoras se rigen básicamente por lo que se llama.
=MARCOS DE TRABAJO ORIENTADO A OBJETOS= « NETBEANS » INTEGRANTES: SOTELO CORTES JESVAN FIDEL JIMENEZ ALFARO ARTURO CAMARA.
Transcripción de la presentación:

HaskellScript y sus Aplicaciones Autores Santiago Ochoa Ceresuela Miguel García Puyol

Diseño basado en Componentes Evolución natural de la orientación a objetos. Idea similar a la empleada en los componentes Hardware Plataformas de componentes: CORBA, COM, J2EE,.NET Objetivos: – Desarrollo mediante composición, no implementación – Reutilización de componentes hechos por terceros – Mercado común de componentes (Commercial Off-The-Shelf) – Integrados en un determinado modelo/plataforma. No tienen sentido de forma aislada. – Implementan una serie de interfaces que Indican la funcionalidad que proporcionan y también la que precisan. Permiten la reemplazabilidad.

Nociones de ActiveX/COM Un objeto ActiveX es aquel que cumple la definición del Modelo de Objetos Componentes (COM) de Microsoft. Características objeto COM: – Puede estar escrito en cualquier lenguaje (código binario) – Encapsulado en un archivo ejecutable o biblioteca de vínculo dinámico (DLL) – Proporciona una interfaz para que los otros objetos se comuniquen con él. – Dos tipos de datos: Datos de Presentación Datos Internos – Tiene funciones para manipular esos datos

Introducción HaskellScript Es el nombre de un conjunto de bibliotecas y software que permiten la integración de Haskell dentro del marco de trabajo COM/ActiveX HaskellScript es compatible con Microsoft Internet Explorer 4, Word, Excel. Presenta algunas incompatibilidades con las últimas versiones

HaskellScript = Haskell + COM Se trata de poder construir sistemas híbridos aprovechando la naturaleza funcional de Haskell Dos posibilidades: Utilizar componentes COM (y sus elementos) dentro de Haskell Llamar a funciones Haskell desde otro componente (otros lenguajes de programación que soporten COM) a través de su interfaz

Introducción a HaskellScript Está formado por: – HaskellAgent: es una biblioteca escrita en Haskell empleada para crear animaciones usando la tecnología de Microsoft Agent. Ej: el ayudante de Microsoft Office. – HaskellObject: es una biblioteca para definir componentes automatizados (Automation components) en Haskell. Estos componentes se comportan exactamente igual que los componentes COM y pueden ser directamente utilizados desde Java o Visual Basic.

Introducción a HaskellScript HaskellDirect: Es un compilador completo de IDL (Interface Definition Language) para Haskell. Los programadores pueden usarlo para generar automáticamente interfaces Haskell para los componentes COM. HaskellDirect HaskellDB: Biblioteca Haskell que permite realizar peticiones sobre bases de datos relacionales. HaskellDB

Importando/Exportanto Haskell HaskellObject HaskellDirect Interfaces Script Server  Conjunto mínimo de interfaces que permiten usar Haskell como lenguaje de Script en aplicaciones como IExplorer, Windows 95/NT

Interfaces Script Server Todo Script Server es un componente COM En general, un interfaz Script Server es un interfaz independiente del lenguaje que permite a cualquier lenguaje de programación ser programado o invocado desde otra aplicación En HaskellScript, hay un conjunto de interfaces implementados sobre Hugs para interactuar con el motor de ActiveX. Representan la mínima funcionalidad necesaria para programar en otro lenguaje desde una aplicación externa (Ej: Utilizar funciones Haskell en lenguajes como Visual Basic o Java)

IDL: Interface Definition Language interface IScriptServer : IDispatch { HRESULT LoadScript ([in] VARIANT* source,[out,retval] IScript** script) HRESULT AddHostItem ([in] BSTR itemName, [in] IDispatch* item ); HRESULT AddSearchDir ([in] BSTR dir ); HRESULT ProgID ([out,retval] BSTR* progID ); }; interface IScript : IDispatch { HRESULT Start (void ); HRESULT AddHostItem([in] BSTR itemName, [in] IDispatch* item ); HRESULT GetScriptItem([in] BSTR name,[out,retval] IScriptItem** item) HRESULT Expr ([in] BSTR expr, [out,retval] IScriptItem** item ); }; interface IScriptItem : IDispatch { HRESULT Eval ([in] int cArgs, [in,size_is(cArgs)] VARIANT* args, [out,retval] VARIANT* result );};

HaskellObject: ObjectScript Consiste en crear un componente Haskell, que a su vez será automatizado. Para ello se necesitan 2 módulos: – Un proxy, que una Haskell con el exterior (podría utilizarse HaskellDirect para generarlo a partir de la definición IDL) – El módulo con la implementación del componente Ya que Visual Basic y Java usan la automatización como su interfaz COM básico, es fácil integrar Haskell con estos lenguajes.

HaskellDirect HaskellDirect, como hemos dicho, es un compilador de IDL para Haskell, que proporciona una ayuda al programador Haskell que quiere interactuar y reusar código externo. Crear un interfaz para Haskell implica la conversión de los tipos básicos y el manejo de memoria entre el mundo Haskell y el exterior HaskellDirect se encarga de llevar a cabo esta traducción Sin embargo, actualmente, su uso es bastante limitado

Biblioteca HTMLScript Esta biblioteca contiene un conjunto de funciones que permiten “trasladar” el control de elementos HTML a Haskell. Una vez allí, se podrán modificar de igual forma que se podría hacer con Javascript. Veamos algunos ejemplos sencillos

Referencias Client-side Web Scripting with HaskellScript Erik Meijer, Daan Leijen and James Hook. Scripting COM components in Haskell Simon L. Peyton-Jones, Erik Meijer and Daan Leijen Diseño Arquitectónico Carlos Canal