Hit the ground running with AIDE, Part 6: Build an autonomic computing system

A look under the AIDE hood at Apache Axis

This tutorial -- the sixth in the series -- introduces two key elements of the IBM® Autonomic Integrated Development Environment (AIDE): Apache Tomcat and Axis. Discover tooling-related gaps that the AIDE online help doesn't cover so that you can become more comfortable with the way the toolkit uses the standard open source components.

Stephen B. Morris, CTO, Omey Communications

Stephen is the CTO of Omey Communications in Ireland. For the past 20 years, Stephen has worked for some of the world's largest networking companies on a wide range of software projects, including J2EE/J2SE-based network management systems, billing applications, porting and developing SNMP entities, network device technologies, and GSM mobile networking applications. He is the author of Network Management, MIBs and MPLS: Principles, Design and Implementation (Prentice Hall PTR, 2003) as well as several articles on network management and other topics for InformIT and OnJava.com. You can reach Stephen at stephenbjm@yahoo.com.



14 November 2006

Before you start

Learn what to expect from this tutorial and how to get the most out of it.

About this series

This tutorial is the sixth in a series that describes the IBM Autonomic Integrated Development Environment (AIDE) toolkit and its use in the increasingly crucial area of information technology (IT) management. The preceding tutorials have explored the IT management value chain from the managed elements all the way up to the management applications. This tutorial focuses more deeply on two of the foundational elements of the AIDE package itself -- Axis and Tomcat.

In keeping with the style of the earlier tutorials in this series (see Resources), this tutorial explores the code examples bundled with the Axis distribution. So, when you have installed the Axis distribution, you can easily run the examples for yourself. Effective IT management solutions require powerful component technologies -- a theme further explored in this tutorial.

This series is for anyone who knows some Java™ programming and wants to be able to use Web services through AIDE technology and its components to create effective IT management systems. AIDE incorporates several powerful open source technologies, including Eclipse, Tomcat (or IBM WebSphere® Application Server), and Axis. The earlier tutorials have discussed Eclipse at some length. Apart from deployment and undeployment of touchpoints, you haven't yet seen too much on Axis and Tomcat. This tutorial is intended to fill this gap and simultaneously help you to deepen your knowledge of IT management.

About this tutorial

For this sixth tutorial, the platform is still quite generic: Any platform that supports Eclipse, the AIDE toolkit, and Java Platform, Standard Edition (Java SE) V5.0. For example, Microsoft® Windows® XP is more than adequate. All the example code was written and tested on a computer running Windows XP Professional with Service Pack 2 (SP2).

Axis and Tomcat include some management utilities, and you see and use these throughout this tutorial. The tutorial is divided into three major sections:

  • The service-oriented background to Axis and Tomcat
  • Using Axis and Tomcat
  • Managing Axis and Tomcat

Section 1 sets the scene for why Axis and Tomcat (as well as other application servers) have become so important. Section 2 offers observations on AIDE and the way it builds, deploys, and consumes Axis-based services. The tutorial concludes with a discussion about how you can manage Axis and Tomcat.

Objectives

Learn about the key roles that Axis and Tomcat play in AIDE.

Prerequisites

This tutorial is written for programmers who have a reasonable knowledge of Java programming and Java Platform, Enterprise Edition (Java EE) elements. The ability to use Java EE elements, such as application servers, is helpful but not necessary. Detailed directions are provided throughout so that you can complete the tutorial either in conjunction with or in isolation from the other tutorials in the series.

Axis is an open source SOAP server and client. The Axis distribution includes comprehensive documentation. If you're not familiar with AIDE, be sure to review the Axis documentation -- in particular, the Axis installation instructions and user guide. These documents also provide good insight into the design philosophy and general approach that the Axis developers have taken.

One last point about the Axis documents: In cases where the latter provide comprehensive coverage of a topic (for example, service styles and Web Services Description Language, or WSDL), this tutorial does not cover the same ground. Instead, it refers you to the published documents.

System requirements

