<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <link href="axis.css" rel=stylesheet type=text/css> <style type="text/css"> small.red { color: red } </style> <title>Axis requirements & status</title> </head> <body> <h1>Requirements</h1> There is a <A href="#nonreq">non-requirements</A> section below. <br> <A href="#releases">Release cycles</A> are explained below. <p> <table border="3" cellspacing="0" cellpadding="3" width="700"> <tbody> <tr valign="top"> <th>No.</th> <th>Description [Priority]</th> <th><br> <br> </th> <td valign="top"><b>status</b> - worker(s)<br> </td> <th>a1</th> <th>a2</th> <th> <P>beta/</P> <P>3.0</P></th> <th>later</th> </tr> <tr valign="top"> <th><br> </th> <th colspan="7"> XML Protocol compliance</th> </tr> <tr valign="top"> <td>10</td> <td> We will diligently track the XP protocol as it evolves, and support it when it's ready. </td> <td><br> <br> </td> <td valign="top">n/a<br> </td> <td><br> </td> <td><br> </td> <td>?</td> <td>? </td> </tr> <tr valign="top"> <th><br> </th> <th colspan="7"> Error and fault handling</th> </tr> <tr valign="top"> <td>20</td> <td> Specify an extensible Java Exception mapping into SOAP faults </td> <td><br> <br> </td> <td valign="top">?<br> </td> <td><br> </td> <td>X</td> <td>X</td> <td><br> </td> </tr> <tr valign="top"> <td>21</td> <td> Specify an extensible SOAP fault mapping into Java exceptions </td> <td><br> <br> </td> <td valign="top">?<br> </td> <td><br> </td> <td>X</td> <td>X</td> <td><br> </td> </tr> <tr valign="top"> <th><br> </th> <th colspan="7"> Service and Operation Identification</th> </tr> <tr valign="top"> <td>30</td> <td> Dispatch by transport URL </td> <td><br> </td> <td valign="top">done<br> </td> <td><br> </td> <td>X</td> <td>X</td> <td><br> </td> </tr> <tr valign="top"> <td>31</td> <td> Dispatch by SOAPAction </td> <td><br> </td> <td valign="top">done<br> </td> <td><br> </td> <td>X</td> <td>X</td> <td><br> </td> </tr> <tr valign="top"> <td>32</td> <td> Dispatch by QName of the first body entry </td> <td><br> </td> <td valign="top">done<br> </td> <td><br> </td> <td><br> </td> <td>X</td> <td><br> </td> </tr> <tr valign="top"> <td>33</td> <td> Dispatch by a custom handler <i>(to use any information available)</i></td> <td><br> </td> <td valign="top">done (can do it already)<br> </td> <td><br> </td> <td>X</td> <td>X</td> <td><br> </td> </tr> <tr valign="top"> <th><br> </th> <th colspan="7"> Message exchange patterns supported at the client API level</th> </tr> <tr valign="top"> <td><br> </td> <td colspan="7"><i>Motivation: we believe the following message exchange patterns are in common use and important to implement (e.g. WSDL uses them)</i></td> </tr> <tr valign="top"> <td>40</td> <td> Synchronous request/response </td> <td><br> </td> <td valign="top">done<br> </td> <td>X</td> <td>X</td> <td>X</td> <td><br> </td> </tr> <tr valign="top"> <td>41</td> <td> One-way messaging </td> <td><br> </td> <td valign="top"><b>NYI</b> - ?<br> </td> <td>X</td> <td>X</td> <td>X</td> <td><br> </td> </tr> <tr valign="top"> <td>42</td> <td> [??] Asynchronous request/response (non-blocking) <i>(the question marks mean we don't know whether to provide this)</i></td> <td><br> <br> </td> <td valign="top"><b>NYI - </b>?<br> </td> <td><br> </td> <td><br> </td> <td><br> </td> <td><br> </td> </tr> <tr valign="top"> <th><br> </th> <th colspan="7"> SOAP 1.1 compliance</th> </tr> <tr valign="top"> <td>50</td> <td> All aspects of SOAP 1.1 supported by Apache SOAP 2.x </td> <td><br> <br> </td> <td valign="top">what is missing?<br> (actor, full sec-5) </td> <td><br> </td> <td><br> </td> <td>X</td> <td><br> </td> </tr> <tr valign="top"> <td>51</td> <td>Support intermediaries</td> <td><br> <br> </td> <td valign="top"><b>NYI</b> - RobJ<br> <br> </td> <td><br> </td> <td><br> </td> <td>?</td> <td>? </td> </tr> <tr valign="top"> <td>52</td> <td> Transparency should be provided when we place intermediaries (hosts) between requestor and provider (creating a proxy server) </td> <td><br> <br> </td> <td valign="top"><b>NYI</b> - RobJ<br> </td> <td><br> </td> <td><br> </td> <td>?</td> <td>? </td> </tr> <tr valign="top"> <td>53</td> <td> Support the SOAP concept of mustUnderstand headers </td> <td><br> </td> <td valign="top">done<br> </td> <td><br> </td> <td>X</td> <td>X</td> <td><br> </td> </tr> <tr valign="top"> <td>54</td> <td> Support the SOAP actor header attributes </td> <td><br> </td> <td valign="top"><STRONG>NYI - Glen</STRONG><br> </td> <td><br> </td> <td>X</td> <td>X</td> <td><br> </td> </tr> <tr valign="top"> <th><br> </th> <th colspan="7"> Performance</th> </tr> <tr valign="top"> <td>60</td> <td> The architecture must not require the whole message to be in memory at the same time </td> <td><br> <br> </td> <td valign="top">not for 1.0 - no incremental 1.0 parse; architecture still allows this, later<br> <br> </td> <td>X</td> <td>X</td> <td>X</td> <td><br> </td> </tr> <tr valign="top"> <td>61</td> <td> Scalable </td> <td><br> </td> <td valign="top">? - Sam<br> </td> <td><br> </td> <td><br> </td> <td>X</td> <td><br> </td> </tr> <tr valign="top"> <td>62</td> <td> Faster than Apache SOAP 2.x </td> <td><br> </td> <td valign="top">done!<br> </td> <td><br> </td> <td><br> </td> <td>X</td> <td><br> </td> </tr> <tr valign="top"> <td>63</td> <td> Must not be significantly slower than comparable alternative implementations </td> <td><br> <br> </td> <td valign="top">done?<br> </td> <td><br> </td> <td><br> </td> <td>X</td> <td><br> </td> </tr> <tr valign="top"> <th><br> </th> <th colspan="7"> Administration and monitoring</th> </tr> <tr valign="top"> <td>70</td> <td> Logging API </td> <td><br> </td> <td valign="top"><b>NYI (all)</b> </td> <td>X</td> <td>X</td> <td>X</td> <td><br> </td> </tr> <tr valign="top"> <td>71</td> <td> Metrics API </td> <td><br> </td> <td valign="top"><b>NYI</b> - ?<br> </td> <td><br> </td> <td><br> </td> <td>X</td> <td><br> </td> </tr> <tr valign="top"> <td>72</td> <td> Management (JMX) API </td> <td><br> </td> <td valign="top"><b>n/a?</b> </td> <td><br> </td> <td><br> </td> <td>?</td> <td>? </td> </tr> <tr valign="top"> <td>73</td> <td> Run-time (un)deployment API </td> <td><br> </td> <td valign="top"><b>NYI</b> - ?<br> </td> <td><br> </td> <td><br> </td> <td>X</td> <td><br> </td> </tr> <tr valign="top"> <th><br> </th> <th colspan="7"> Deployment</th> </tr> <tr valign="top"> <td>80</td> <td> Installation and deployment of both the engine, components, and services should be simple </td> <td><br> <br> </td> <td valign="top">done! (what more?)<br> </td> <td><br> </td> <td><br> </td> <td>X</td> <td><br> </td> </tr> <tr valign="top"> <td>81</td> <td> Support a WebServiceArchive format which associates the executable and the description files </td> <td><br> <br> </td> <td valign="top">NYI (does JWS count?) - ?<br> </td> <td><br> </td> <td><br> </td> <td>X</td> <td><br> </td> </tr> <tr valign="top"> <td>82</td> <td> Support .asmx-like drop-in service deployment </td> <td><br> </td> <td valign="top">done - this is JWS<br> </td> <td><br> </td> <td><br> </td> <td>?</td> <td>? </td> </tr> <tr valign="top"> <td>83</td> <td> A single SUPER TINY .jar file must be enough for a client to communicate via SOAP </td> <td><br> <br> </td> <td valign="top"><b>NYI</b> - what is best way to build it?<br> </td> <td>X</td> <td>X</td> <td>X</td> <td><br> </td> </tr> <tr valign="top"> <td>84</td> <td> Defaults packaged with both client and server must be sane, secure and ready to go </td> <td><br> <br> </td> <td valign="top"><b>NYI</b> but getting there!<br> </td> <td><br> </td> <td><br> </td> <td>X</td> <td><br> </td> </tr> <tr valign="top"> <td>85</td> <td> Intermediaries (hosts) should be easy to configure </td> <td><br> <br> </td> <td valign="top"><b>NYI</b> - RobJ<br> </td> <td><br> </td> <td><br> </td> <td>?</td> <td>? </td> </tr> <tr> <td valign="top">86<br> </td> <td valign="top">WSDD implementation<br> </td> <td valign="top"><br> </td> <td valign="top"><b>NYI</b> - Carl W / Glen </td> <td valign="top"><br> </td> <td valign="top"><br> </td> <td valign="top">?<br> </td> <td valign="top"><br> </td> </tr> <tr valign="top"> <th><br> </th> <th colspan="7"> Providers</th> </tr> <tr valign="top"> <td>90</td> <td> Pluggable provider API </td> <td><br> </td> <td valign="top"><b>done? (handler API)</b> </td> <td>X</td> <td>X</td> <td>X</td> <td><br> </td> </tr> <tr valign="top"> <td>91</td> <td> Java provider </td> <td><br> </td> <td valign="top">done?<br> </td> <td>X</td> <td>X</td> <td>X</td> <td><br> </td> </tr> <tr valign="top"> <td>92</td> <td> BSF provider </td> <td><br> </td> <td valign="top"><b>NYI -</b>?<br> </td> <td><br> </td> <td><br> </td> <td>X</td> <td><br> </td> </tr> <tr valign="top"> <td>93</td> <td> EJB provider </td> <td><br> </td> <td valign="top"><b>NYI - </b>?<br> </td> <td><br> </td> <td><br> </td> <td>?</td> <td>? </td> </tr> <tr valign="top"> <td>94</td> <td> COM provider </td> <td><br> <br> </td> <td valign="top"><b>NYI</b> - ?<br> </td> <td><br> </td> <td><br> </td> <td>?</td> <td>? </td> </tr> <tr> <td valign="top">95new<br> </td> <td valign="top">App server provider / connectivity layer<b> [High]</b><br> </td> <td valign="top"><br> </td> <td valign="top"><b>NYI</b> - Glen?<br> </td> <td valign="top"><br> </td> <td valign="top"><br> </td> <td valign="top">X<br> </td> <td valign="top"><br> </td> </tr> <tr valign="top"> <th><br> </th> <th colspan="7"> Pluggable XML protocol support</th> </tr> <tr valign="top"> <td>100</td> <td> SOAP 1.1 </td> <td><br> </td> <td valign="top">done<br> </td> <td>X</td> <td>X</td> <td>X</td> <td><br> </td> </tr> <tr valign="top"> <td>101</td> <td> SOAP 1.2 </td> <td><br> <br> </td> <td valign="top"><STRONG>Partial -</STRONG> doesn't yet do envelope versioning or namespaces </td> <td><br> </td> <td><br> </td> <td>?</td> <td>? </td> </tr> <tr valign="top"> <td>102</td> <td> Must not name general classes as SOAPWhateverDoer </td> <td><br> <br> </td> <td valign="top">done<br> </td> <td>X</td> <td>X</td> <td>X</td> <td><br> </td> </tr> <tr valign="top"> <td>103</td> <td> Simultaneous support for multiple message protocols </td> <td><br> <br> </td> <td valign="top">NYI<br> </td> <td><br> </td> <td><br> </td> <td><br> </td> <td>X </td> </tr> <tr valign="top"> <th><br> </th> <th colspan="7"> Message processing</th> </tr> <tr valign="top"> <td>110</td> <td> Support a flexible and extensible system allowing message handlers (extensions, applications) to build up orthogonal pieces of a message </td> <td><br> <br> </td> <td valign="top">done<br> </td> <td>X</td> <td>X</td> <td>X</td> <td><br> </td> </tr> <tr valign="top"> <td>111</td> <td> Handler invocation order is always deterministic for a given server configuration and message </td> <td><br> <br> </td> <td valign="top">done<br> </td> <td>X</td> <td>X</td> <td>X</td> <td><br> </td> </tr> <tr valign="top"> <td>112</td> <td> Some information should be shared between all the handlers in the "chain" on one host - MessageContext </td> <td><br> <br> </td> <td valign="top">done<br> </td> <td>X</td> <td>X</td> <td>X</td> <td><br> </td> </tr> <tr valign="top"> <td>112a</td> <td> Have the ability to specify application-specific parameters (like username or other thing) in the context </td> <td><br> <br> </td> <td valign="top">done<br> </td> <td>X</td> <td>X</td> <td>X</td> <td><br> </td> </tr> <tr valign="top"> <td>112b</td> <td> Some encapsulation of the idea of a session that's transport-independent (cookies in the HTTPRequest/HTTPResponse for http) </td> <td><br> <br> </td> <td valign="top"> done<br> </td> <td><br> </td> <td><br> </td> <td>X</td> <td><br> </td> </tr> <tr valign="top"> <td>112b.1</td> <td> An example/sample for a SOAP session header/handler/supplier </td> <td><br> <br> </td> <td valign="top"><b>NYI</b> - RobJ<br> </td> <td><br> </td> <td><br> </td> <td>?</td> <td>? </td> </tr> <tr valign="top"> <td>112b.2</td> <td> Client code needs to support this as well - need to pass session back across if necessary... </td> <td><br> <br> </td> <td valign="top"><b>NYI</b> - RobJ<br> </td> <td><br> </td> <td><br> </td> <td>X</td> <td><br> </td> </tr> <tr valign="top"> <td>113</td> <td> Handlers need to be allowed to reach raw message data </td> <td><br> <br> </td> <td valign="top">done<br> </td> <td>X</td> <td>X</td> <td>X</td> <td><br> </td> </tr> <tr valign="top"> <th><br> </th> <th colspan="7"> Transport</th> </tr> <tr valign="top"> <td>120</td> <td> Pluggable transport API </td> <td><br> </td> <td valign="top">done - needs doc! </td> <td>X</td> <td>X</td> <td>X</td> <td><br> </td> </tr> <tr valign="top"> <td>121</td> <td> HTTP listener and sender </td> <td><br> </td> <td valign="top">done<br> </td> <td>X</td> <td>X</td> <td>X</td> <td><br> </td> </tr> <tr valign="top"> <td>122</td> <td> HTTPS listener and sender </td> <td><br> <br> </td> <td valign="top"><b>NYI</b> - ?<br> </td> <td><br> </td> <td><br> </td> <td>X</td> <td><br> </td> </tr> <tr valign="top"> <td>123</td> <td> SMTP sender </td> <td><br> <br> </td> <td valign="top"><b>NYI</b> - ?<br> </td> <td><br> </td> <td><br> </td> <td>X</td> <td><br> </td> </tr> <tr valign="top"> <td>124</td> <td> POP3 poller </td> <td><br> <br> </td> <td valign="top"><b>NYI</b> - ?<br> </td> <td><br> </td> <td><br> </td> <td>X</td> <td><br> </td> </tr> <tr valign="top"> <td>125</td> <td> JMS listener and sender </td> <td><br> <br> </td> <td valign="top"><b>NYI</b> - ?<br> </td> <td><br> </td> <td><br> </td> <td>?</td> <td>? </td> </tr> <tr valign="top"> <td>126</td> <td>Support for "SOAP messages with attachments"<b>[High]</b> </td> <td><br> <br> </td> <td valign="top"><b>NYI</b> - Glen / RobJ<br> </td> <td><br> <br> </td> <td>X<br> </td> <td>X</td> <td><br> </td> </tr> <tr valign="top"> <td>127</td> <td> The transport can insert arbitrary transport-specific stuff into the Context </td> <td><br> <br> </td> <td valign="top">done<br> </td> <td>X</td> <td>X</td> <td>X</td> <td><br> </td> </tr> <tr valign="top"> <td>128</td> <td> The transport-specific stuff should be encapsulated, most of the engine should work on a canonical form of the message </td> <td><br> <br> </td> <td valign="top">done<br> </td> <td>X</td> <td>X</td> <td>X</td> <td><br> </td> </tr> <tr valign="top"> <th><br> </th> <th colspan="7"> Security</th> </tr> <tr valign="top"> <td>130</td> <td> Support transport-level security<b> [High]</b></td> <td><br> </td> <td valign="top"><b>NY</b><b>I</b> - per-transport issue?<br> </td> <td><br> </td> <td><br> </td> <td>X</td> <td><br> </td> </tr> <tr> <td valign="top">130b<br> </td> <td valign="top">Support SOAP-level security<b> [High]</b><br> </td> <td valign="top"><br> <br> </td> <td valign="top">what, specifically? - Yuhichi?<br> </td> <td valign="top"><br> <br> </td> <td valign="top"><br> <br> </td> <td valign="top"><br> <br> </td> <td valign="top"><br> <br> </td> </tr> <tr valign="top"> <td>131</td> <td> HTTP Basic auth </td> <td><br> </td> <td valign="top">done?<br> </td> <td><br> </td> <td><br> </td> <td>X</td> <td><br> </td> </tr> <tr valign="top"> <td>132</td> <td> Support for existing security SOAP-level standards </td> <td><br> </td> <td valign="top">what, specifically?<br> </td> <td><br> </td> <td><br> </td> <td>?</td> <td>? </td> </tr> <tr valign="top"> <td>133</td> <td> An example/sample for a SOAP Basic Authentication header/handler </td> <td><br> </td> <td valign="top">done?<br> </td> <td><br> </td> <td><br> </td> <td>?</td> <td>? </td> </tr> <tr valign="top"> <th><br> </th> <th colspan="7"> Service Description and Discovery (for instance, WSDL, DISCO)</th> </tr> <tr valign="top"> <td>140</td> <td> Support the ability to query a service's description at runtime (e.g. GET ...?wsdl) </td> <td><br> <br> </td> <td valign="top"><b>NYI</b> - Jim's contribution? or is this something simpler?<br> </td> <td><br> </td> <td>X</td> <td>X</td> <td><br> </td> </tr> <tr valign="top"> <td>140a</td> <td> If deployment params have altered the service description, the updated version must be returned </td> <td><br> <br> </td> <td valign="top"><b>NYI</b>?<br> </td> <td><br> </td> <td><br> </td> <td>X</td> <td><br> </td> </tr> <tr valign="top"> <td>141</td> <td> Support a basic html page describing the service (via an HTTP GET) </td> <td><br> <br> </td> <td valign="top"><b>NYI</b> - James? Doug?<br> </td> <td><br> </td> <td>X</td> <td>X</td> <td><br> </td> </tr> <tr valign="top"> <td>142</td> <td> Support a pretty html page describing the service (via an HTTP GET) </td> <td><br> <br> </td> <td valign="top"><b>NYI - </b>James? Doug?</td> <td><br> </td> <td><br> </td> <td><br> </td> <td>X </td> </tr> <tr valign="top"> <td>143</td> <td> Services can be deployed and used without service descriptions </td> <td><br> <br> </td> <td valign="top">done<br> </td> <td>X</td> <td>X</td> <td>X</td> <td><br> </td> </tr> <tr valign="top"> <td>144</td> <td> Should abstract the SD layer, at least by keeping the interfaces clean<b> [High]</b> </td> <td><br> <br> </td> <td valign="top">?<br> </td> <td><br> </td> <td><br> </td> <td>X</td> <td><br> </td> </tr> <tr valign="top"> <td>144a</td> <td> The abstract SD layer must support run-time determination of xsi:types of parts of the message </td> <td><br> <br> </td> <td valign="top"><b>NYI?</b> - Sam?<br> </td> <td><br> </td> <td>X</td> <td>X</td> <td><br> </td> </tr> <tr valign="top"> <td>144b</td> <td> Include a WSDL implementation of the SD layer<b> [High]</b> </td> <td><br> <br> </td> <td valign="top"><b>NYI</b> - Lance & HP contribution?<br> </td> <td><br> </td> <td>X</td> <td>X</td> <td><br> </td> </tr> <tr valign="top"> <td>144c</td> <td> Extend WSDL with information on where to get components for stuff </td> <td><br> <br> </td> <td valign="top"><b>NYI</b> - James?<br> </td> <td><br> </td> <td><br> </td> <td><br> </td> <td>X </td> </tr> <tr valign="top"> <td>144d</td> <td> Tools and/or run-time support for proxy generation from WSDL and/or WSDD </td> <td><br> <br> </td> <td valign="top"><b>NYI</b> - Lance & HP?<br> </td> <td><br> </td> <td><br> </td> <td><br> </td> <td>X </td> </tr> <tr valign="top"> <td>145</td> <td> HTTP GET on the Axis node returns an appropriate DISCO document </td> <td><br> <br> </td> <td valign="top"><b>NYI</b> - ?<br> </td> <td><br> </td> <td><br> </td> <td><br> </td> <td>X </td> </tr> <tr valign="top"> <th><br> </th> <th colspan="7"> Platforms</th> </tr> <tr valign="top"> <td>150</td> <td> Java implementation </td> <td><br> </td> <td valign="top">underway :-)<br> </td> <td>X</td> <td>X</td> <td>X</td> <td><br> </td> </tr> <tr valign="top"> <td>151</td> <td> C++ implementation </td> <td><br> </td> <td valign="top">n/a for 1.0<br> </td> <td><br> </td> <td><br> </td> <td><br> </td> <td>X </td> </tr> <tr valign="top"> <td>151a</td> <td> C++ impl core should be cross platform with platform-specific extensions (like COM) </td> <td><br> <br> </td> <td valign="top">n/a for 1.0<br> </td> <td><br> </td> <td><br> </td> <td><br> </td> <td>X </td> </tr> <tr valign="top"> <td>152</td> <td> All implementations should have as much in common as possible </td> <td><br> <br> </td> <td valign="top">n/a for 1.0<br> </td> <td>X</td> <td>X</td> <td>X</td> <td><br> </td> </tr> <tr valign="top"> <td>153</td> <td> Use standard APIs wherever possible </td> <td><br> </td> <td valign="top">done<br> </td> <td>X</td> <td>X</td> <td>X</td> <td><br> </td> </tr> <tr valign="top"> <th><br> </th> <th colspan="7"> Data Encoding</th> </tr> <tr valign="top"> <td>160</td> <td> Extensible support for encodings </td> <td><br> </td> <td valign="top">NYI<br> </td> <td><br> </td> <td>X</td> <td>X</td> <td><br> </td> </tr> <tr valign="top"> <td>161</td> <td> Implement basic SOAP encoding (the level of current Apache SOAP 2.x) </td> <td><br> </td> <td valign="top">done<br> </td> <td>X</td> <td>X</td> <td>X</td> <td><br> </td> </tr> <tr valign="top"> <td>162</td> <td> Support for sparse and partially-transmitted arrays </td> <td><br> </td> <td valign="top">NYI<br> </td> <td><br> </td> <td>X<br> </td> <td>X</td> <td> </td> </tr> <tr valign="top"> <td>163</td> <td> Support for multidimensional arrays </td> <td><br> </td> <td valign="top">NYI<br> </td> <td><br> </td> <td><br> </td> <td><br> </td> <td>X </td> </tr> <tr valign="top"> <td>164</td> <td> Support literal XML encoding </td> <td><br> </td> <td valign="top">NYI<br> </td> <td><br> </td> <td>X<br> </td> <td>X</td> <td><br> </td> </tr> <tr valign="top"> <td>165</td> <td> It should be relatively easy to write a "Serializer" </td> <td><br> </td> <td valign="top">done (depending on feedback from users)<br> </td> <td><br> </td> <td>X</td> <td>X</td> <td><br> </td> </tr> <tr valign="top"> <td>166</td> <td> Include some general (de)serializers (that handle multiple types), so that there needn't exist a (de)serializer for every type that could possibly travel over the wire (needs further discussion - isomorphism (roundtrip) issues) </td> <td><br> <br> </td> <td valign="top">Is this the beanserializer / basicDeserializer, or something else?<br> </td> <td><br> </td> <td><br> </td> <td>?</td> <td>? </td> </tr> <tr valign="top"> <td>167</td> <td> (De)serialization may occur at any time on demand </td> <td><br> </td> <td valign="top">done<br> </td> <td>X</td> <td>X</td> <td>X</td> <td><br> </td> </tr> <tr valign="top"> <td>168</td> <td> (De)serialization should be available to the application </td> <td><br> </td> <td valign="top">done<br> </td> <td><br> </td> <td><br> </td> <td>X</td> <td><br> </td> </tr> <tr valign="top"> <th><br> </th> <th colspan="7"> Release</th> </tr> <tr valign="top"> <td><br> </td> <td colspan="7"><i>Although these are a 1.0 requirements, significant progress must be made on these items during interim releases.</i></td> </tr> <tr valign="top"> <td>170</td> <td> Product-level code </td> <td><br> </td> <td valign="top">getting there....<br> </td> <td><br> </td> <td><br> </td> <td>X</td> <td><br> </td> </tr> <tr valign="top"> <td>171</td> <td> Product-level docs<b> [High]</b> </td> <td><br> </td> <td valign="top"><b>NYI</b> - ?<br> </td> <td><br> </td> <td><br> </td> <td>X</td> <td><br> </td> </tr> <tr valign="top"> <td>172</td> <td> Product-level examples </td> <td><br> </td> <td valign="top"><b>NYI</b> but getting there - everyone<br> </td> <td><br> </td> <td><br> </td> <td>X</td> <td><br> </td> </tr> <tr valign="top"> <td>173</td> <td> Product-level performance </td> <td><br> </td> <td valign="top"><b>NYI</b> - Sam? </td> <td><br> </td> <td><br> </td> <td>X</td> <td><br> </td> </tr> <tr valign="top"> <td>174</td> <td> Product-level testing </td> <td><br> </td> <td valign="top">getting there, with functional & unit tests<br> </td> <td><br> </td> <td><br> </td> <td>X</td> <td><br> </td> </tr> <tr valign="top"> <th><br> </th> <th colspan="7"> Migration from Apache SOAP 2.x</th> </tr> <tr valign="top"> <td>180</td> <td> Documentation </td> <td><br> </td> <td valign="top"><b>NYI - </b>?<br> </td> <td><br> </td> <td>X</td> <td>X</td> <td><br> </td> </tr> <tr valign="top"> <td>181</td> <td> The legacy Call object </td> <td><br> </td> <td valign="top"><b>NYI</b> - ?<br> </td> <td><br> </td> <td><br> </td> <td>X</td> <td><br> </td> </tr> <tr valign="top"> <td>182</td> <td> Serialization, custom serializers - maybe wrappers </td> <td><br> </td> <td valign="top"><b>NYI</b> - ?<br> </td> <td><br> </td> <td><br> </td> <td>?</td> <td>? </td> </tr> <tr valign="top"> <td>183</td> <td> Support for legacy messaging services </td> <td><br> </td> <td valign="top"><b>NYI</b> - which?<br> <br> </td> <td><br> </td> <td><br> </td> <td>X</td> <td><br> </td> </tr> <tr valign="top"> <td>184</td> <td> Support for legacy providers <b>[Medium]</b> </td> <td><br> </td> <td valign="top"><b>NYI</b> - ?<br> </td> <td><br> </td> <td><br> </td> <td><br> </td> <td>X </td> </tr> <tr> <td valign="top">185new<br> </td> <td valign="top">Support for legacy deployment<br> </td> <td valign="top"><br> <br> </td> <td valign="top"><b>NYI</b> - James?<br> </td> <td valign="top"><br> <br> </td> <td valign="top"><br> <br> </td> <td valign="top">X<br> <br> </td> <td valign="top"><br> <br> </td> </tr> <tr valign="top"> <th><br> </th> <th colspan="7"> Coding</th> </tr> <tr valign="top"> <td>190</td> <td>Follow the <a href="http://java.sun.com/docs/codeconv/html/CodeConvTOC.doc.html"> Java Coding Style</a> with <b>no</b> tab characters. </td> <td><br> </td> <td valign="top">done<br> </td> <td>X</td> <td>X</td> <td>X</td> <td><br> </td> </tr> <tr valign="top"> <td>191</td> <td>Use javadoc style to document all non-private methods in commits. </td> <td><br> <br> </td> <td valign="top">could be more...<br> </td> <td>X</td> <td>X</td> <td>X</td> <td><br> </td> </tr> <tr valign="top"> <td>192</td> <td> Document packages. </td> <td><br> <br> </td> <td valign="top">could be MUCH more...<br> </td> <td><br> </td> <td><br> </td> <td>X</td> <td><br> </td> </tr> <tr valign="top"> <td>193</td> <td>Committing a new package, at least place in a placeholder for the package doc that says "this is to be done". </td> <td><br> <br> </td> <td valign="top"><b>NYI</b> - everyone!!!<br> </td> <td>X</td> <td>X</td> <td>X</td> <td><br> </td> </tr> </tbody> </table> <a name="nonreq"></a></p> <h1>Non-requirements (won't be supported)</h1> <br> <i>We find the SOAP spec. to be unclear on these issues so we decided not to support them.</i> <ol> <li> RPC calls in SOAP headers <li> Multiple RPC calls in a single SOAP message </li> </ol> <p><a name="releases"></a></p> <h1>Releases and test cycles</h1>We're planning on releasing alpha1 (a1), alpha2 (a2), beta, and 3.0.<br> alpha is a preview.<br> subsequent alphas are to show the growing set of features and docs and test cases and all that.<br> Beta is functionally complete. </body> </html>