Functional Specification

Versions:

1.0

10/29/07

Initial

1.1

11/06/07

Corrected the classification for Error Handler in the Exported Interface Table


Template Version: 1.9
Modified: 09/20/05
Location: http://sac.eng/arc/Process/Projects/ARC-FuncSpec.html


NetBeans Visual Web 6.0 Functional Specification

1 Project Description

The Visual Web project delivers the visual JavaServer Faces web application development experience to NB 6.0 users. It derives from Visual Web Pack 5.5 or 5.5.1 (LSARC cases 413,120)and originally from the Sun Java Studio Creator product (LSARC case 138).

The Visual Web in NetBeans 6.0 enables Java developers to rapidly build standards-based web applications in NetBeans by dragging and dropping components and data sources on the WYSIWYG Visual Editor. It provides a comprehensive library of JavaServer Faces components and deploys your projects as a Web Archive (WAR) to Java Enterprise Edition containers like Java System Application Server, JBoss, BEA WebLogic, IBM WebSphere, Tomcat, and others.


As part of NB 6.0 major feature release, VW continues to add more functionality into NB 6.0 web application development area compared to VWP in NB 5.5 or 5.5.1. In addition, one of the main goals of this project is to prepare a migration path for the Creator users to migrate to NB 6.0 as this Creator product is being planned to be EOL'ed in the near future.

In calendar year 2006, the Java Tools organization initiated a plan to consolidate the product line by merging the functionality from Java Studio Creator and Java Studio Enterprise into the NetBeans IDE. The main motivation behind this plan was to simplify the product offering for the development user community and broaden the target audience of NetBeans in order to maximize the number of active users that could be counted toward the growth target goal set by the tools organization. Consolidation was further justified by the opportunity to reduce product development costs by centralizing engineering and release processes.

The primary requirement of NetBeans Visual Web 6.0 is to deliver a feature set that is equivalent to Java Studio Creator while preserving the same ease-of-use for building web applications.

http://jupiter.czech.sun.com/wiki/view/Netbeans/NB60PCD#3_1_5_Visual_Web_Development_P1


The overall NetBeans 6.0 PCD can be found here http://jupiter.czech.sun.com/wiki/view/Netbeans/NB60PCD. More specifically, a list of defining features can be found here http://jupiter.czech.sun.com/wiki/view/Netbeans/NB60PCD#3_1_5_Visual_Web_Development_P1.


http://wiki.netbeans.org/wiki/view/NB6FeaturePlan

http://wiki.netbeans.org/wiki/view/NB6QualityCriteria

http://wiki.netbeans.org/wiki/view/NB6UmbrellaDocPlan

http://wiki.netbeans.org/wiki/view/NB6Schedule

http://jupiter.czech.sun.com/wiki/view/Netbeans/NB6ARCCases

None

None

See section R1.

2 Technical Description

As mentioned in various Creator or Visualweb functional specification documents, visual web consists a set of NetBeans modules that provides a visual development environment for web application developers. It allows the drag and drop of visual components from a palette onto a web form designer, binding database tables to the components, webservices and ejbs consumptions and more. The overall diagram below shows different subsystems of visualweb and how they interact with each other in NB.

























2.2 Interfaces

Exported Interfaces

Interface Name

Signature / Versioning

JAR(s) / Archive

Proposed Stability Classification

Former Stability Classification or Other Comments

DesignTime

1.0

$netbeans_install_dir/visualweb1/modules/ext/designtime.jar

Committed

The Designtime API is based on JSR 273 and it is moving independently from VW. When/if JSR 273 becomes final, the project team will adopt it and would have to work out some backward compatibility issues at that time.

jsfcl

1.0

$netbeans_install_dir/visualweb1/modules/ext/jsfcl.jar

Javadoc:$netbeans_install_dir/visualweb1/docs/jsfcl-doc.zip

Committed

same as in Creator/VWP 5.5

Cached Rowset X Impl

1.0

$netbeans_install_dir/visualweb1/modules/ext/sqlx.jar

Javadoc:$netbeans_install_dir/visualweb1/docs/visualweb-rowset-src.zip

Committed

Some enhancements were made in this 6.0 release to align with the standard base rowset implementation.

Data Provider

1.0

$netbeans_install_dir/visualweb1/modules/ext/dataprovider.jar

Javadoc:$netbeans_install_dir/visualweb1/docs/dataprovider-doc.zip

Committed

same as in Creator/VWP 5.5

Application Model

1.0

$netbeans_install_dir/visualweb1/modules/ext/appbase.jar

Javadoc:$netbeans_install_dir/visualweb1/docs/appbase-doc.zip

Committed

same as in Creator/VWP 5.5

Woodstock Components

4.1

$netbeans_install_dir/visualweb1/modules/ext/webui-jsf.jar
$netbeans_install_dir/visualweb1/modules/ext/webui-jsf-dt.jar
$netbeans_install_dir/visualweb1/modules/ext/webui-jsf-suntheme.jar

