System and method for domain configuration

Information

  • Patent Application
  • 20050021688
  • Publication Number
    20050021688
  • Date Filed
    February 17, 2004
    20 years ago
  • Date Published
    January 27, 2005
    19 years ago
Abstract
A system and method for An interactive tool for configuring a domain, comprising providing a first user interface operable to configure the domain, providing a second user interface operable to configure a cluster, wherein configuration of the domain is based on a domain template, and wherein the cluster belongs to the domain.
Description
COPYRIGHT NOTICE

A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever.


FIELD OF THE DISCLOSURE

The present disclosure relates generally to interactive graphical tools for configuring network resources and, in particular, application/web server configuration tools.


BACKGROUND

As the use of network domains for management, load-balancing and fail-over increases, so to does the need for easy-to-use domain management tools. Some domain management tools have rigid user interfaces that only accommodate a predefined set of domain configurations. What is needed is an interactive domain tool that is easy to extend.




BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 is an exemplary illustration of a configuration wizard/user interface user interface in accordance to an embodiment.



FIG. 2 is an exemplary illustration of a domain in an embodiment.



FIG. 3 is an exemplary script for creating a new domain from a configuration template in an embodiment.



FIG. 4 is an exemplary script for creating a new domain and updating it using an extension template




DETAILED DESCRIPTION

Aspects of the invention are illustrated by way of example and not by way of limitation in the figures of the accompanying drawings in which like references indicate similar elements. It should be noted that references to “an” or “one” embodiment in this disclosure are not necessarily to the same embodiment, and such references mean at least one.


A domain can be defined in which one or more enterprise applications can execute. A domain is the basic administration unit and can include web/application server(s), portal(s), business-to-business integration products, interactive development tool(s), and enterprise applications. In one embodiment, domain creation is based on one or more templates. Templates can contain domain, application and service configuration parameters along with supporting files.



FIG. 1 is an exemplary illustration of a configuration wizard/user interface user interface in accordance to an embodiment. The configuration wizard/user interface can be used to install, configure, monitor, and/or manage one or more domains. In one embodiment, the wizard/user interface can be a Java™ application. The Configuration Wizard/user interface can guide a user through the process of creating or extending a domain for a target environment. This process is based on predefined template(s) that contain the attributes and files required for building or extending a particular domain. In one embodiment, a template can be a Java™ Archive (JAR) file that contains the files and scripts required to create or update a domain.


In one embodiment, the types of templates used by the configuration wizard/user interface can include configuration and extension templates. A configuration template can define the full set of resources within a domain, including infrastructure components, applications, services, security options, and general environment and operating system options. This type of template is used to create a domain. An extension template can define applications and services, such as JDBC (Java™ Database Connectivity) or JMS (Java™ Message Service) components, and startup/shutdown classes, that can be used to extend an existing domain. This type of template is used to update a domain. The applications and services stored in the selected extension templates can be imported into the domain.


The Configuration Wizard/user interface provides two options for creating domains: express and custom configuration. Express configuration allows a user to create a domain quickly, using default settings from a selected configuration template. Custom configuration allows a user to modify configuration information. To customize a domain, a user can specify any of the following components and parameters: Infrastructure components, including managed servers, clusters, and physical host machines; database and messaging services—Java Database Connectivity (JDBC) and Java Message Service (JMS); Targets (servers and clusters); security parameters; and general environment and operating system parameters.


In various embodiments, the Configuration Wizard/user interface can create a domain that includes a configuration file, config.xml, that can describe the infrastructure and basic network parameters of all server instances, and configuration of basic security features that allow for the initial booting of the domain. The domain may also include the following:

    • Server startup scripts (by way of a non-limiting example, startwebLogic.cmd or startWebLogic.sh) that are populated with the values that a user enter using the Configuration Wizard/user interface;
    • A directory containing the applications provided by the template;
    • A directory containing database-specific information used to create and initialize a database; and
    • Other files and directories to help a user get started (by way of a non-limiting example, setEnv.cmd or setEnv.sh).


In some cases, it may be desirable or necessary to add a predefined application, a component product, or a set of services, such as JDBC or JMS, to an existing domain. By way of a non-limiting example, if a user has an existing Web/app server application running in a domain but needs to develop an Integrated Development Environment (IDE) application to run in the same domain, a user can extend the functionality of the Web/app server domain by adding the IDE.