To run the examples in this tutorial, the minimum platform requirements are a computer running Windows XP on which you've installed the AIDE software and Axis, Tomcat V5, and Java SE V5.0.

Note: You will use Axis and Tomcat in isolation from AIDE, which is why you must install them separately.


Getting started with Axis and Tomcat

Discover the role of Service-Oriented Architecture (SOA) in Axis and Tomcat

The service-oriented background of Axis and Tomcat

All the world is talking about SOA and Web services. These technologies are definitely the flavor of the month and probably will remain so for a few years to come. SOA represents an interesting convergence between software and networking. The users of the two major programming languages -- the Java and C# languages -- are working hard to address user needs. You can use either language to build technology-agnostic client-side and server-side solutions. The Java language provides for the various Java platforms, while C# provides for the Microsoft .NET platform.

In a way, server-side development (using Axis) hearkens back to the old mainframe days. By moving key code onto the server, clients are freed from having to maintain complex software. It's hard enough these days just getting your work done and keeping anti-virus software and operating systems up-to-date. With SOA, you have a gentler software model -- clients simply consume the exported services as required through browsers, custom graphical user interface (GUI) applications, or the command line.

The centralized software deployment model of SOA has other benefits aside from simpler clients. It is somewhat easier to implement security in this setup: If clients aren't sufficiently secure in their message-based server interactions, then they can simply be refused service. Other issues are also simplified -- for example, licensing, one version can be deployed, and no need for duplicate software installations.

There are disadvantages as well -- principally that the network and the application server (and its dependent elements) become super-critical components. If for some reason clients can't access the networked services, the business penalties can be substantial.

Managing a service-oriented IT infrastructure

A key SOA concept is being able to view IT infrastructure as a set of integrated, re-useable services. Figure 1 shows a service-oriented IT infrastructure, its exported services, and the various service consumers.

Figure 1. A service-oriented IT architecture
Service-oriented IT architecture

The services the IT infrastructure in Figure 1 exports can be consumed by:

  • End users
  • Systems (such as management systems)
  • Business processes (such as payroll)
  • Other services (such as services accessible by business partners)

Each service in Figure 1 has a distinct life cycle, including creation, utilization, modification, and retirement. It's increasingly difficult to deliver such an environment using traditional manual techniques. One major obstacle is the use of service-level assurance, where services are provided with a specified level of guarantee. Guarantees can apply to availability, throughput, security, or any other quality attribute. The point is, service provision is becoming far more complicated than ever before.

To achieve this kind of complex service-oriented architecture, you must have effective, (preferably) automated management facilities. In addition, you can combine services to form arbitrarily complex (super) services. Clearly, the provision of service-oriented IT infrastructure requires advanced management and platform software.

Axis and Tomcat operating in concert constitute a robust platform for SOA and Web services. And fortunately, they're following the trend for improved management instrumentation. They achieve Web services by supporting technologies such as Java Management Extensions (JMX).


Using Axis and Tomcat

This section describes how to get Axis and Tomcat up and running.

Install Tomcat

The process for installing Tomcat is straightforward. To do so, complete these steps:

  1. Download Apache Tomcat version 5.0.
  2. Run the Tomcat setup file.
  3. Complete the setup wizard, accepting the defaults.

Figure 2 illustrates the main decisions required for Tomcat installation. I opted for installing Tomcat as a service (off by default). If you click Next and you have sufficient disk space, Tomcat should be successfully installed. That's it! You should now be able to use Tomcat.

Figure 2. Tomcat installation options
Tomcat installation options

Run Tomcat

To run Tomcat under Windows XP, complete these steps:

  1. Click Start, and then click Control Panel.
  2. Click Performance and Maintenance, and then click Administrative Tools.
  3. Double-click Services.
  4. Click Apache Tomcat, and then click Start the service, as shown in Figure 3.
    Figure 3. Starting the Tomcat service
    Starting the Tomcat service

If all is well with your installation, Tomcat should now be running. You'll be updating Tomcat in the next section, so for the moment, click Stop the service.

Note: You can also configure the Tomcat service to run automatically whenever Windows starts. To do this, right-click Apache Tomcat, and then click Properties. Set the Startup type to Automatic.

