| <!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en"> |
| <html><head> |
| <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> |
| |
| <link rel="stylesheet" href="http://www.eclipse.org/default_style.css" type="text/css"> |
| </head> |
| |
| |
| |
| <body alink="#ff0000" bgcolor="#ffffff" link="#0000ee" text="#000000" vlink="#551a8b"> |
| |
| <table border="0" cellpadding="2" cellspacing="5" width="100%"> |
| |
| <tbody><tr> |
| |
| <TD WIDTH=60%> |
| <P ALIGN=LEFT><B><FONT SIZE=6><FONT FACE="Verdana, Arial, Helvetica, sans-serif">Server Tools Use Cases</FONT></FONT></B><BR><FONT SIZE=1><FONT FACE="Arial, Helvetica, sans-serif"><FONT COLOR="#8080ff">the |
| Server Tools Use Cases</FONT></FONT></FONT> |
| </P> |
| </TD> |
| |
| |
| <font class="indexsub"> </font></td> |
| |
| <!-- <td width="19%" rowspan="2"><img src="images/Idea.jpg" height=86 width=120></td> --> |
| |
| <td rowspan="2" width="19%"><img src="http://www.eclipse.org/images/Idea.jpg" border="0" height="86" width="120"></td> |
| |
| </tr> |
| |
| |
| </tbody></table> |
| |
| <table border="0" cellpadding="2" cellspacing="5" width="100%"> |
| |
| <tbody><tr> |
| |
| <td colspan="2" align="left" bgcolor="#0080c0" valign="top"><b><font color="#ffffff" face="Arial,Helvetica">Principles</font></b></td> |
| |
| </tr> |
| <tr> |
| <td> |
| <p>The purpose of this document is to list explicit use cases for the server tools component. These uses cases can be used to both help guide design (to make sure minimal API is sufficient to support these listed, and only these listed, use cases) and to help guide testing (both unit tests, and milestone/release testing).</p> |
| <P><B>Principle:</B> We'll consider starting point naive end users who |
| know nothing of servers, and they don't care, just want one installed |
| installed so they can focus on their web development. We'll consider |
| three levels: 1) User does near nothing, 2) user doesn't do much, but |
| may have to provide some configuration values and/or import |
| configuration values. 3) User has to provide many configuration |
| values, and in the worst cases, actually write ant scripts.</P> |
| <p><b>Principle:</b> In addition to "end user" use cases, |
| we'll specify "client code" uses-case that may |
| simply be specifying details of function needed for end-user use cases, but |
| will always have a unit test associated with it. Also, we'll specify "service provider" |
| use cases which can be used to define SPI's. </p> |
| </td> |
| </tr> |
| <tr> |
| |
| <td colspan="2" align="left" bgcolor="#0080c0" valign="top"><b><font color="#ffffff" face="Arial,Helvetica">Use Cases</font></b></td> |
| |
| </tr> |
| <tr> |
| <td> |
| <table width="95%" border="1" cellpadding="1" cellspacing="1"> |
| <tbody> |
| <tr> |
| <th style="width: 108px">Name</th> |
| <th style="width: 60px">Priority</th> |
| <th style="width: 78px">User</th> |
| <th style="width: 360px">Description</th> |
| </tr> |
| <tr> |
| <td style="width: 108px">Install a Server</td> |
| <td style="width: 60px">2</td> |
| <td style="width: 78px">End-user</td> |
| <td style="width: 360px">From an update site, user can install a |
| server (using Eclipse standard update manager functions).</td> |
| </tr> |
| <tr> |
| <td style="width: 108px">Configure a Jakarta-tomcat</td> |
| <td style="width: 60px">1</td> |
| <td style="width: 78px">End-User</td> |
| <td style="width: 360px">Given a Jakarta-tomcat server (V5) installed |
| on local file system, user can "install" a server to WTP by |
| selecting from a list of available server adapters, selecting the one |
| for Jakarta-tomcat server, and specifying location of server's |
| install directory. |
| <table border="1"> |
| <tbody> |
| <tr> |
| <td>Variant 1</td> |
| <td style="width: 277px">JBoss Server instead</td> |
| </tr> |
| </tbody> |
| </table> |
| </td> |
| </tr> |
| <tr> |
| <td style="width: 108px">get list of server adapters</td> |
| <td style="width: 60px">1</td> |
| <td style="width: 78px">client programs (unit test)</td> |
| <td style="width: 360px">programmatically get list of known |
| Jakarta-tomcat servers adapters and their associated information |
| (name, version, whether installed or not, etc)</td> |
| </tr> |
| <tr> |
| <td style="width: 108px">run on J2EE server</td> |
| <td style="width: 60px">1</td> |
| <td style="width: 78px">End-user</td> |
| <td style="width: 360px">user can select a JSP and "run on |
| server", meaning it will be displayed in Eclipse web browser. |
| <table border="1"> |
| <tbody> |
| <tr> |
| <td style="width: 66px">Variant 1</td> |
| <td style="width: 348px">If no more than one installed, the user |
| will not get list to select from</td> |
| </tr> |
| </tbody> |
| </table> |
| <table border="1"> |
| <tbody> |
| <tr> |
| <td style="width: 69px">Variant 2</td> |
| <td style="width: 345px">If none installed, the user will be given |
| a chance to select and install one (see Install a Server)</td> |
| </tr> |
| </tbody> |
| </table> |
| <table border="1"> |
| <tbody> |
| <tr> |
| <td style="width: 65px">Variant 3</td> |
| <td style="width: 349px">If more than one installed, user given |
| the list</td> |
| </tr> |
| </tbody> |
| </table> |
| </td> |
| </tr> |
| <TR> |
| <TD style="width: 108px">run on HTTP server</TD> |
| <TD style="width: 60px">1</TD> |
| <TD style="width: 78px">End-user</TD> |
| <TD style="width: 360px">User can select an HTML file, and "run on server". This use case can be performed with WST only. (This use case has not gotten a lot of discussion, but support for "static projects" is mentioned in WTP/WST vision statement, and is a good case to make sure the architecture and design is correct). </TD> |
| </TR> |
| <tr> |
| <td style="width: 108px">get list of installed servers</td> |
| <td style="width: 60px">1</td> |
| <td style="width: 78px">client programs (unit test)</td> |
| <td style="width: 360px">programmatically get list of installed |
| servers and their associated information (name, etc)</td> |
| </tr> |
| <tr> |
| <td style="width: 108px">import/export server configuration</td> |
| <td style="width: 60px">2</td> |
| <td style="width: 78px">client programs</td> |
| <td style="width: 360px">Can import or export server configuration |
| files, such as to give to another member of team. This file may best |
| be in XML format.</td> |
| </tr> |
| <tr> |
| <td style="width: 108px">Server Providers can provide discoverable adapter</td> |
| <td style="width: 60px">1</td> |
| <td style="width: 78px">Service Providers</td> |
| <td style="width: 360px">The information needed to be listed as potential server adapter can be found completely in plugin.xml (not Java code, which would require activation of plugin). </td> |
| </tr> |
| <tr> |
| <td style="width: 108px">Export ANT build scripts for modules</td> |
| <td style="width: 60px">1</td> |
| <td style="width: 78px">End-User</td> |
| <td style="width: 360px">User exports ANT build script that compiles and packages a module in for use outside the Eclipse, possibly for automated builds. </td> |
| </tr> |
| <tr> |
| <td style="width: 108px">Drag a module/artifact to a server to publish it</td> |
| <td style="width: 60px">3</td> |
| <td style="width: 78px">End-User</td> |
| <td style="width: 360px">Users drags a module or a artifact in it into a server, which would mean the same action as "Run on Server" .</td> |
| </tr> |
| <tr> |
| <td style="width: 108px">Provide classloader behavior</td> |
| <td style="width: 60px">1</td> |
| <td style="width: 78px">client programs</td> |
| <td style="width: 360px">A client, a jsp/ejb compiler for example, learns the classloader behavior to mimic the server runtime environment</td> |
| </tr> |
| <tr> |
| <td style="width: 108px">Adapt to existing project/module layout<i>(I am not sure, this is may be a use case for project layout)</i></td> |
| <td style="width: 60px">1</td> |
| <td style="width: 78px">End-User</td> |
| <td style="width: 360px">User describes the current project layout even if it is not a known layout of any kind. </td> |
| </tr> |
| </tbody> |
| </table> |
| </td> |
| </tr> |
| </tbody></table> |
| |
| |
| </body></html> |