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.