You can also interact with Tomcat from the Start menu. (Make sure that the Tomcat service is running before trying this.) Click Start, point to All Programs, and then click Apache Tomcat 5.x to display these menu items:

  • Click Configure Tomcat to set the various Tomcat properties, such as logging level and security.
  • Select the Monitor Tomcat option to add a status icon to your system tray.
  • Select the Tomcat Manager option to access a window into the Tomcat instance.

The Tomcat Manager lists deployed applications, application names, application state, and more. In fact, the manager is a distinct application type, as you'll see next.

Introducing dashboards

The Tomcat Manager facility is what is often called a dashboard, drawing on an automotive analogy. The Sun Microsystems reference Java EE server includes software not unlike the Tomcat dashboard, and Axis has a conceptually similar infrastructure. The key point here is that Web application software and other IT management increasingly include strong management facilities.

The Windows operating system ships with a range of dashboard-style features, such as the utilities for the Microsoft .NET Frameworks Configuration (versions 1.1. and 2.0). These programs provide powerful features to manage .NET assemblies. Other Windows dashboard facilities, such as the event viewer and the performance monitor, are available under Control Panel > Administrative Tools.

The need for management standards

What is one important problem with these management programs? One word: standards. They're not standards based -- that is, they work for the Windows platform but not for other platforms. This is in no way a criticism of Microsoft or any other vendor. The conundrum is, if a management utility such as the Windows event viewer or Tomcat Manager from vendor X adds value to a program from vendor Y, what incentive does vendor X have to support a program from vendor Y? However, if both vendors provide standards-compliant solutions, the hope is that their management utilities will be interchangeable.

Later in this tutorial, you see how to interact with the JMX-based management instrumentation of Tomcat.

Install Axis

Installing Axis is more involved than installing Tomcat. The process is broken into the following procedures:

  • Installing the basic Axis distribution
  • Updating the CLASSPATH
  • Downloading supplementary Axis files
  • Updating and restarting Tomcat
  • Verifying the Axis installation
  • Re-verifying the Axis installation with the Axis happiness page

The steps described here represent either filling in gaps or explicit corrections to the documentation instructions in the Axis distribution files. It's still important to read the latter to get a flavor of the technology and the approach that the Axis developers have taken. In other words, this tutorial is an adjunct to rather than a replacement for the Axis documentation.

Step 1: Install the basic Axis distribution

To install the basic Axis distribution on your system, download and extract the compressed distribution file. I favor using short paths to applications: Install Axis in a folder such as C:\java\axis.

Step 2: Update the CLASSPATH

Ensure you have an Extensible Markup Language (XML) parser in your path. I used xercesImpl.jar. In addition, I created a DOS batch file to handle the necessary environment variable creations. Listing 1 shows the batch file commands.

Listing 1. Axis environment variables setup
set AXIS_HOME=C:\java\axis\axis-1_3
set AXIS_LIB=%AXIS_HOME%\lib
set AXISCLASSPATH=%AXIS_LIB%\axis-ant.jar;%AXIS_LIB%\axis-schema.jar;
    %AXIS_LIB%\axis.jar;%AXIS_LIB%\commons-discovery-0.2.jar;
    %AXIS_LIB%\commons-logging-1.0.4.jar;%AXIS_LIB%\jaxrpc.jar;
    %AXIS_LIB%\log4j-1.2.8.jar;%AXIS_LIB%\log4j.properties.jar;
    %AXIS_LIB%\saaj.jar;%AXIS_LIB%\wsdl4j-1.5.1.jar;
    %AXIS_LIB%\xercesImpl.jar;%AXIS_LIB%\xml-apis.jar;%AXIS_LIB%\mail.jar;
    %AXIS_LIB%\activation.jar

set CLASSPATH=%AXIS_HOME%;%AXISCLASSPATH%;%CLASSPATH%

Step 3: Download supplementary Axis files

