Overzicht van het framework voor automatiseerbare services


TPTP biedt een framework voor automatiseerbare services met ondersteuning voor het gereedmaken en gebruiken van door Eclipse gehoste TPTP-services via verschillende omgevingen. Deze services zijn componenten die zichzelf publiceren via extensies (met bijbehorende ondersteunde eigenschappen en een gedragscontract). Het is dan ook mogelijk een nieuwe serviceprovider te maken die dezelfde service implementeert. Deze geïmplementeerde aanpak maakt het mogelijk een flexibele en dynamische binding tussen de serviceconsument en de serviceprovider aan te leggen.

De service-abstracties van TPTP zijn niet per se hetzelfde als standaard webservice-abstracties (deze zijn eenvoudiger en informeler), maar zorgen ervoor dat TPTP beter een rol in een op services georiënteerde architectuur kan spelen. De concepten en abstracties van het framework voor automatiseerbare services zijn gelijk aan de hoogstaande abstracties van elke andere op services georiënteerde architectuur.

De features van TPTP zorgen voor het incrementeel ontwikkelen en publiceren van services die het TPTP-platform gereedmaken voor instrumentatie via scripts en willekeurige programma's buiten de Eclipse-omgeving. De TPTP-testfeatures bieden een service voor het flexibel uitvoeren van TPTP-tests met programmacode.

Frameworkarchitectuur

Het framework voor automatiseerbare services kent een gelaagde architectuur die de mogelijkheid biedt componenten van het framework op losse wijze te koppelen. De bus die serviceconsumentaanvragen naar serviceproviderantwoorden (de uitvoering van services) overzet, is aan beide punten uitbreidbaar: met een adaptermodel aan de clientzijde (bijvoorbeeld code die in een Eclipse-instance of buiten Eclipse via opdrachtregelscripts wordt uitgevoerd) en een aanbiedingenmodel aan de serverzijde (de Eclipse-instance die als host fungeert voor de plugins die de service-implementaties verstrekken).

Aanvullende automatiseringsclientadapters kunnen worden ontwikkeld die nieuwe serviceconsumentmodellen omzetten in de standaard automatiseringsclientinterfaces van TPTP. Een automatiseringsadapter van een webservice kan bijvoorbeeld door een derde worden ontwikkeld voor het beschikbaar maken van automatiseerbare TPTP-services, die vanuit een standaard webservicesomgeving kunnen worden uitgevoerd. U zou ook een Jython-clientautomatiseringsadapter kunnen schrijven, die het consumeren van services via de Jython-omgeving ondersteunt.

Naarmate er meer nieuwe automatiseerbare services worden gepubliceerd, worden er meer beschikbare services openbaar beschikbaar via een TPTP Eclipse-instance. Daarom neemt ook het aantal beschikbare serviceproviders toe die functionaliteit kunnen bieden voor geïnteresseerde afnemers die het framework voor automatiseerbare services benutten. Een eindgebruiker kan een plugin voor het aanleveren van een nieuwe service maken door de juiste extensiepunten te implementeren en ten minste één Java-klasse te ontwikkelen. Deze service wordt automatisch beschikbaar gesteld via Ant-scripts. shell-scripts, Java-programma's en enige andere geïnstalleerde clientadapters in de omgeving van de afnemer vanwege de gelaagde architectuur en de aard van de bus.

De eenvoudige automatiseringsclientcomponent biedt een standaardset service-interfaces die door clientadapters kunnen worden gebruikt en de juiste Eclipse-startstrategie per scenario leveren. Er worden twee start- en uitvoeringsstrategieën geleverd: één voor het afnemen van services tijdens de verwerking en één voor het afnemen van services buiten de verwerking. (Deze strategie is de standaardstrategie voor clients buiten een bepaalde Eclipse-instance.) De eerste strategie wordt gebruikt wanneer de service in dezelfde Eclipse-instance kan worden uitgevoerd als de aanroeper.

De eenvoudige component reageert op de geavanceerdere component (deze is afhankelijker van Eclipse, waardoor er aanvullende bibliotheekdependency's nodig zijn waaruit de automatiseringsclientcomponent van buiten wordt geabstraheerd. De eenvoudige component is alleen aan een bepaalde Eclipse-instance gekoppeld via een tekenreeksidentificatie die in de instance van de automatiseringsclientcomponent kan worden ingesteld. De automatiseringsserver die in een Eclipse-instance wordt gehost (ook wel de geavanceerdere binnencomponent of intermediair) ontvangt binnenkomende aanvragen van de eenvoudige automatiseringsclientcomponent en geeft de aanroep door aan de juiste serviceprovider (ook wel de de automatiseerbare service). De automatiseringsserver definieert enkele eenvoudige extensiepunten voor de interactie tussen de aangevraagde service en de Java-klasse die de aanvraag verwerkt.

Verwante taken
Tests uitvoeren met scripts en toepassingen
De testuitvoeringsservice verwerken

Verwante onderwerpen
Ondersteunde eigenschappen van de testuitvoeringsservice