In one embodiment, to extend a domain using the Configuration Wizard/user interface, a user can select the directory of the domain that the user wants to extend and specify that the extension template include additional applications. A user then has the option of configuring the database (e.g., JDBC) and messaging (e.g., JMS) services, and targeting servers or clusters to which a user want the applications or services deployed. The Configuration Wizard/user interface can then update the config.xml file and all other generated components in the configuration directory, as required.



FIG. 2 is an exemplary illustration of a domain in an embodiment. A domain is the basic administration unit for Web/app server. It consists of one or more Web/app server instances 200, and logically related resources and services that are managed, collectively, as a unit. The basic domain infrastructure consists of one Administration Server 202 and optional managed servers 200 and clusters 204. In one embodiment, a domain can include one web/app server instance that is configured as an Administration Server. The Administration Server provides a central point for managing the domain and providing access to the Web/app server administration tools 205. These tools include, but are not limited to, the following: a graphical administration console and a server node manager that enables a user to start, shutdown, restart and monitor servers.


Managed Servers can host application components and resources, which are also deployed and managed as part of the domain. In a domain with only a single Web/app server instance, the server can function as both the Administration Server and Managed Server. A domain may also include Web/app server clusters, which are groups of Web/app server instances that work together to provide scalability and high availability for applications. Clusters can improve performance and provide fail-over should a server instance become unavailable. The servers within a cluster can run on the same machine, or they can reside on different machines. To a client, a cluster appears as a single Web/app server instance.


In addition to infrastructure components, a domain can define the basic network configuration for the server instances it contains. Specifically, a domain can define application deployments, supported application services (such as database and messaging services), security options, and physical host machines.


A user may find it useful to configure multiple domains based on specific criteria, such as system administrator responsibilities, the logical classification of applications, the geographical locations of servers, or size. The following table outlines the most common domain configurations.

TABLE 1Common Domain ConfigurationsFEATUREDESCRIPTIONDomain withIn typical production environments, severalManaged ServersManaged Servers are deployed to host Webapplications, and an Administration Serveris deployed to perform management operations.Domain withIn production environments that requireManaged Serversincreased performance, Cluster throughput,and Clustersor availability for a Web application,several Managed Servers might be groupedin a cluster. In such a case, the domainconsists of one or more clusters with theapplications they host, additional ManagedServers, if necessary, and an AdministrationServer to perform management operations.Stand-aloneIn development or test environments, a singleServer Domainapplication and server might be deployedindependently from other Managed Servers. Insuch a case, a user can deploy a domainconsisting of a single Administration Serverthat also hosts the Web applications a userwant to test or develop. The Web/app serverExamples Domain template, described in theTemplate Reference, is an example of astand-alone server domain.


In one embodiment, the Configuration wizard/user interface can be invoked in graphical mode or silent mode. To run it in silent mode, a user can first create a script that can define the configuration settings for the domain. A script can specify operations to be performed by the Configuration Wizard/user interface when the script is executed. The following sections describe the operations that can be defined in the script to create a new domain. First, a pre-existing configuration template can be selected to use as the basis of the domain a user will create and configure. Then' the information in the template can be customized to create new configuration objects, edit existing values for configuration object attributes, or delete configuration objects. In one embodiment, a user can obtain information about a user existing configuration by viewing the config.xml and security.xml files in a user template or domain. In one embodiment and by way of a non-limiting example, the following table can define the configuration objects that can be created and edited.

TABLE 2Exemplary Configuration Object Types in an EmbodimentCONFIGURATION OBJECTTYPEWHAT IS DEFINED?ServerAdministration or Managed Server.ClusterCluster.MachineWindows machine.UnixMachineUNIX machine.JDBCConnectionPoolJDBC Connection Pool.JDBCMultiPoolJDBC MultiPool.JDBCDataSourceJDBC data source.JDBCTxDataSourceJDBC data source that supportsglobal transactions.JMSConnectionFactoryJMS connection factory.JMSDestinationKeyJMS destination key.JMSServerJMS Server.JMSFileStoreJMS file store.JMSJDBCStoreJMS JDBC store.JMSTemplateJMS Template.JMSTopicJMS topic.JMSQueueJMS queue.JMSDistributedTopicJMS distributed topic.JMSDistributedQueueJMS distributed queue.JMSDistributedTopicMemberJMS distributed topic members.JMSDistributedQueueMemberJMS distributed queue members.UserUser.GroupGroup.


A configuration is specified in a template file as follows:

    • create object_type “name” as variable;


      where object_type is the configuration object type (see Table 2), name is how the object will be referred to, and variable is a user-defined variable used to specify the configuration object.


In the following example, a Server object is created and assigned to the variable s2, and the Name attribute is set to server2:

    • create Server “server2” as s2;


In the following example, a User object is created and assigned to the variable u1, and the Name attribute is set to user1:

    • create User “user1” as u1;


In one embodiment and by default, the user is assigned to the group “Administrators.”


Before a user can edit an existing configuration object, the configuration wizard/user interface can find the object in the template and assign it to a variable. To assign a configuration object to a variable, use the find operation, as follows:

    • find object_type “name” as variable;


      where object_type is a configuration object, name is the value of the configuration object Name attribute, and variable is a user-defined variable used to specify the configuration object.


In the following example, a Server object named “myserver” is assigned to the variable s1:

    • find Server “myserver” as s1;


To set a configuration attribute, specify the variable and attribute name for it, as follows:

    • set variable.attribute “value”;


      where variable is a user-defined variable used to specify the configuration object, attribute is a configuration object attribute value, and value is a value that a user want to assign to the specified attribute of the configuration object. The value can be enclosed in quotation marks.



FIG. 3 is an exemplary script for creating a new domain from a configuration template in an embodiment.



FIG. 4 is an exemplary script for creating a new domain and updating it using an extension template


Table 3 summarizes the procedure for creating a domain using the custom configuration option in an embodiment Configuration wizard/user interface.

TABLE 3Exemplary Tasks for Creating aCustom Domain in an EmbodimentTASKDESCRIPTIONCreating or ExtendingChoose whether to create a new WebLogica Configurationdomain configuration or add to anexisting domain configuration. To createa new domain, choose Create a new WebLogicconfiguration.Selecting a ConfigurationChoose the configuration template withTemplatewhich a user want to create and configurea user domain.Choosing Express orSelect the Custom option to create a domainCustom Configurationwith non-default template settings thatmeet the needs of a user domain.Designating anDesignate a server as the AdministrationAdministration ServerServer. This window is displayedautomatically only if the selected templateincludes multiple servers that are notassigned to clusters.Configuring theDefine parameters for the AdministrationAdministration ServerServer, a designated server from which thedomain is managed.Configuring ManagedOptionally, define parameters for ManagedServers, Clusters,Servers, clusters, and host machines.and Machines WhenCreating a New DomainConfiguring JDBC WhenOptionally, define parameters for JavaCreating a New DomainDatabase Connectivity (JDBC).Configuring JMS WhenOptionally, define parameters for the JavaCreating a New DomainMessage Service (JMS).Targeting Servers andOptionally, target the servers and clustersClusters When Creatingto which a user want to deploy applicationa New Domaincomponents (such as Web applications andEJB modules), and application services(such as JDBC or JMS components, andstartup/shutdown classes.)Configuring SecuritySpecify an administrative username andWhen Creating a Newpassword.DomainOptionally, a user can also configureadditional security features by definingusers and groups and assigning themto global security roles.Configuring WindowsOptionally, define domain-specificOptionsparameters for the Windows operating system.Specifying theSelect the mode in which to launch a userWebLogicWebLogic domain configuration (developmentConfigurationmode or production mode) and the JavaEnvironmentSoftware Development Kit (SDK) that isenabled for the selected Startup mode.Creating theReview the parameters defined for a userWebLogicdomain configuration, specify its nameConfigurationand pathname, and initiate its creation.


In various embodiments, the configuration wizard/user interface can prompt a user to choose whether a user want to create a new domain configuration or extend an existing one by adding applications and services. To create a new domain, a user begins by selecting a configuration template as the basis for a user domain and then modifies settings as needed. To add applications and services to an existing domain configuration, a user begins by selecting the extension template to modify.


The configuration wizard/user interface can prompt a user to define configuration information for the Administration Server. A user can review the values displayed in the window and modify them as necessary, using the guidelines provided in the following table. Exemplary values in one embodiment are provided in Table 4.

TABLE 4Exemplary Admin Server ConfigurationParameters in an EmbodimentFIELDDESCRIPTIONNameA valid server name: a string of characters that caninclude spaces. Each server instance in a userenvironment can have a unique name, regardless ofthe domain or cluster in which it resides, orwhether it is an Administration Server or a ManagedServer. In addition, the name of the AdministrationServer can be unique among all configurationcomponent names within the domain.ListenFrom a drop-down list, a user can select a value forAddressthe Listen Address. Valid values for the listen(Optional)address are as follows:All Local Addresses (default)IP address of the computer that hosts the serverDNS name that resolves to the hostlocalhost (valid only for requests that are issuedfrom the computer on which the server is running)Listen PortA valid value for the listen port to be used for(Optional)regular, non-secure requests (via protocols suchas HTTP and T3). The default value is 7001. If auser leave this field blank, the default valueis used.SSL ListenSSL Listen Port Enter a valid value to be used forPortsecure requests (via protocols such as HTTPS and(Optional)T3S). The default value is 7002. If a userleave this field blank, the default value is used.SSL EnabledSelect the check box if a user want to enable the(Optional)SSL Listen Port. Bydefault, the SSL is disabled for all new servers.


In one embodiment, the minimum requirement for a user domain is a single Administration Server on a single machine. In addition, however, a user has the option of configuring other resources to be managed by the Administration Server and distributing them across multiple machines. A user can: add, change, or delete managed servers; add, change, or delete clusters; group managed servers into clusters, or change current groupings; and assign servers to machines, or change current assignments. The configuration wizard/user interface can prompt a user to specify whether a user want to distribute configuration across Managed Servers, clusters, and physical machines.


JDBC enables Java™ programmers to interact with common database management systems (DBMS), such as Oracle, Microsoft SQL Server, and Sybase. The Configuration Wizard/user interface gives a user the option of configuring a database service for a user domain by defining several WebLogic JDBC components: Connection pools—Ready-to-use groups of connections to a user DBMS; MultiPools-Groups of connection pools; and Data sources—Interfaces between applications and connection pools. Because Web/app server applications usually require some database access, templates created for use with the Configuration Wizard/user interface can contain JDBC configuration information. When using the Configuration Wizard/user interface, a user can accept these settings, modify them, or add JDBC configuration information.


JMS gives a user access to enterprise messaging systems that enable applications to communicate with one another. The Configuration Wizard/user interface gives a user the option of setting up JMS messaging services for a domain. To set up a messaging service, a user can define the following components:

    • Connection factory—Encapsulated connection configuration information that enables JMS applications to create a connection.
    • File and JDBC stores—Disk-based file stores and JDBC-accessible database stores, respectively; used to store persistent messages.
    • Destination Keys and JMS Templates—Keys to define the sort order for messages that arrive at a destination and templates to define multiple destinations with similar attribute settings.
    • JMS Servers—Servers that manage connections and message requests on behalf of clients.
    • Destinations—Queues (in point-to-point models) or topics (in publish/subscribe models) that serve as destinations and distributed destinations for a JMS server.


Because JMS is often required by Web/app server applications, the templates created for use with the Configuration Wizard/user interface can contain JMS configuration information. A user can accept these settings when using the Configuration Wizard/user interface.


In one embodiment, the configuration wizard/user interface can prompt a user to decide whether a user want to define additional infrastructure components and distribute the domain across those components.

    • If a user selects No, the wizard/user interface uses the configuration settings based on a configuration source that a user selected earlier.


If a user selects Yes, the user is prompted in subsequent windows to define the configuration a user want, as described in the Table 5.

TABLE 5Exemplary Tasks for Configuring Serversand Clusters in an EmbodimentTASKDESCRIPTIONConfiguring ManagedOptionally, add managed servers or changeServersthe configuration of existing managedservers in a user domain.Grouping ManagedA cluster is a group of Web/app serverServers into Clustersinstances that work together to providescalability and high-availability forapplications.Mapping Web/appIn a domain, a machine is the computerserver Instances tohardware that hosts one or moreHost MachinesWeb/app server instances.


To configure clusters, a user can review a current list of cluster configurations and add or modify entries as required using the guidelines provided in Table 6.