Listing 1 includes files that you must download separately. I include them at this point because they will be necessary after you try to run the Axis examples. The distribution installation instructions note that if the examples don't work, your CLASSPATH is probably incomplete or simply wrong. If you follow the steps here, you shouldn't have problems.

The longest individual item in Listing 1 (aside from the CLASSPATH) is the AXISCLASSPATH. You must include all the .jar files in this folder, although the Axis documentation doesn't point this out.

You can make the above settings permanent by creating Windows environment variables from the Control Panel. It's a matter of style, really -- using a batch file means that your settings apply only to the DOS console in which you run that batch file. In contrast, if you create environment variables and make them permanent, they apply to all DOS console instances. Such settings also remain after you no longer need them, so if you opt for permanent settings, you might need to spring clean every so often if you want to avoid an unnecessarily long CLASSPATH.

Step 4: Update and restart Tomcat

To register Axis with Tomcat, copy the contents of the webapps/axis folder (in the Axis setup directory) into the Tomcat webapps folder (in the Tomcat setup directory).

You're now ready to run Axis.

Step 5: Verify the Axis installation

To access the Axis start page, type http://127.0.0.1:8080/axis in your browser's address bar. If you used a port other than the default port 8080, use that port in the URL. If all is well, you should see a friendly Web page similar to the excerpt shown in Figure 4.

Figure 4. The Axis start page
The Axis start page

Next, click Validation to display the Axis happiness page -- a page designed to help you identify any missing elements required to make Axis operational.

Step 6: Reverify the Axis installation with the Axis happiness page

Figure 5 shows an excerpt from the Axis happiness page.

Figure 5. The Axis happiness page
The Axis happiness page

Axis and Tomcat management

Axis and Tomcat are important elements of IT infrastructure. So, you want to be able to manage them effectively. Both applications come packaged with configuration tools, some of which you'll be using in the sections that follow. As mentioned above, these tools are proprietary in nature; in the case of Axis, the tools are mostly command based. It's important to be able to manage IT infrastructure elements remotely by using open, standards-based management tools. Examples of such standards include Web Services Distributed Management (WSDM), JSR-77, Simple Network Management Protocol (SNMP), and Java Management Extension (JMX).

If any elements marked as necessary in Figure 5 are missing, follow the supplied URLs to download the required items. I had to download a few items -- namely, commons-discovery-0.2.jar, activation.jar, and mail.jar. You might need to download xalan.jar, as well.

When you've got these files, copy them into TOMCAT_HOME\Tomcat 5.5\webapps\axis\WEB-INF\lib, where TOMCAT_HOME is the installed location of Tomcat. Then, reload the happiness page.

You're now ready to start using Axis. At this point, I recommend following the remaining steps in the Axis installation document. This process helps ensure that you have all the files you need. The minimum steps to run are:

  1. Test a SOAP endpoint
  2. Test a Java Web Service (JWS) endpoint
  3. Deploy your Web service
  4. Verify that your CLASSPATH is correct

Congratulations! You're now finally ready to deploy and run an Axis Web service.


Deploy and list a simple Axis Web service

You can now run one of the example Web services provided with the Axis distribution.

Deploy the Web service to Axis

First, change to the samples/stock directory just off the main Axis installation folder. Execute the command in Listing 2 from this folder.

Listing 2. Deploying an Axis service to Tomcat
java -cp %AXISCLASSPATH% org.apache.axis.client.AdminClient -
  lhttp://localhost:8080/axis/services/AdminService deploy.wsdd

You should now see the service deployed to Axis, as shown in Listing 3.

Listing 3. The result of deploying an Axis service to Tomcat
Processing file deploy.wsdd
<Admin>Done processing</Admin>

Nothing too dramatic there, but your service has now been successfully deployed. You can verify this by running the command shown in Listing 4.

Listing 4. Listing deployed Axis services
java org.apache.axis.client.AdminClient list

The result of running the command in Listing 4 is a lengthy display of Axis status and deployed entities. Look out for the name of the service you just deployed (StockQuoteService as recorded in the file deploy.wsdd).

Note: You can also list the deployed services from the Axis start page. Do this by selecting the List option shown in Figure 4. I wasn't able to get this to work for some reason, so I opted to use a command prompt to interact with Axis services per the Axis documentation.

To get a feel for deploying and undeploying Axis services, run the undeploy command shown in Listing 5. (This is just a slightly modified version of the command from Listing 2). The expected output from this command is also illustrated in Listing 5.

Listing 5. Undeploying an Axis service from Tomcat
java -cp %AXISCLASSPATH% org.apache.axis.client.AdminClient -
    lhttp://localhost:8080/axis/services/AdminService undeploy.wsdd

Processing file undeploy.wsdd
<Admin>Done processing</Admin>

Now, rerun the service list command. You should see no trace of the StockQuoteService service. Remember that services have a distinct life cycle: The workflows described in Listing 2 through Listing 5 illustrate part of this life cycle. Specifically, they illustrate the deployment, listing, and undeployment of a given service.

Run the deployed Axis Web service

It's surprisingly simple to run an Axis service. Listing 6 shows the command required to run the StockQuoteService. Bear in mind that this is server-side development, so you're really just accessing the service by sending a message (using SOAP) and getting a response back.

What is automated management?

Try to think about the actions in Listings 2-5 occurring with no user input. Imagine the commands being issued by an automated, unattended (that is, a GUI-free) application. When you picture that in your mind, you're seeing what automated management is about. By this means, a management application handles the service life cycle and helps to keep the IT infrastructure operational. By operational, I mean more than just running; the infrastructure is also managed for it to be modifiable (that is, services can be started, stopped, and replaced) and secure, provide a defined quality of service (for example, 10,000 simultaneous users with no delays greater than 5 milliseconds), as well as other quality attributes.

Listing 6. Executing an Axis service
java -cp .;%AXISCLASSPATH% samples.stock.GetQuote 
  -lhttp://localhost:8080/axis/servlet/AxisServlet 
  -uuser1 -wpass1 XXX

Listing 7 illustrates the output from the invocation in Listing 6.

Listing 7. The result of executing an Axis service
XXX: 55.25

Not too shabby! You've deployed the service, and you've now managed to pull some data from it. This is probably the smallest SOA in the world. A true SOA simply builds on top of what you've done in getting to the point illustrated in Listings 6 and 7.

The stock symbol in Listing 7 is XXX, and the price is returned as 55.25. Obviously, these are just test variables, but you could configure the Axis service to extract real data from an online stock quotation service. Listing 8 shows an excerpt from the source code for the StockQuoteService. I've left out the command-line parameter handling code.

