Return-Path: X-Original-To: apmail-incubator-cloudstack-dev-archive@minotaur.apache.org Delivered-To: apmail-incubator-cloudstack-dev-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id F350790B2 for ; Thu, 9 Aug 2012 15:14:11 +0000 (UTC) Received: (qmail 38992 invoked by uid 500); 9 Aug 2012 15:14:11 -0000 Delivered-To: apmail-incubator-cloudstack-dev-archive@incubator.apache.org Received: (qmail 38941 invoked by uid 500); 9 Aug 2012 15:14:11 -0000 Mailing-List: contact cloudstack-dev-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: cloudstack-dev@incubator.apache.org Delivered-To: mailing list cloudstack-dev@incubator.apache.org Received: (qmail 38930 invoked by uid 99); 9 Aug 2012 15:14:11 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 09 Aug 2012 15:14:11 +0000 X-ASF-Spam-Status: No, hits=-0.0 required=5.0 tests=RCVD_IN_DNSWL_LOW,SPF_NEUTRAL X-Spam-Check-By: apache.org Received-SPF: neutral (athena.apache.org: local policy) Received: from [209.85.160.47] (HELO mail-pb0-f47.google.com) (209.85.160.47) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 09 Aug 2012 15:14:06 +0000 Received: by pbcwy7 with SMTP id wy7so937270pbc.6 for ; Thu, 09 Aug 2012 08:13:46 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :content-type:x-gm-message-state; bh=i/ngRwVujsTMqwdJ6m7cdJGcsR7oJPqWL582sTmocBE=; b=ZgC/uOWZ3aXfD2X4bffCeWd/8mCas6doPDyzLH1oCSzAM6ZZ1ffWBr6eplYe5REGN9 K94pERSARfCcmNIuf5YBpLmbtUF8VM+hWDa4oDeYp+OmlJa09N0Fkv/UWDaOYn9ZhINP 34jErEbR6jx/VziK4rEya0Dxj0r4DA7CGTvcAChMOf1t7CSqWLWldUziGtG4R6lse3yb KlZaNXdrPCZXcHgx7aD7cW/8hmEBJBQGTZiZrbe/rC8zJ4lk5VSr2T4CKunEJ5Fj7an9 LQCAMCo7vbSzPsLiQH9qItAJzLmRXheUZk3bOMJciGWk0KUQS4KasLTFwytP0dxeBHRw zQoQ== Received: by 10.68.194.169 with SMTP id hx9mr4995056pbc.8.1344525226133; Thu, 09 Aug 2012 08:13:46 -0700 (PDT) MIME-Version: 1.0 Received: by 10.142.201.21 with HTTP; Thu, 9 Aug 2012 08:13:25 -0700 (PDT) In-Reply-To: <97F4356AEA71904482CD192135C038F9010C3A613529@BANPMAILBOX01.citrite.net> References: <96B93665-BBD7-41C3-A1B0-A05ED1E57311@gnsa.us> <97F4356AEA71904482CD192135C038F9010C3A33BC3A@BANPMAILBOX01.citrite.net> <61AE1E2837A06D4A8E98B796183842D401292ED803B1@SJCPMAILBOX01.citrite.net> <97F4356AEA71904482CD192135C038F9010C3A4BCD7B@BANPMAILBOX01.citrite.net> <97F4356AEA71904482CD192135C038F9010C3A4BCDB3@BANPMAILBOX01.citrite.net> <97F4356AEA71904482CD192135C038F9010C3A4BD1CE@BANPMAILBOX01.citrite.net> <6005BE083BF501439A84DC3523BAC82DE2043A6EDB@LONPMAILBOX01.citrite.net> <6005BE083BF501439A84DC3523BAC82DE2043A6EDE@LONPMAILBOX01.citrite.net> <97F4356AEA71904482CD192135C038F9010C3A613529@BANPMAILBOX01.citrite.net> From: David Nalley Date: Thu, 9 Aug 2012 11:13:25 -0400 Message-ID: Subject: Re: Hibernate To: cloudstack-dev@incubator.apache.org Content-Type: text/plain; charset=ISO-8859-1 X-Gm-Message-State: ALoCoQluff65DCrCnnxapz+TEAyih2PjbGg7EDJX9vABV3t820rNWoyXVW0XraXAlZmTYIXpuToP X-Virus-Checked: Checked by ClamAV on apache.org Rajesh, is this done? --David On Mon, Jul 16, 2012 at 11:49 PM, Rajesh Battala wrote: > Yes Ewan, I would be doing this work. > > Thanks > Rajesh Battala > >> -----Original Message----- >> From: Ewan Mellor [mailto:Ewan.Mellor@eu.citrix.com] >> Sent: Tuesday, July 17, 2012 9:03 AM >> To: cloudstack-dev@incubator.apache.org >> Subject: RE: Hibernate >> >> OK, good. So it's a small job. So is Rajesh doing that? >> >> Ewan. >> >> > -----Original Message----- >> > From: Alex Huang [mailto:Alex.Huang@citrix.com] >> > Sent: 16 July 2012 17:03 >> > To: cloudstack-dev@incubator.apache.org >> > Subject: RE: Hibernate >> > >> > My understanding is it's one table and is already wrapped by a DAO. >> > The DAO object uses hibernate underneath. Don't think it's a big job. >> > >> > --Alex >> > >> > > -----Original Message----- >> > > From: Ewan Mellor [mailto:Ewan.Mellor@eu.citrix.com] >> > > Sent: Monday, July 16, 2012 4:43 PM >> > > To: cloudstack-dev@incubator.apache.org >> > > Subject: RE: Hibernate >> > > >> > > If I read this infinitely long thread correctly, the conclusion is >> > that >> > > CloudStack/awsapi needs to be rewritten to use the CloudStack DAO >> > instead >> > > of Hibernate. Is that correct? >> > > >> > > If so, who is doing this work, and when? That sounds like a big job. >> > > >> > > Thanks, >> > > >> > > Ewan. >> > > >> > > > -----Original Message----- >> > > > From: Alex Huang [mailto:Alex.Huang@citrix.com] >> > > > Sent: Monday, July 02, 2012 11:31 PM >> > > > To: cloudstack-dev@incubator.apache.org >> > > > Subject: RE: Hibernate >> > > > >> > > > Rajesh, >> > > > >> > > > You should use the existing CloudStack DAO framework. If >> > cloudstack >> > > > will move to another ORM framework, it will have to be done in >> > > > such >> > a >> > > > fashion that everything above the DAO layer doesn't have to change >> > and >> > > > the majority of the current DAO code do not have to change as well. >> > > > Which would mean your code should migrate over along with the rest >> > of >> > > > the changes. >> > > > >> > > > --Alex >> > > > >> > > > > -----Original Message----- >> > > > > From: Rajesh Battala [mailto:rajesh.battala@citrix.com] >> > > > > Sent: Monday, July 02, 2012 10:59 PM >> > > > > To: cloudstack-dev@incubator.apache.org >> > > > > Subject: RE: Hibernate >> > > > > >> > > > > >> > > > > >> > > > > > -----Original Message----- >> > > > > > From: Kelven Yang [mailto:kelven.yang@citrix.com] >> > > > > > Sent: Saturday, June 30, 2012 3:31 AM >> > > > > > To: cloudstack-dev@incubator.apache.org >> > > > > > Subject: RE: Hibernate >> > > > > > >> > > > > > >> > > > > > >> > > > > > > -----Original Message----- >> > > > > > > From: David Nalley [mailto:david@gnsa.us] >> > > > > > > Sent: Friday, June 29, 2012 10:37 AM >> > > > > > > To: cloudstack-dev@incubator.apache.org >> > > > > > > Subject: Re: Hibernate >> > > > > > > >> > > > > > > On Fri, Jun 29, 2012 at 12:13 PM, Rajesh Battala >> > > > > > > wrote: >> > > > > > > > >> > > > > > > > >> > > > > > > >> -----Original Message----- >> > > > > > > >> From: David Nalley [mailto:david@gnsa.us] >> > > > > > > >> Sent: Friday, June 29, 2012 8:40 PM >> > > > > > > >> To: cloudstack-dev@incubator.apache.org >> > > > > > > >> Subject: Re: Hibernate >> > > > > > > >> >> > > > > > > >> On Fri, Jun 29, 2012 at 9:27 AM, Rajesh Battala >> > > > > > > >> >> > > > > > > >> wrote: >> > > > > > > >> > >> > > > > > > >> > Shall I proceed to replace Hibernate Framework with >> > Spring >> > > > JDBC. >> > > > > > > >> > >> > > > > > > >> >> > > > > > > >> This is not a design decision to take lightly, or rush - >> > as >> > > > we've >> > > > > > > >> talked about replacing the custom ORM that CloudStack >> > > > > > > >> uses >> > as >> > > > > > > >> well >> > > > > > > >> - we'd want to make a decision on something that we are >> > > > > > > >> comfortable with >> > > > > > > in that role as well. >> > > > > > > >> >> > > > > > > > [Rajesh Battala] >> > > > > > > > So we are planning to implement some ORM framework for >> > > > CloudStack >> > > > > > also? >> > > > > > > > If so, then we need to evaluate the available ORM >> > frameworks >> > > > for >> > > > > > > > java >> > > > > > > which are based on Apache License? >> > > > > > > > >> > > > > > > >> > > > > > > >> > > > > > > I don't want to speak for Alex, but I have heard him mention >> > > > > > > such >> > > > a >> > > > > > > change number of times, and have seen it in his slides as >> > well. >> > > > > > > >> > > > > > > But the larger sense is that if we are going to change >> > something >> > > > in >> > > > > > > AWSAPI for communicating to the database, it should be >> > something >> > > > > > > that we are comfortable with adopting in the long term for >> > the >> > > > rest >> > > > > > > of CloudStack, otherwise we'll end up with two different >> > > > > > > ways for connecting to the database, which is fail. >> > > > > > >> > > > > > For Rajesh's concern in the short term (to get rid of >> > Hibernate), >> > > > we >> > > > > > basically have following options, >> > > > > > 1) Make the project depend on utils.jar in CloudStack and use >> > > > existing >> > > > > > CloudStack persistent layer. >> > > > > > 2) Continue to make CloudBridge project independent >> > > > > > a) use direct JDBC >> > > > > > b) use Spring JDBC >> > > > > > c) use ORM framework on Spring (i.e. OpenJPA etc) >> > > > > > >> > > > > > I vote on 2-b for a short term resolution. For a couple of >> > > > > > reasons, >> > > > > > >> > > > > > The major reason is for adopting Spring, EC2/S3 API in the >> > future >> > > > may >> > > > > > both need to support SOAP based web service API and REST API, >> > > > Spring >> > > > > > comes with support of both, in addition, it provides >> > > > > > dependency injection, AOP and pluggable ORM framework, >> > > > > > distributed transaction >> > > > > management, etc. >> > > > > > >> > > > > > CloudBridge project has a very simple data model (it has only >> > one >> > > > > > table for EC2), original ORM (hibernate) usage is just for >> > > > convenience >> > > > > > (as Alex pointed that it tried to avoid direct SQL >> > manipulation), >> > > > on >> > > > > > the other hand, giving the DAO abstraction, a limited amount >> > > > > > of >> > > > JDBC >> > > > > > should not matter too much either. With Spring and already >> > > > > > existing DAO abstraction, we can leave bigger ORM decision for >> > the >> > > future. >> > > > > > >> > > > > > In the long term, ORM choice to us seems to be secondary >> > > > > > consideration, giving the fact that our current custom ORM >> > > > > > implementation serves its purpose well enough in CloudStack. >> > But I >> > > > do >> > > > > > see the needs of more flexible dependency injection or >> > transaction >> > > > > > management framework in order to incorporate better >> > > > > > integration >> > > > with >> > > > > > external transactional systems like message queue servers. I >> > also >> > > > see >> > > > > > the needs of standardizing AOP patterns used in current >> > CloudStack >> > > > > > code base, Spring provides some good answers for that. So >> > > > > > there >> > is >> > > > a >> > > > > > possibility that it will be good for CloudStack to adopt it >> > like >> > > > many >> > > > > > other Java communities do, so that we can focus on our own >> > > > > > business logic and leave these external concerns to people who >> > are >> > > > > > doing it >> > > > for a >> > > > > living. >> > > > > > >> > > > > > Kelven >> > > > > > >> > > > > > >> > > > > > > >> > > > > > > --David >> > > > > [Rajesh Battala] >> > > > > >> > > > > Please let me know conclusion of the thread. >> > > > > I didn't see any reply to Kelven suggestions. >> > > > > >> > > > > Thanks >> > > > > Rajesh Battala >