I think this split is already accounted for in the existing plugin architecture. The external C# component you mention fits the definition of the plugin's "ServerResource". The bit in the management server that talks to it would be a "ServerComponent". See slide #7 of [1].
I agree with your proposal to use a RESTful API to link the two halves of the plugin. See [2] The problem is how best to add the C# component. Does it suffice that the code and build project are donated, and users left to build their own? DL [1] http://www.slideshare.net/DonalLafferty/2013-0219cloud-platformpluginsfinaldistro [2] http://markmail.org/thread/q2qhbtk2ipny3r2t > -----Original Message----- > From: Koushik Das [mailto:koushik....@citrix.com] > Sent: 26 March 2013 2:07 PM > To: dev@cloudstack.apache.org > Cc: cloudstack-...@incubator.apache.org > Subject: RE: [DISCUSS] Hyper-V Plugin & Microsoft Compiler & IP Clearance > > Think of the external C# component as external to CS. It exposes a REST > endpoint and has independent lifecycle. The server resource running as part > of Cloudstack MS will connect to this external REST endpoint. > > > -----Original Message----- > > From: Donal Lafferty [mailto:donal.laffe...@citrix.com] > > Sent: Tuesday, March 26, 2013 6:50 PM > > To: dev@cloudstack.apache.org > > Cc: cloudstack-...@incubator.apache.org > > Subject: RE: [DISCUSS] Hyper-V Plugin & Microsoft Compiler & IP > > Clearance > > > > The terminology for plugins has unfortunate overloading when it comes > > to the term 'ServerResource'. As a Java class, it seems to be used to > > in the implementation both a plugin's ServerComponent and a plugin's > > ServerResource. E.g. the KVM plugin has a 'dummy' ServerResource in > > the management server, and a real ServerResource in the remote agent. > > > > With that in mind, do you mean for the C# component to be accessible > > over a RESTful API from plugin classes loaded into the management server? > > > > DL > > > > > -----Original Message----- > > > From: Koushik Das [mailto:koushik....@citrix.com] > > > Sent: 26 March 2013 12:52 PM > > > To: dev@cloudstack.apache.org > > > Cc: cloudstack-...@incubator.apache.org > > > Subject: RE: [DISCUSS] Hyper-V Plugin & Microsoft Compiler & IP > > > Clearance > > > > > > Better to write the C# component doing Hyper-V specific stuff as a > > > standalone component and expose a REST API. The ServerResource class > > > is still in java and makes REST calls to the C# component. > > > > > > -Koushik > > > > > > > -----Original Message----- > > > > From: Donal Lafferty [mailto:donal.laffe...@citrix.com] > > > > Sent: Tuesday, March 26, 2013 3:29 PM > > > > To: dev@cloudstack.apache.org > > > > Cc: cloudstack-...@incubator.apache.org > > > > Subject: RE: [DISCUSS] Hyper-V Plugin & Microsoft Compiler & IP > > > > Clearance > > > > > > > > > > > > > -----Original Message----- > > > > > From: rohityada...@gmail.com [mailto:rohityada...@gmail.com] On > > > > Behalf > > > > > Of Rohit Yadav > > > > > Sent: 26 March 2013 4:02 AM > > > > > To: dev@cloudstack.apache.org > > > > > Cc: cloudstack-...@incubator.apache.org > > > > > Subject: Re: [DISCUSS] Hyper-V Plugin & Microsoft Compiler & IP > > > > > Clearance > > > > > > > > > > On Tue, Mar 26, 2013 at 4:31 AM, Donal Lafferty > > > > > <donal.laffe...@citrix.com> > > > > > wrote: > > > > > > It makes a lot of sense to write the ServerResourse for > > > > > > Hyper-V in C#, > > > > > because there's a lot of frameworks written in the Microsoft > > > > > ecosystem with C# in mind. > > > > > > > > > > > > If that's the case, then it also makes sense to use the > > > > > > Microsoft compiler to > > > > > compile the ServerResource. > > > > > > > > > > This won't get much love, instead of a compiler from the North > > > > > Atlantic giant, > > > > [Donal Lafferty] > > > > Northwest Pacific :) > > > > > if you were to use C# anyway why not consider using mono for > > > > > your compiler/build infrastructure? While I would avoid mono and > > > > > it would be difficult for folks to build/develop, if something > > > > > could be done in C#, could n't it be done in Java, Scala or > > > > > anything that could run on JVM? If this is possible, it will > > > > > save us from nonoss, proprietary > > > > build/runtime dependency. > > > > [Donal Lafferty] > > > > It's a question of what environment is optimal for the ServerResource. > > > > There is a lot more material for writing a server resource in C# > > > > than there is for writing it in Java. > > > > > > > > Moreover, the ServerResource concept of a plugin was introduced to > > > > allow developers a degree of freedom in choosing the environment > > > > for code that controls data centre resource. Adopting > > > > platform-specific tools seems to flow naturally from this > > > > definition. I guess you could call this the multi-lingual > > > > plugin: one where the ServerResource and ServerComponent are not > > > > homogenous. > > > > > > > > What are the barriers to including 'multi-lingual plugins' in > > > > CloudStack? > > > > > > > > > > > > > > Cheers. > > > > > > > > > > > > > > > > > I'm unclear how this impacts contributing the code to Apache > > > CloudStack. > > > > > In particular: > > > > > > > > > > > > > > > > > > 1. Does dependence on the Microsoft compiler mean that the > > > source > > > > > end up in the non-OSS build? > > > > > > > > > > > > 2. Is the plugin able to participate in the BVT? > > > > > > > > > > > >