Return-Path: Delivered-To: apmail-geronimo-dev-archive@www.apache.org Received: (qmail 75060 invoked from network); 6 Jul 2010 23:15:28 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 6 Jul 2010 23:15:28 -0000 Received: (qmail 59141 invoked by uid 500); 6 Jul 2010 23:15:28 -0000 Delivered-To: apmail-geronimo-dev-archive@geronimo.apache.org Received: (qmail 58995 invoked by uid 500); 6 Jul 2010 23:15:27 -0000 Mailing-List: contact dev-help@geronimo.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: Reply-To: dev@geronimo.apache.org List-Id: Delivered-To: mailing list dev@geronimo.apache.org Received: (qmail 58988 invoked by uid 99); 6 Jul 2010 23:15:27 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 06 Jul 2010 23:15:27 +0000 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests=FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: local policy) Received: from [98.136.44.59] (HELO smtp104.prem.mail.sp1.yahoo.com) (98.136.44.59) by apache.org (qpsmtpd/0.29) with SMTP; Tue, 06 Jul 2010 23:15:19 +0000 Received: (qmail 12174 invoked from network); 6 Jul 2010 23:13:57 -0000 DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.com; h=DKIM-Signature:Received:X-Yahoo-SMTP:X-YMail-OSG:X-Yahoo-Newman-Property:From:Content-Type:Content-Transfer-Encoding:Subject:Date:Message-Id:To:Mime-Version:X-Mailer; b=jPxzTAXWhNPhh/vu4mfx9XmYwciOtJJQOiqUDli+raQxhA3tXvHijIkRz6Mn/eJ+t+v76YWTpuGMxc1kFAku6Gr5dD2SaHmVgV0GnCaLwfG/egISS6gLPqOju+Iqj6V8lHrlqnZgLLdf1wOrlZ3HCF82xoKt/Ci9DhSmWZ6Wnyo= ; DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s1024; t=1278458037; bh=mRBYAgBhB128dR67zTVo7hxuC9l5u3gVxOGBXTSH/qo=; h=Received:X-Yahoo-SMTP:X-YMail-OSG:X-Yahoo-Newman-Property:From:Content-Type:Content-Transfer-Encoding:Subject:Date:Message-Id:To:Mime-Version:X-Mailer; b=I8Gv5R8gVbwRMM6L9G3qzzhPHfZJHoVRjsXjlWjn6W7ohJOQCNMz29yfw4gfP2ON4+gc7fDhZMe9qyJ00XAwUXS7Zm/qV2o/sk7nhTcpAc7yUBh68Fwmtwibws1tcp6HmV0aHWqLwSBLmGla8NmK2g2snrSN5ADum7JMCLxu+m0= Received: from [10.0.1.3] (david_jencks@76.76.148.215 with plain) by smtp104.prem.mail.sp1.yahoo.com with SMTP; 06 Jul 2010 16:13:56 -0700 PDT X-Yahoo-SMTP: .9oIUzyswBANsYgUm_5uPui0skTnzGJXJQ-- X-YMail-OSG: maJgrPQVM1m6WczNreHzf5lkN3tDTsSLmjSpwc2Y5UDsuVM w93bjmr8RRvgo1OQNQN8kKCCSW0MKy6T1OqW32irIVqyeyJ2E.3cMavYwIfM cJvXSat5jKlqjfL5PLwCWXrrKfL90rFb3W.LCwEUm0QFBifEESi6lUvalW7D zfu2kwfxvX.xMFnypXqCxBbPKdq3jUnAA1lOMvF5dxjuF1Urcvhl4xYKxzH7 12lcvtESLkoJSfYcEDaK6fpMrH1UL4CG5HKLkx7YEduQWyH3nStr2_g.s64I gr1J4ohDU19y7nyOIfklNnE8- X-Yahoo-Newman-Property: ymail-3 From: David Jencks Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable Subject: Future directions towards better osgi integration Date: Tue, 6 Jul 2010 16:13:55 -0700 Message-Id: <6DEAC043-60E5-4760-BAD9-7EC237188CE5@yahoo.com> To: "Geronimo Dev List \(JIRA\)" Mime-Version: 1.0 (Apple Message framework v1081) X-Mailer: Apple Mail (2.1081) X-Virus-Checked: Checked by ClamAV on apache.org What we have now in trunk more or less works OK but does not really take = good advantage of many osgi standard features, instead often duplicating = some functionality with stuff ported from earlier geronimo versions. = Here are a few ideas on how we might be more osgi friendly. 1. use osgi jndi to back up our java: jndi namespace. Right now we're = constructing our own references that poke around in the geronimo kernel = gbean registry to find the target. This is very similar to what the = osgi: namespace does in the osgi service registry. I think we can bind = jndi links to the osgi jndi name and get into the service registry that = way. We're already binding connection factories in the service = registry, we can do admin objects and ejbs pretty easily too. I'm = experimenting with this in connector. 2. Use karaf features instead of our plugin dependency management. = Currently these are very similar, our addition is to unpack stuff from = bundles on installation if requested. We can do this independently of = the features functionality, and we can talk to karaf about whether this = unpack idea would be good there. 3. Build ee artifacts into eba's. Although it isn't really counter-spec = to through everything except app clients in an ear into one = bundle/classloader, it doesn't seem ideal. I think one bundle per = module (and possibly one additional bundle per @DataSource annotation) = will be more flexible. BTW we have a problem currently in getting the = app and global jndi contexts onto the app client. If we deploy each rar = and datasource into a separate bundle we can just start these on the app = client too so the jndi stuff will be avaliable. 4. Replace gbeans with some combination of blueprint, blueprint = namespace handlers, and whatever else is needed. The plugins that use = plain gbeans can be converted to blueprint pretty easily. Our use of = gbeans to wrap EE application components is less straightforward. We = may be able to generate fairly simple blueprint plans in a special = namespace that will give access to the appropriate bundles containing = the container classes. This will take some investigation. I wonder if = processing the xml into a neutral data tree like the openejb info tree = would be a useful approach. I've worried that (4) will take months and break everything from when it = starts to when it's complete. However I am now starting to think that = if we do 1-3 first there's a small chance that (4) can be done = plugin-by-plugin without completely breaking the server. 5. Figure out how to support jsr-77 (ee management) without gbeans. One = of the basic functions of gbeans was to support jsr-77 directly. = Without them we'll have to figure out what mbeans to register and how to = do it. Since the jsr-77 mbean structure is often totally nuts, this = will probably simplify the working code a bit, but will add another = layer of goo. On the other hand we can presumably make it optional. thanks david jencks