9 research outputs found

    Fifty Shades of Grey in SOA Testing

    Get PDF
    Abstract-Testing is undisputedly a fundamental verification principle in the software landscape. Today's products require us to effectively handle and test huge, complex systems and in this context to tackle challenging traits like heterogeneity, distribution and controllability to name just a few. The advent of ServiceOriented Architectures with their inherent technological features like dynamics and heterogeneity exacerbated faced challenges, requiring us to evolve our technology. The traditional view of white or black box testing, for example, does not accommodate the multitude of shades of grey one should be able to exploit effectively for system-wide tests. Today, while there are a multitude of approaches for testing single services, there is still few work on methodological system tests for SOAs. In this paper we propose a corresponding workflow for tackling SOA testing and diagnosis, discuss SOA test case generation in more detail, and report preliminary research in that direction

    1 Patterns for Measuring Performance-related QoS Properties in Service-oriented Systems

    Get PDF
    In service-oriented systems, clients can access services via a network. Service level agreements (SLA) can exist, which specify — among other things — performance-related Quality of Service (QoS) properties between the client and the server, such as round-trip time, processing time, or availability. For a service provider serious financial consequences or other penalties can follow in case of not fulfilling the SLAs. The service consumer wants to evaluate that the provider complies with the guaranteed SLAs. Designing and developing a QoS-aware service-oriented system means facing many design challenges, such as where and how to measure the performance-related QoS properties. This paper presents design practices and patterns for measuring such QoS properties by extending and utilizing existing patterns. The focus of the patterns lies on the QoS measuring impact on the client’s or service’s performance, the extend of separation of concerns, the property of reusability, and the preciseness of the measured QoS properties. The patterns help to build efficient solutions to measure performance-related QoS properties in a service-oriented system

    Load Index Metrics for an Optimized Management of Web Services: A Systematic Evaluation

    Get PDF
    The lack of precision to predict service performance through load indices may lead to wrong decisions regarding the use of web services, compromising service performance and raising platform cost unnecessarily. This paper presents experimental studies to qualify the behaviour of load indices in the web service context. The experiments consider three services that generate controlled and significant server demands, four levels of workload for each service and six distinct execution scenarios. The evaluation considers three relevant perspectives: the capability for representing recent workloads, the capability for predicting near-future performance and finally stability. Eight different load indices were analysed, including the JMX Average Time index (proposed in this paper) specifically designed to address the limitations of the other indices. A systematic approach is applied to evaluate the different load indices, considering a multiple linear regression model based on the stepwise-AIC method. The results show that the load indices studied represent the workload to some extent; however, in contrast to expectations, most of them do not exhibit a coherent correlation with service performance and this can result in stability problems. The JMX Average Time index is an exception, showing a stable behaviour which is tightly-coupled to the service runtime for all executions. Load indices are used to predict the service runtime and therefore their inappropriate use can lead to decisions that will impact negatively on both service performance and execution cost

    Literature Survey of Performance Benchmarking Approaches of BPEL Engines

    Get PDF
    Despite the popularity of BPEL engines to orchestrate complex and executable processes, there are still only few approaches available to help find the most appropriate engine for individual requirements. One of the more crucial factors for such a middleware product in industry are the performance characteristics of a BPEL engine. There exist multiple studies in industry and academia testing the performance of BPEL engines, which differ in focus and method. We aim to compare the methods used in these approaches and provide guidance for further research in this area. Based on the related work in the field of performance testing, we created a process engine specific comparison framework, which we used to evaluate and classify nine different approaches that were found using the method of a systematical literature survey. With the results of the status quo analysis in mind, we derived directions for further research in this area

    Bestimmung der Dienstgütezuverlässigkeit in zusammengesetzten Dienstleistungen im Internet der Dienste

    Get PDF
    Das Anbieten, die Vermittlung und der Konsum von Softwarekomponenten nach dem Paradigma „Software-as-a-Service“ über das Internet wird zunehmend populärer. Diese so genannten elektronischen Dienstleistungen unterschiedlicher Komplexität werden auf Netzwerkservern zur Verfügung gestellt und können von anderen Anwendungen eingebunden werden. Damit können Ressourcen für die Entwicklung und das Betreiben eigener Dienste eingespart werden. Traditionelle Beispiele solcher Dienste sind Währungsumrechnungen oder Wettervorhersagen , aber auch komplexere Geschäftsprozesse, wie z.B. Rechnungsprüfdienste , werden vermehrt als elektronische Dienste bereitgestellt. Voraussetzung für die Akzeptanz der elektronischen Dienstleistungen ist die Absicherung deren Dienstgüte (engl. Quality of Service). Die Dienstgüte gibt Auskunft darüber, wie gut ein Dienst seine Funktion erbringt. Klassische Parameter sind Antwortzeit oder Verfügbarkeit. Die Betrachtung der Dienstgüte hat für den Dienstnutzer als auch für den Dienstanbieter Vorteile: Durch die Angabe der Dienstgüte kann sich der Dienstanbieter von seiner Konkurrenz abgrenzen, während der zukünftige Dienstnutzer in der Lage ist, die Performanz seiner Systeme, welche den Dienst integrieren, abzuschätzen. Beide Parteien streben eine möglichst hohe Dienstgüte an. Die Bestimmung der Dienstgüte in zusammengesetzten Dienstleistungen wurde in den letzten Jahren viel diskutiert. In diesem Zusammenhang ist besonders die Dienstgütezuverlässigkeit eines Dienstes wichtig. Die Dienstgütezuverlässigkeit gibt an, wie sicher es einem Dienst gelingt, seine Qualitätsversprechen einzuhalten. Je nach Kontext spricht man von relativer oder absoluter Dienstgütezuverlässigkeit. Die relative Dienstgütezuverlässigkeit bezieht sich auf die Fähigkeit eines Dienstes seine Dienstgütegarantien während der nächsten Interaktion einzuhalten, während sich die absolute Dienstgütezuverlässigkeit auf den Zeitraum der nächsten n Interaktionen bezieht. Verletzt ein Dienst eine Dienstgütegarantie, weil er beispielsweise nicht in der vorgegebenen Zeit antwortet, so gefährdet der Dienstnutzer die Performanz seiner Systeme, während der Dienstanbieter mit Strafzahlungen zu rechnen hat. Die Bestimmung der Dienstgütezuverlässigkeit einer zusammengesetzten Dienstleistung hat verschiedene Vorteile. Sie gestattet dem Dienstanbieter z.B. drohende Qualitätsverschlechterungen vorherzusagen und auf diese geeignet zu reagieren. Auch der Dienstnutzer profitiert von der Existenz der Dienstgütezuverlässigkeit. Er kann z.B. das Risiko für seine Systeme besser kalkulieren. Ziel dieser Arbeit ist die Bestimmung der Dienstgütezuverlässigkeit in zusammengesetzten Dienstleistungen. Zu diesem Zweck wird die Dienstgütezuverlässigkeit von Teildiensten auf Basis ihrer Monitoring-Historie vorhergesagt. Die Monitoring-Historie protokolliert für jeden Dienst und jede Dienstgütegarantie, ob in vergangenen Interaktionen Dienstgüteverletzungen stattgefundenen haben. Die Dienstgütezuverlässigkeit eines Teildienstes wird als Verletzungswahrscheinlichkeit gemessen, die angibt, wie wahrscheinlich eine Dienstgüteverletzung durch den Teildienst ist. Für die Vorhersage der relativen Verletzungswahrscheinlichkeit kommt eine Markov-Kette erster Ordnung zum Einsatz. Die Bestimmung der absoluten Verletzungswahrscheinlichkeit beruht auf den Prinzipien der allgemeinen Stochastik. Die Berechnungszeit beträgt in beiden Fällen wenige Millisekunden. Beide Verfahren liefern äußerst zuverlässige Vorhersagewerte. Auf Basis der Verletzungswahrscheinlichkeiten der Teildienste wird die Dienstgütezuverlässigkeit der zusammengesetzten Dienstleistung bestimmt. Sie kann detailliert in Form der Verletzungsmatrix oder als einfacher numerischer Wert in Form der Verletzungszahl angegeben werden. Die Verletzungsmatrix einer Dienstgütegarantie enthält die Eintrittswahrscheinlichkeit für jede mögliche Anzahl von Dienstgüteverletzungen. Ihre Aufstellung erfordert exponentiellen Aufwand. Demgegenüber besitzt die Verletzungszahl eine lineare Berechnungszeit. Sie gibt die Belastung einer Dienstleistung mit Dienstgüteverletzungen an. Die Dienstgütezuverlässig ist dabei umso geringer je kleiner die Werte der Verletzungsmatrix und Verletzungszahl sind

    Bestimmung der Dienstgütezuverlässigkeit in zusammengesetzten Dienstleistungen im Internet der Dienste

    Get PDF
    Das Anbieten, die Vermittlung und der Konsum von Softwarekomponenten nach dem Paradigma „Software-as-a-Service“ über das Internet wird zunehmend populärer. Diese so genannten elektronischen Dienstleistungen unterschiedlicher Komplexität werden auf Netzwerkservern zur Verfügung gestellt und können von anderen Anwendungen eingebunden werden. Damit können Ressourcen für die Entwicklung und das Betreiben eigener Dienste eingespart werden. Traditionelle Beispiele solcher Dienste sind Währungsumrechnungen oder Wettervorhersagen , aber auch komplexere Geschäftsprozesse, wie z.B. Rechnungsprüfdienste , werden vermehrt als elektronische Dienste bereitgestellt. Voraussetzung für die Akzeptanz der elektronischen Dienstleistungen ist die Absicherung deren Dienstgüte (engl. Quality of Service). Die Dienstgüte gibt Auskunft darüber, wie gut ein Dienst seine Funktion erbringt. Klassische Parameter sind Antwortzeit oder Verfügbarkeit. Die Betrachtung der Dienstgüte hat für den Dienstnutzer als auch für den Dienstanbieter Vorteile: Durch die Angabe der Dienstgüte kann sich der Dienstanbieter von seiner Konkurrenz abgrenzen, während der zukünftige Dienstnutzer in der Lage ist, die Performanz seiner Systeme, welche den Dienst integrieren, abzuschätzen. Beide Parteien streben eine möglichst hohe Dienstgüte an. Die Bestimmung der Dienstgüte in zusammengesetzten Dienstleistungen wurde in den letzten Jahren viel diskutiert. In diesem Zusammenhang ist besonders die Dienstgütezuverlässigkeit eines Dienstes wichtig. Die Dienstgütezuverlässigkeit gibt an, wie sicher es einem Dienst gelingt, seine Qualitätsversprechen einzuhalten. Je nach Kontext spricht man von relativer oder absoluter Dienstgütezuverlässigkeit. Die relative Dienstgütezuverlässigkeit bezieht sich auf die Fähigkeit eines Dienstes seine Dienstgütegarantien während der nächsten Interaktion einzuhalten, während sich die absolute Dienstgütezuverlässigkeit auf den Zeitraum der nächsten n Interaktionen bezieht. Verletzt ein Dienst eine Dienstgütegarantie, weil er beispielsweise nicht in der vorgegebenen Zeit antwortet, so gefährdet der Dienstnutzer die Performanz seiner Systeme, während der Dienstanbieter mit Strafzahlungen zu rechnen hat. Die Bestimmung der Dienstgütezuverlässigkeit einer zusammengesetzten Dienstleistung hat verschiedene Vorteile. Sie gestattet dem Dienstanbieter z.B. drohende Qualitätsverschlechterungen vorherzusagen und auf diese geeignet zu reagieren. Auch der Dienstnutzer profitiert von der Existenz der Dienstgütezuverlässigkeit. Er kann z.B. das Risiko für seine Systeme besser kalkulieren. Ziel dieser Arbeit ist die Bestimmung der Dienstgütezuverlässigkeit in zusammengesetzten Dienstleistungen. Zu diesem Zweck wird die Dienstgütezuverlässigkeit von Teildiensten auf Basis ihrer Monitoring-Historie vorhergesagt. Die Monitoring-Historie protokolliert für jeden Dienst und jede Dienstgütegarantie, ob in vergangenen Interaktionen Dienstgüteverletzungen stattgefundenen haben. Die Dienstgütezuverlässigkeit eines Teildienstes wird als Verletzungswahrscheinlichkeit gemessen, die angibt, wie wahrscheinlich eine Dienstgüteverletzung durch den Teildienst ist. Für die Vorhersage der relativen Verletzungswahrscheinlichkeit kommt eine Markov-Kette erster Ordnung zum Einsatz. Die Bestimmung der absoluten Verletzungswahrscheinlichkeit beruht auf den Prinzipien der allgemeinen Stochastik. Die Berechnungszeit beträgt in beiden Fällen wenige Millisekunden. Beide Verfahren liefern äußerst zuverlässige Vorhersagewerte. Auf Basis der Verletzungswahrscheinlichkeiten der Teildienste wird die Dienstgütezuverlässigkeit der zusammengesetzten Dienstleistung bestimmt. Sie kann detailliert in Form der Verletzungsmatrix oder als einfacher numerischer Wert in Form der Verletzungszahl angegeben werden. Die Verletzungsmatrix einer Dienstgütegarantie enthält die Eintrittswahrscheinlichkeit für jede mögliche Anzahl von Dienstgüteverletzungen. Ihre Aufstellung erfordert exponentiellen Aufwand. Demgegenüber besitzt die Verletzungszahl eine lineare Berechnungszeit. Sie gibt die Belastung einer Dienstleistung mit Dienstgüteverletzungen an. Die Dienstgütezuverlässig ist dabei umso geringer je kleiner die Werte der Verletzungsmatrix und Verletzungszahl sind

    Composition dynamique de services sensibles au contexte dans les systèmes intelligents ambiants

    Get PDF
    With the appearance of the paradigms of the ambient intelligence and ubiquitaire robotics, we attend the emergence of new ambient intelligent systems to create and manage environments or intelligent ecosystems in a intuitive and transparent way. These environments are intelligent spaces characterized in particular by the opening, the heterogeneousness, the uncertainty and the dynamicité of the entities which establish(constitute) them. These characteristics so lift(raise) considerable scientific challenges for the conception(design) and the implementation of an adequate intelligent system. These challenges are mainly among five: the abstraction of the representation of the heterogeneous entities, the management of the uncertainties, the reactivity in the events, the sensibility in the context and the auto-adaptationAvec l'apparition des paradigmes de l'intelligence ambiante et de la robotique ubiquitaire, on assiste à l'émergence de nouveaux systèmes intelligents ambiants visant à créer et gérer des environnements ou écosystèmes intelligents d'une façon intuitive et transparente. Ces environnements sont des espaces intelligents caractérisés notamment par l'ouverture, l'hétérogénéité, l'incertitude et la dynamicité des entités qui les constituent. Ces caractéristiques soulèvent ainsi des défis scientifiques considérables pour la conception et la mise en œuvre d'un système intelligent adéquat. Ces défis sont principalement au nombre de cinq : l'abstraction de la représentation des entités hétérogènes, la gestion des incertitudes, la réactivité aux événements, la sensibilité au contexte et l'auto-adaptation face aux changements imprévisibles qui se produisent dans l'environnement ambiant. L'approche par composition dynamique de services constitue l'une des réponses prometteuses à ces défis. Dans cette thèse, nous proposons un système intelligent capable d'effectuer une composition dynamique de services en tenant compte, d'une part, du contexte d'utilisation et des diverses fonctionnalités offertes par les services disponibles dans un environnement ambiant et d'autre part, des besoins variables exprimés par les utilisateurs. Ce système est construit suivant un modèle multicouche, adaptatif et réactif aux événements. Il repose aussi sur l'emploi d'un modèle de connaissances expressif permettant une ouverture plus large vers les différentes entités de l'environnement ambiant notamment : les dispositifs, les services, les événements, le contexte et les utilisateurs. Ce système intègre également un modèle de découverte et de classification de services afin de localiser et de préparer sémantiquement les services nécessaires à la composition de services. Cette composition est réalisée d'une façon automatique et dynamique en deux phases principales: la phase offline et la phase online. Dans la phase offline, un graphe global reliant tous les services abstraits disponibles est généré automatiquement en se basant sur des règles de décision sur les entrées et les sorties des services. Dans la phase online, des sous-graphes sont extraits automatiquement à partir du graphe global selon les tâches à réaliser qui sont déclenchées par des événements qui surviennent dans l'environnement ambiant. Les sous-graphes ainsi obtenus sont exécutés suivant un modèle de sélection et de monitoring de services pour tenir compte du contexte d'utilisation et garantir une meilleure qualité de service. Les différents modèles proposés ont été mis en œuvre et validés sur la plateforme ubiquitaire d'expérimentation du laboratoire LISSI à partir de plusieurs scénarii d'assistance et de maintien de personnes à domicil
    corecore