223,853 research outputs found

    Design and implementation of a behaviorally typed programming system for web services

    Get PDF
    Dissertação apresentada na Faculdade de Ciências e Tecnologia da Universidade Nova de Lisboa para a obtenção do Grau de Mestre em Engenharia Informática.The growing use of the Internet as a global infrastructure for communication between distributed applications is leading to the development of a considerable amount of technologies to ease the deployment, description and data exchange among services and thus improve their interoperability. There is also a growing interest in the use of the “software as a service” business model where a software vendor develops and hosts applications to be used by its clients over the Internet. The use of these Web Services is provided through an API describing the interface of the service that can hide how the service provider hosts the application. This approach allows for the creation of an abstraction layer that offers additional capabilities without increasing the maintenance cost usually linked to the management of those machines (like software and hardware updates or just application/system configuration). However, the main tools provided by the standards and existing technology to combine these services usually only account for limited automatic verification techniques (based on standard signature checking of methods in interface descriptions) and thus relying the behavioral compatibility among services to the programmer. The programmer then becomes dependent on the quality of the documentation and the development time available to manually (and without formal guarantees) assure the correctness of the code. In this thesis, we propose a behavioral type system, in the context of yak, a prototype scripting language for web services, that enhances traditional typecheckers by allowing to statically check the correct usage of services (as remote or local objects). Our language uses behavioral annotations in the protocol descriptions, similar to regular expressions, that are translated to deterministic finite automatons during the typechecking phase. The intent of this work is to ease the creation and deployment of Web Services by providing a friendly integration of behavioral type concepts within a practical programming language, so to make the use of these services (with behavioral descriptions) transparent and effortless to the programmer. We also provide a full implementation of the interpreter, behavioral typechecker and run-time support system for the yak language, that may be used to develop prototypical systems and experiment with web services and behavioral type

    AI-driven web API testing

    Get PDF
    Testing of web APIs is nowadays more critical than ever before, as they are the current standard for software integration. A bug in an organization’s web API could have a huge impact both in ternally (services relying on that API) and externally (third-party applications and end users). Most existing tools and testing ap proaches require writing tests or instrumenting the system under test (SUT). The main aim of this dissertation is to take web API testing to an unprecedented level of automation and thoroughness. To this end, we plan to apply artificial intelligence (AI) techniques for the autonomous detection of software failures. Specifically, the idea is to develop intelligent programs (we call them “bots”) ca pable of generating hundreds, thousands or even millions of test inputs and to evaluate whether the test outputs are correct based on: 1) patterns learned from previous executions of the SUT; and 2) knowledge gained from analyzing thousands of similar programs. Evaluation results of our initial prototype are promising, with bugs being automatically detected in some real-world APIs.Ministerio de Economía y Competitividad BELI (TIN2015-70560-R)Ministerio de Ciencia, Innovación y Universidades RTI2018-101204-B-C21 (HORATIO)Ministerio de Educación, Cultura y Deporte FPU17/0407

    Web Services Privacy Measurement Based on Privacy Policy and Sensitivity Level of Personal Information

    Get PDF
    Web services technology has been in the mainstream of today’s software development. Software designers can select Web services with certain functionality and use or compose them in their applications with ease and flexibility. To distinguish between different services with similar functionality, the designers consider quality of service. Privacy is one aspect of quality that is largely addressed since services may require service users to reveal personal information. A service should respect the privacy of the users by requiring only the information that is necessary for its processing as well as handling personal information in a correct manner. This paper presents a privacy measurement model for service users to determine privacy quality of a Web service. The model combines two aspects of privacy. That is, it considers the degree of privacy principles compliance of the service as well as the sensitivity level of user information which the service requires. The service which complies with the privacy principles and requires less sensitive information would be of high quality with regard to privacy. In addition, the service WSDL can be augmented with semantic annotation using SAWSDL. The annotation specifies the semantics of the user information required by the service, and this can help automate privacy measurement. We also present a measurement tool and an example of its application

    EsaCake: a semantic software enviroment for sharing software proyects knowledge based on the ESA software methodology

    Get PDF
    Proceedings of: The Third International Conference on Internet and Web Applications and Services (ICIW 2008), 8-13 June 2008, Athens, GreeceThere is an increasing need of defining standards at the beginning of any engineering project. The correct specification of standards has become essential in software development in order to handle correctly the development of projects. Nowadays the need to define standards at the outset of any engineering project is more evident than ever. The specification of standards has become an essential topic which universities try to teach to software engineering students. In fact, software creation processes are required intrinsically to be produced according to a systematic methodology to enable constant control during the project life cycle. This paper presents a new environment that enables semantic and social interaction of documentation produced during software development processes.This work is supported by the Spanish Ministry of Industry, Tourism, and Commerce under the project GODO (FIT-340000-2007-134), under the PIBES project of the Spanish Committee of Education & Science (TEC2006-12365-C02-01) and the MID-CBR project of the Spanish Committee of Education & Science (TIN2006-15140-C03-02).Publicad

    INFRAWEBS Capability Editor - A graphical ontology-driven tool for creating capabilities of Semantic Web Services

    Get PDF
    The current INFRAWEBS European research project aims at developing ICT framework enabling software and service providers to generate and establish open and extensible development platforms for Web Service applications. One of the concrete project objectives is developing a full-life-cycle software toolset for creating and maintaining Semantic Web Services (SWSs) supporting specific applications based on Web Service Modelling Ontology (WSMO) framework. SWSs are self-contained, self-describing, semantically marked-up software resources that can be published, discovered, composed and executed across the Web in a task driven semi-automatic way. A main part of WSMO-based SWS is service capability – a declarative description of Web service functionality. A formal syntax and semantics for such a description is provided by Web Service Modeling Language (WSML), which is based on different logical formalisms, namely, Description Logics, First-Order Logic and Logic Programming. A WSML description of a Web service capability is represented as a set of complex logical expressions (axioms). The paper describes a specialized user-friendly tool for constructing and editing WSMO-based SWS capabilities. Since the users of that tool are assumed to be SWS providers, which are not the specialists in first-order logic, it is proposed a graphical way for constricting and editing the axioms abstracting away as much as possible from a concrete syntax of logical language used for implementing them. Our analysis has shown that the main problems arising during axiom creating are associated with using of correct names of concepts, attributes, relations and parameters as well as their types rather than with expressing logical dependences between axiom parts. So the process of constructing logical expressions in the tool is ontologydriven, which means that in each step of this process the user may select only such elements of existing ontologies that are consistent with already constructed part of the axiom. From this point of view the created axiom is always semantically consistent with ontologies used for it construction. After discussing the main design principles of the Editor, its functional architecture is briefly presented. The tool is implemented in Eclipse Graphical Environment Framework and Eclipse Rich Client Platform

    Automatic weather station data managemente at the INM Meteorological Center in the Balearic islands

    Get PDF
    Ponencia presentada en: 3rd International Conference on Experiences with Automatic Weather Stations, celebrada en Torremolinos (Málaga, Spain) los días 19-21 de febrero de 2003.Automatic weather stations yield a huge amount of useful data, that are not fully exploited by the software provided with the stations. Therefore, as new needs emerged, a set of computer programs has been developed, allowing us to: a) store the data in a more efficient way, keeping all records on line for different climatological applications; b) apply additional quality controls on the data, with tools to correct or delete the errors; c) automatically generate e-mail messages with warnings to the Civil Protection services or data summaries for different customers; d) Generate web pages with data summaries and graphic displays in real time; e) generate graphs, data listings and other climatological products for different purposes. As these programs have been developed locally, they can be easily modified to accomplish new tasks with quite a short response time

    BPEL: una propuesta para el uso de Web Services

    Get PDF
    La noción de servicio tiene profundas raíces en el mundo de los negocios. La orientación a servicios es un principio organizacional que se aplica a los negocios, a los entornos gubernamentales y también al software. Un proceso de negocio es una actividad del mundo real que consiste en un conjunto de tareas lógicamente relacionadas, que cuando se realizan en la secuencia apropiada y siguiendo las reglas del negocio, producen una salida válida para el negocio. Los Servicios Web son procesos de negocio modulares y autocontenidos que se basan en tecnologías de estándares de la industria. Estos estándares carecen de la semántica propia del proceso de negocio. Un lenguaje de especificación de procesos de negocio que imponga restricciones acerca de los servicios que los satisfacen y su comportamiento, es capaz de otorgar dicha semántica. BPEL es un lenguaje de especificación de procesos de negocio completamente ejecutable que otorga orquestación a los Servicios Web.The notion of service is deeply rooted in the world of business. Service orientation is an organizational principle that is applied to business, governmental environments as well as to software. A business process is a real-world activity involving a set of logically related tasks that, when performed in the appropriate sequence and according to the correct business rules, produce a business outcome. Web Services are self-contained, modular business process applications based on industry standard technologies. These standards lack the semantics typical of a business process. Said semantics may be implemented by means of a language of specification of business processes that imposes restrictions on the services that satisfy them and their behavior. BPEL is a language of specification of business processes completely executable that allows for Web Services orchestration.IV Workshop de Ingeniería de Software y Base de DatosRed de Universidades con Carreras en Informática (RedUNCI

    BPEL: una propuesta para el uso de Web Services

    Get PDF
    La noción de servicio tiene profundas raíces en el mundo de los negocios. La orientación a servicios es un principio organizacional que se aplica a los negocios, a los entornos gubernamentales y también al software. Un proceso de negocio es una actividad del mundo real que consiste en un conjunto de tareas lógicamente relacionadas, que cuando se realizan en la secuencia apropiada y siguiendo las reglas del negocio, producen una salida válida para el negocio. Los Servicios Web son procesos de negocio modulares y autocontenidos que se basan en tecnologías de estándares de la industria. Estos estándares carecen de la semántica propia del proceso de negocio. Un lenguaje de especificación de procesos de negocio que imponga restricciones acerca de los servicios que los satisfacen y su comportamiento, es capaz de otorgar dicha semántica. BPEL es un lenguaje de especificación de procesos de negocio completamente ejecutable que otorga orquestación a los Servicios Web.The notion of service is deeply rooted in the world of business. Service orientation is an organizational principle that is applied to business, governmental environments as well as to software. A business process is a real-world activity involving a set of logically related tasks that, when performed in the appropriate sequence and according to the correct business rules, produce a business outcome. Web Services are self-contained, modular business process applications based on industry standard technologies. These standards lack the semantics typical of a business process. Said semantics may be implemented by means of a language of specification of business processes that imposes restrictions on the services that satisfy them and their behavior. BPEL is a language of specification of business processes completely executable that allows for Web Services orchestration.IV Workshop de Ingeniería de Software y Base de DatosRed de Universidades con Carreras en Informática (RedUNCI

    Can Component/Service-Based Systems Be Proved Correct?

    Get PDF
    Component-oriented and service-oriented approaches have gained a strong enthusiasm in industries and academia with a particular interest for service-oriented approaches. A component is a software entity with given functionalities, made available by a provider, and used to build other application within which it is integrated. The service concept and its use in web-based application development have a huge impact on reuse practices. Accordingly a considerable part of software architectures is influenced; these architectures are moving towards service-oriented architectures. Therefore applications (re)use services that are available elsewhere and many applications interact, without knowing each other, using services available via service servers and their published interfaces and functionalities. Industries propose, through various consortium, languages, technologies and standards. More academic works are also undertaken concerning semantics and formalisation of components and service-based systems. We consider here both streams of works in order to raise research concerns that will help in building quality software. Are there new challenging problems with respect to service-based software construction? Besides, what are the links and the advances compared to distributed systems?Comment: 16 page
    corecore