dev@glassfish.java.net

Re: HEADS UP: Upgrading the schema2beans.jar for appserver ...

From: Jerome Dochez <Jerome.Dochez_at_Sun.COM>
Date: Tue, 17 Jan 2006 16:57:24 -0800

great, let me know when part I is finished. I agree with your
observation about the numbers although you may think to switch to "pure"
if the gain is substantial while I think that we should switch unless
the regression is substantial. I would like to get rid of such binary
dependencies as it conflicts with user packaged libraries.

Jerome

Kedar Mhaswade wrote:
>
>>> Will it be OK if we first upgrade to s2b.jar from NB 4.1
>>> release and then later on take up the changes to use Pure Beans? I
>>> thought it was better to separate these two tasks because the use of
>>> the so called "runtimeless" beans is an enhancement, whereas the
>>> upgrade to the latest s2b.jar is a must.
>>
>> that's absolutely fine with me as long as we don't drop the effort
>> after *this* integration.
>
> OK. We have to think more about the II part. For now, we will proceed
> with part I (upgrade to s2b from NB 4.1). I will send a document that
> describes the part I in detail.
>
>>
>>>
>>> What Alex meant regarding version mismatch was there is at least
>>> one class in the latest s2b.jar that is changed in an incompatible
>>> manner from earlier release (Version.class). So, all the classes in
>>> GlassFish source that depend on this class must be regenerated.
>>
>> I assumed we would regenerate all the sources when we would switch to
>> "pure" anyhow so what you are telling me is that we would regenerated
>> twice, right ? I don't see that as a problem as long as the contract
>> offered by those beans (at least the contract used by the appserver
>> components) remains compatible.
>
> The answer depends upon our findings (numbers) from the *real* gain by
> using the "runtimeless" (aka "pure") beans. If there is a significant
> difference in those numbers, we will have to regenerate the beans.
>
>>>
>>> Please let us know.
>>>
>>> Regards,
>>> Kedar
>>>
>>>
>>> Jerome Dochez wrote:
>>>
>>>> Alex Kravtchenko wrote:
>>>>
>>>>> Hi Jerome,
>>>>>
>>>>> Sorry for the delay.
>>>>> What do you mean under "pure" JavaBeans? Self-contained beans,
>>>>> not requiring the thick base classes(s2b runtime)?
>>>>
>>>>
>>>> yes
>>>>
>>>>> ConfigBeans are following the JavaBeans getters/setters
>>>>> signature, but they extend s2b's BaseBean class, so probably they
>>>>> could no be called "pure" JavaBeans. Meanwile, these beans are
>>>>> tightly bound to xml file and these rintime classes actually take
>>>>> care of such beans persistance (mapping/reading/writting of the
>>>>> xml-tree/file). Anyway this functioality should be implemented
>>>>> whether in admin or in beans theirselves.
>>>>
>>>>
>>>> I understand that s2b has the functionality to generate "pure"
>>>> JavaBeans (look at the link below) that will have these features
>>>> wired on the beans themselves rather than relying on the runtime
>>>> library. That would allow us to not have to ship the s2b runtime
>>>> and free us from yet another binary dependency.
>>>>
>>>>> After discussion on admin team meeting with Kedar and Abhijit,
>>>>> we decided not to run to "pure" standalone java beans, if their
>>>>> generation is possible (we do not know if shema2beans can generate
>>>>> standalone, not requiring runtime lib , beans at all).
>>>>
>>>>
>>>> http://schema2beans.netbeans.org/docs.html#GenerateRuntimeless
>>>>
>>>>>
>>>>>
>>>>> Regarding schema2beans versions. This issue appears because we
>>>>> use s2b runtime.
>>>>> Even if we will use s2b runtime lib, then hopefully 4.0 generated
>>>>> beans will be compatible with any runtime libraries of later
>>>>> versions. Unfortunately, it is not true for beans generated under
>>>>> erier version (v.3.5 beans are not compatible with later libs).
>>>>> That was the main reason to move to recent schema2beans version.
>>>>
>>>>
>>>> I am not sure I understand why you mean. I think you should use
>>>> anything after 4.0, the more recent is probably the better. Would
>>>> that be an issue ?
>>>>
>>>>>
>>>>> Kedar, could you please add your comments.
>>>>> Thanks,
>>>>> Alex
>>>>>
>>>>> Jerome Dochez wrote:
>>>>>
>>>>>> Hi Alex,
>>>>>>
>>>>>> I have not seen an answer to this email...
>>>>>>
>>>>>> Jerome Dochez wrote:
>>>>>>
>>>>>>> This is great.
>>>>>>>
>>>>>>> + have you tried to generate the pure JavaBeans to see if the
>>>>>>> added footprint is smaller that 300K ?
>>>>>>> + still not clear why the version we would use is important.
>>>>>>>
>>>>>>> Thanks, Jerome
>>>>>>>
>>>>>>> Alex Kravtchenko wrote:
>>>>>>>
>>>>>>>> Hi Jerome,
>>>>>>>>
>>>>>>>> Beans, generated by s2b still extend schema2bean's BaseBean
>>>>>>>> class and require schema2beans run-time library.
>>>>>>>> Starting from netbeans 4.x, schema2beans module is divided
>>>>>>>> onto two jar files - schema2beans.jar (~300Mb) and
>>>>>>>> schema2beansdev.jar (~900Mb).
>>>>>>>> The second jar file is needed only for beans generation phase.
>>>>>>>> The first one (runtime) is merging into appserv-rt.jar during
>>>>>>>> bootstraping.
>>>>>>>> So, switching to recent versions will eliminate a lot of
>>>>>>>> appserver's runtime footprint.
>>>>>>>>
>>>>>>>> Alex
>>>>>>>>
>>>>>>>> Jerome Dochez wrote:
>>>>>>>>
>>>>>>>>> Hi Alex
>>>>>>>>>
>>>>>>>>> why this important ?
>>>>>>>>>
>>>>>>>>> I suggested we should be generating pure JavaBeans (no runtime
>>>>>>>>> dependency of class libraries) and therefore the s2b would
>>>>>>>>> only be used a build time. Is this not happening yet ?
>>>>>>>>>
>>>>>>>>> Jerome
>>>>>>>>>
>>>>>>>>> Alex Kravtchenko wrote:
>>>>>>>>>
>>>>>>>>>> Hi Jerome,
>>>>>>>>>>
>>>>>>>>>> No, we did not integrated new schema2beans yet. It can be
>>>>>>>>>> done by the next week beginnig.
>>>>>>>>>> Unfortunately, we still have not received answer on
>>>>>>>>>> question: " Which Netbeans version should be incorporated
>>>>>>>>>> with glassfish - 4.1, 4.2 or 5.0?"
>>>>>>>>>> I prepared and tested usage s2b of netbeans_4.1 because
>>>>>>>>>> this version has synchronized binaries and sources on
>>>>>>>>>> netbeans.org.
>>>>>>>>>>
>>>>>>>>>> Thanks,
>>>>>>>>>> --Alex
>>>>>>>>>>
>>>>>>>>>> Jerome Dochez wrote:
>>>>>>>>>>
>>>>>>>>>>> Kedar
>>>>>>>>>>>
>>>>>>>>>>> Have you integrated this in the trunk ?
>>>>>>>>>>>
>>>>>>>>>>> Jerome
>>>>>>>>>>>
>>>>>>>>>>> Kedar Mhaswade wrote:
>>>>>>>>>>>
>>>>>>>>>>>> We have Beta Hard Code Freeze (HCF) coming up on Monday,
>>>>>>>>>>>> 12/18/2005. Hence, we are postponing this integration until
>>>>>>>>>>>> after that so that there are no stability issues. A
>>>>>>>>>>>> separate notice will be sent when we take this up after the
>>>>>>>>>>>> HCF.
>>>>>>>>>>>>
>>>>>>>>>>>> Thanks and Regards,
>>>>>>>>>>>> Kedar
>>>>>>>>>>>>
>>>>>>>>>>>> Kedar Mhaswade wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>> All,
>>>>>>>>>>>>> Alexandre Kravtchenko and I are planning to upgrade the
>>>>>>>>>>>>> schema2beans.jar that is part of Glassfish binary
>>>>>>>>>>>>> dependencies. This will be done by December 18, 2005. We
>>>>>>>>>>>>> are planning to use the latest 4.2.0 version of this jar
>>>>>>>>>>>>> that will be staged in the process. More could be found
>>>>>>>>>>>>> about this jar at
>>>>>>>>>>>>> http://schema2beans.netbeans.org/servlets/ProjectDocumentList.
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> Note that we have serverbeans (used by the server
>>>>>>>>>>>>> runtime to modify and persist domain.xml) and clientbeans
>>>>>>>>>>>>> (required by the application client container) depending
>>>>>>>>>>>>> upon this jar. We will make sure that the generation of
>>>>>>>>>>>>> beans is successful and will make minor modifications to
>>>>>>>>>>>>> the base classes to make the beans work with the changes
>>>>>>>>>>>>> in latest schema2beans.jar.
>>>>>>>>>>>>>
>>>>>>>>>>>>> We will run the Quicklook and other required tests.
>>>>>>>>>>>>> Note that we have not modified other parts of server that
>>>>>>>>>>>>> might be using other versions of Netbeans for their
>>>>>>>>>>>>> purpose. We think that nothing else is impacted because of
>>>>>>>>>>>>> this.
>>>>>>>>>>>>>
>>>>>>>>>>>>> As a result of this integration, classes from new
>>>>>>>>>>>>> schema2beans.jar will be made part of appserv-admin.jar,
>>>>>>>>>>>>> new serverbeans and clientbeans will be generated and
>>>>>>>>>>>>> checked in to Glassfish sources.
>>>>>>>>>>>>>
>>>>>>>>>>>>> The basic reason for this upgrade is to use the latest
>>>>>>>>>>>>> from schema2beans and to try to reduce the footprint of
>>>>>>>>>>>>> server by not using the classes in earlier version of this
>>>>>>>>>>>>> jar that are useful only to generate the beans and not
>>>>>>>>>>>>> required at runtime.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Let us know if you see any concerns.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>> Kedar/Alex.
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> ---------------------------------------------------------------------
>>>>>>>>>>>>>
>>>>>>>>>>>>> To unsubscribe, e-mail:
>>>>>>>>>>>>> dev-unsubscribe_at_glassfish.dev.java.net
>>>>>>>>>>>>> For additional commands, e-mail:
>>>>>>>>>>>>> dev-help_at_glassfish.dev.java.net
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> ---------------------------------------------------------------------
>>>>>>>>>>>>
>>>>>>>>>>>> To unsubscribe, e-mail: dev-unsubscribe_at_glassfish.dev.java.net
>>>>>>>>>>>> For additional commands, e-mail:
>>>>>>>>>>>> dev-help_at_glassfish.dev.java.net
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: dev-unsubscribe_at_glassfish.dev.java.net
>>>> For additional commands, e-mail: dev-help_at_glassfish.dev.java.net
>>>>
>>