PluginClusteringSupport

Plugin Support For Appserver (Clustered mode)

The appserver plugin in Netbeans currently can connect to both PE and EE Appservers. But the runtime tree provides view and management of only DAS.

The user cannot identify if any of the resources/apps are deployed to clusters or standalone instances in a clustered server from the IDE's runtime tree.

This UI spec is a proposal to extend the runtime view to provide some informational/management of the clustered appserver too.

Current behaviour:

  • On registering a clustered server, the IDE (via plugin) always connects to the DAS
  • Deployment always happens to DAS
  • Runtime UI reflects the DAS view of deployed apps/resources
  • No facility to identify if an app/resource is present on additional server instances or clusters

Terminology:

  • Application, Module or Resource (A/M/R) (thanks Vince)

UseCases :

Open Issue : What is the default behaviour by appserver when a project is deployed and there are additional targets already present on the server. Does the server propagate the app to all targets?

  • 1. IDE connected to appserver in clustered mode :
  • Deploy project to appserver
  • Project and associated resources will be deployed on DAS.
  • Invoking Manage Targets action to choose additional targets for deployed app
  • 2. Additional targets (new standalone instances or clusters) are added to the server after initial deployment:
  • The new cluster support provides a mechanism to propagate the app to new targets.

Proposal for Clustering support

  • Registering a clustered server will still result in a connection to the DAS
  • Deployment from IDE is still sent only to the DAS
  • Extending deployment support to allow choosing multiple targets is not feasible as it affects the UI and deployment flow in the current Netbeans project
  • Extend the Runtime tree to provide view and management of clustered server.
  • The Runtime continues to show the same set of nodes.
  • The deployed app/resource will have :
  • The list of instances/clusters that it is deployed on.
  • New Action to undeploy the app/resource from instances/cluster
  • New Action to enable/disable the app/resource from instances/cluster
  • New Action to associate additional instances/clustes with deployed app - Manage Targets Dialog
    • Only present when connected server is a clustered server
    • In the absence of additional targets the runtime tree will remain the same as the PE view, but the action 'Manage Targets' will still be present
    • This will involve a new dialog to list available targets and allow the user to choose one/many. If we decide to do this, the action of undeploying from instances/cluster should be moved to this dialog [PluginClusteringSupport#ManageTargetsOpenIssues Manage Targets Open Issues]
  • The DAS view of the deployed appserver will still be the primary view
  • The DAS instance (server) will not be part of the 'Manage Targets'

Proposed Runtime Views :

Option1

+  Server Registry
    + SJSAS Server 
          + Applications
                + Enterprise Applications
                      + MyApp1          --> Actions : Undeploy, Enable/Disable, Manage Targets, Properties
                          + Instance 1  --> Actions : Undeploy, Enable/Disable                                                              
                          + Instance 2 
                          :
                      + MyApp3
                :
                :

Deploy/Enable/Disable :

  • Invoking these actions on the deployed A/M/R nodes will affect the DAS.
  • Undeploying of app/ Deletion of resource on DAS will remove the component from all targets
  • Invoking these actions on the standalone instances/cluster affects only the chosen target

ManageTargets

+--------------------------------------------------------------------------------------+
| Choose Instance(s)/Cluster(s)                                                        |
+--------------------------+-----------------------------------------------------------+
|                                                                                      |
|   |_Server Instance1             |  <-- list                                         |
|   |_Instance2                    |                                                   |
|   |_Cluster1                     |                                                   |
|                          |                                                           |
|--------------------------+-----------------------------------------------------------|
|                                  | Add| | Cancel | | Help |                          |
+--------------------------+-----------------------------------------------------------+

ManageTargetsOpenIssues :

  • Manage Targets dialog will display only the targets/instances not already associated with the A/M/R
  • Moving undeploy/enable/disable to Manage Targets dialog may make this view very complex. Leaving these actions on the associated target nodes makes it easier to manipulate.
  • If these actions move to the dialog, there is no need to display the targets under the deployed A/M/R nodes
Not logged in. Log in, Register

By use of this website, you agree to the NetBeans Policies and Terms of Use. © 2012, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo