| CPC G06F 9/44526 (2013.01) [G06F 8/61 (2013.01); G06F 8/65 (2013.01); G06F 9/541 (2013.01); G06F 8/62 (2013.01); G06F 2209/541 (2013.01)] | 20 Claims |

|
1. A computer-implemented method, comprising:
at run-time of a host application, initializing, by the host application, a plurality of plug-ins, wherein:
the host application comprises a native component and communicates services of the host application to the plurality of plug-ins with a plug-in service provider interface (SPI);
the host application injects at run-time a plug-in application programming interface (API) that is specific to a type of the host application into one or more of the plurality of plug-ins; and
the one or more of the plurality of plug-ins communicates services of the one or more of the plurality of plug-ins to the host application with the plug-in API;
in response to initializing the plurality of plug-ins, establishing, during run-time of the host application, a bi-directional contract between the host application and the plurality of plug-ins with the plug-in SPI and the plug-in API, wherein the bi-directional contract defines a set of supported services requested and cross-accessed by a plurality of components comprising the native component of the host application and the plurality of plug-ins;
detecting a request for a service from a first component of the native component and the plurality of plug-ins; and
in response to determining that the requested service is one of the supported services, routing the requested service to a second component of the native component and the plurality of plug-ins, the second component being different than the first component.
|