- Define what the JSR 250 really is about. There is no commen consensus about which aspects should be covered by the common annotations to be defined in JSR 250.
- I suggest including only annotations that have a generic character and support concerns of common interest that are not too complex (if they were they could be part of a separate JSR).
- Group annotations: It should be quite obvious how to group the currently defined annotations in the public review paper. This should be a first and easy step getting a better feeling on where the journey goes.
- Context-free aspects that could be covered by annotations could be:
- Design Patterns, especially the topics
- name of the pattern
- role within a design pattern
- description of the pattern itself and of its roles
- Design by Contract-related issues
- Architectural layers, such as (just to give an idea)
- persistence mapping
- interfaces to third-party systems
- business logic
- domain logic
- transportation / protocols
- view mapping
- view logic
The current version of the JSR 250 public review seems not adequate for manifesting or extending it in a way that it is displaying when reading it. As I suggested, there should be a general refurbishment of the whole paper. We are far from looking at if a single annotation proposed by the JSR’s expert group is useful, should contain additional information or should be renamed.
The problem is of more principle nature: The goal should be defined in round terms, a firm stand should be taken, context-free (or, say, generic) annotations should be considered instead of special ones and the direct support for J2EE specifics should be reconsidered.