EnterpriseJava70

(Difference between revisions)
(Weblogic)
(Web Services)
Line 174: Line 174:
Owner: Milan Kuchtiak
Owner: Milan Kuchtiak
-
'''EE4.3.1''' SOAP: unintrusive JAX-WS support [http://netbeans.org/bugzilla/show_bug.cgi?id=186299 186299] (2 days)
+
'''EE4.3.1''' [P1] SOAP: unintrusive JAX-WS support [http://netbeans.org/bugzilla/show_bug.cgi?id=186299 186299] (2 days)
-
'''EE4.3.2''' SOAP: support for HTTP GET/POST bindings [http://netbeans.org/bugzilla/show_bug.cgi?id=174326 174326] (5 days)
+
'''EE4.3.2''' [P3] SOAP: support for HTTP GET/POST bindings [http://netbeans.org/bugzilla/show_bug.cgi?id=174326 174326] (5 days)
-
'''EE4.3.3''' REST: JAXB annotations in Entity classes [http://netbeans.org/bugzilla/show_bug.cgi?id=181161 181161] (5 days)
+
'''EE4.3.3''' [P2] REST: JAXB annotations in Entity classes [http://netbeans.org/bugzilla/show_bug.cgi?id=181161 181161] (5 days)
-
'''EE4.3.4''' REST: unintrusive REST support [http://netbeans.org/bugzilla/show_bug.cgi?id=168154 168154] (2 days)
+
'''EE4.3.4''' [P1] REST: unintrusive REST support [http://netbeans.org/bugzilla/show_bug.cgi?id=168154 168154] (2 days)
-
'''EE4.3.5''' REST: extend Test Resource capability [http://netbeans.org/bugzilla/show_bug.cgi?id=187945 187945], [http://netbeans.org/bugzilla/show_bug.cgi?id=159073 159073] (10-15 days)
+
'''EE4.3.5''' [P2] REST: extend Test Resource capability [http://netbeans.org/bugzilla/show_bug.cgi?id=187945 187945], [http://netbeans.org/bugzilla/show_bug.cgi?id=159073 159073] (10-15 days)
=== Bean Validation ===
=== Bean Validation ===

Revision as of 07:59, 2 July 2010

J2EE Development Simplified in NB 6.10

Author: DavidKonecny
Version: draft 0.0.5

Contents


Motto: Everything just works

Not according to feature coverage matrix but on real life usecases spanning several EE specifications. For example user is developing a service which can be used via web browser or REST API and the service stores some data in a database and communicates with some other web services and EJBs. The IDE modular architecture and fact that separate Java EE specification are implemented by different teams should not have any impact on user's experience. Features from different modules should seamlessly cooperate and complement each other.

Another aspect to pay attention to in this release is how well features work outside of compile-debug cycle of single user. For example an IDE feature can generate a unit test for an EJB and such test can be executed. But can such project be checked into versioning control system and just run if checked out by a continual builder or different team member? how will an embeddable EJB container be provided? Features should be look at in broader scope and wherever applicable they should just work.

Following chapters will discuss individual IDE areas in detail.

Conventions

Priority is indicated as:

  • P1 (Must-Have) - essential in order to for a feature to work
  • P2 (Should-Have)
  • P3 (Nice-To-Have) - anything what would be nice to have but can be implemented/enhanced in future releases
  • P4 (Future) - would be nice for future releases, but definitely not something to pursue in this release

Maven and Ant

In theory Maven and Ant are just build harnesses and therefore user should not notice any difference during daily coding in IDE regardless of what build system is used.

On the other hand it is not practical nor desirable to abstract IDE user from build harness. Ant and Maven are different and have their own specific features that should stay accessible to user. There is also no practical need for example to enable interproject dependencies between Ant and Maven - possible but not a good practice IDE should suggest to users.

However, most of the IDE features should work regardless of underlying build system.

Maven

Owner: David Konecny

EE1.1.1: [P3] improve handling of server selection in EE Maven project types

EE1.1.2: [P1] resolve problem with running unit tests in Maven EE 6 project - stripped Java EE 6 jars are unusable

EE1.1.3: [P1] make sure packaging of EE Maven projects is correct (EJB jars are not packaged in WAR; libraries are stored in EAR/lib; etc.)

EE1.1.4: [P1] make sure deployment/debugging of EE Maven projects works as in Ant based projects (AppClient on GFv3; Weblogic; standalone EJB/AppClient modules deploytment; etc.)

EE1.1.5: [P2] EJB embeddable container support works (in different server scenarios)

EE1.1.6: [P2] support for annotation processing and JPA annotation processor

EE1.1.7: [P2] Deploy on Save works in EAR project

EE1.1.8: [P3] misc small issues:

  • when server deployment fails Maven does not report it and stays in "deploying..." mode
  • remote interface project selector should not list Ant based projects for Maven project - Maven cannot have dependency on Ant based project
  • EAR Maven should not have sources, compilation, etc. (in project logical view, proj props, ...)
  • JSF wizard panel should pre-select JSF version according to server (if available)
  • sources panel in project properties should list web application folder if one is present
  • in proj properties I cannot see which fields are editable and which are readonly. Perhaps problem of look and feel. Eg. fields in General panel are editable, but fields in Sources are not


Ant

Owner: David Konecny

EE1.2.1: [P3] resolve sharability issues:

  • make option to refer to a server via single property available in UI (instead of making server sharable by copying its jars user can refer to a server installation via single property)
  • sharability is broken for jars which have dependency on other jars (via ClassPath attribute in manifest) - these required jars are never made sharable

GlassFish and Weblogic

]Similar case like Ant and Maven. Most of the time the user should be abstracted from the underlying server and all IDE features should just work regardless of server. But there will always be differences between the servers and user should have access to these server specific features.

GlassFish

Owner: Vince Kraemer

See GlassFish 3.1 planning document

Weblogic

Owner: Petr Hejl

EE2.1: Weblogic server libraries:

  • [P1] deployment Done
  • [P1] classpath handling
  • [P2] sharability

EE2.2: Unit tests for Weblogic plugin

EE2.3: Enhance Weblogic support - high priority

  • [P1] directory-based deployment, deploy on save
  • [P2] FastSwap
  • [P2] enable EE 6 support for upcoming Weblogic 11g R2
  • [P2] profiling

EE2.4: Enhance Weblogic support - medium and low priority

  • [P3] server properties configuration dialog
  • [P3] support for authoring and using deployment plans
  • [P3] server resources viewer
  • [P3] link to source from output
  • [P4] GUI editor for WebLogic deployment descriptors


EE2.5: Web Services support

  • [P3] support JSR109 for WebLogic 187597,187599 Done
  • [P3] support WS Tester for WebLogic 187598 Done
  • [P3] support JAX-WS Client for WebLogic 187931 Done
  • [P3] support WS from WSDL for WebLogic 187932 Done

EE2.6: NetBeans and WebLogic co-bundle?

Deployment

Owners: David Konecny, Petr Hejl, Vince Kraemer

All common deployment scenarios must work. Regardless of target server - for example both Glassfish and Weblogic have their own proprietary deployment descriptor fiiles. Regardless of whether EE Application or EE Module is being deployed - for example each server is handling deployment of standalone EE modules and their required libraries differently. Regardless of EE technology being used - for example Weblogic requires Weblogic specific version of JSF libraries while GlassFish not. Files being deployed should follow EE specification requirements or best practice - automaticaly package required libraries which are not EE module into EAR's lib directory; place remote interfaces of EJBs into dedicated reusable library project.

EE3.1: [P2] fix standalone EE Module deployment

EE3.2: [P1] GlassFish vs Weblogic deployment (eg. appclient deployment to GlassFish is hardcoded in AC project type)

EE3.3: [P3] project sharability and server sharability (can it be improved?)

Richer EE/Web support

JSF

Owner: Alexey Butenko

EE4.1.1: ADF components???

EE4.1.2: Trinidad components

  • [P1] Add library to Netbeans
  • [P3] Palette Items?
  • [P2] Facelets with Trinidad (wiki)

EE4.1.3: [P2] JSF RI: Bundling the JSF implementation in WAR archive for Maven projects does not work on WebLogic 175130

EE4.1.4: Faces Config

  • [P3] Show configuration deprecated tags in faces-config.xml 177197

EE4.1.5: AJAX and JSF (TBD)

  • [P3] enable JavaScript code completion for scripts added with h:outputScript
  • [P3] f:ajax smart code completion

Spring

Owner: Alexey Butenko

EE4.1.6: : Spring 3.0: improvement for form controllers:

  • [P3] wizard for annotated controllers with different options
    • options like @RequestMapping,@RequestParam, @ModelAttribute
    • update config file with context:component-scan tag to detect annotated controllers

EE4.1.7: [P3] Spring Bean wizard

CDI

Owner: TBA

EE4.2.1: [P3] refactorings aware beans.xml

EE4.2.2: [P3] class code completion in beans.xml

EE4.2.3: [P2] add support for find Event Producer/find all Observers (similar to the current support "Go to Injectable/Inspect Injectables"; perhaps already available?)

EE4.2.4: [P3] support for portable extensions (wizards, ambiguous and unsatisfied dependencies checks, etc.)

EE4.2.5 [P3] dependency graph visualization

EE4.2.6 [P2] Hints for creating qualifier types (187946)

Web Services

Owner: Milan Kuchtiak

EE4.3.1 [P1] SOAP: unintrusive JAX-WS support 186299 (2 days)

EE4.3.2 [P3] SOAP: support for HTTP GET/POST bindings 174326 (5 days)

EE4.3.3 [P2] REST: JAXB annotations in Entity classes 181161 (5 days)

EE4.3.4 [P1] REST: unintrusive REST support 168154 (2 days)

EE4.3.5 [P2] REST: extend Test Resource capability 187945, 159073 (10-15 days)

Bean Validation

Owner: Alexey Butenko

EE4.4.1: [P2] new wizard for creating constraint. Ask just for constrain package and class name and generate constraint for (METHOD, FIELD and ANNOTATION_TYPE). Message can be defaulted to package name and @Documented should be set. The wizard should have checkbox for "Generate Validator class" which if checked shows two editable fields: validator class name which is by default constraint class name + "Validator" and field for type which will be used to generate validator class. Both fields are mandatory. Wizard would generate constrain annotation and validator class.

EE4.4.2: [P2] add validation-configuration-1.0.xsd schema to catalogue and add file wizard for validation.xml

EE4.4.3: [P2] add validation-mapping-1.0.xsd schema to catalogue and add file wizard for mapping constrains file. Created file should be registered in validation.xml automatically.

EE4.4.4: [P2] publish some tutorial illustrating bean validation (task for DOC team; can be done even for NB 6.8 + 6.9)

EE4.4.5: [P3] add code template for "ValidatorFactory factory = Validation.buildDefaultValidatorFactory(); validator = factory.getValidator();". Perhaps there should be a general template for the same pattern for different factories (XML parser, etc.)

EE4.4.6: [P2] add editor hints for common mistakes. See here for inspiration

Notes:

  • for now do not implement any meta model for XML configuration files

JSP

Owner: Tomasz Slota

EE4.5.1: [P3] JSP editor architecture improvements

More helpful IDE

Owner: Erno Mononen

EE5.1: [P2] add intelligent hints/TODOs

  • syntax checking for EL

EE5.2: [P2] EE refactorings

  • refactoring support for Expression Language. Involves significant JSF editor infrastructure changes (new parser), which will help also code completion, navigation etc.

EE5.3: [P2] new EE samples/EE tutorials

EE5.4: [P3] Improved navigation between various application components, e.g. quick navigation between views/controllers/models.

Improve development of DB based Web Applications

Owner: Sergey B. Petrov

EE6.1: [P3] JPA wizards: faster reading of tables by filtering by name

EE6.2: [P2] Add support (recognize) for more jpa2.0 providers

EE6.3: Improve update/recreate/new for entity from db

  • EE6.3.1: Better update support (fix issues and support update for more elements), currently only new columns creation works properly. Smart updates (i.e. without any merging/update ui if possible)
    • EE6.3.1.1: Update column type if necessary
    • EE6.3.1.2: Update Id Class (both if id name need to be changed and if culumns in id classs are changed)
    • EE6.3.1.5: Update mappings
    • EE6.3.1.4: Update JoinColums (type?,columns?)
    • EE6.3.1.5: Update JoinTable
    • EE6.3.1.6: Analyze if elements need to be removed and comment (if api allow), include removed from db columns and old setters/getters.
  • EE6.3.2: Usability - recreate all, update all, new all buttons, filter 'create new only' in 'add all')

EE6.4: Recognize/support derived ids, and may be as subtask add usage in entity from db generation.

EE6.X: Continue on work started in http://wiki.netbeans.org/EnterpriseJava69

Testability

Owner: TBA

EE7.1: [P2] embeddable EJB testing works in all scenarios

EE7.2: [P2] testing of CDI based code works out of box

Other ideas

  • OSGi webapps
Not logged in. Log in, Register

By use of this website, you agree to the NetBeans Policies and Terms of Use. © 2012, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo