Welcome!

IBM Cloud Authors: Pat Romanski, Lori MacVittie, Elizabeth White, Anders Wallgren, Sarah Patrick

Related Topics: IBM Cloud

IBM Cloud: Article

Profiles for WebSphere Application Server 6.0

Instance separation provides facility of information

The new IBM WebSphere Application Server (WAS) v6.0 software introduces the concept of Server Profiles. Profiles can be thought of as a specific server runtime environment operating within a separate instance of the JVM.

Each runtime environment has its own configuration files, logs, properties, and other attributes. Profiles can make each Java 2 Enterprise Edition (J2EE) application server runtime unique and separate from the server binaries and from other profiles. The separation of static binaries from configuration files provides a number of benefits for system administrators.

The WAS v6.0 profiles are similar to the wsinstance tool provided with WAS v5.x, but with some important differences. The wsinstance tool creates configuration files for separate JVM instances, but shares other information across instances of WAS v5.x. In contrast, profiles draw a sharp degree of separation, so much so that each profile is separately administered with its own configuration, logs, J2EE applications, and other attributes. The separation that profiles provide allows for a unique instance of WebSphere that has not been available in previous releases of WAS.

Easier Than Multiple Installs
More than one instance of the same IBM WAS product may be required on the same machine. This is often the case if the administrator desires to keep a degree of separation between applications and environments. This may be the case if you have a development group sharing the same WebSphere install instance. When using the WAS profiles, each profile runs as its own 1.4.2 JVM instance, thus providing a physical as well as a logical separation between instances of the product. This offers an advantage over multiple installs because it saves space. In addition, service updating is simpler since an administrator only needs to maintain a single set of product binaries. Profiles can also be created and deleted more easily than with whole product installs. With the separation of product binaries and profiles, it's possible for a system administrator to allow groups to have access to the profile information that defines their application server, while at the same time locking down the WAS runtime binaries.

Easier Application Updates
Another useful aspect of profiles is the staging of application updates. In this scenario, you have updated an application and wish to test it on the targeted WebSphere Application Server. The problem is that an older version of your application is already running and being used. You could uninstall the application and reinstall the new update, yet that would require you to take the application offline and then reinstall if your test fails. A solution would be to create a new profile and test it there. The test profile will be operating in its own instance of WAS and will be logically separated, thus giving you a level of security and separation should your tests fail. Of course, it only protects you while running in the context of WAS, and not if the two applications are sharing the same database or any other shared resource the two applications may access.

Figure 1 shows a typical WebSphere Application Server Network Deployment topology running with two profiles. The first is a default profile for a WAS Base instance; this profile contains information for one server. The second is a WAS Deployment Manager instance that contains two servers in the profile. Both are logically grouped within a node. A node normally corresponds to a physical computer system with a specific IP address. Associated with the application server is the embedded HTTP server, which directs requests to the application server. The embedded HTTP can be associated with a production HTTP server such as IBM's HTTP Server product based on Apache, or another third-party product.

The profile defines the characteristics of the WAS instance that is running in the context of the JVM. The profile contains all of the information that makes the server instance unique, such as port mappings, available services, data sources, JDBC providers, etc. The profile information is contained in the <WAS_ROOT>/profiles directory. Table 1 illustrates the contents of the profile directory and their functions within the WAS. A default profile is created for you when you initially install WAS v6.0.

Creating New Profiles
For one reason or another, you have decided to create a new WAS Profile. Perhaps you have two development groups that share the same install instance but have different configuration environments. Or perhaps you wish to have two versions of the same application running, but with different environments. WAS v6 supports two ways of creating a new profile: the profile creation wizard and command line.

Profile Creation Wizard
The easiest way to create a new profile is to run the Profile creation wizard tool located in the <WAS_ROOT>/bin/ProfileCreator directory. Figure 2 shows the profile creation tool that will step you through the process of creating a profile. You will need to decide the name of the profile, the directory of where the profile information will be stored, the node and hostname of the server, and any changes to the default ports. The wizard will attempt to avoid WAS port conflicts by looking at the existing configured ports. It does not attempt to look at services outside of WebSphere that may already be running on those ports during the profile creation.

Creating Profiles with the Command Line
Another way to create a profile is via the wasprofile command line. The wasprofile creation tool is located in the <WAS_ROOT>/bin directory of the application server. For Linux, the file is wasprofile.sh and for windows it's wasprofile.bat. The wasprofile command is the primary tool used to manage profiles and provides the greatest amount of flexibility. Listing 1 creates a profile called MyNewProfile.

