Hello, all!
We are playing
with prototype, trying to simplify workspace agent and make it as friendly as
possible with the rest of Eclipse plug-ins ecosystem. This is one of the most
significant pain points with which we are faced today trying to launch Eclipse-based
model-driven IDE into the clouds.
This
simplification could be done by making workspace agent’s services almost like POJOs
without any infrastructure dependencies like JAX-RS annotations,
special interface implementations, platform class imports, etc.
In this
approach, particular deployment settings come from runtime configuration at the
deployment time, and aren’t hardcoded into source code at the development time.
As a
result, workspace code has no dependencies from particular deployment environment
and could work on desktop environment, as well as server and cloud one. So, new
Eclipse bundles could be done as reusable and capable of working in different environments: desktop IDE and cloud IDE.
Moreover it
could be a motivation to refractor Eclipse IDE core using OSGi DS and e4 in
collaboration with RCP and e(fx)clipse guys.
We are
playing for some time with prototype based on OSGi DS and Equinox. But for the
sake of simplicity, I’m afraid, we have done some ugly things, some spooky
things in the process:
- converted Guice to OSGi DS while preserved
REST and WebSockets protocols compatibility with frontend;
- dropped Everrest in favor of Eclipse ECF + Jersey+Jackson + Jetty and removed all JaxRS annotations;
- in the process of converting DTOs to EMF
codegeneration.
Is it too
bad? Does anyone like it and feels the same except us and Sun Tan?