Welcome!

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

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
    DXWorldEXPO LLC, the producer of the world's most influential technology conferences and trade shows has announced the 22nd International CloudEXPO | DXWorldEXPO "Early Bird Registration" is now open. Register for Full Conference "Gold Pass" ▸ Here (Expo Hall ▸ Here)
    The Jevons Paradox suggests that when technological advances increase efficiency of a resource, it results in an overall increase in consumption. Writing on the increased use of coal as a result of technological improvements, 19th-century economist William Stanley Jevons found that these improvements led to the development of new ways to utilize coal. In his session at 19th Cloud Expo, Mark Thiele, Chief Strategy Officer for Apcera, compared the Jevons Paradox to modern-day enterprise IT, examin...
    DXWorldEXPO LLC announced today that All in Mobile, a mobile app development company from Poland, will exhibit at the 22nd International CloudEXPO | DXWorldEXPO. All In Mobile is a mobile app development company from Poland. Since 2014, they maintain passion for developing mobile applications for enterprises and startups worldwide.
    DXWorldEXPO LLC announced today that ICC-USA, a computer systems integrator and server manufacturing company focused on developing products and product appliances, will exhibit at the 22nd International CloudEXPO | DXWorldEXPO. DXWordEXPO New York 2018, colocated with CloudEXPO New York 2018 will be held November 11-13, 2018, in New York City. ICC is a computer systems integrator and server manufacturing company focused on developing products and product appliances to meet a wide range of ...
    Major trends and emerging technologies – from virtual reality and IoT, to Big Data and algorithms – are helping organizations innovate in the digital era. However, to create real business value, IT must think beyond the ‘what’ of digital transformation to the ‘how’ to harness emerging trends, innovation and disruption. Architecture is the key that underpins and ties all these efforts together. In the digital age, it’s important to invest in architecture, extend the enterprise footprint to the cl...
    In an era of historic innovation fueled by unprecedented access to data and technology, the low cost and risk of entering new markets has leveled the playing field for business. Today, any ambitious innovator can easily introduce a new application or product that can reinvent business models and transform the client experience. In their Day 2 Keynote at 19th Cloud Expo, Mercer Rowe, IBM Vice President of Strategic Alliances, and Raejeanne Skillern, Intel Vice President of Data Center Group and ...
    "We are a well-established player in the application life cycle management market and we also have a very strong version control product," stated Flint Brenton, CEO of CollabNet,, in this SYS-CON.tv interview at 18th Cloud Expo at the Javits Center in New York City, NY.
    In his session at @ThingsExpo, Arvind Radhakrishnen discussed how IoT offers new business models in banking and financial services organizations with the capability to revolutionize products, payments, channels, business processes and asset management built on strong architectural foundation. The following topics were covered: How IoT stands to impact various business parameters including customer experience, cost and risk management within BFS organizations.
    Here are the Top 20 Twitter Influencers of the month as determined by the Kcore algorithm, in a range of current topics of interest from #IoT to #DeepLearning. To run a real-time search of a given term in our website and see the current top influencers, click on the topic name. Among the top 20 IoT influencers, ThingsEXPO ranked #14 and CloudEXPO ranked #17.
    While the focus and objectives of IoT initiatives are many and diverse, they all share a few common attributes, and one of those is the network. Commonly, that network includes the Internet, over which there isn't any real control for performance and availability. Or is there? The current state of the art for Big Data analytics, as applied to network telemetry, offers new opportunities for improving and assuring operational integrity. In his session at @ThingsExpo, Jim Frey, Vice President of S...
    With the introduction of IoT and Smart Living in every aspect of our lives, one question has become relevant: What are the security implications? To answer this, first we have to look and explore the security models of the technologies that IoT is founded upon. In his session at @ThingsExpo, Nevi Kaja, a Research Engineer at Ford Motor Company, discussed some of the security challenges of the IoT infrastructure and related how these aspects impact Smart Living. The material was delivered interac...
    Andrew Keys is Co-Founder of ConsenSys Enterprise. He comes to ConsenSys Enterprise with capital markets, technology and entrepreneurial experience. Previously, he worked for UBS investment bank in equities analysis. Later, he was responsible for the creation and distribution of life settlement products to hedge funds and investment banks. After, he co-founded a revenue cycle management company where he learned about Bitcoin and eventually Ethereal. Andrew's role at ConsenSys Enterprise is a mul...
    Amazon started as an online bookseller 20 years ago. Since then, it has evolved into a technology juggernaut that has disrupted multiple markets and industries and touches many aspects of our lives. It is a relentless technology and business model innovator driving disruption throughout numerous ecosystems. Amazon’s AWS revenues alone are approaching $16B a year making it one of the largest IT companies in the world. With dominant offerings in Cloud, IoT, eCommerce, Big Data, AI, Digital Assista...
    The Founder of NostaLab and a member of the Google Health Advisory Board, John is a unique combination of strategic thinker, marketer and entrepreneur. His career was built on the "science of advertising" combining strategy, creativity and marketing for industry-leading results. Combined with his ability to communicate complicated scientific concepts in a way that consumers and scientists alike can appreciate, John is a sought-after speaker for conferences on the forefront of healthcare science,...
    In his session at Cloud Expo, Alan Winters, U.S. Head of Business Development at MobiDev, presented a success story of an entrepreneur who has both suffered through and benefited from offshore development across multiple businesses: The smart choice, or how to select the right offshore development partner Warning signs, or how to minimize chances of making the wrong choice Collaboration, or how to establish the most effective work processes Budget control, or how to maximize project result...
    In his keynote at 19th Cloud Expo, Sheng Liang, co-founder and CEO of Rancher Labs, discussed the technological advances and new business opportunities created by the rapid adoption of containers. With the success of Amazon Web Services (AWS) and various open source technologies used to build private clouds, cloud computing has become an essential component of IT strategy. However, users continue to face challenges in implementing clouds, as older technologies evolve and newer ones like Docker c...
    Personalization has long been the holy grail of marketing. Simply stated, communicate the most relevant offer to the right person and you will increase sales. To achieve this, you must understand the individual. Consequently, digital marketers developed many ways to gather and leverage customer information to deliver targeted experiences. In his session at @ThingsExpo, Lou Casal, Founder and Principal Consultant at Practicala, discussed how the Internet of Things (IoT) has accelerated our abilit...
    When shopping for a new data processing platform for IoT solutions, many development teams want to be able to test-drive options before making a choice. Yet when evaluating an IoT solution, it’s simply not feasible to do so at scale with physical devices. Building a sensor simulator is the next best choice; however, generating a realistic simulation at very high TPS with ease of configurability is a formidable challenge. When dealing with multiple application or transport protocols, you would be...
    Data is the fuel that drives the machine learning algorithmic engines and ultimately provides the business value. In his session at Cloud Expo, Ed Featherston, a director and senior enterprise architect at Collaborative Consulting, discussed the key considerations around quality, volume, timeliness, and pedigree that must be dealt with in order to properly fuel that engine.
    Two weeks ago (November 3-5), I attended the Cloud Expo Silicon Valley as a speaker, where I presented on the security and privacy due diligence requirements for cloud solutions. Cloud security is a topical issue for every CIO, CISO, and technology buyer. Decision-makers are always looking for insights on how to mitigate the security risks of implementing and using cloud solutions. Based on the presentation topics covered at the conference, as well as the general discussions heard between sessio...