74 research outputs found
Reconfigurable SCA Applications with the FraSCAti Platform
CORE A. Acceptance rate: 18% (35/189).International audienceThe Service Component Architecture (SCA) is a technology agnostic standard for developing and deploying distributed service-oriented applications. However, SCA does not define standard means for runtime manageability (including introspection and reconfiguration) of SOA applications and of their supporting environment. This paper presents the FraSCAti platform, which brings runtime management features to SCA, and discusses key principles in its design: the adoption of an extended SCA component model for the implementation of SOA applications and of the FraSCAti platform itself; the use of component-based interception techniques for dynamically weaving non-functional services such as transaction management with components. The paper presents micro-benchmarks that show that runtime manageability in the FraSCAti platform is achieved without hindering its performance relative to the de facto reference SCA implementation, Apache's Tuscany
Using Attribute-Oriented Programming to Leverage Fractal-Based Developments
International audienceThis paper presents the Fraclet annotation framework. The goal of Fraclet is to leverage Component-Based Software Engineering based on the Fractal component model using Attribute-Oriented Programming. We show that, using Fraclet, about 50% of the handwritten program code can be saved without loosing the semantics of the application, while the rest of the program code is automatically generated
Reconfigurable Run-Time Support for Distributed Service Component Architectures
International audienceSCA (Service Component Architecture) is an OASIS standard for describing service-oriented middleware architectures. In particular, SCA promotes a disciplined way for designing distributed architectures based on a component model and an Architecture Description Language (ADL). However, SCA does not cover the deployment and the run-time management of SCA applications. In this paper, we therefore describe the FraSCAti platform, which provides run-time support, deployment capabilities, and run-time management for SCA. Compared to state-of-the-art platforms, FraSCAti brings a dynamic reflective support to SCA and enables both introspecting and reconfiguring service-oriented architectures at run-time. To achieve this capability, the components are completed by a dedicated container, which is automatically generated by the platform. Furthermore, FraSCAti is a highly configurable platform that can be easily customized by finely selecting the features and functionalities which need to be included. In this way, the platform can be adapted to different application needs and middleware environments
Resolving feature convolution in middleware systems
Middleware provides simplicity and uniformity for the development of distributed applications. However, the modularity of the architecture of middleware is starting to disintegrate and to become complicated due to the interaction of too many orthogonal concerns imposed from a wide range of application requirements. This is not due to bad design but rather due to the limitations of the conventional architectural decomposition methodologies. We introduce the principles of horizontal decomposition (HD) which addresses this problem with a mixed-paradigm middleware architecture. HD provides guidance for the use of conventional decomposition methods to implement the core functionalities of middleware and the use of aspect orientation to address its orthogonal properties. Our evaluation of the horizontal decomposition principles focuses on refactoring major middleware functionalities into aspects in order to modularize and isolate them from the core architecture. New versions of the middleware platform can be created through combining the core and the flexible selection of middleware aspects such as IDL data types, the oneway invocation style, the dynamic messaging style, and additional character encoding schemes. As a result, the primary functionality of the middleware is supported with a much simpler architecture and enhanced performance. Moreover, customization and configuration of the middleware for a wide-range of requirements becomes possible
Concepts and their Use for Modelling Objects and References in Programming Languages
In the paper a new programming construct, called concept, is introduced.
Concept is pair of two classes: a reference class and an object class.
Instances of the reference classes are passed-by-value and are intended to
represent objects. Instances of the object class are passed-by-reference. An
approach to programming where concepts are used instead of classes is called
concept-oriented programming (CoP). In CoP objects are represented and accessed
indirectly by means of references. The structure of concepts describes a
hierarchical space with a virtual address system. The paper describes this new
approach to programming including such mechanisms as reference resolution,
complex references, method interception, dual methods, life-cycle management
inheritance and polymorphism.Comment: 43 pages. Related papers: http://conceptoriented.com
Dynamic Reconfiguration with Virtual Services
We present a new architecture (virtual services) and accompanying
implementation for dynamically adapting and reconfiguring the behavior
of network services. Virtual services are a compositional middleware
system that transparently interposes itself between a service and a
client, overlaying new functionality with configurations of modules
organized into processing chains. Virtual services allow programmers
and system administrators to extend, modify, and reconfigure
dynamically the behavior of existing services for which source code,
object code, and administrative control are not available.
Virtual service module processing chains are instantiated on
a per connection or invocation basis, thereby enabling the
reconfiguration of individual connections to a service without
affecting other connections to the same service.
To validate our architecture, we have implemented a virtual services
software development toolkit and middleware server. Our experiments
demonstrate that virtual services can modularize concerns that cut
across network services. We show that we can reconfigure and enhance
the security properties of services implemented as either TCP
client-server systems, such as an HTTP server, or as remotely
invocable objects, such as a Web service. We demonstrate that virtual
services can reconfigure the following security properties and
abilities: authentication, access control, secrecy/encryption,
connection monitoring, security breach detection, adaptive response to
security breaches, concurrent and dynamically mutable implementation
of multiple security policies for different clients
- …