Constructing the architecture of plug-in and provider