TABLE 6Exemplary Cluster Configuration Parameters in an EmbodimentFIELDDESCRIPTIONNameValid cluster name: a string of characters that caninclude spaces. The name of the cluster can beunique among all configuration component nameswithin the domain.MulticastMulticast address for the cluster. This address isAddressused by cluster members to communicate with each(Optional)other. The default value is 237.0.0.1.Valid multicast addresses are any valid IP addressof the form nnn.xx.xx.xxxx, where nnn is 237, 238,or 239.MulticastMulticast port for the cluster. The multicast portPortis used by cluster members to communicate with each(Optional)other. The default value is 7777.ClusterCluster address that identifies the Managed ServersAddressin the cluster.(Optional)A cluster address can be one of the following:Comma-separated list of IP addresses or DNS namesand ports, by way of a non-limiting example:dns_name:port, dns_name:portDNS name that maps to multiple IP addresseslocalhost, DNS name, or IP address if the ListenAddress of all Managed Servers is listening to thesame address with unique port numbersThe cluster address is used in entity and statelessEJBs to construct the host name portion of URLs.If the cluster address is not set, EJB handles maynot work properly.


In one embodiment, a Cluster Wizard/user interface user interface can prompt a user to assign the available Managed Server(s) to a cluster within the domain. This wizard/user interface is displayed only if a user have defined at least one cluster. The cluster wizard/user interface prompts a user to create an HTTP proxy application to proxy client requests to the cluster. An HTTP proxy application operates as an intermediary for HTTP requests.


In one embodiment, another wizard/user interface prompts a user to define the configuration information for the Windows and UNIX machines in the domain (see Table 7). A user may want to perform this in circumstances such as (but not limited to) the following: an Administration Server uses the machine definition, in conjunction with the Node Manager application, to start remote servers; and a Web/app server uses configured machine names when determining which server in a cluster is best able to handle certain tasks, such as HTTP session replication. Web/app server then delegates those tasks to the identified server.

TABLE 7Exemplary Machine Configuration Parameters in an EmbodimentPARAMETERDESCRIPTIONNameEnter a valid machine name: a string of charactersthat can include spaces.The machine name:Is used to identify the machine within the Web/appserver domain; it is not required to match thenetwork name for the machine.Can be unique among all configuration componentnames within the domain.Node ManagerSelect a value from the drop-down list for theListen Addresslisten address used by the Node Manager. By(Optional)default, the IP addresses defined for the localsystem and localhost are shown in the drop-downlist. The default is localhost.Valid values for the listen address are as follows:IP address of the computer that hosts the serverDNS name that resolves to the hostlocalhostAll Local AddressesNode ManagerEnter a valid value for the listen port used byListen Portthe Node Manager.(Optional)Any number between 1 and 65535 is a valid value.The default value is 5555.


In one embodiment, a user can configure a database service such as but not limited to JDBC. JDBC enables Java programmers to interact with common database management systems such as Oracle, Microsoft SQL Server, Sybase. A wizard/user interface gives the user the option of configuring a database service by defining several JDBC components in Table 8.

TABLE 8Exemplary Tasks for Configuring JDBC in an EmbodimentTASKDESCRIPTIONConfiguring JDBCCreate ready-to-use pools of connections to aConnection Poolsuser DBMS. This task is a prerequisite for(Optional)configuring JDBC MultiPools.Configuring JDBCSet up a group of JDBC connection pools toMultiPoolsaccommodate either a high-availability(Optional)algorithm or a load-balancing algorithm.Assigning JDBCAssign the JDBC connection pools to theConnection Poolsdefined JDBC MultiPools.to MultiPoolsThis window only is displayed only if a user(Optional)define one or more JDBC connection pools andJDBC MultiPools.Configuring JDBCConfigure the data sources that are boundData Sourcesto the JNDI tree and assign a JDBC connection(Optional)pool. A data source object enablesJDBC applications to obtain a DBMS connectionfrom a connection pool.Testing JDBCTest a user JDBC connection pool configurationsConnection Poolson the local machine.and Setting Up aJDBCDatabase(Optional)Setting Up theSet up the database content used by theJDBC Databaseapplications in a user domain using pre-existingContent (Optional)SQL or database loading files. A configurationtemplate may contain a set of SQL files organizedby database type.


