Panoramica sul framework di servizi automatizzabili


TPTP fornisce un framework di servizi automatizzabili di supporto per l'uso dei servizi TPTP presenti in Eclipse da diversi ambienti. Premesso che tali servizi sono componenti fondamentali che si pubblicano mediante estensioni (con una specifica associata di proprietà supportate e un contratto di comportamento), è possibile creare un nuovo fornitore di servizi che implementa lo stesso servizio. Questo approccio consente un'associazione dinamica tra il fornitore e l'utente del servizio.

Le astrazioni dei servizi di TPTP non sono in tutto uguali alle astrazioni dei servizi Web standard (sono molto più semplici e informali) anche se entrambe utilizzano TPTP in una architettura orientata agli oggetti. I concetti e le astrazioni introdotti con il framework di servizi automatici sono sinonimi di astrazioni di alto livello in qualsiasi architettura orientata agli oggetti.

Le funzioni che compongono TPTP svilupperanno e pubblicheranno servizi in modo incrementale, che consentono di utilizzare la piattaforma TPTP mediante script e programmi arbitrari esterni a Eclipse. La funzione di verifica TPTP attualmente fornisce un servizio di esecuzione di verifiche, per l'esecuzione programmatica delle verifiche TPTP.

Architettura del framework

Il framework di servizi automatizzabili ha un'architettura a livelli che consente di associare componenti del framework. Il bus che trasporta le richieste degli utenti del servizio al fornitore del servizio (l'esecuzione dei servizi) fornisce estendibilità a ciascun margine mediante un modello adattatore sull'estremità client (che può essere codice in esecuzione in un'istanza Eclipse o in esecuzione all'esterno di Eclipse, ad esempio uno script di riga comandi) e mediante un fornitore di servizi con un modello sull'estremità server (l'estremità server è l'istanza Eclipse su cui si trovano i plugin che forniscono le implementazioni del servizio).

È possibile sviluppare ulteriori adattatori client di automazione che adattano i nuovi paradigmi dell'utente dei servizi nelle interfacce client di automazione standard fornite in TPTP. Ad esempio, un adattatore di automazione per client di servizi Web può essere sviluppato da un altro fornitore e abilitare TPTP in modo che i servizi automatizzabili vengano eseguiti da un ambiente di servizi Web standard; oppure è possibile scrivere un adattatore di automazione per client Jython che supporti l'uso di servizi dall'ambiente Jython.

Quando i nuovi servizi automatizzabili conformi vengono pubblicati, aumentano il pool di servizi pubblicamente disponibili da un'istanza TPTP Eclipse e di conseguenza i fornitori di servizi che possono fornire funzionalità agli utenti interessati nel framework di servizi automatizzabili. Gli utenti finali potranno creare un plugin che fornisce un nuovo servizio semplicemente implementando i punti di estensione appropriati e sviluppando almeno una classe Java. Di conseguenza questo servizio viene resto disponibile dagli script ant, script shell, programmi Java e da qualsiasi altro adattatore client installato nell'ambiente dell'utente, grazie all'architettura stratificata e alla natura del bus.

Il componente client di automazione fornisce un insieme standard di interfacce di servizi che verranno utilizzate dagli adattatori client e forniranno la strategia di avvio di Eclipse appropriata all'ambiente. Attualmente sono disponibili due strategie di avvio e di esecuzione, una per i servizi in-process e l'altra per i servizi out-of-process (la strategia out-of-process è la tipica strategia utilizzata dai client esterni a una particolare istanza di Eclipse). La strategia in-process viene utilizzata in situazioni in cui è preferibile eseguire il servizio nella stessa istanza Eclipse in cui si trova il chiamante.

Il componente lightweight interagisce con il componente heavyweight (heavyweight perché ha maggiore dipendenza da Eclipse e quindi più dipendenze da librerie da cui viene astratto il componente client di automazione esterno). Il componente lightweight si associa solo ad una determinata istanza Eclipse attraverso un identificativo di stringa impostabile nell'istanza del componente client di automazione. Il server di automazione che si trova nell'istanza Eclipse (noto anche come l'heavyweight nel componente o broker) riceve la comunicazione in entrata dal componente client di automazione lightweight e dirige la chiamata al fornitore di servizi appropriato (noto anche come servizio automatizzabile). Il server di automazione definisce alcuni punti di estensione semplici che consentono riferimenti indiretti tra il servizio richiesto e la classe Java utilizzata dalla richiesta.

Attività correlate
Avvio delle verifiche da script e applicazioni
Esecuzione del servizio di verifica

Riferimenti correlati
Proprietà del servizio di esecuzione verifica supportate