Welcome!

Linux Containers Authors: Liz McMillan, Pat Romanski, Elizabeth White, Amit Gupta, Yeshim Deniz

Related Topics: Linux Containers

Linux Containers: Article

Web Services and Linux

A winning combination

Web services will be the leading programming model used for at least two-thirds of new applications by 2005, according to a recent Gartner report. Whether used in small integration tasks or in larger projects to transform business processes, Web services have proved to deliver serious benefits. Companies such as Amazon.com and Nordstrom have already deployed useful Web services.

Many software development vendors and open source organizations now provide tools for Web services development and deployment. You can easily begin developing Web services by taking advantage of these tools. But does the thought of developing Web services on Linux scare you? In particular, you may wonder whether Linux is ready to move into the Web services space. Let this article put your fears to rest with a discussion of:

  • The benefits gained by using Web services
  • Best practices to follow during each phase of Web services development
  • The tools available for developing Web services on Linux

    Linux
    In today's economy, many companies are looking for ways to cut costs while still offering an exceptional customer experience by using the Linux operating system. Although it has been around for almost 10 years, Linux only started to really get some serious consideration in the past few years. Looking beyond its unbeatable license agreement, some speculate that Linux's recent surge in popularity stems from its attractiveness as a great alternative method for developing different types of applications – including Web services.

    As you start preparing your Web services development environment, carefully consider your installation needs before choosing a Linux distribution. Each distribution provides different package formats (e.g., .zip, .deb, .jar, and .tar files), and not every software package is readily available for every Linux distribution. In some cases only older versions of a given package might be available. The package type you choose can impact your ease of installation and configuration.

    Among the many distributions of Linux, the top three are:

  • Red Hat: Closes the gap between Unix and Windows. This is a good choice if you are a novice Linux developer.
  • SuSE: Provides a desktop-like operating system that you can also use as a highpowered server. This is a good choice if you are a current Windows user.
  • Debian: The most vendor-neutral Linux distribution, managed by a community of developers rather than a company. This is a good choice if you already have some experience; Debian is typically the distribution used by well-seasoned Linux developers.

    Web Services
    The next time someone asks you what a Web service is, you can explain that it is simply a self-contained software component that sends and receives XML data across the Internet. Web services typically use two XML standards: Simple Object Access Protocol (SOAP) to define the XML message, and Web Services Description Language (WSDL) to describe the Web service interface.

    In a simple Web services scenario, an application sends a request to a service at a given URL using SOAP over HTTP. The service receives the request, processes it, and returns a response. Take the example of a weather forecast service, shown in Figure 1. The weather forecast service requests the current weather of a specified location, and the Web service response returns the forecast. This is the simplest form of a Web service because the response is sent almost immediately, and the request and response are both parts of the same method call.

     

    Now let's look at a more realistic scenario. ABC Company contracts with a software consulting firm to develop an order entry application for them. The order entry application needs to communicate with a parts information system on a mainframe to access information when orders are entered. In order to perform the integration with the mainframe, ABC Company has its developers create a software component that exposes data on the mainframe as a Web service. The software consulting firm then creates the order entry application to access the mainframe via this Web service.

    In this scenario, the Web service provides the following benefits:

  • "Interface points" between the two systems are defined as a series of XMLbased requests and responses. This simplifies the integration effort and saves time and money.
  • The mainframe system is to be replaced in 12 months. As long as its replacement can expose the same parts information as a Web service, then this replacement will require no rewrites to the front-end system.
  • ABC Company has another project on the drawing board to make parts information available to certain channel partners. If the channel partner application can access the parts information using the same Web service as the initial order entry application, then no new code needs to be written to support the channel partner's application.

    Starting to see some of the possibilities that Web services offer? If any of the follow- ing situations sound familiar, consider putting Web services into action in your own organization:

  • Your organization is constantly changing.
  • You need a flexible infrastructure that integrates your customers, suppliers, and partners.
  • Your organization needs the ability to expose your services programmatically over the Web.
  • You face obstacles in true business-tobusiness collaboration because of problems integrating outside of the firewall.
  • Your organization lacks a standard integration method among the separate infrastructures maintained by each division within your organization.

    Web Services on Linux
    Because you can now choose from numerous Linux-compatible tools to help you, developing Web services on Linux should no longer sound so scary (see Figure 2). Ready to get started? To get your Web services designed and running, you need to choose:

  • A Web services platform
  • Monitoring utilities for your Web service
  • Testing tools for your Web service
  • Management and diagnostic tools once your Web service is in production

     

    Selecting a Web Services Platform
    Remember that Web services are simply components that send and receive XML data across the Internet. Encoding and decoding data between the SOAP format and the underlying business objects is what makes Web services development difficult. While a SOAP processing engine or a SOAP server can be written from scratch, it is better to invest in a Web services platform to manage the Web services. Essentially, a SOAP server is an XML processor and an HTTP server (see Figure 3).

     

    Before you select your Web services platform, become familiar with the requirements for a Web services platform. These include:

  • SOAP support: The platform must provide a SOAP server or service that manages the sending, routing, and receiving of SOAP messages. This management usually involves receiving the SOAP message and mapping it to some backend application. Because SOAP is XML, it is vendor-, platform-, and languageindependent. SOAP also uses HTTP, making it firewall friendly.
  • Runtime environment: The runtime is the overall platform or container that the SOAP components execute in. The runtime environment is responsible for managing the Web services running on the platform. This responsibility might include configuration management, life cycle management, and recovery.

    Before we look at specific Web services platforms, you should also know that Web services development requires three basic steps. These are:

    1. Create the Web services interface
    2. Package and deploy the Web service
    3. Invoke the Web service
    We will not examine these steps in detail here; however, you can execute these steps on any of several Linux-compatible platforms. Each platform consists of tools that take existing software components and easily expose them as Web services. You can also use other tools. Some simplify the SOAP message construction process; others automatically generate SOAP proxy code to simplify the development of a client application that must access a Web service.

    Here are two popular Web services platforms:

  • Apache Axis: An open source toolkit that provides you with utilities to easily develop Web services. Apache Axis is a robust toolkit, but keep in mind that you have to do a lot of the Web services development manually. However, you can create Jakarta Ant scripts to accomplish the tasks required. Apache Axis depends on the Apache Tomcat installation.
  • BEA WebLogic Workshop: Provides the features necessary to create, package, deploy, and invoke your Web service – all from within the WebLogic platform. One of its greatest strengths is its easy-to-use graphical user interface. With this interface, you can build loosely coupled, asynchronous Web services quickly. It is important to note that BEA WebLogic Workshop is tightly integrated with the BEA WebLogic Application Server. In addition, BEA provides a plug-in to Borland's JBuilder so that you can build, test, and deploy Java Web services that leverage the Workshop Application Framework directly from JBuilder's development environment.

    Monitoring the Service
    Both Axis and BEA incorporate tools to help you monitor your Web services. Axis provides the tcpmon utility class that listens for connections on a given port on the local host and forwards incoming messages to another port on another server. By inserting itself between the two ports, tcpmon shows you all incoming and outgoing SOAP messages. Similarly, WebLogic Workshop provides you with a view of the SOAP messages. The two approaches differ in that the Apache Axis utility makes you configure tcpmon, while WebLogic Workshop embeds this capability within its user interface.

    Testing the Service
    When testing a Web service, you must have well-designed tests – especially if the service will be distributed and leveraged by other divisions, customers, suppliers, and partners. And testing a Web service presents a particular challenge because it lacks a user interface. Unlike Web-based applications that contain a presentation layer, Web services typically expose an XML request/response interface. Fortunately, you can choose from among several automated testing tools to help simplify your Web services testing process on Linux.

    A couple of the tools that we evaluated and recommend include:

  • PushToTest TestMaker: Allows you to test the functionality, scalability, and performance of a Web service. You can test the functionality of a Web service by developing JPython scripts in a graphical environment. For example, you can determine that the right SOAP message is being sent to the Web service. TestMaker also comes with the Test Object Oriented Library (TOOL), a library developed by PushToTest to simplify the creation of Web services tests. TOOL provides protocol handlers, data source handlers, and utility objects to handle communication with a Web service by using HTTP, HTTPS, SOAP, or XML-RPC.
  • Altova XMLSPY 5: Offers functionality such as support for advanced SOAP, WSDL, and Web services testing and debugging. The XMLSPY 5 SOAP Debugger acts as a Web services proxy between a Web services client and server. It lets you inspect WSDL files, singlestep through Web services transactions, inspect every request and response XML document, and set breakpoints on SOAP functions either on the request or the response. You can also define conditional breakpoints that trigger if a certain request or response contains selected data that is specified via an XPath query.

    Managing the Service
    In order to get the most out of Web services, you must be able to actively manage and control the new capabilities that come along with them. HP OpenView offers application management for most software running today. The new Web Services Management Engine (WSME) is already available for capturing Web services transactions, actively managing Web services over WSDL/SOAP, and enabling provisioning, user profile registration, realtime SLA enforcement, access control, subscription management and metering for prepaid billing. WSME can be deployed either as an endpoint on a Web service platform, or as a control point in front of a farm of Web service platforms. WSME can also natively manage J2EE or .NET Web services deployed behind or beyond the firewall.

    Looking forward, new manageability needs will continue to grow, as will the need for different operating environments such as Linux, hp-ux, and Windows to coexist in the same Internet infrastructure. As a result, organizations will demand tools that provide increasingly tight, integrated management for these components in order to achieve optimum costs and increase service levels at the same time.

    See Table 1 for a list of the tools available for Web services development along with the versions of Linux that each supports.

     

    Conclusion
    Web services offer solutions to deal with the changes, flexibility needs, and firewall issues that your organization faces. Building your Web services on Linux makes sense; now you have an overview of a wide variety of tools to help develop, monitor, and test your Web services. Put the best practices outlined in this paper to use and see how Web services can help your organization design sound integration tasks and transform its business processes.

  • More Stories By Claire Rogers

    Claire Rogers is a senior software consultant in HP's Developer Resources Organization, providing software consulting to customers on J2EE application management.

    Comments (3) 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
    Peter 11/04/03 12:08:39 PM EST

    Pretty good article, but I wanted to correct one piece of misinformation. The article states that Axis requires the Tomcat servlet engine. This is not true. Axis will run with any servlet engine. We happen to run Axis with a JBoss/Jetty distribution.

    John Bosman 11/03/03 09:24:51 AM EST

    I was impressed by this article, I heared things like SOAP before, but now I can put it into perspective.
    Thanks!

    Ned 11/02/03 06:33:05 PM EST

    Informative and well-written. Thanks so much!

    @ThingsExpo Stories
    As hybrid cloud becomes the de-facto standard mode of operation for most enterprises, new challenges arise on how to efficiently and economically share data across environments. In his session at 21st Cloud Expo, Dr. Allon Cohen, VP of Product at Elastifile, will explore new techniques and best practices that help enterprise IT benefit from the advantages of hybrid cloud environments by enabling data availability for both legacy enterprise and cloud-native mission critical applications. By rev...
    With major technology companies and startups seriously embracing Cloud strategies, now is the perfect time to attend 21st Cloud Expo October 31 - November 2, 2017, at the Santa Clara Convention Center, CA, and June 12-14, 2018, at the Javits Center in New York City, NY, and learn what is going on, contribute to the discussions, and ensure that your enterprise is on the right path to Digital Transformation.
    Join IBM November 1 at 21st Cloud Expo at the Santa Clara Convention Center in Santa Clara, CA, and learn how IBM Watson can bring cognitive services and AI to intelligent, unmanned systems. Cognitive analysis impacts today’s systems with unparalleled ability that were previously available only to manned, back-end operations. Thanks to cloud processing, IBM Watson can bring cognitive services and AI to intelligent, unmanned systems. Imagine a robot vacuum that becomes your personal assistant th...
    Digital transformation is changing the face of business. The IDC predicts that enterprises will commit to a massive new scale of digital transformation, to stake out leadership positions in the "digital transformation economy." Accordingly, attendees at the upcoming Cloud Expo | @ThingsExpo at the Santa Clara Convention Center in Santa Clara, CA, Oct 31-Nov 2, will find fresh new content in a new track called Enterprise Cloud & Digital Transformation.
    Most technology leaders, contemporary and from the hardware era, are reshaping their businesses to do software. They hope to capture value from emerging technologies such as IoT, SDN, and AI. Ultimately, irrespective of the vertical, it is about deriving value from independent software applications participating in an ecosystem as one comprehensive solution. In his session at @ThingsExpo, Kausik Sridhar, founder and CTO of Pulzze Systems, will discuss how given the magnitude of today's applicati...
    Smart cities have the potential to change our lives at so many levels for citizens: less pollution, reduced parking obstacles, better health, education and more energy savings. Real-time data streaming and the Internet of Things (IoT) possess the power to turn this vision into a reality. However, most organizations today are building their data infrastructure to focus solely on addressing immediate business needs vs. a platform capable of quickly adapting emerging technologies to address future ...
    SYS-CON Events announced today that Ryobi Systems will exhibit at the Japan External Trade Organization (JETRO) Pavilion at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Ryobi Systems Co., Ltd., as an information service company, specialized in business support for local governments and medical industry. We are challenging to achive the precision farming with AI. For more information, visit http:...
    As popularity of the smart home is growing and continues to go mainstream, technological factors play a greater role. The IoT protocol houses the interoperability battery consumption, security, and configuration of a smart home device, and it can be difficult for companies to choose the right kind for their product. For both DIY and professionally installed smart homes, developers need to consider each of these elements for their product to be successful in the market and current smart homes.
    SYS-CON Events announced today that Golden Gate University will exhibit at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Since 1901, non-profit Golden Gate University (GGU) has been helping adults achieve their professional goals by providing high quality, practice-based undergraduate and graduate educational programs in law, taxation, business and related professions. Many of its courses are taug...
    What is the best strategy for selecting the right offshore company for your business? In his session at 21st Cloud Expo, Alan Winters, U.S. Head of Business Development at MobiDev, will discuss the things to look for - positive and negative - in evaluating your options. He will also discuss how to maximize productivity with your offshore developers. Before you start your search, clearly understand your business needs and how that impacts software choices.
    SYS-CON Events announced today that Avere Systems, a leading provider of hybrid cloud enablement solutions, will exhibit at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Avere Systems was created by file systems experts determined to reinvent storage by changing the way enterprises thought about and bought storage resources. With decades of experience behind the company’s founders, Avere got its ...
    High-velocity engineering teams are applying not only continuous delivery processes, but also lessons in experimentation from established leaders like Amazon, Netflix, and Facebook. These companies have made experimentation a foundation for their release processes, allowing them to try out major feature releases and redesigns within smaller groups before making them broadly available. In his session at 21st Cloud Expo, Brian Lucas, Senior Staff Engineer at Optimizely, will discuss how by using...
    In this strange new world where more and more power is drawn from business technology, companies are effectively straddling two paths on the road to innovation and transformation into digital enterprises. The first path is the heritage trail – with “legacy” technology forming the background. Here, extant technologies are transformed by core IT teams to provide more API-driven approaches. Legacy systems can restrict companies that are transitioning into digital enterprises. To truly become a lead...
    SYS-CON Events announced today that Yuasa System will exhibit at the Japan External Trade Organization (JETRO) Pavilion at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Yuasa System is introducing a multi-purpose endurance testing system for flexible displays, OLED devices, flexible substrates, flat cables, and films in smartphones, wearables, automobiles, and healthcare.
    SYS-CON Events announced today that CAST Software will exhibit at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 - Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. CAST was founded more than 25 years ago to make the invisible visible. Built around the idea that even the best analytics on the market still leave blind spots for technical teams looking to deliver better software and prevent outages, CAST provides the software intelligence that matter ...
    SYS-CON Events announced today that Daiya Industry will exhibit at the Japanese Pavilion at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Ruby Development Inc. builds new services in short period of time and provides a continuous support of those services based on Ruby on Rails. For more information, please visit https://github.com/RubyDevInc.
    SYS-CON Events announced today that Evatronix will exhibit at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Evatronix SA offers comprehensive solutions in the design and implementation of electronic systems, in CAD / CAM deployment, and also is a designer and manufacturer of advanced 3D scanners for professional applications.
    As businesses evolve, they need technology that is simple to help them succeed today and flexible enough to help them build for tomorrow. Chrome is fit for the workplace of the future — providing a secure, consistent user experience across a range of devices that can be used anywhere. In her session at 21st Cloud Expo, Vidya Nagarajan, a Senior Product Manager at Google, will take a look at various options as to how ChromeOS can be leveraged to interact with people on the devices, and formats th...
    SYS-CON Events announced today that Taica will exhibit at the Japan External Trade Organization (JETRO) Pavilion at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Taica manufacturers Alpha-GEL brand silicone components and materials, which maintain outstanding performance over a wide temperature range -40C to +200C. For more information, visit http://www.taica.co.jp/english/.
    SYS-CON Events announced today that SourceForge has been named “Media Sponsor” of SYS-CON's 21st International Cloud Expo, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. SourceForge is the largest, most trusted destination for Open Source Software development, collaboration, discovery and download on the web serving over 32 million viewers, 150 million downloads and over 460,000 active development projects each and every month.