In one embodiment, a user can configure JMS. A wizard/user interface gives a user access to enterprise messaging systems that make it possible for applications to communicate with one another. In one embodiment, JMS configuration parameters are listed in Table 9.

TABLE 9Exemplary Tasks for Configuring JMS in an EmbodimentTASKDESCRIPTIONConfiguring JMSConfigure connection factories, JMS objects thatConnectionencapsulate connection configuration information,Factoriesand enable JMS applications to create connections.Configuring JMSConfigure JMS destination keys that are used toDestination Keysdefine the sort order for messages that arriveat a specific destination.Configuring JMSConfigure JMS templates which provide anTemplatesefficient means of defining multiple destinations(queues and topics) with similar configurationsettings.Assigning JMSAssign destination keys to templates.Destination KeysConfiguring JMSConfigure JMS file stores. A JMS file store isFile Storesa disk-based file that is used to storepersistent messages.Configuring JMSConfigure JMS JDBC stores, a JDBC-accessibleJDBC File Storesdatabase used to store persistent messages.Configuring JMSConfigure JMS servers to manage connectionsServersand message requests on behalf of clients.Assigning JMSAssign the JMS servers to Web/app serverServers to Web/appinstances.server InstancesConfiguring IMSConfigure JMS topics. JMS topics support theTopicspublish/subscribe (Pub/sub) messaging modelwhich enables an application to send amessage to multiple applications. Pub/submessaging applications send and receivemessages by subscribing to a topic.Configuring JMSConfigure JMS queues. JMS queues support theQueuespoint-to-point (PTP) messaging model whichenables one application to send a message toanother application. PTP messaging applicationssend and receive messages using named queues.Configuring JMSConfigure JMS distributed topics, a set ofDistributed Topicsphysical topics that can support servicecontinuity in the event of a Web/app serverfailure within a cluster.Configuring JMSConfigure JMS distributed queues, a set ofDistributed Queuesphysical queues that can support servicecontinuity in the event of a Web/app serverfailure within a cluster.Assigning JMSAssign JMS distributed queues or topics toDistributeda Web/app server or cluster.DestinationsConfiguring JMSAssign members to a particular JMSDistributed Topicdistributed topic.MembersConfiguring JMSAssign members to the JMS distributed queue.Distributed QueueMembers


Targeting of applications and services (e.g., JMS and JDBC) to servers or clusters is optional. A wizard/user interface (not shown) can allow a user to target the servers and clusters onto which a user want to deploy applications and services.


In some situations, a user may need to extend an existing domain with an application, a component product, or a set of services. By way of a non-limiting example, if a user needs to develop an IDE application for a domain in which a user are already running a Web/app server application, a user can extend the functionality of the domain by adding IDE to it. The Configuration Wizard/user interface simplifies the task of extending an existing domain by using extension templates. An extension template can define applications and services that can be added to an existing domain. BEA delivers a set of predefined extension templates, which are described in Template Reference. Table 10 summarizes a procedure for extending an existing domain using the Configuration Wizard/user interface in one embodiment.

TABLE 10Exemplary Tasks for Extending a Domain in an EmbodimentTASKDESCRIPTIONCreating or Extending aChoose whether to create a new WebLogicConfigurationdomain configuration or add to anexisting domain configuration. Toextend an existing domain configuration,choose Extend an existing WebLogicconfiguration.Choosing a WebLogicSelect the host directory for the domainConfiguration Directorya user want to update.Selecting aSpecify an extension (or application)Configuration Extensiontemplate that allows a user to addTemplateapplications and services to an existingdomain.Configuring JDBCDefine parameters for Java DatabaseWhen Extending aConnectivity (JDBC).DomainConfiguring JMS WhenDefine parameters for Java MessageExtending a DomainService (JMS).Targeting ApplicationsDefine parameters for the target serversand Services to Serversand clusters onto which a user want toand Clusters Whendeploy application components, such asExtending a DomainWeb applications and EJB modules, andapplication services, such as JDBC orJMS components, or startup andshutdown classes.Configuring JMSReview a user current configurationDomain Creating Asettings and launch the process thatuser WebLogicupdates the domain.


A configuration template can define the full set of resources within a domain, including infrastructure components, applications, services, security options, and general environment and operating system parameters. In various embodiments, a Configuration Template Builder makes it easy to create templates. By way of a non-limiting example, the template builder enables:

    • Definition and propagation of a standard domain across a development project
    • Distribution of a domain along with an application that has been developed to run on that domain


