<!-- <questionid="arch-overall"when="init"> Describetheoverallarchitecture. <hint> WhatwillbeAPIfor <ahref="http://openide.netbeans.org/tutorial/api-design.html#design.apiandspi"> clientsandwhatsupportAPI</a>? Whatpartswillbepluggable? Howwillplug-insberegistered?Pleaseuse<code><apitype="export"/></code> todescribeyourgeneralAPIs. Ifpossiblepleaseprovide simplediagrams. </hint> </question>
-->
<answer id="arch-overall">
<p>
Core module for web service and web service client implementation. Provides implementation of
WebServiceView and WebServiceClientView API's, along with functionality common to all web services and clients.
</p>
</answer>
<!-- <questionid="arch-quality"when="init"> Howwillthe<ahref="http://www.netbeans.org/community/guidelines/q-evangelism.html">quality</a> ofyourcodebetestedand howarefutureregressionsgoingtobeprevented? <hint> Whatkindoftestingdo youwanttouse?Howmuchfunctionality,inwhichareas, shouldbecoveredbythetests? </hint> </question>
-->
<answer id="arch-quality">
<p>
No tests yet. Some tests for parsing and other non-NB logic will be written.
We will also need to create tests for the UI (viaJemmy/Jelly?) components and possibly
the data loaders (uses DDAPI model).
</p>
</answer>
<!-- <questionid="arch-time"when="init"> Whatarethetimeestimatesofthework? <hint> Pleaseexpressyourestimatesofhowlongthedesign,implementation, stabilizationarelikelytolast.Howmanypeoplewillbeneededto implementthisandwhatistheexpectedmilestonebywhichtheworkshouldbe ready? </hint> </question>
-->
<answer id="arch-time">
<p>
Target release is 4.1. Features will be selected to fit the ship schedule,
trimming or expanding as time permits. 2 full time developers in Santa Clara/Menlo Park
and some dev cycles from Prague.
</p>
</answer>
<!-- <questionid="arch-usecases"when="init"> <hint> Contentofthisanswerwillbedisplayedaspartofpageat http://www.netbeans.org/download/dev/javadoc/usecases.html Youcanusetags<usecasename="name>regularhtmldescription</usecase> andifyouwanttouseanURLyoucanprefixifwith@TOP@tobegin attherootofyourjavadoc </hint> Describethemain<ahref="http://openide.netbeans.org/tutorial/api-design.html#usecase"> usecases</a>ofthenewAPI.Whowilluseitunder whatcircumstances?Whatkindofcodewouldtypicallyneedtobewritten tousethemodule? </question>
-->
<answer id="arch-usecases">
<p>
The API implemented by websvc/core is used by any NB 4.x project implementation that
supports web service development or web service client development. Current planned
projects are Web, EJB, and J2ME modules (client only), with corresponding freeform project
support. J2SE is possible, but not for 4.1.
</p>
</answer>
<!-- <questionid="arch-what"when="init"> Whatisthisprojectgoodfor? <hint> Pleaseprovidehereafewlinesdescribingtheproject, whatproblemitshouldsolve,providelinkstodocumentation, specifications,etc. </hint> </question>
-->
<answer id="arch-what">
<p>
<api name="WebServicesCore" category="friend" group="java"type="export"url="">
The module provides core services web service and web service client development
based on J2EE 1.4 (JSR-109) JAXRPC based web service technology.</api>
</p>
</answer>
<!-- <questionid="compat-i18n"when="impl"> Isyourmodulecorrectlyinternationalized? <hint> Correctinternationalizationmeansthatitobeysinstructions at<ahref="http://www.netbeans.org/download/dev/javadoc/org-openide-modules/org/openide/modules/doc-files/i18n-branding.html"> NetBeansI18Npages</a>. </hint> </question>
-->
<answer id="compat-i18n">
<p>
Yes (or rather, it will be at release.)
</p>
</answer>
<!-- <questionid="compat-standards"when="init"> Doesthemoduleimplementordefineanystandards?Isthe implementationexactordoesitdeviatesomehow? </question>
-->
<answer id="compat-standards">
<p>
The module enables the generation of JSR-109 compatible web services and web service clients.
</p>
</answer>
<!-- <questionid="compat-version"when="impl"> Canyourmodulecoexistwithearlierandfuture versionsofitself?Canyoucorrectlyreadalloldsettings?Willfuture versionsbeabletoreadyourcurrentsettings?Canyouread orpolitelyignoresettingsstoredbyafutureversion? <hint> Veryhelpfulforreadingsettingsistostoreversionnumber there,sofutureversionscandecidewhetherhowtoread/convert thesettingsandolderversionscanignorethenewones. </hint> </question>
-->
<answer id="compat-version">
<p>
There are no earlier versions. Future versions should be able to read and/or upgrade
anything created with this version as necessary.
</p>
</answer>
<!-- <questionid="dep-jrejdk"when="final"> DoyourequiretheJDKoristheJREenough? </question>
-->
<answer id="dep-jrejdk">
<p>
This module requires a JDK. JRE is insufficient. (Due to WsCompile from JAXRPC
invoking Javac internally.)
</p>
</answer>
<!-- <questionid="dep-nb"when="init"> WhatotherNetBeansprojectsandmodulesdoesthisonedependon? <hint> Ifyouwant,describesuchprojectsasimportedAPIsusing the<code><apiname="identification"type="importorexport"category="stable"url="whereisthedescription"/></code> </hint> </question>
-->
<answer id="dep-nb">
<defaultanswer generate='none' />
It uses these API's:
<ul>
<li>
<api
name="OpenAPI" type="import"
group="java"
category="official" url="../index.html">
NetBeans Open APIs
</api>
Using various parts of Open API.
</li>
<li>
<api
name="InputOutputAPI" type="import"
group="java"
category="official" url="@org-openide-io@/overview-summary.html">
NetBeans Open APIs
</api>
Used for displaying event log.
</li>
<li>
<api
name="LoadersAPI" type="import"
group="java"
category="official" url="@org-openide-loaders@/overview-summary.html">
NetBeans Loaders API
</api>
</li>
<li>
<api
name="schema2beans" type="import"
group="java"
category="stable" url="">
Schema2beans infrastructure
</api>
Used for implementation of Deployment API, to work with DD and server specific DD.
Also used for NetbeansDeployment (generate S2B beans from DTD).
</li>
<li>
<api
name="SettingAPI" type="import"
group="java"
category="official" url="@org-netbeans-modules-settings@/overview-summary.html">
Setting API
</api>
For for storing settings (e.g. about deployed modules) in xml.
</li>
<li>
<api
name="XMLAPI" type="import"
group="java"
category="stable" url="@org-netbeans-api-xml@/overview-summary.html"> XML API
</api> XML editing and validation of server specific deployment descriptors.
</li>
<li>
<api
name="ProjectsAPI" type="import"
group="java"
category="devel" url="@org-netbeans-modules-projectapi@/overview-summary.html">
Projects API
</api>
Used for communication between j2eeserver and devmodules (devmodules are
expected to be implemented as projects).
</li>
<li>
<api
name="JavaSupportAPIs" type="import"
group="java"
category="devel" url="@org-netbeans-api-java@/overview-summary.html">
Java Support APIs
</api>
Used for registration of server libraries' sources and javadocs.
</li>
<li>
<api
name="openide.src" type="import"
category="official"
group="java" url="http://@org-openide-src@/overview-summary.html"
>
The Java Hierarchy API.
</api>
</li>
<!-- <questionid="dep-non-nb"when="init"> WhatotherprojectsoutsideNetBeansdoesthisonedependon? <hint> Somenon-NetBeansprojectsarepackagedasNetBeansmodules (see<ahref="http://libs.netbeans.org/">libraries</a>)and itispreferredtousethisapproachwhenmoremodulesmay dependonsuchthird-partylibrary. </hint> </question>
-->
<answer id="dep-non-nb">
<p>
This module indirectly requires the user also install
Sun Java System Application Server 8.0 or 8.1 Platform Edition for certain
features to operate correctly, specifically inside-the-IDE testing of web
services and "Invoke Web Service Operation".
</p>
</answer>
<!-- <questionid="dep-platform"when="init"> Onwhichplatformsdoesyourmodulerun?Doesitruninthesame wayoneach? <hint> IfyourmoduleisusingJNIordealswithspecialdifferencesof OSeslikefilesystems,etc.pleasedescribeherewhattheyare. </hint> </question>
-->
<answer id="dep-platform">
<p>
Any platform that is supported both by NetBeans 4.1 and Sun Java System Application Server 8.0 or 8.1. In particuler, this includes Windows, Solaris, certain flavors of Linux,
and Macintosh (with SJSAS 8.1).
</p>
</answer>
<answer id="deploy-dependencies">
<p>
Other modules should not depend on this module. Use the Web Service API module.
</p>
</answer>
<!-- <questionid="deploy-jar"when="impl"> DoyoudeployjustmoduleJARfile(s)orotherfilesaswell? <hint> UsuallyamoduleconsistofoneJARfile(perhapswithClass-Path extensions)andalsoaconfigurationfilethatenablesit.Ifyou haveanyotherfiles,use <apigroup="java.io.File"name="yourname"type="export"category="friend"&an>gt;...</api> todefinethelocation,nameandstabilityofyourfiles(ofcourse changing"yourname"and"friend"tosuityourneeds). IfitusesmorethanoneJAR,describewheretheyarelocated,how theyrefertoeachother. IfitconsistofmoduleJAR(s)andotherfiles,pleasedescribe whatistheirpurpose,whyotherfilesarenecessary.Please makesurethatinstallation/uninstallationleavesthesystem instateasitwasbeforeinstallation. </hint> </question>
-->
<answer id="deploy-jar">
<p>
Only module JAR file and configuration file are delivered.
</p>
</answer>
<!-- <questionid="deploy-shared"when="final"> Doyouneedtobeinstalledinthesharedlocationonly,orintheuserdirectoryonly, orcanyourmodulebeinstalledanywhere? <hint> Installationlocationshallnotmatter,ifitdoesexplainwhy. Consideralsowhether<code>InstalledFileLocator</code>canhelp. </hint> </question>
-->
<answer id="deploy-shared">
<p>
This is a pure NetBeans module. It resides in the NetBeans installation directory, in the J2EE cluster.
</p>
</answer>
<!-- <questionid="exec-component"when="impl"> Isexecutionofyourcodeinfluencedbyany(string)property ofanyofyourcomponents? <hint> Often<code>JComponent.getClientProperty</code>,<code>Action.getValue</code> or<code>PropertyDescriptor.getValue</code>,etc.areusedtoinfluence abehaviorofsomecode.Thisofcourseformsaninterfacethatshould bedocumented.Alsoifonedependsonsomeinterfacethatanobject implements(<code>componentinstanceofRunnable</code>)thatformsan APIaswell. </hint> </question>
-->
<answer id="exec-component">
<p>
This module includes a template wizard iterator implementation (New Web Service Client wizard) that uses
the wizard panel properties 'WizardPanel_contentSelectedIndex' and 'WizardPanel_contentData'.
The iterator also uses the Template Wizard API in OpenIDE to access the selected project in
the wizard.
</p>
</answer>
<!-- <questionid="exec-property"when="impl"> Isexecutionofyourcodeinfluencedbyanyenvironmentor Javasystem(<code>System.getProperty</code>)property? <hint> Ifthereisapropertythatcanchangethebehaviorofyour code,somebodywilllikelyuseit.Youshoulddescribewhatitdoes andthe<ahref="http://openide.netbeans.org/tutorial/api-design.html#life">stabilitycategory</a> ofthisAPI.Youmayuse <pre> <apitype="export"group="property"name="id"category="private"url="http://..."> descriptionoftheproperty,whereitisused,whatitinfluence,etc. </api> </pre> </hint> </question>
-->
<answer id="exec-property">
<p>
This module has code that refers to and allows the user to set the proxy server configuration
for the JVM the IDE is running in. It can set and read the global properties http.proxyHost
and http.proxyPort. It does not persist these settings in any way.
</p>
<p>
!PW FIXME need to check and see if they are modified through our UI, would the global option
support for these same settings save the change.
</p>
</answer>
<!-- <questionid="exec-threading"when="impl"> Whatthreadingmodels,ifany,doesyourmoduleadhereto? <hint> IfyourmodulecallsforeignAPIswhichhaveaspecificthreadingmodel, indicatehowyoucomplywiththerequirementsformultithreadedaccess (synchronization,mutexes,etc.)applicabletothoseAPIs. IfyourmoduledefinesanyAPIs,orhascomplexinternalstructures thatmightbeusedfrommultiplethreads,declarehowyouprotect dataagainstconcurrentaccess,raceconditions,deadlocks,etc., andwhethersuchrulesareenforcedbyruntimewarnings,errors,assertions,etc. Examples:aclassmightbenon-thread-safe(likeJavaCollections);might befullythread-safe(internallocking);mightrequireaccessthroughamutex (andmayormaynotautomaticallyacquirethatmutexonbehalfofaclientmethod); mightbeabletorunonlyintheeventqueue;etc. Alsodescribewhenanyeventsarefired:synchronously,asynchronously,etc. Ideas:<ahref="http://core.netbeans.org/proposals/threading/index.html#recommendations">ThreadingRecommendations</a>(inprogress) </hint> </question>
-->
<answer id="exec-threading">
<p>
There is a separate thread for created for downloading WSDL files from other
servers. This thread is created and monitored completely within this module and
should not affect other modules in any way.
</p>
<p>
Background tasks are used to synchronize text XML and a XML parse tree for various XML files used by the projects this module supports.
</p>
</answer>
<!-- <questionid="format-clipboard"when="impl"> Whichdataflavors(ifany)doesyourcodereadfromorinsertto theclipboard(byaccesstoclipboardonmeanscallingmethodson<code>java.awt.datatransfer.Transferable</code>? <hint> OftenNode'sdealwithclipboardbyusageof<code>Node.clipboardCopy,Node.clipboardCutandNode.pasteTypes</code>. Checkyourcodeforoverridingthesemethods. </hint> </question>
-->
<answer id="format-clipboard">
<p>
!PW FIXME need to research the specific flavors. In general, some form of drag and drop
from web service, web service client, and ejb nodes to the editor or within the project
is (or will be) supported.
</p>
</answer>
<!-- <questionid="format-dnd"when="impl"> Whichprotocols(ifany)doesyourcodeunderstandduringDrag&Drop? <hint> OftenNode'sdealwithclipboardbyusageof<code>Node.drag,Node.getDropType</code>. Checkyourcodeforoverridingthesemethods.Btw.iftheyarenotoverridden,they bydefaultdelegateto<code>Node.clipboardCopy,Node.clipboardCutandNode.pasteTypes</code>. </hint> </question>
-->
<answer id="format-dnd">
<p>
!PW FIXME need to research the specific protocols In general, some form of drag and drop
from web service, web service client, and ejb nodes to the editor or within the project
is (or will be) supported.
</p>
</answer>
<!-- <questionid="format-types"when="impl"> Whichprotocolsandfileformats(ifany)doesyourmodulereadorwriteondisk, ortransmitorreceiveoverthenetwork? </question>
-->
<answer id="format-types">
<p>
This module receives Web Service Description Language (WSDL) files from network connections
opened by the user. We use the protocol specified by the user to open the connection
and receive the file, assuming the protocol is supported by the underlying JVM. It is
expected that HTTP is the standard protocol that will be used for this.
</p>
<p>
This module creates and reads, using the File System API, files of the following types:
</p>
<ul>
<li>Java</li>
<li>XML (Web Service Deployment Descriptor schema)</li>
<li>XML (WSDL schema)</li>
<li>XML (JAXRPC-RI-CONFIG schema)</li>
</ul>
</answer>
<!-- <questionid="lookup-lookup"when="init"> Doesyourmoduleuse<code>org.openide.util.Lookup</code> oranysimilartechnologytofindanycomponentstocommunicatewith?Whichones? <hint> Pleasedescribetheinterfacesyouaresearchingfor,where aredefined,whetheryouaresearchingforjustoneormoreofthem, iftheorderisimportant,etc.Alsoclassifythestabilityofsuch APIcontract.Forthatuse<apigroup=&lookup&/>tag. </hint> </question>
-->
<answer id="lookup-lookup">
<p>
XXX no answer for lookup-lookup !PW FIXME needs research
</p>
</answer>
<!-- <questionid="lookup-register"when="final"> Doyouregisteranythingintolookupforothercodetofind? <hint> Doyouregisterusinglayerfileorusing<code>META-INF/services</code>? Whoissupposedtofindyourcomponent? </hint> </question>
-->
<answer id="lookup-register">
<p>
XXX no answer for lookup-register !PW FIXME needs research
</p>
</answer>
<!-- <questionid="perf-limit"when="init"> Arethereanyhard-codedorpracticallimitsinthenumberorsizeof elementsyourcodecanhandle? </question>
-->
<answer id="perf-limit">
<p>
It is likely that projects with extremely large numbers of web services and/or
clients will not perform well. These numbers should be well beyond any reasonable
use case (e.g. thousands).
</p>
</answer>
<!-- <questionid="perf-mem"when="final"> Howmuchmemorydoesyourcomponentconsume?Estimate witharelationtothenumberofwindows,etc. </question>
-->
<answer id="perf-mem">
<p>
The amount of data is proportional to the number of development objects the user
works with. The amount of memory per object is reasonable.
</p>
</answer>
<!-- <questionid="perf-menus"when="final"> Doesyourmoduleusedynamicallyupdatedcontextmenus,or context-sensitiveactionswithcomplicatedenablementlogic? </question>
-->
<answer id="perf-menus">
<p>
Yes. There are menu items added to the popup menu in the editor when a java file
is open and the project it came from has web service or client support. Enabling
of these menu items is done if the appropriate elements are located within the
project.
</p>
</answer>
<!-- <questionid="perf-progress"when="final"> Doesyourmoduleexecuteanylong-runningtasks? <hint>Longrunningtasksshouldneverblock AWTthreadasitbadlyhurtstheUI <ahref="http://performance.netbeans.org/responsiveness/issues.html"> responsiveness</a>. Taskslikeconnectingover network,computinghugeamountofdata,compilation bedoneasynchronously(forexample using<code>RequestProcessor</code>),definitivelyitshould notblockAWTthread. </hint> </question>
-->
<answer id="perf-progress">
<p>
Downloading a WSDL file from a web service can take an indeterminate amount of time.
Timeouts are specified to avoid permanently blocking the IDE.
</p>
</answer>
<!-- <questionid="perf-scale"when="init"> Whichexternalcriteriainfluencetheperformanceofyour program(sizeoffileineditor,numberoffilesinmenu, insourcedirectory,etc.)andhowwellyourcodescales? <hint> Pleaseincludesomeestimates,thereareothermoredetailed questionstoanswerinlaterphasesofimplementation. </hint> </question>
-->
<answer id="perf-scale">
<p>
The number of web services created by or web service clients used by the user within
a single project. The number of operations within a web service.
</p>
</answer>
<!-- <questionid="perf-spi"when="init"> Howtheperformanceofthepluggedincodewillbeenforced? <hint> Ifyouallowforeigncodetobepluggedintoyourownmodule,how doyouenforcethatitwillbehavecorrectlyandquicklyandwillnot negativelyinfluencetheperformanceofyourownmodule? </hint> </question>
-->
<answer id="perf-spi">
<p>
This module contains two API implementations that interact, via Web Services API, with
a companion implementation in any project type that implements web service support.
Such project implementations are expected to use best practices to ensure good
quality and performance.
</p>
</answer>
<!-- <questionid="resources-layer"when="final"> Doesyourmoduleprovideownlayer?Doesitcreateanyfilesor foldersinit?Whatitistryingtocommunicatebythatandwithwhich components? <hint> NetBeansallowsautomaticanddeclarativeinstallationofresources bymodulelayers.Moduleregisterfilesintoappropriateplaces andothercomponentsusethatinformationtoperformtheirtask (buildmenu,toolbar,windowlayout,listoftemplates,setof options,etc.). </hint> </question>
-->
<answer id="resources-layer">
<ul>
<li>Registers templates which then appear in the <code>New...</code> menu.</li>
<li>Registers various actions.</li>
<li>Registers mime resolver for certain XML schemas</li>
</ul>
</answer>
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.