Javadoc:$netbeans_install_dir/visualweb1/docs/webui-jsf-doc.zip

$netbeans_install_dir/visualweb1/docs/webui-jsf-tld.zip

Committed

Other 3rd party libraries are also exposed in the user apps as part of woodstock bundling:

  1. dojo-0.9.0.jar

  2. prototype-1.5.0.jar

  3. json-2.jar

  4. commons-fileupload-1.0.jar

Webui Components

1.0

$netbeans_install_dir/visualweb1/modules/ext/webui.jar

$netbeans_install_dir/visualweb1/modules/ext/defaulttheme.jar

$netbeans_install_dir/visualweb1/modules/ext/defaulttheme-green.jar

$netbeans_install_dir/visualweb1/modules/ext/defaulttheme-gray.jar

Javadoc:$netbeans_install_dir/visualweb1/docs/webui-doc.zip

Committed

same as in Creator / VWP 5.5

Error Handler

1.0

$netbeans_install_dir/visualweb1/modules/ext/errorhandler.jar

Private Uncommitted

Internally used by Visualweb only but being bundled in the users' apps. The project team is planning to remove in the future release.

Import Component Library


1.0

META-INF/MANIFEST.MF
complib-config.xml
sun-faces-config.xml
*.tld (JSP tag library descriptor)


Committed

same as in Creator/VWP 5.5




Imported Interfaces (Sun)
 

Interface

Signature / Version

JAR(s) / Archive

Interface Classification

Comments/license info

NetBeans

6.0

whole installation

Committed


Woodstock Components

4.1

webui-jsf.jar
webui-jsf-dt.jar
webui-jsf-suntheme.jar

Standard

Changed from 4.0.1

JDBC Rowsets

1.0 RI

rowset.jar

Standard


Imported Interfaces (External)
 

Interface

Signature / Version

JAR(s)

Interface Classification

Comments / license info

JavaCC

3.2

javacc-3.2.jar

External

This is still being used during build time only to generate code.

Batik

1.5.1

batik-css.jar
batik-util.jar

External

Apache Batik CSS2 Parser

JTidy

04aug2000r7-dev

tidy-mod.jar

External


Dojo

0.9.0

dojo-0.9.0.jar

External

OSR 6989

JSON

all versions

json-2.jar

External

Only file name changed from:
json.jar

Open Source License Review #5049

Dynafaces

0.1

jsf-extensions-common-0.1.jar
jsf-extensions-dynamic-faces-0.1.jar

External

Only file names changed from:
jsf-extensions-common-0.1-SNAPSHOT.jar
jsf-extensions-dynafaces-0.1-SNAPSHOT.jar


License Info

Prototype

1.5.0

prototype-1.5.0.jar

External

Newly Added
License Info

Same as previous release NetBeans VWP 5.5 or 5.5.1.

Creator projects or Visual Web Pack 5.5 or 5.5.1 projects can be imported into NB 6.0.

See NetBeans6.0 spec. or http://wiki.netbeans.org/wiki/view/NB6TestedPlatformsAndRuntimes

See NetBeans6.0 spec.

See NetBeans6.0 spec.

See NetBeans6.0 spec.

See NetBeans6.0 spec.

2.5 Performance and Scalability

http://wiki.netbeans.org/wiki/view/NB6PerformanceCriteria

http://wiki.netbeans.org/wiki/view/VW_PerformanceTigerTeam

See section 2.5.2 above

See System Requirements for NB 6.0.

Same as other NB projects.

Same as other NB projects.

Same as other NB projects.

Same as other NB 6.0 projects.

Same as other NB 6.0 projects.

Same as other NB 6.0 projects.

Same as other NB 6.0 projects.

Same as other NB 6.0 projects.

Same as other NB 6.0 projects.

All the public designtime and runtime package names remain as “com.sun.rave” as in Creator 2. The rest of the internal implementation packages of visual web modules have been changed to “org.netbeans.modules.visualweb.*” since the project was open-sourced in this NetBeans 6.0 release.

None

VW is Y2K compliant.

Same as previous releases.

N/A

Since the number of supported platforms in NB 6.0 remain the same as previous release, there are not much changes in this area for this release. In the event that VW is to be ported to other platforms, the impact would be similar to other NB projects.

VW is being tracked by QA to be A11Y compliant.

Visualweb is bundled with the NetBeans 6.0 Standard configuration distribution and can be installed by the new NetBeans installer. In addition, the Visualweb kit, as an umbrella installable unit of all visualweb modules, can be installed by the NB plugins manager as a separate unbundled unit into the NetBeans basic distribution.

Some description for the visualweb installable unit:

See the new NetBeans Installer project.

See the new NetBeans Installer project.

The whole 3.2 section is not suitable in the scope of this project since visualweb doesn't provide a separate installation mechanism anymore. Refer to the new NetBeans Installer project.

N/A

N/A

N/A

N/A

N/A

N/A


See section 2 above.