Model środowiska wykonawczego modułu dodatkowego

Mechanizm wykonawczy platformy jest uruchamiany w chwili, gdy użytkownik uruchomi aplikację opracowaną przy użyciu środowiska Eclipse. Mechanizm wykonawczy obejmuje implementację podstawowego modelu modułów dodatkowych oraz infrastruktury używanej przez platformę. Rejestruje on wszystkie instalowane moduły dodatkowe i realizowane przez nie funkcje.

Moduł dodatkowy jest to mający określoną strukturę komponent, wnoszący do systemu własny kod, dokumentację lub jednocześnie kod i dokumentację, opisane z zachowaniem określonej struktury. Moduły dodatkowe mogą mieć definicje punktów rozszerzenia, ściśle zdefiniowanych punktów, w których możliwe jest dołączanie rozszerzeń poprzez inne moduły dodatkowe. Wnoszenie przez moduł dodatkowy implementacji dołączanej w punkcie rozszerzenia nazywane jest dodawaniem rozszerzenia do platformy. Zarówno rozszerzenia, jak i punkty rozszerzenia są deklarowane w manifeście modułu dodatkowego, czyli w pliku plugin.xml.

Wspólny model rozszerzeń obejmuje dobrze zdefiniowaną metodę opisu rozszerzeń: zarówno dopuszczalnych metod rozszerzania danego modułu dodatkowego, jak i rozszerzeń zawartych w danym module. Definiowanie punktu rozszerzenia w dużym stopniu przypomina definiowanie interfejsu API. Jedyna różnica polega na tym, że punkt rozszerzenia jest deklarowany przy użyciu języka XML, a nie kodu programu. Analogicznie, klienckie moduły dodatkowe opisują wprowadzane przez siebie rozszerzenia w formacie XML.

Głównym celem środowiska wykonawczego jest zapobieganie blokowaniu pamięci oraz spadkowi wydajności związanych z zainstalowanymi modułami dodatkowymi, które nie są używane w danej chwili. Dzięki swej deklaracyjnej naturze, model rozszerzeń platformy pozwala mechanizmowi wykonawczemu ustalić, jakie punkty rozszerzeń i rozszerzenia są udostępniane przez dany moduł dodatkowy bez konieczności uruchamiania go. W ten sposób można zainstalować wiele modułów dodatkowych, a mimo to żaden z nich nie będzie aktywowany aż do momentu, gdy działania podejmowane przez użytkownika spowodują odwołanie się do funkcji zawartej w jednym z nich. Jest to niezwykle ważna cecha warunkująca skalowalność i stabilność dostarczanej platformy.