| <!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><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 |
| config values and/or import config values. 3) User has to provide many configvalues, 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 specifiying details of function needed for end-user use cases, but |
| will always have a unit test associated with it. Also, we'll specfiy "service provider" |
| use cases which can be used to defind 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 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">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 sxcript 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 behaviour</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 behaviour 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> |