You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beehive.apache.org by be...@incubator.apache.org on 2004/09/09 00:40:54 UTC

[Apache Beehive Wiki] New: Jsr181ObjectModel

   Date: 2004-09-08T15:40:54
   Editor: MichaelMerz <mm...@acm.org>
   Wiki: Apache Beehive Wiki
   Page: Jsr181ObjectModel
   URL: http://wiki.apache.org/beehive/Jsr181ObjectModel

   no comment

New Page:

= JSR-181 Object Model =

The implementation separates all aspects of JSR-181 from runtime-specifics such as input and output processing. The implementation of the JSR-181 processor enforces rules, default values, etc. as required by the specification document; however, it does not make any assumptions about any specific runtime. In order to abstract from runtime-specific details, the JSR-181 implementation uses an object model that is closely tied to the specification and that is independent from the target runtime.

Figure 1 shows the object model that is built around three main classes: WebServiceTYPEMetadata, WebServiceMETHODMetadata and WebServicePARAMETERMetadata.

attachment:image001.gif

Figure 1: Jsr181ObjectModel.

These three classes represent the Java objects that can be annotated with the JSR-181 annotations: TYPE, METHOD and PARAMETER. Moreover, these classes model the containment hierarchy that is implied by JSR-181: Web services expose Web methods, Web methods may have Web parameters.

Note that while most annotations in each container are optional (can be "null"), a WebService, annotation must be present in WebServiceTYPEMetadata, a WebMethod in WebServiceMETHODMetadata, and a WebParam in WebServicePARAMETERMetadata.