Any template a user create with the Configuration Template Builder can be used as input to the Configuration Wizard/user interface. The Configuration Wizard/user interface uses it, in turn, as the basis for creating a domain that is customized for a user target environment. Table 11 summarizes the procedure for creating a configuration template using the Configuration Template Builder.

TABLE 11Tasks for Creating a Template in an EmbodimentSTEPDESCRIPTIONCreating a New TemplateChoose the type of template a user wantto create: configuration or extension.To create a configuration template,choose Create a Configuration Template.Selecting a TemplateSelect the configuration template or theConfiguration Sourcedirectory of the domain from which auser want to create a new configurationtemplate.Describing the TemplateSpecify a description of the templatethat will be displayed within the Selecta Configuration Template window of theConfiguration Wizard/user interface.Adding Applications toReview and modify, if desired, the listA user Configurationof applications to be included in theTemplatetemplate.Adding Files to A userReview and modify, if desired, the filesConfiguration Templateto be included in the template.Adding SQL Scripts IntoAdd SQL scripts for each database thatA user Configurationa user expect to be used with theTemplatedomains created from this template andspecify the order in which the scriptsare executed.Configuring ManagedOptionally, define parameters for theServers, Clusters, andManaged Servers, clusters, and hostMachines When Creatingmachines in a user domain.Configuration TemplatesConfiguring JDBC WhenOptionally, define parameters for JavaCreating ConfigurationDatabase Connectivity (JDBC).TemplatesConfiguring JMS WhenOptionally, define parameters for JavaCreating ConfigurationMessage Service (JMS).TemplatesTargeting Servers andOptionally, define parameters for theClusters When Creatingtarget servers and clusters onto which aConfiguration Templatesuser want to deploy application components(such as Web applications and EJB modules)and application services (such as JDBC orJMS components), or startup and shutdownclasses.Configuring SecuritySpecify a user name and password to beWhen Creatingused for starting theConfiguration TemplatesAdministration Server and, if desired,configure additional security.Building Start MenuOptionally, define entries for theEntriesWindows Start Menu.Preparing Scripts andReplace specific paths, filenames, andFiles With Replacementother configuration environment settingsVariableswith replacement variables in text filescontained in the template. TheConfiguration Wizard/user interfacelater substitutes the variables withexact strings to set up a specificWebLogic configuration.Creating A userReview the configuration templateConfiguration Templatedetails, specify the name and directoryfor the configuration template, andlaunch the process that creates it.


In one embodiment, an extension template can define applications and services that can be used to extend an existing domain. This type of template can be used when a user is updating a domain. The applications and services stored in the selected extension templates can be imported into the domain using the Configuration Wizard/user interface. The Configuration Template Builder provides a simple means for creating extension templates which can be used as input to the Configuration Wizard/user interface. The process used to create an extension template is virtually the same as the process used to create a configuration template except that a user are not prompted to define any infrastructure components.


One embodiment includes a computer program product which is a storage medium (media) having instructions stored thereon/in which can be used to program a computer to perform any of the features presented herein. The storage medium can include, but is not limited to, any type of disk including floppy disks, optical discs, DVD, CD-ROMs, microdrive, and magneto-optical disks, ROMs, RAMs, EPROMs, EEPROMs, DRAMs, VRAMs, flash memory devices, magnetic or optical cards, nanosystems (including molecular memory ICs), or any type of media or device suitable for storing instructions and/or data.


Stored on any one of the computer readable medium (media), the present invention includes software for controlling both the hardware of the general purpose/specialized computer or microprocessor, and for enabling the computer or microprocessor to interact with a human user or other mechanism utilizing the results of the present invention. Such software may include, but is not limited to, device drivers, operating systems, execution environments/containers, and applications.


The foregoing description of the preferred embodiments of the present invention have been provided for the purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise forms disclosed. Many modifications and variations will be apparent to the practitioner skilled in the art. Embodiments were chosen and described in order to best explain the principles of the invention and its practical application, thereby enabling others skilled in the art to understand the invention, the various embodiments and with various modifications that are suited to the particular use contemplated. It is intended that the scope of the invention be defined by the following claims and their equivalents.