The -profilePath specifies the location in which the profile directory should reside. Normally, profiles are placed in the profile repository directory located in <WAS_ROOT>/profiles, but this can be overridden.

The parameter -templatePath specifies the location of profile templates that will be used in creating the new profile. The profile templates directory contains a number of Ant scripts and default configurations that act as a starting point for the tool in creating a new profile. Which template is used is important when considering what instance of WebSphere you wish to create. As an example, the WAS ND version of the product supports running in three modes: standalone base application server, a managed base application server, or as a deployment manager. The specific example uses the default profile to create a standard application server.

The profile tool only supports executing one instance at a time. If you try to start another instance of wasprofile while the first one is still completing, you will receive an error message.

The -nodeName and -cellName specify the name of the node and the name of the WAS cell. A node is a grouping of servers, while a cell is a logical grouping of nodes.

The -hostName is the name of the machine on which that the profile resides.

When the profile is created, the directory structure described in Table 1 will be created in the directory location that you specified. The default profile repository is <WAS_ROOT>/profiles/. Once the profile is created, you will need to start the application server. If you used the profile creation wizard, you will have the option of starting the FirstSteps application when the profile creation is complete. FirstSteps is an easy tool to start and test your profile. You can later rerun the FirstSteps tool by going into the firststeps directory of where your profile was created.

Another way of starting your application server using your new profile is via the command line. WebSphere provides two ways of starting the application server; it is with the same command but from two different locations. The first location is the <WAS_ROOT>/bin directory. Contained here is a helper script called startServer.cmd on Windows, and startServer.sh on Linux. When starting the application server from here, you will need to specify the profile to be started. For example, if your profile was called MyNewProfile, then the command would be:

startServer.sh server1 -profile MyNewProfile







server1 is the default server name given to Application Server when the profile was created. There are a number of other commands that are contained in this directory. If you have a specific profile that you want to change the state of, then you will need to specify the -profile command. The system administrator can use the commands in the <WAS_ROOT>/bin directory to control all of the profile instances. The commands in the <WAS_ROOT>/bin directory are intended for system administrators to execute.

The other location is within the bin directory of the profile you created. If you created the profile MyNewProfile, then the startServer.sh command would be located in <WAS_ROOT>/profiles/MyNewProfile/bin. The difference here is that all of the executables stored in this directory run in the context of the newly created profile. The -profile MyNewProfile is not required to start the application server.

The reason for the difference is that the profiles can be owned by a different group aside from the system administrator who is controlling the WAS. As the owner of MyNewProfile, I may have the need to start and stop the servers in my profile, but at the same time not have the authority to start and stop servers for another profile.

Managing Profiles
The wasprofile command also supports managing profiles as well as creating them. The description below contains some of the commands that the wasprofile provides.

Deleting a Profile
When you delete a profile, it removes the named profile and its contents from the directory. Any customization or additional scripts that you may have added to the profile directory may also be deleted as well. You should use this tool rather than deleting the profile directory manually since this will prevent corruption of the profile information that WAS maintains.

./wasprofile.sh -delete -profileName profile_name | - profilePath profile_path [-debug]


Listing Additional Profiles
To list the profiles that WAS knows about, use the following command:

./wasprofile.sh -listProfiles [-debug]


To check the integrity of a profile registry:

./wasprofile.sh -validateRegistry [-debug]


Get the path of an existing profile from the name:

./wasprofile.sh -getPath -profileName profile_name [-debug]


Conclusion
Profiles in WAS v6 offer flexibility to meet growing changes in environments. With profiles it is possible to create new application servers that have a degree of separation between other J2EE applications that might be running on the server. When you create a profile, you are creating a new instance of the WebSphere Application Server that shares the same runtime binaries, yet can have a unique configuration that is separate from another WebSphere instance. The separation has advantages for setting up and maintaining your WebSphere installation.

