Network Deployment (Distributed operating systems), v8.0 > Scripting the application serving environment (wsadmin) > Administer applications using wsadmin.sh


Set up business-level applications using wsadmin.sh

We can create an empty business-level application, and then add assets, shared libraries, or business-level applications as composition units to the empty business-level application.

Before you can create a business-level application, determine the assets or other files to add to the application.

Also, verify that the target application server is configured. As part of configuring the server, determine whether the application files can run on your deployment targets. We can use wsadmin.sh to create business-level applications in the environment. This topic demonstrates how to use the AdminTask object to import and register assets, create empty business-level applications, and add assets to the business-level application as composition units. Alternatively, you can use the scripts in the AdminBLA script library to set up and administer business-level applications.


Procedure

  1. Start wsadmin.sh.
  2. Import assets to the configuration.

    Assets represent application binaries that contain business logic that runs on the target runtime environment and serves client requests. An asset can contain an archive of files such as a compressed (zip) or JAR file, or an archive of archive files such as a Java EE enterprise archive (EAR) file. Examples of assets include EAR files, shared library JAR files, and custom advisors for proxy servers.

    Use the importAsset command to import assets to the application server configuration repository. See the documentation for the BLAManagement command group for the AdminTask object for additional parameter and step options.

    For this example, the commands add three assets to the asset repository. Two of the assets are non-Java EE assets and one is an enterprise asset. The following command imports the asset1.zip asset to the asset repository and sets the returned configuration ID to the asset1 variable:

    (Windows)

    asset1 = AdminTask.importAsset('-source c:/ears/asset1.zip')
    

    (Solaris) (AIX)

    asset1 = AdminTask.importAsset('-source /ears/asset1.zip')
    

    The following command imports the asset2.zip asset metadata only, sets the asset name as testAsset.zip, sets the deployment directory, specifies that the asset is used for testing, and sets the returned configuration ID to the testasset variable:

    (Windows)

    testasset = AdminTask.importAsset('-source c:/ears/asset2.zip -storageType METADATA
     –AssetOptions [[.* testAsset.zip .* "asset for testing"
          c:/installedAssets/testAsset.zip/BASE/testAsset.zip "" "" "" false]]')
    

    (Solaris) (AIX)

    testasset = AdminTask.importAsset('-source /ears/asset2.zip -storageType METADATA
     –AssetOptions [[.* testAsset.zip .* "asset for testing"
         /installedAssets/testAsset.zip/BASE/testAsset.zip "" "" "" false]]')
    

    The following command imports the defaultapp.ear asset, storing all application binaries, and sets the returned configuration ID to the J2EEAsset variable:

    (Windows)

    J2EEAsset = AdminTask.importAsset('-source c:/ears/defaultapplication.ear
     –storageType FULL –AssetOptions [[.* defaultapp.ear .* "desc" "" "" "" "" false]]')
    

    (Solaris) (AIX)

    J2EEAsset = AdminTask.importAsset('-source /ears/defaultapplication.ear
     –storageType FULL –AssetOptions [[.* defaultapp.ear .* "desc" "" "" "" "" false]]')
    

    The assets of interest are registered as named configuration artifacts in the application server configuration repository, which is referred to as the asset registry. Use the listAssets command to display a list of registered assets and verify that the settings are correct:

    AdminTask.listAssets('-includeDescription true -includeDeplUnit true')
    

  3. Create an empty business-level application.

    Use the createEmptyBLA command to create a new business-level application and set the returned configuration ID to the myBLA variable, as the following example demonstrates:

    myBLA = AdminTask.createEmptyBLA('-name myBLA
              -description "BLA that contains asset1, asset2, and J2EEAsset"')
    
    The system creates the business-level application. Use the listBLAs command to display a list of each business-level application in the cell:
    AdminTask.listBLAs()
    

  4. Add the assets, as composition units, to the business-level application.

    Composition units can represent deployed assets, other business-level applications, or external artifacts that are deployed on non-Application Server run times without backing assets. Business-level applications contain zero or more composition units. We cannot add the same composition unit to more than one business-level application, but you can use one asset to create more than one composition unit.

    Use the addCompUnit command to add assets as composition units to business-level applications. The following command adds the asset1.zip asset as a composition unit in the myBLA business-level application, and maps the deployment to the server1 server:

    AdminTask.addCompUnit('-blaID myBLA –cuSourceID asset1
     -CUOptions [[.* .* compositionUnit1 "composition unit that is backed by asset1" 0]]
     -MapTargets [[.* server1]]
     –ActivationPlanOptions [[.* specname=actplan0+specname=actplan1]]')
    

    The following command adds the testAsset.zip asset as a composition unit in the myBLA business-level application, and maps the deployment to the server1 and testServer servers:

    AdminTask.addCompUnit('-blaID myBLA –cuSourceID asset2
     -CUOptions [[.* .* compositionUnit2 "composition unit that is backed by asset2" 0]]
     -MapTargets [[.* server1+testServer]]
     –ActivationPlanOptions [.* specname=actplan0+specname=actplan1]')
    

    The following command adds the defaultapp.ear asset as a composition unit in the myBLA business-level application, and maps the deployment to the server1 and testServer servers:

    AdminTask.addCompUnit('[-blaID bla1 -cuSourceID ' + J2EEAsset + ' -defaultBindingOptions
        defaultbinding.ejbjndi.prefix=ejb#defaultbinding.virtual.host=default_host#defaultbinding.force=yes
    -AppDeploymentOptions [-appname defaultapp] -MapModulesToServers [["Default Web Application" .*
     WebSphere:cell=cellName,node=nodeName,server=server1] ["Increment EJB module" .*
     Websphere:cell=cellName,node=nodeName,server=testServer]]
     -CtxRootForWebMod [["Default Web Application" .* myctx/]]]')
    

  5. Save the configuration changes.

    Save the configuration changes:

    AdminConfig.save()
    
  6. Synchronize the nodes.

    Use the syncActiveNodes script in the AdminNodeManagement script library to synchronize each active node in the environment, as the following example demonstrates:

    AdminNodeManagement.syncActiveNodes()
    

  7. Start the business-level application.

    Use the startBLA command to start each composition unit of the business-level application on the deployment targets for which the composition units are configured, as the following example demonstrates:

    AdminTask.startBLA('-blaID myBLA')
    


Results

The system adds three composition units backed by assets to a new business-level application. Each of the three assets are deployed and started on the server1 server. The testAsset.zip and defaultapp.ear assets are also deployed and started on the testServer server.


Related


Example: Create an SCA business-level application with scripting
Automate business-level application configuration
Delete business-level applications using wsadmin.sh
Install enterprise applications using wsadmin.sh
Create business-level applications


Related


BLAManagement command group using wsadmin.sh
Business-level application configuration scripts

+

Search Tips   |   Advanced Search