[Engine-devel] Best place for new interfaces used by bll

Hi, I am working on refactoring some of the backend code in bll and need to create interfaces so that I can eliminate the dependency between bll and the new module. Currently I created the interfaces in org.ovirt.engine.core.common.interfaces, but from what I understand this module is used by both frontend and backend. The new interfaces will only be used by the backend. What would be the best place to put these new interfaces? Ravi

1. For start, and since you are already refactoring :) I recommend putting the interfaces in package named "api" and not "interfaces" - it's a much more standard name. 2. Can you elaborate a bit more what area/functionality in engine are those interfaces for? It will reflect their location. ----- Original Message -----
From: "Ravi Nori" <rnori@redhat.com> To: engine-devel@ovirt.org Sent: Wednesday, March 6, 2013 6:57:10 PM Subject: [Engine-devel] Best place for new interfaces used by bll
Hi,
I am working on refactoring some of the backend code in bll and need to create interfaces so that I can eliminate the dependency between bll and the new module.
Currently I created the interfaces in org.ovirt.engine.core.common.interfaces, but from what I understand this module is used by both frontend and backend. The new interfaces will only be used by the backend. What would be the best place to put these new interfaces?
Ravi _______________________________________________ Engine-devel mailing list Engine-devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-devel

----- Original Message -----
From: "Alissa Bonas" <abonas@redhat.com> To: rnori@redhat.com Cc: engine-devel@ovirt.org Sent: Wednesday, March 6, 2013 10:50:52 PM Subject: Re: [Engine-devel] Best place for new interfaces used by bll
1. For start, and since you are already refactoring :) I recommend putting the interfaces in package named "api" and not "interfaces" - it's a much more standard name. 2. Can you elaborate a bit more what area/functionality in engine are those interfaces for? It will reflect their location.
Yes, we're working on modularization/refactoring/improving of the async task manager. Bll will be a consumer (depend on) of async task mgr.
----- Original Message -----
From: "Ravi Nori" <rnori@redhat.com> To: engine-devel@ovirt.org Sent: Wednesday, March 6, 2013 6:57:10 PM Subject: [Engine-devel] Best place for new interfaces used by bll
Hi,
I am working on refactoring some of the backend code in bll and need to create interfaces so that I can eliminate the dependency between bll and the new module.
Currently I created the interfaces in org.ovirt.engine.core.common.interfaces, but from what I understand this module is used by both frontend and backend. The new interfaces will only be used by the backend. What would be the best place to put these new interfaces?
Ravi _______________________________________________ Engine-devel mailing list Engine-devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-devel
_______________________________________________ Engine-devel mailing list Engine-devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-devel

----- Original Message -----
From: "Yair Zaslavsky" <yzaslavs@redhat.com> To: "Alissa Bonas" <abonas@redhat.com> Cc: engine-devel@ovirt.org, rnori@redhat.com Sent: Thursday, March 7, 2013 8:27:23 AM Subject: Re: [Engine-devel] Best place for new interfaces used by bll
----- Original Message -----
From: "Alissa Bonas" <abonas@redhat.com> To: rnori@redhat.com Cc: engine-devel@ovirt.org Sent: Wednesday, March 6, 2013 10:50:52 PM Subject: Re: [Engine-devel] Best place for new interfaces used by bll
1. For start, and since you are already refactoring :) I recommend putting the interfaces in package named "api" and not "interfaces" - it's a much more standard name. 2. Can you elaborate a bit more what area/functionality in engine are those interfaces for? It will reflect their location.
Yes, we're working on modularization/refactoring/improving of the async task manager. Bll will be a consumer (depend on) of async task mgr.
From going briefly over the packages in "common" module, it seems that there are 2 types of code there- code really in use by backend and frontend, and code used only by the backend. So part of the code residing there is not really "common". My suggestion is to take out that non common code from "common" (along with async task mgr which is also not common), and create a new module (names - core? infra? ) on which only backend/bll will depend.
----- Original Message -----
From: "Ravi Nori" <rnori@redhat.com> To: engine-devel@ovirt.org Sent: Wednesday, March 6, 2013 6:57:10 PM Subject: [Engine-devel] Best place for new interfaces used by bll
Hi,
I am working on refactoring some of the backend code in bll and need to create interfaces so that I can eliminate the dependency between bll and the new module.
Currently I created the interfaces in org.ovirt.engine.core.common.interfaces, but from what I understand this module is used by both frontend and backend. The new interfaces will only be used by the backend. What would be the best place to put these new interfaces?
Ravi _______________________________________________ Engine-devel mailing list Engine-devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-devel
_______________________________________________ Engine-devel mailing list Engine-devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-devel