Resources

  • Williamson, L., Chan, L., Cundiff, R., Lauzon, S., and Mitchell, C. (2005). IBM WebSphere System Administration. IBM Press.
  • WebSphere Application Server Information Center: www-306.ibm.com/software/webservers/appserv/was/library/
  • More Stories By Kevin Haverlock

    Kevin Haverlock is an advisory software engineer for IBM's WebSphere Application Server product. He joined IBM in 1995 at Research Triangle Park, NC, where he worked as a developer for the Tivoli division. In 2000 he transferred to the WebSphere Application Server organization and is currently an architect and developer for the WebSphere Application Server Express product.

    Comments (1) View Comments

    Share your thoughts on this story.

    Add your comment
    You must be signed in to add a comment. Sign-in | Register

    In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


    Most Recent Comments
    Adam Clarricoates 02/24/05 03:29:50 AM EST

    Is there any (supported) way to move a profile from one WAS install to another? I can't see a way from quickly reading through the documentation.

    Why is this important?...

    Let's say I have 4 profiles with 4 apps pointing to WAS_HOME1, which is running v6.0.0.1. One of the apps needs a WAS fix, but the others don't want to move to the patched version (would involve lots more testing).

    At the moment, it looks like I need to make a new install, patch it, create a profile, install the app, reconfigure all the other infra to point to it (disrupting many other systems) and retest all the new configurations.

    It would be great if I could just make a new WAS install, patch it and repoint application 1's profile to it - drastically reducing the number and scope of changes and so reducing the risk of a mistake somewhere and the amount of testing required.

    Adam

    @ThingsExpo Stories
    With an estimated 50 billion devices connected to the Internet by 2020, several industries will begin to expand their capabilities for retaining end point data at the edge to better utilize the range of data types and sheer volume of M2M data generated by the Internet of Things. In his session at @ThingsExpo, Don DeLoach, CEO and President of Infobright, will discuss the infrastructures businesses will need to implement to handle this explosion of data by providing specific use cases for filte...
    Cognitive Computing is becoming the foundation for a new generation of solutions that have the potential to transform business. Unlike traditional approaches to building solutions, a cognitive computing approach allows the data to help determine the way applications are designed. This contrasts with conventional software development that begins with defining logic based on the current way a business operates. In her session at 18th Cloud Expo, Judith S. Hurwitz, President and CEO of Hurwitz & ...
    SYS-CON Events announced today that VAI, a leading ERP software provider, will exhibit at SYS-CON's 18th International Cloud Expo®, which will take place on June 7-9, 2016, at the Javits Center in New York City, NY. VAI (Vormittag Associates, Inc.) is a leading independent mid-market ERP software developer renowned for its flexible solutions and ability to automate critical business functions for the distribution, manufacturing, specialty retail and service sectors. An IBM Premier Business Part...
    Fortunately, meaningful and tangible business cases for IoT are plentiful in a broad array of industries and vertical markets. These range from simple warranty cost reduction for capital intensive assets, to minimizing downtime for vital business tools, to creating feedback loops improving product design, to improving and enhancing enterprise customer experiences. All of these business cases, which will be briefly explored in this session, hinge on cost effectively extracting relevant data from ...
    SYS-CON Events announced today that Men & Mice, the leading global provider of DNS, DHCP and IP address management overlay solutions, will exhibit at SYS-CON's 18th International Cloud Expo®, which will take place on June 7-9, 2016, at the Javits Center in New York City, NY. The Men & Mice Suite overlay solution is already known for its powerful application in heterogeneous operating environments, enabling enterprises to scale without fuss. Building on a solid range of diverse platform support,...
    As enterprises work to take advantage of Big Data technologies, they frequently become distracted by product-level decisions. In most new Big Data builds this approach is completely counter-productive: it presupposes tools that may not be a fit for development teams, forces IT to take on the burden of evaluating and maintaining unfamiliar technology, and represents a major up-front expense. In his session at @BigDataExpo at @ThingsExpo, Andrew Warfield, CTO and Co-Founder of Coho Data, will dis...
    SYS-CON Events announced today that Pythian, a global IT services company specializing in helping companies adopt disruptive technologies to optimize revenue-generating systems, has been named “Bronze Sponsor” of SYS-CON's 18th Cloud Expo, which will take place on June 7-9, 2015 at the Javits Center in New York, New York. Founded in 1997, Pythian is a global IT services company that helps companies compete by adopting disruptive technologies such as cloud, Big Data, advanced analytics, and DevO...
    SYS-CON Events announced today that iDevices®, the preeminent brand in the connected home industry, will exhibit at SYS-CON's 18th International Cloud Expo®, which will take place on June 7-9, 2016, at the Javits Center in New York City, NY. iDevices, the preeminent brand in the connected home industry, has a growing line of HomeKit-enabled products available at the largest retailers worldwide. Through the “Designed with iDevices” co-development program and its custom-built IoT Cloud Infrastruc...
    SYS-CON Events announced today that Alert Logic, Inc., the leading provider of Security-as-a-Service solutions for the cloud, will exhibit at SYS-CON's 18th International Cloud Expo®, which will take place on June 7-9, 2016, at the Javits Center in New York City, NY. Alert Logic, Inc., provides Security-as-a-Service for on-premises, cloud, and hybrid infrastructures, delivering deep security insight and continuous protection for customers at a lower cost than traditional security solutions. Ful...
    SYS-CON Events announced today that Interoute, owner-operator of one of Europe's largest networks and a global cloud services platform, has been named “Bronze Sponsor” of SYS-CON's 18th Cloud Expo, which will take place on June 7-9, 2015 at the Javits Center in New York, New York. Interoute is the owner-operator of one of Europe's largest networks and a global cloud services platform which encompasses 12 data centers, 14 virtual data centers and 31 colocation centers, with connections to 195 ad...
    SYS-CON Events announced today that Commvault, a global leader in enterprise data protection and information management, has been named “Bronze Sponsor” of SYS-CON's 18th International Cloud Expo, which will take place on June 7–9, 2016, at the Javits Center in New York City, NY, and the 19th International Cloud Expo, which will take place on November 1–3, 2016, at the Santa Clara Convention Center in Santa Clara, CA. Commvault is a leading provider of data protection and information management...
    Eighty percent of a data scientist’s time is spent gathering and cleaning up data, and 80% of all data is unstructured and almost never analyzed. Cognitive computing, in combination with Big Data, is changing the equation by creating data reservoirs and using natural language processing to enable analysis of unstructured data sources. This is impacting every aspect of the analytics profession from how data is mined (and by whom) to how it is delivered. This is not some futuristic vision: it's ha...
    With the Apple Watch making its way onto wrists all over the world, it’s only a matter of time before it becomes a staple in the workplace. In fact, Forrester reported that 68 percent of technology and business decision-makers characterize wearables as a top priority for 2015. Recognizing their business value early on, FinancialForce.com was the first to bring ERP to wearables, helping streamline communication across front and back office functions. In his session at @ThingsExpo, Kevin Roberts...
    One of the bewildering things about DevOps is integrating the massive toolchain including the dozens of new tools that seem to crop up every year. Part of DevOps is Continuous Delivery and having a complex toolchain can add additional integration and setup to your developer environment. In his session at @DevOpsSummit at 18th Cloud Expo, Miko Matsumura, Chief Marketing Officer of Gradle Inc., will discuss which tools to use in a developer stack, how to provision the toolchain to minimize onboa...
    The cloud promises new levels of agility and cost-savings for Big Data, data warehousing and analytics. But it’s challenging to understand all the options – from IaaS and PaaS to newer services like HaaS (Hadoop as a Service) and BDaaS (Big Data as a Service). In her session at @BigDataExpo at @ThingsExpo, Hannah Smalltree, a director at Cazena, will provide an educational overview of emerging “as-a-service” options for Big Data in the cloud. This is critical background for IT and data profes...
    Silver Spring Networks, Inc. (NYSE: SSNI) extended its Internet of Things technology platform with performance enhancements to Gen5 – its fifth generation critical infrastructure networking platform. Already delivering nearly 23 million devices on five continents as one of the leading networking providers in the market, Silver Spring announced it is doubling the maximum speed of its Gen5 network to up to 2.4 Mbps, increasing computational performance by 10x, supporting simultaneous mesh communic...
    SYS-CON Events announced today that Fusion, a leading provider of cloud services, will exhibit at SYS-CON's 18th International Cloud Expo®, which will take place on June 7-9, 2016, at the Javits Center in New York City, NY. Fusion, a leading provider of integrated cloud solutions to small, medium and large businesses, is the industry's single source for the cloud. Fusion's advanced, proprietary cloud service platform enables the integration of leading edge solutions in the cloud, including clou...
    Most people haven’t heard the word, “gamification,” even though they probably, and perhaps unwittingly, participate in it every day. Gamification is “the process of adding games or game-like elements to something (as a task) so as to encourage participation.” Further, gamification is about bringing game mechanics – rules, constructs, processes, and methods – into the real world in an effort to engage people. In his session at @ThingsExpo, Robert Endo, owner and engagement manager of Intrepid D...
    WebRTC has had a real tough three or four years, and so have those working with it. Only a few short years ago, the development world were excited about WebRTC and proclaiming how awesome it was. You might have played with the technology a couple of years ago, only to find the extra infrastructure requirements were painful to implement and poorly documented. This probably left a bitter taste in your mouth, especially when things went wrong.
    Learn how IoT, cloud, social networks and last but not least, humans, can be integrated into a seamless integration of cooperative organisms both cybernetic and biological. This has been enabled by recent advances in IoT device capabilities, messaging frameworks, presence and collaboration services, where devices can share information and make independent and human assisted decisions based upon social status from other entities. In his session at @ThingsExpo, Michael Heydt, founder of Seamless...