Welcome!

Linux Containers Authors: Liz McMillan, James Carlini, Elizabeth White, Vaibhaw Pandey, Pat Romanski

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
    Widespread fragmentation is stalling the growth of the IIoT and making it difficult for partners to work together. The number of software platforms, apps, hardware and connectivity standards is creating paralysis among businesses that are afraid of being locked into a solution. EdgeX Foundry is unifying the community around a common IoT edge framework and an ecosystem of interoperable components.
    In his session at 21st Cloud Expo, Carl J. Levine, Senior Technical Evangelist for NS1, will objectively discuss how DNS is used to solve Digital Transformation challenges in large SaaS applications, CDNs, AdTech platforms, and other demanding use cases. Carl J. Levine is the Senior Technical Evangelist for NS1. A veteran of the Internet Infrastructure space, he has over a decade of experience with startups, networking protocols and Internet infrastructure, combined with the unique ability to it...
    "MobiDev is a software development company and we do complex, custom software development for everybody from entrepreneurs to large enterprises," explained Alan Winters, U.S. Head of Business Development at MobiDev, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
    "Space Monkey by Vivent Smart Home is a product that is a distributed cloud-based edge storage network. Vivent Smart Home, our parent company, is a smart home provider that places a lot of hard drives across homes in North America," explained JT Olds, Director of Engineering, and Brandon Crowfeather, Product Manager, at Vivint Smart Home, in this SYS-CON.tv interview at @ThingsExpo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
    "IBM is really all in on blockchain. We take a look at sort of the history of blockchain ledger technologies. It started out with bitcoin, Ethereum, and IBM evaluated these particular blockchain technologies and found they were anonymous and permissionless and that many companies were looking for permissioned blockchain," stated René Bostic, Technical VP of the IBM Cloud Unit in North America, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Conventi...
    "Akvelon is a software development company and we also provide consultancy services to folks who are looking to scale or accelerate their engineering roadmaps," explained Jeremiah Mothersell, Marketing Manager at Akvelon, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
    Coca-Cola’s Google powered digital signage system lays the groundwork for a more valuable connection between Coke and its customers. Digital signs pair software with high-resolution displays so that a message can be changed instantly based on what the operator wants to communicate or sell. In their Day 3 Keynote at 21st Cloud Expo, Greg Chambers, Global Group Director, Digital Innovation, Coca-Cola, and Vidya Nagarajan, a Senior Product Manager at Google, discussed how from store operations and ...
    Large industrial manufacturing organizations are adopting the agile principles of cloud software companies. The industrial manufacturing development process has not scaled over time. Now that design CAD teams are geographically distributed, centralizing their work is key. With large multi-gigabyte projects, outdated tools have stifled industrial team agility, time-to-market milestones, and impacted P&L stakeholders.
    Gemini is Yahoo’s native and search advertising platform. To ensure the quality of a complex distributed system that spans multiple products and components and across various desktop websites and mobile app and web experiences – both Yahoo owned and operated and third-party syndication (supply), with complex interaction with more than a billion users and numerous advertisers globally (demand) – it becomes imperative to automate a set of end-to-end tests 24x7 to detect bugs and regression. In th...
    "Cloud Academy is an enterprise training platform for the cloud, specifically public clouds. We offer guided learning experiences on AWS, Azure, Google Cloud and all the surrounding methodologies and technologies that you need to know and your teams need to know in order to leverage the full benefits of the cloud," explained Alex Brower, VP of Marketing at Cloud Academy, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clar...
    "There's plenty of bandwidth out there but it's never in the right place. So what Cedexis does is uses data to work out the best pathways to get data from the origin to the person who wants to get it," explained Simon Jones, Evangelist and Head of Marketing at Cedexis, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
    SYS-CON Events announced today that CrowdReviews.com has been named “Media Sponsor” of SYS-CON's 22nd International Cloud Expo, which will take place on June 5–7, 2018, at the Javits Center in New York City, NY. CrowdReviews.com is a transparent online platform for determining which products and services are the best based on the opinion of the crowd. The crowd consists of Internet users that have experienced products and services first-hand and have an interest in letting other potential buye...
    SYS-CON Events announced today that Telecom Reseller has been named “Media Sponsor” of SYS-CON's 22nd International Cloud Expo, which will take place on June 5-7, 2018, at the Javits Center in New York, NY. Telecom Reseller reports on Unified Communications, UCaaS, BPaaS for enterprise and SMBs. They report extensively on both customer premises based solutions such as IP-PBX as well as cloud based and hosted platforms.
    It is of utmost importance for the future success of WebRTC to ensure that interoperability is operational between web browsers and any WebRTC-compliant client. To be guaranteed as operational and effective, interoperability must be tested extensively by establishing WebRTC data and media connections between different web browsers running on different devices and operating systems. In his session at WebRTC Summit at @ThingsExpo, Dr. Alex Gouaillard, CEO and Founder of CoSMo Software, presented ...
    WebRTC is great technology to build your own communication tools. It will be even more exciting experience it with advanced devices, such as a 360 Camera, 360 microphone, and a depth sensor camera. In his session at @ThingsExpo, Masashi Ganeko, a manager at INFOCOM Corporation, introduced two experimental projects from his team and what they learned from them. "Shotoku Tamago" uses the robot audition software HARK to track speakers in 360 video of a remote party. "Virtual Teleport" uses a multip...
    A strange thing is happening along the way to the Internet of Things, namely far too many devices to work with and manage. It has become clear that we'll need much higher efficiency user experiences that can allow us to more easily and scalably work with the thousands of devices that will soon be in each of our lives. Enter the conversational interface revolution, combining bots we can literally talk with, gesture to, and even direct with our thoughts, with embedded artificial intelligence, whic...
    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.
    Leading companies, from the Global Fortune 500 to the smallest companies, are adopting hybrid cloud as the path to business advantage. Hybrid cloud depends on cloud services and on-premises infrastructure working in unison. Successful implementations require new levels of data mobility, enabled by an automated and seamless flow across on-premises and cloud resources. In his general session at 21st Cloud Expo, Greg Tevis, an IBM Storage Software Technical Strategist and Customer Solution Architec...
    To get the most out of their data, successful companies are not focusing on queries and data lakes, they are actively integrating analytics into their operations with a data-first application development approach. Real-time adjustments to improve revenues, reduce costs, or mitigate risk rely on applications that minimize latency on a variety of data sources. In his session at @BigDataExpo, Jack Norris, Senior Vice President, Data and Applications at MapR Technologies, reviewed best practices to ...
    An increasing number of companies are creating products that combine data with analytical capabilities. Running interactive queries on Big Data requires complex architectures to store and query data effectively, typically involving data streams, an choosing efficient file format/database and multiple independent systems that are tied together through custom-engineered pipelines. In his session at @BigDataExpo at @ThingsExpo, Tomer Levi, a senior software engineer at Intel’s Advanced Analytics gr...