Claims
  • 1. An interactive tool for configuring a domain, comprising: providing a first user interface operable to configure the domain; providing a second user interface operable to configure a cluster; wherein configuration of the domain is based on a domain template; and wherein the cluster belongs to the domain.
  • 2. The interactive tool of claim 1 wherein the first user interface includes: an option to select the domain template.
  • 3. The interactive tool of claim 1 wherein the first user interface includes: an option to customize the domain template.
  • 4. The interactive tool of claim 1 wherein: the domain includes an administration server and a set of resources and/or services that can be managed as a unit.
  • 5. The interactive tool of claim 1 wherein: the domain template includes a set of configuration parameters.
  • 6. The interactive tool of claim 5 wherein: the set of configuration parameters includes at least one of: 1) an application; 2) a server; 3) information related to configuring a database; 4) information related to configuring a message service; and 5) information related to configuring a cluster.
  • 7. The interactive tool of claim 1 wherein: the domain template is a Java Archive (JAR) file.
  • 8. The interactive tool of claim 1, further comprising: a third user interface to designate and/or configure an administration server.
  • 9. The interactive tool of claim 1 wherein the second user interface includes: an option to add, change and/or delete a managed server; an option to add, change and/or delete the cluster; and an option to designate a server as part of the cluster.
  • 10. The interactive tool of claim 1 wherein: the cluster includes a set of servers that work together to provide scalability and high availability for an application.
  • 11. A method for configuring a domain with an interactive tool, comprising: selecting a domain template with the interactive tool; configuring the domain based on the domain template; wherein the domain template can be customized; and wherein the domain template includes a set of configuration parameters.
  • 12. The method of claim 11 wherein: the domain includes an administration server and a set of resources and/or services that can be managed as a unit.
  • 13. The method of claim 11 wherein: the set of configuration parameters includes at least one of: 1) an application; 2) a server; 3) information related to configuring a database; 4) information related to configuring a message service; and 5) information related to configuring a cluster.
  • 14. The method of claim 11 wherein: the domain template is a Java Archive (JAR) file.
  • 15. The method of claim 11 wherein the interactive tool includes: an option to designate and/or configure an administration server.
  • 16. The method of claim 11 wherein the interactive tool includes: an option to add, change and/or delete a managed server; an option to add, change and/or delete a cluster; and an option to designate a server as part of a cluster.
  • 17. The method of claim 16 wherein: a cluster includes a set of servers that work together to provide scalability and high availability for an application.
  • 18. A machine readable medium having instructions stored thereon that when executed by a processor cause a system to allow a user to: select a domain template with an interactive tool; configure a domain based on the domain template; wherein the domain template can be customized; and wherein the domain template includes a set of configuration parameters.
  • 19. The machine readable medium of claim 18 wherein: the domain includes an administration server and a set of resources and/or services that can be managed as a unit.
  • 20. The machine readable medium of claim 18 wherein: the set of configuration parameters includes at least one of: 1) an application; 3) a server; 3) information related to configuring a database; 4) information related to configuring a message service; and 5) information related to configuring a cluster.
  • 21. The machine readable medium of claim 18 wherein: the domain template is a Java Archive (JAR) file.
  • 22. The machine readable medium of claim 18 wherein the interactive tool includes: an option to designate and/or configure an administration server.
  • 23. The machine readable medium of claim 18 wherein the interactive tool includes: an option to add, change and/or delete a managed server; an option to add, change and/or delete a cluster; and an option to designate a server as part of a cluster.
  • 24. The machine readable medium of claim 23 wherein: a cluster includes a set of servers that work together to provide scalability and high availability for an application.
  • 25. A computer data signal embodied in a transmission medium, comprising: a code segment including instructions to select a domain template with an interactive tool; a code segment including instructions to configure a domain based on the domain template; wherein the domain template can be customized; and wherein the domain template includes a set of configuration parameters.
CLAIM OF PRIORITY

This application claims priority from the following application, which is hereby incorporated by reference in its entirety: SYSTEM AND METHOD FOR DOMAIN CONFIGURATION, U.S. application Ser. No. 60/450,126, Inventors: David Felts et al., filed on Feb. 25, 2003. (Attorney's Docket No. BEAS-1383US0)

Provisional Applications (1)
Number Date Country
60450126 Feb 2003 US