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 40618

Summary: MDR Architecture Review
Product: java Reporter: Martin Matula <mmatula>
Component: UnsupportedAssignee: Martin Matula <mmatula>
Status: RESOLVED FIXED    
Severity: blocker CC: apireviews
Priority: P3 Keywords: API_REVIEW
Version: 3.x   
Hardware: PC   
OS: Windows ME/2000   
Issue Type: TASK Exception Reporter:
Bug Depends on: 41488, 41556, 41557, 41558, 41559, 41560, 41561, 41562, 41563, 41564, 41565, 42082    
Bug Blocks:    

Description Martin Matula 2004-02-29 22:35:39 UTC
I would like to kindly ask for architecture review
of MDR module. Answers to the architecture
questions can be found at mdr/arch, module's
documentation is at http://mdr.netbeans.org/docs.html.
Comment 1 Martin Matula 2004-02-29 22:37:06 UTC
The target milestone should be set to NB 4.0/PromoD - for some reason
it does not appear in the list of target milestones for this module,
so I am not able to formally set it.
Comment 2 Jaroslav Tulach 2004-03-01 09:57:00 UTC
The review will be lead by Pavel Buzek and the inception review
meeting shall be held on Mar31, 2004, if possible. Other reviewers
include Tomas Pavek, Miloslav Metelka and me.
Comment 3 Pavel Buzek 2004-03-31 06:56:01 UTC
here are my initial comments that I would like to discus in the meeting:

I'd suggest to separate the API needed for module writters who need
to: 
1. work with a meta model provided by somebeody else
2. provide support for a new metamodel
3. provide a new implementation of any part of MDR
This would make the whole documentation more user/task oriented.
BTW: This is what I would also expect to see in Use Cases document.

As for the 3rd category: 
Why id the MDR API a public contract and not a private contract 
between your modules? Who is expected to install a new MDR repository
implementation? Same question about XMIReader, maybe JMIMapper, etc.

Is Persistence SPI private? From the architecture document it seems 
like it is a contract but I have not seen it in answers or javadoc
(I would say it should be private, I am just checking).

As for recomending org.netbeans.jmi.* package for generated interfaces:
the convention is to use o.n.modules.* or o.n.api.* or o.n.spi.*
Why cannot it be o.n.m.jmi or o.n.api.jmi?

suggested TCA: deploy-packages - what prevents you to do it before commit?
suggested TCA: do i18n before commit

perf-startup: 
I assume the inicialization is done lazilly. 
What is the performance of first call in MDR? 

perf-exit: 
What is the performance of the tasks that are done on IDE shutdown?

perf-limit:
What is the size of repository on disk? 
How much overhead does it have compared to size of stored data?

perf-mem:
What is a practical size of this cache for real-life examples 
(such as Java refactoring) and how does it impact performance?

perf-progress: 
How long does it take to boot the repository? 
Is this also done when upgrading to newer version of MDR?

Comment 4 Pavel Buzek 2004-04-16 06:45:56 UTC
Opinion document posted:
http://openide.netbeans.org/tutorial/reviews/opinions_40618.html

assigning back to Martin to work on the issues and prepare for the
final review. Thanks!
Comment 5 Jaroslav Tulach 2005-04-15 13:41:23 UTC
done, I guess.