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.

Bug 52155 - j2ee architecture review
Summary: j2ee architecture review
Status: CLOSED FIXED
Alias: None
Product: javaee
Classification: Unclassified
Component: Code (show other bugs)
Version: 4.x
Hardware: All All
: P1 blocker (vote)
Assignee: Pavel Buzek
URL:
Keywords: API_REVIEW
Depends on: 53751 54464 54465 54467 54471 54473 54476 54478 54479 54482 55965 55966 55969 55971 55972
Blocks:
  Show dependency tree
 
Reported: 2004-12-07 13:49 UTC by Pavel Buzek
Modified: 2008-04-02 03:07 UTC (History)
5 users (show)

See Also:
Issue Type: TASK
Exception Reporter:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Pavel Buzek 2004-12-07 13:49:06 UTC
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.
Comment 1 Pavel Buzek 2004-12-08 09:01:44 UTC
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.
Comment 2 Pavel Buzek 2005-01-19 01:46:55 UTC
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
Comment 4 _ ludo 2005-01-20 19:14:23 UTC
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.
Comment 5 Jaroslav Tulach 2005-02-03 15:35:55 UTC
Draft of opinion document is now available at
http://openide.netbeans.org/tutorial/reviews/opinions_52155.html
Comment 6 Vince Kraemer 2005-02-22 22:22:11 UTC
resetting the state. sorry
Comment 7 Jaroslav Tulach 2005-03-07 09:21:13 UTC
Review is over, Pavel please take care of the results...
Comment 8 Jaroslav Tulach 2005-04-15 13:43:10 UTC
Closing as the review is over. 
Comment 9 Petr Blaha 2005-07-11 12:41:25 UTC
review was closed.
Comment 10 David Konecny 2008-04-02 03:07:36 UTC
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.