----- Original Message -----
From: "Alissa Bonas" <abonas@redhat.com> To: "Yair Zaslavsky" <yzaslavs@redhat.com>, rnori@redhat.com Cc: engine-devel@ovirt.org Sent: Thursday, March 7, 2013 5:31:03 PM Subject: Re: [Engine-devel] Best place for new interfaces used by bll
----- Original Message -----
From: "Yair Zaslavsky" <yzaslavs@redhat.com> To: "Alissa Bonas" <abonas@redhat.com> Cc: engine-devel@ovirt.org, rnori@redhat.com Sent: Thursday, March 7, 2013 8:27:23 AM Subject: Re: [Engine-devel] Best place for new interfaces used by bll
----- Original Message -----
From: "Alissa Bonas" <abonas@redhat.com> To: rnori@redhat.com Cc: engine-devel@ovirt.org Sent: Wednesday, March 6, 2013 10:50:52 PM Subject: Re: [Engine-devel] Best place for new interfaces used by bll
1. For start, and since you are already refactoring :) I recommend putting the interfaces in package named "api" and not "interfaces" - it's a much more standard name. 2. Can you elaborate a bit more what area/functionality in engine are those interfaces for? It will reflect their location.
Yes, we're working on modularization/refactoring/improving of the async task manager. Bll will be a consumer (depend on) of async task mgr.
From going briefly over the packages in "common" module, it seems that there are 2 types of code there- code really in use by backend and frontend, and code used only by the backend. So part of the code residing there is not really "common". My suggestion is to take out that non common code from "common" (along with async task mgr which is also not common), and create a new module (names - core? infra? ) on which only backend/bll will depend.
Right. And then start splitting bll in by subject... and then split the interfaces by subject... and then merge the interfaces of specific subject with bll of specific subject. For example bll of host deploy should be maintained separately from bll of gluster etc...
----- Original Message -----
From: "Ravi Nori" <rnori@redhat.com> To: engine-devel@ovirt.org Sent: Wednesday, March 6, 2013 6:57:10 PM Subject: [Engine-devel] Best place for new interfaces used by bll
Hi,
I am working on refactoring some of the backend code in bll and need to create interfaces so that I can eliminate the dependency between bll and the new module.
Currently I created the interfaces in org.ovirt.engine.core.common.interfaces, but from what I understand this module is used by both frontend and backend. The new interfaces will only be used by the backend. What would be the best place to put these new interfaces?
Ravi _______________________________________________ Engine-devel mailing list Engine-devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-devel
_______________________________________________ Engine-devel mailing list Engine-devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-devel
_______________________________________________ Engine-devel mailing list Engine-devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-devel

On 03/06/2013 06:57 PM, Ravi Nori wrote:
Hi,
I am working on refactoring some of the backend code in bll and need to create interfaces so that I can eliminate the dependency between bll and the new module.
Currently I created the interfaces in org.ovirt.engine.core.common.interfaces, but from what I understand this module is used by both frontend and backend. The new interfaces will only be used by the backend. What would be the best place to put these new interfaces?
1. i agree with alissa and alon on the larger refactoring. 2. not all of common today is used by gwt, specifically, interfaces are shared/common, but backendinterfaces are limited to backend. since we are trying to refactor the frontend to not use common at all by moving to the restapi, I'm not sure i'd bother we'd splitting common "more" by shared/not-shared with frontend. but i would focus on making things in their own packages. i.e., I'd like to see ovirt-engine for gluster-only having to deploy/build/pull only what's relevant for them, not the 'virt' stuff for example. (easier for bll. a bit more work for db/common) Thanks, Itamar

On 03/15/2013 03:49 PM, Itamar Heim wrote:
On 03/06/2013 06:57 PM, Ravi Nori wrote:
Hi,
I am working on refactoring some of the backend code in bll and need to create interfaces so that I can eliminate the dependency between bll and the new module.
Currently I created the interfaces in org.ovirt.engine.core.common.interfaces, but from what I understand this module is used by both frontend and backend. The new interfaces will only be used by the backend. What would be the best place to put these new interfaces?
1. i agree with alissa and alon on the larger refactoring. 2. not all of common today is used by gwt, specifically, interfaces are shared/common, but backendinterfaces are limited to backend.
since we are trying to refactor the frontend to not use common at all by moving to the restapi, I'm not sure i'd bother we'd splitting common "more" by shared/not-shared with frontend. but i would focus on making things in their own packages. i.e., I'd like to see ovirt-engine for gluster-only having to deploy/build/pull only what's relevant for them, not the 'virt' stuff for example. (easier for bll. a bit more work for db/common)
+1 Happy to see we're finally talking about it seriously :)
Thanks, Itamar _______________________________________________ Engine-devel mailing list Engine-devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-devel
participants (6)
-
Alissa Bonas
-
Alon Bar-Lev
-
Itamar Heim
-
Ravi Nori
-
Shireesh Anjal
-
Yair Zaslavsky