<!-- <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> todescribeyourgeneralAPIsandspecifytheir <ahref="http://openide.netbeans.org/tutorial/api-design.html#category-private"> stabilitycategories</a>. Ifpossiblepleaseprovidesimplediagrams. </hint> </question>
-->
<answer id="arch-overall">
<p>
The Web Service Project API describes the contract between a Netbeans project and a web service stack tooling
implementation aimed at providing a uniform way to discover web service providers and consumers in a project.
</p>
<p>
WebServiceDataProvider is the main SPI for providing web service data, namely the web service
providers and consumers in the project. Implementations of this interface will be registered in the project's lookup.
</p>
<p>
When a client does a project lookup for WebServiceDataProvider the instance that is returned
will contain the merged result (service providers, service consumers) of all WebServiceDataProviders that are in the
project. This is made possible by the LookupMergerSupport class which merges all instances of WebServiceDataProvider
in the project. Using a static method in LookupMergerSupport, the provider of WebServiceDataProvider can create an
instance of org.netbeans.spi.project.LookupMerger and register it in the project's lookup.
</p>
<p>
Information about web service providers and consumers are provided through the WebServiceImplementation and
ServiceDescriptorImplementation SPIs. Each WebServiceImplementation is associated with a ServiceDescriptionImplementation.
WebServiceImplementation contains data about the nature of the service such as its type or the node that it represents.
ServiceDescriptionImplementation contains data about the location of descriptor file (for example, WSDL) that describes the service.
A WebServiceDataProvider implementation can use a factory, WebServiceFactory, to
instantiate WebService and ServiceDescriptor objects that wraps the WebServiceImplementation and ServiceDescriptor
implementations, respectively. When called, WebService and ServiceDescriptor delegates to their respective implementations.
</p>
<p>
Clients of this API will use WebServiceData to obtain an implementation of a WebServiceDataProvider using a static method,
passing in the Project that needs to be introspected. Clients can then query for web service producers and consumers using
the WebServiceData object, which delegates to the WebServiceDataProvider.
</p>
<api
name="Web_Service_Project_API" type="export"
category="friend"
group="java" url="http://wiki.netbeans.org/WebServicesProjectApi">
</api>
</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?Howyoufindoutthatyour projectwassuccessful? </hint> </question>
-->
<answer id="arch-quality">
<p>
Unit tests will be created for this API set covering the SPI and the API portions
</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 Web Service API provides a simple way for discovering web service providers and consumers in a project, irrespective of the
web service stack behind these providers and consumers. Thus, modules that need to discover web service providers and consumers are
the clients of this API. For example, currently, the BPEL, Composite Application and Mobility can use this API to find out what
service providers and consumers are in a project, what type of services these are, or may want to obtain the descriptor for that
web service.
</p>
<p>
A typical use case example will be a BPEL module that wants to discover all SOAP-based web services in a project and in the
process, obtain its descriptor (WSDL in this case). Currently there are three SOAP stacks that are supported in Netbeans: JAXWS,
JAXRPC and Axis. BPEL may not care what particular SOAP stack a service is implemented in. Let us consider a project that has web services that
contain multiple services, each implemented in a different SOAP stack, and also has REST web services. BPEL will use the WebServiceData API
to discover all services in the project, filter out the non-SOAP webservices then obtain the ServiceDescriptor (WSDL) for it to generate
a partner link.
</p>
<p>
Another hypothetical use case is the Composite Application module that wants to display the nodes of all web services of various
stripes (SOAP, REST, Semantic, etc.) in order to include those services in the composite app. Again, this module will use WebServiceData
to introspect the project, get the WebService node and display it in their editor.
</p>
<p>
Still another use case is a module that wants to render a visualization of all the service providers and consumers in the project, and possibly,
to visualize the relationships among these providers and consumers.
</p>
</answer>
<!-- <questionid="arch-what"when="init"> Whatisthisprojectgoodfor? <hint> Pleaseprovidehereafewlinesdescribingtheproject, whatproblemitshouldsolve,providelinkstodocumentation, specifications,etc. </hint> </question>
-->
<answer id="arch-what">
<p>
Netbeans supports a number of web service stacks, JAXWS, JAXRPC, Axis, JAXRS, and possibly more in the future. Currently, the modules that implement these
stack have different ways by which services and clients can be discovered in the project. This API is a uniform way of providing, in a
simple way, the discovery of web service providers and consumers for all these stacks and possibly future ones.
</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>
Yes. The main API class is a final class (not interface) that can be extended easily.
</p>
</answer>
<!-- <questionid="dep-jre"when="final"> WhichversionofJREdoyouneed(1.2,1.3,1.4,etc.)? <hint> Itisexpectedthatifyourmodulerunson1.xthatitwillrun on1.x+1ifno,statethatplease.Alsodescribeherecaseswhere yourundifferentcodeondifferentversionsofJREandwhy. </hint> </question>
-->
<answer id="dep-jre">
<p> 1.5 or later
</p>
</answer>
<!-- <questionid="dep-platform"when="init"> Onwhichplatformsdoesyourmodulerun?Doesitruninthesame wayoneach? <hint> IfyouplananydependencyonOSoranyusageofnativecode, pleasedescribewhyyouaredoingsoanddescribehowyouenvision toenforcetheportabilityofyourcode. Pleasenotethatthereisasupportfor<ahref="http://www.netbeans.org/download/dev/javadoc/org-openide-modules/org/openide/modules/doc-files/api.html#how-os-specific">OSconditionally enabledmodules</a>whichtogetherwithautoload/eagermodules canallowyoutoenabletoprovidethebestOSawaresupport oncertainOSeswhileprovidingcompatibilitybridgeonthenot supportedones. Alsopleaselistthesupported OSes/HWplatformsandmentionedthelovestversionofJDKrequired foryourprojecttorunon.AlsostatewhetherJREisenoughor youreallyneedJDK. </hint> </question>
-->
<answer id="dep-platform">
<p>
All platforms and will run the same on each platform.
</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>
Possibly, the number of web services in the project.
</p>
</answer>
¤ Diese beiden folgenden Angebotsgruppen bietet das Unternehmen0.70Angebot
(Wie Sie bei der Firma Beratungs- und Dienstleistungen beauftragen können 2026-09-27)
¤
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.