319 research outputs found

    Argos container, core and extension framework

    Get PDF
    With the emergence of the internet and e-commerce in the 90’s new common problems arose when developing applications that span the internet. These common problems include among others scalability, robustness, networking, database usage and heterogeneity. Software developers creating internet applications saw themselves reinventing the wheel repeatedly. This lead to the creation of middleware systems that aimed to solve these common problems. This thesis will present Argos which uses a different way of building middleware systems. Argos is able to provide tailored, flexible and extensible middleware support using reflection, dependency injection, Java Management Extensions (JMX) notifications and hot deployment. The result is a platform capable of tackling domain specific challenges. It provides rapid development of feature rich applications for managing and processing information. Argos has gone through thorough testing proving production stability

    Method-Specific Access Control in Java via Proxy Objects using Annotations

    Get PDF
    Partially restricting access to objects enables system designers to finely control the security of their systems. We propose a novel approach that allows granting partial access at method granularity on arbitrary objects to remote clients, using proxy objects. Our initial approach considers methods to be either safe (may be invoked by anyone) or unsafe (may be invoked only by trusted users). We next generalize this approach by supporting Role-Based Access Control (RBAC) for methods in objects. In our approach, a policy implementer annotates methods, interfaces, and classes with roles. Our system automatically creates proxy objects for each role, which contain only methods to which that role is authorized. This thesis explains the method annotation process, the semantics of annotations, how we derive proxy objects based on annotations, and how clients invoke methods via proxy objects. We present the advantages to our approach, and distinguish it from existing approaches to method-granularity access control. We provide detailed semantics of our system, in First Order Logic, to describe its operation. We have implemented our system in the Java programming language and evaluated its performance and usability. Proxy objects have minimal overhead: creation of a proxy object takes an order of magnitude less time than retrieving a reference to a remote object. Deriving the interface---a one-time cost---is on the same order as retrieval. We present empirical evidence of the effectiveness of our approach by discussing its application to software projects that range from thousands to hundreds of thousands of lines of code; even large software projects can be annotated in less than a day

    Ponder2: A Policy System for Autonomous Pervasive Environments

    No full text
    Accepted versio

    A ProActive Backend for ABS: from Modelling to Deployment

    Get PDF
    ABS is an object-oriented modeling language that is based on a concurrent object group model, derived itself from the active object model. Its goal is to describe distributed and concurrent applications in order to verify their properties and make them safer. Thanks to the ABS Tool Suite, ABS programs can be translated into the Java programming language (among others), and executed in the JVM. This paper presents a new ABS backend that translates ABS programs into ProActive programs. ProActive is a well known active object Java library that provides support for distribution of applications across clusters or grids. The benefit of this work is to be able to easily distribute ABS programs, so that ABS models can also be experimented in a large scale setting. Our contribution includes the ProActive backend itself, the complete description of our translation strategy, and a realistic experiment that shows the benefits of the ProActive backend

    Supporting multiplatform applications with YA-RPC

    Get PDF
    Název práce: Supporting multiplatform applications with YA-RPC Autor: František Kovařík Katedra: Katedra softwarového inženýrství Vedoucí diplomové práce: RNDr. Petr Hnětynka, Ph.D. E-mail vedoucího: [email protected] Abstrakt: Během posledních tří desetiletí se vzdálené volání procedur (RPC) stalo oblíbeným způsobem pro komunikaci mezi počítači a procesy, využívaným v mnoha různých distribuovaných systémech. I přes velké množství RPC protokolů a implementací vyvinutých během těchto let, ani jeden systém nenabízí veškeré podstatné funkce a zároveň uživatelsky přívětivé rozhraní pro programování aplikací. V této práci představíme Yet Another Remote Procedure Call - YaRpc - specifikaci flexibilního a uživatelsky přívětivého middleware, který nabízí pokročilé funkce jako např. rozšiřitelnost a nezávislost na transportním či komunikačním protokolu, zpětná volání a konfigurovatelnou obsluhu volání metod. Následně popíšeme YaRpc Native Protocol (YNP), což je nový, minimalistický a výkonný RPC protokol s bohatou množinou funkcí. Dále představíme nativní implementaci YaRpc standardu a YNP protokolu v Javě a .NET Frameworku, a porovnáme jejich použití vůči protokolům jako je Java RMI, .NET Remoting a SOAP webové služby. Klíčová slova: YaRpc, vzdálené volání procedur, distribuované systémyTitle: Supporting multiplatform applications with YA-RPC Author: František Kovařík Department: Department of Software Engineering Supervisor: RNDr. Petr Hnětynka, Ph.D. Supervisor's e-mail address: [email protected] Abstract: Over the last three decades, Remote Procedure Call (RPC) has become a popular inter-computer and inter-process communication paradigm widely used by a variety of interconnected computer systems. Even though a number of RPC protocols and implementations evolved over those years, no single system offers a significant set of features, while providing an easy-to-use application programming interface. In this thesis, we present Yet Another Remote Procedure Call - YaRpc, a specification of a flexible and programmer friendly middleware that offers advanced features such as pluggable transports and protocols, callbacks, and configurable method dispatch. Additionally, we define YaRpc Native Protocol (YNP), a new light-weight high-performance RPC protocol with a rich set of features. We provide a native implementation of both YaRpc middleware and YNP protocol for Java and .NET Framework, and compare its usability with Java RMI, .NET Remoting and SOAP web services. Keywords: YaRpc, remote procedure call, distributed systemDepartment of Software EngineeringKatedra softwarového inženýrstvíFaculty of Mathematics and PhysicsMatematicko-fyzikální fakult
    corecore