This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.
This is a request for review of architecture of j2ee support for 4.1. We have done a first internal inception review but the set of materials was incomplete (I will post the opinion for that) so I am asking for another inception review. There is a number of modules with many interproject dependencies (some with proposed stability level private and some with friend). Architecture documents will be provided ASAP. Depending on the outcome I propose to use fast track for the individual APIs.
There is not much to write as for the opinion. Here are the issues that were rised which are still valid for the inception review: Y01 What is the reason to depend on org.openide.src and not on the JMI interfaces? Are there some limitations? If so, please enumerate. Y02 What are the distribution mechanisms for 4.0 and 4.1. * 4.0: via autoupdate? * 4.1: own cluster, sneak into ide4 or one cluster for web and ejb? This is also a topic that ARC will be interested in. M01 In Ejb Module Project: * Question (perf-mem): How much memory does your component consume? Estimate with a relation to the number of windows, etc. * Answer: The amount of data is proportional to the number of development objects the user works with. The amount of memory per object is reasonable. * IMHO we (the DevRev) should document that there are ways how to test the object sizes in unit tests. We could add a link to this arch question with further description like we already do in some other questions. M02 Sort of nitpick: in J2EE DD API in the usecases section: * Use case 5 : Other modules that need to modify the deployment descriptor * Followed by "This is the list of other possible clients of DD API :" but there is nothing listed. M03 In EJB API: * Question (arch-quality): How will the quality of your code be tested and how are future regressions going to be prevented? * Answer: Based on similar wor for the Web Module project type. I expect the quality to be good... * Again it's probably more for us IMHO we should attempt to make the arch-quality question in the arch.xml clearer to avoid the answers like the one above. We should better explain what we want from the people to answer here - what portion of the code do they plan to test in what way by what type of test etc. T01 Would be nice to have an overall architecture picture - showing all the modules/APIs, their dependencies, etc. It is hard to gather this information from the tables - also because the exported APIs missing (not specified). T02 The documentation is far from complete. Mainly we need: * arch answers doc for J2EE Project Support Utilities (org.netbeans.modules.j2ee.common) * arch answers docs for Web services modules * completing answers for other modules (some are almost empty, no interfaces tables, etc) * exported APIs in all arch answers docs (currently mentioned nowhere) T03 According to the existing docs there seem to be some strange dependencies (mainly on obsolete or deprecated APIs): * org.netbeans.api.debugger, org.openide.execution, org.openide.src, jarpackager, etc - likely old docs * Ejb Module Project module states dependency on private APIs of java module and core. Why? * Answer on question lookup-lookup in Ejb Module Project module mentions looking for (e.g.) Looks, Repository, Debugger... * J2EE DD Loaders module states dependency on xml module internals. * org.netbeans.modules.editor also looks suspicious T04 Ejb Module Project, question perf-limit states it was a big issue in Studio and the new design should be able to handle large EJB projects. How is this achieved? Could it be documented? What is the change in the design? TCA was given about the delivery mechanism for EA1: to use a separate cluster for j2ee and websvc modules. This did not happen for EA1 but the enterprise1 cluster has been created since.
I am too much involved in the implementation to be any useful as a reviewer :-) I am going to hand over this review to Jarda. I committed all the documentation and added the APIs to nbbuild\build.properties, just use "ant build-javadoc and look at these APIs: Deployment Descriptor API (not new, deprecated and move to j2ee/ddapi) Enterprise Application Projects j2ee/ddapi j2ee/ejbapi j2ee/ejbjarproject j2ee/utilities web/webapi Web Services DD API websvc/core websvc/registry websvc/websvcapi
Here are the links to apis that should be reviewed: http://www.netbeans.org/download/dev/javadoc/#def-api-j2ee/ddapi http://www.netbeans.org/download/dev/javadoc/#def-api-j2ee/ejbapi http://www.netbeans.org/download/dev/javadoc/#def-api-j2ee/ejbjarproject http://www.netbeans.org/download/dev/javadoc/#def-api-j2ee/utilities http://www.netbeans.org/download/dev/javadoc/#def-api-web/webapi http://www.netbeans.org/download/dev/javadoc/#def-api-Web%20Services%20Deployment%20Descriptor%20API http://www.netbeans.org/download/dev/javadoc/#def-api-websvc/core http://www.netbeans.org/download/dev/javadoc/#def-api-websvc/registry http://www.netbeans.org/download/dev/javadoc/#def-api-websvc/websvcapi The review owner is jtulach, voting reviewers are tfast, jglick, tpavek, but every opinion is welcomed. If you have one, add it here, if you believe it is important enough, create an IZ issue and make this one depend on it or reply to nbdev@ announcement: http://www.netbeans.org/servlets/ReadMsg?msgId=891733&listName=nbdev
another link for overall introduction of the different j2ee modules is: http://j2ee.netbeans.org/release41/specs/architecture/ Links to arch docs are still missing as I am search how to have them in the web site.
Draft of opinion document is now available at http://openide.netbeans.org/tutorial/reviews/opinions_52155.html
resetting the state. sorry
Review is over, Pavel please take care of the results...
Closing as the review is over.
review was closed.
Proprietary <copyfiles> task was removed as a result of this review. I'm thinking about reviving it and would like to hear your thoughts on that. See my post on nbdev "can we use Ant proprietary task in web/j2ee projects again? (eg. <copyfiles>)" (Wed, 02 Apr 2008 02:00:18 +0000). Thanks, -D.