Version 3

    Page outlining some of the use cases surrounding the managability of JBoss AS 5.0

     

    Use Cases:

    An administrator uses a Management Tool to:-

     

    • U1) List the Component which are deployed in the Server

      • a) List the types of Component which are deployed in the Server

      • b) List all the Components of a particular type which are deployed in the Server

    • U2) List the Properties of a Component and their current values

    • U3) Update a Property of a Component

    • U4) See the current state of a Component

    • U5) Add Components to the System

    • U6) Remove Components from the System

    • U7) Stop Components which are currently running in the Server

    • U8) Start Components which are current deployed in the Server but are stopped

     

     

     

    Cross-cutting requirements:

    • C1) Changes to Components should be persistent across Server restarts.

    • C2) Virtually all operations should work whether the Server is running or not. Obviously trying to start a Component will fail if the Server is not running, but updates to properties, should work fine and be picked up when the Server starts up again.

    • C3) Handle concurrent access, e.g. if you call getComponents() with the intention of updating a Component, then somebody else calls update(Component) before you do, then your call should fail with an appropriate exception.

    • C4) When making multiple calls to update the Server we should support basic transaction semantics, e.g. when making two updates, if the second fails the first one should be "rolled back".

     

    Notes:

    These initial uses case should be familiar to anyone who has reviewed http://www.jboss.com/index.html?module=bb&op=viewtopic&t=77898.

    The term Component was used to represent something running/can run within the Server, rather than the terms Service or Deployment which have there own meaning as talked about in the above thread.

    It is envisaged that from the Management Tool perspective a Component could represent any of the following: JMS Queue, DataSource, EJB, EJB Container. Obviously with respect to Components such as an EJB container it won't be possible to "Add" one to the Server, but it should still be possible to configure properties on it that users care about.