Listing 8. Excerpt from the Axis service source code
public class GetQuote {
    public float getQuote (String args[]) throws Exception {

      Service  service = new Service();

      Float res = new Float(0.0F);
      for (int i=0; i<count; i++) {
          Call call = (Call) service.createCall();

          call.setTargetEndpointAddress(url);
          call.setOperationName(new QName("urn:xmltoday-delayed-quotes", "getQuote");
          call.addParameter("symbol", XMLType.XSD_STRING, ParameterMode.IN);
          call.setReturnType(XMLType.XSD_FLOAT);
          call.setUsername(user);
          call.setPassword(passwd);

          Object ret = call.invoke(new Object[] {symbol});
          if (ret instanceof String) {
              System.out.println("Received problem response from server: "+ret);
              throw new AxisFault("", (String)ret, null, null);
          }
        res = (Float) ret;
      }
        return res.floatValue();
    }

As you can see in Listing 8, the object call acts as a client proxy for accessing the Web service. You set the destination endpoint by using the url variable. Next, the required operation is created. You then add the input parameter to the message, and the required return type is configured. The user credentials are added before the service is invoked.

The Axis user guide contains much additional detail on the other code examples in the distribution.

The four Axis service styles

Axis supports the message styles remote procedure call (RPC), document, wrapped, and message. Each has its own merits, as described in the user guide. Which service style does AIDE use?

Determining the service style that AIDE touchpoints use

AIDE touchpoints build message-style services. You can see where this is specified by looking at the file deploy.wsdd in the folder C:\eclipse\eclipse\workspace\DerbyTouchpoint\.deployables\DerbyTouchpoint\WEB-INF.

Listing 9 shows the contents of this short file.

Listing 9. A touchpoint deploy.wsdd file
<deployment name="AxisTouchpointService"
xmlns="http://xml.apache.org/axis/wsdd/"
xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"
xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance">
<service name="DerbyTouchpoint" style="message">
<parameter name="className"
value="com.ibm.cowbell.deploy.axis.AxisTouchpointService" />
<parameter name="allowedMethods" value="handleRequest" />
<parameter name="scope" value="Application" />
<wsdlFile>/DerbyTouchpoint.wsdl</wsdlFile>
</service>
</deployment>

As you can see in the line indicated (in bold text) in Listing 9, the service style is indeed message based. Message-based services provide the greatest freedom to your code in that you can directly access the XML message data. Remember that SOAP is a mechanism for inter-application communication between systems written in arbitrary languages, across the Internet. For more on this, see the Axis user guide.


How does all this about Axis compare with using AIDE?

If you've used AIDE before, you will have deployed and undeployed touchpoints. Figure 6 illustrates the Apache Derby touchpoint discussed in Part 5.

Figure 6. The deploy.bat and undeploy.bat files in the Derby touchpoint
The deploy.bat and undeploy.bat files

So, when you double-click either deploy.bat or undeploy.bat, you are in fact registering (or de-registering) the touchpoint with Axis. In this case, the touchpoint is the Web service of interest. Tomcat does not know about the logical entities contained in the application (the WS-resources). All it knows is the Axis servlet that has been deployed into it. For this reason, the server view lists just the touchpoints as illustrated in Figure 7.

Figure 7. The servers view of the touchpoints
The servers view of the touchpoints

Axis: A component of AIDE

Remember that AIDE generates message-based Web services for Axis. AIDE does this by using an integrated (that is, a component) version of Axis. So, when you build and deploy a touchpoint, you're also invoking Axis. This is actually done using a static service that invokes the AIDE framework. In this context, Axis calls into AIDE to read the deployment descriptor file (as you saw in Listing 9). From the descriptor, Axis extracts the required information on the WS-resources that are part of the touchpoint. The result is successful deployment onto your chosen Eclipse-integrated application server platform.


Managing Axis and Tomcat

Axis and Tomcat both include management facilities. You've seen some of the Axis browser-based and command-line facilities. Now, let's look at some of the Tomcat facilities.

Use the Tomcat management utilities

To use some of the Tomcat management utilities, run the following commands from a browser (by inserting the URLs). The command in Listing 10 lists the currently deployed and installed applications.

Listing 10. List deployed and installed applications
http://localhost:8080/manager/list

Another command in the same vein is reload, as shown in Listing 11.

Listing 11. The reload command
http://localhost:8080/manager/reload?path=/axis

This command reloads (that is, stops and starts) Axis. This can be useful when you update class and property files during development. If you want to view Tomcat platform information, you can run the serverinfo command, as shown in Listing 12.

Listing 12. The reload command
http://localhost:8080/manager/serverinfo

You can list Tomcat security roles by using the command shown in Listing 13.

Listing 13. The security roles command
http://localhost:8080/manager/roles

Similar Tomcat commands exist for session statistics, starting and stopping applications, undeploying applications, and more. Tomcat also supports the use of JMX.

Using the JMX proxy servlet for Tomcat management

Aside from the basic management commands, Tomcat supports JMX for get and set commands. To give you a flavor of this technology, you'll now see examples of a few servlet commands. These commands all follow the basic syntax displayed in Listing 14. You must substitute some text for the "blah" placeholder.

Listing 14. JMX command syntax
http://webserver/manager/jmxproxy/?qry=blah

Try using the command shown in Listing 15. You may have to type a user name and password before this command executes. If the command is successful, you should see a lot of information about loaded servlets.

Listing 15. JMX command syntax to list all loaded servlets
http://webserver/manager/jmxproxy/?qry=qry=*%3Aj2eeType=Servlet%2c*

Listing 16 shows an excerpt from the command when I ran it.

Listing 16. JMX command response listing all loaded servlets
OK - Number of results: 83

Name: Catalina:j2eeType=Servlet,name=default,WebModule=
    //localhost/axis,J2EEApplication=none,J2EEServer=none
modelerType: org.apache.catalina.core.StandardWrapper
engineName: Catalina
eventProvider: false
objectName: Catalina:j2eeType=Servlet,name=default,WebModule=
    //localhost/axis,J2EEApplication=none,J2EEServer=none
stateManageable: false
statisticsProvider: false
processingTime: 0
maxTime: 0
minTime: 9223372036854775807
requestCount: 0
errorCount: 0
loadTime: 0
classLoadTime: 0

You can see from Listing 16 that a total of 83 results are returned.

Management operations and Tomcat

The commands described in Listings 10-16 represent the conceptual exercise of reaching into Tomcat and requesting two types of operations: reading an item of data or writing an item of data. These are two prototypical IT management operations that are referred to as get and set operations, respectively. If you've followed the tutorial series, you'll have seen these operations described in the context of touchpoints.

In conjunction with the other pillar of IT management -- notifications, get operations, and set operations allow for powerful management. Appropriately designed touchpoints can incorporate these generic operations to help create non-proprietary, standards-based management solutions.

How about AIDE touchpoints for managing Axis and Tomcat?

From the preceding discussion, you can see that it makes sense to create touchpoints for both Axis and Tomcat. Just as you saw in Part 5, you can then manipulate Axis and Tomcat either directly by using the touchpoints or through a management application.

Axis and the Apache Muse Project

Perhaps not surprisingly, Axis is looming large on the horizon of another important open source project called Apache Muse. This project uses Axis as a key component of an implementation of one of the WSDM standards. For further details, visit the Apache Muse Web site.


Summary

There is a growing demand for SOA and service-based software. SOA-based IT infrastructure allows a wide range of users to consume services in a flexible manner. Tomcat is easy to install, but the same can't be said for Axis. Getting Axis up and running is definitely a bit of a chore. This reflects the fact that software really is increasingly component based now. After Axis is operational, however, it's not terribly difficult to use, and it provides a surprisingly simple programming model. AIDE incorporates Axis as a component, and you can use Eclipse to interact with the latter as you build and deploy message-style touchpoints.

A recurring theme in this tutorial series is the key role that standards play. This applies to all platforms, most of which provide some type of proprietary management infrastructure. IT management will remain an unsolved problem as long as management facilities continue to be proprietary. It's entirely possible that a solution to the management problem may come from the open source community, because the latter tends not to think in the same way as vendors.

Tomcat provides some powerful browser-based management tools, and these tools facilitate automated management -- for example, using a script-based management system. Tomcat is one of a growing number of software entities that support JMX. As such, Tomcat (and Axis) could easily be packaged as part of a touchpoint.

Resources

Learn

Get products and technologies

Discuss

  • developerWorks blogs: Participate in developerWorks blogs and get involved in the developerWorks community.

Comments

developerWorks: Sign in

Required fields are indicated with an asterisk (*).


Need an IBM ID?
Forgot your IBM ID?


Forgot your password?
Change your password

By clicking Submit, you agree to the developerWorks terms of use.

 


The first time you sign into developerWorks, a profile is created for you. Information in your profile (your name, country/region, and company name) is displayed to the public and will accompany any content you post, unless you opt to hide your company name. You may update your IBM account at any time.

All information submitted is secure.

Choose your display name



The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerWorks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

Required fields are indicated with an asterisk (*).

(Must be between 3 – 31 characters.)

By clicking Submit, you agree to the developerWorks terms of use.

 


All information submitted is secure.

Dig deeper into Tivoli (service management) on developerWorks


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=Tivoli (service management), Tivoli, SOA and web services, XML, Java technology
ArticleID=174319
ArticleTitle=Hit the ground running with AIDE, Part 6: Build an autonomic computing system
publish-date=11142006