XML Web Services: Connecting heterogeneous systems to a centralized database.

 

XML Web Services (XML is the acronym for - Extensible Markup Language) is perhaps one of the most misunderstood services that ESP offers. This article will try to explain in non-technical terms how the need for XML Web Services came about and how you can take advantage of this new technology. We’ll explain the need for web services and their evolution from a hodge-podge of systems to an international standard. We’ll also have some real-world examples of what they can do and in turn what problems they solve. Hopefully this will clarify for you what XML Web Services offers so you can take advantage of this new technology.

 

Let’s start with how XML Web Services has evolved at ESP. At ESP, we’ve been providing support for online paid websites since 1997 with the launch of Variety.com. Like many traditional print publications they didn’t want to cannibalize their print publication by giving away content on the site. Variety.com decided to offer the site for free to active print subscribers or as a stand alone paid subscription with site access only. This meant that when a print subscriber went to the site, they would have to be verified against the master database to ensure that they were an active subscriber.

 

When the site was launched we needed a way to check if the print subscriber was still active. Since ESP has always had a real-time integrated database, all we need to do is check the database to determine the subscriber’s status. The only problem was how to do that with two separate locations? How to get the server at the Variety.com site to communicate back and forth between the subcriber and the database housed on ESP’s servers. The answer was to use the Internet as the connection and build programs to have the computers talk to each other “behind the scenes”. This was essential since keeping the brand and look and feel of the site are critical to Variety.com. his system was a home-grown implementation of what web services currentlIt provided a way to have to separate systems communicate with each other.

 

There were a couple of drawbacks with this system. One was, it was custom to just Variety.com. Although other web sites were launched using a similar system, they were all copies and modifications of that original site. The site also was somewhat rigid in it’s data exchange rules. The fields were all positional, so if a new field was added or the definition changed, then both ESP and the Variety.com webmasters needed to coordinate. Management of this became a concern.  When new features were added to all of the systems, they would all have to be updated instead of just updating the core business rules in one place. In short, it was a good solution with the technology that was available at the time, but it could be improved.

 

The Internet was new and the technologically literate companies saw the advantages to being connected to other sites and partners. They started connecting in different ways and creating many disparate systems, but there was no standardization for transferring and validating data.  Management of these processes became burdensome. Some of the technology companies of the day became aware that their clients were facing many of the same issues that ESP was experiencing. So several well known computer companies such as Microsoft, BEA Systems Inc., IBM Corp., TIBCO Software Inc., VeriSign Inc., came up with some standards that have been released on a royalty-free basis. These standards for having heterogeneous systems communicate securely via the Internet are collectively known as XML Web Services.

 

 

So one can say that XML Web Services is basically a way for computers to communicate over the Internet. It allows authenticated users to have controlled read and update capability to a centralized, integrated database in real time. Now, what does this mean for Publishers and Circulators? How about some examples?

 

Let’s go over some examples of how XML Web Services is being used by ESP to solve some real world publishing problems.

 

 

New Order – Subscription only

Let’s say a client has a web site where the branding is really strong and there are frequent updates to the site. If the pages were hosted at the client’s site without web services then presumably a file would have to be sent over (typically by email or ftp) to the fulfillment house to be processed. This results in double keying or even if it’s an automated exchange, a database synchronization problem. With XML web services, the client can change the look of the site and the offers at will, and send requests for new subscriptions in real-time to the centralized database.

 

Here’s an example diagram of how XML Web Services can be used to have the client’s site(Content Server) communicate directly with ESP’s database server using XML Web Services as standard language to communicate in. This is different than if ESP would host the web pages. In this scenario, the client hosts all of the web pages at their site. This gives them complete flexibility in the look and feel of the web pages and the ability to make content changes such as price and term at will.

 

 

 

 

 

One should not confuse XML Web Services with web pages; these are two completely different things. Web pages can use XML Web Services in order to communicate with a back-end database, but XML Web Services by themselves are not used as web pages.

 

New Order – Discount for prior subscriptions purchased.

In this example let’s assume that a client has a web site where they will give discounts based on a subscription purchased earlier. In most systems, there’s no way to check the database in real-time. So if the subscriber had recently purchased a subscription and then found a page that offered a discount to another subscription, there would be no good way to find that information. With XML Web Services, you can query the database in real-time. Check on the subscriber’s status (even offer to renew or restart his subscription if expired) and then show the discounted price. Like the example above, once the order is taken, the information is immediately updated and you now have a timely picture of your customer.

 

 

Multiple sales channels

If you have more than one sales channel, for example agency A sells orders for you on their web site and Agency B sells orders for you on theirs. With XML Web Services both of these sites can send in the new orders directly to the same database. Traditionally these transactions would be batched up and sent in a file. Data is verified against the database and the XML Schema up front before it’s allowed to be added. Since each vendor has a separate identification, we can apply security rules as to what XML Web Services they are allowed to use or what data they are allowed to see. No more applying a batch and kicking out X number of records because they fail the edit rules. Now, these can be done instantly and seamlessly by multiple vendors, all using the same centralized database.

 

 

 

 

Update of subscriber address or demographic information

In this example let’s say it’s the day of issue cut-off.  With XML Web Services any updates made will be done in real-time and make the cut off for that day. No manual intervention or any other system processes are required.

 

Support for Multiple subscriptions and products.

Suppose you have an offer where you want to sell two subscriptions to related magazines and also an annual directory. With XML Web Services you can collect all of these in one “shopping cart” transaction and submit them to ESP as one customer order. ESP will link all of these transactions together so they will belong to the one customer.

 

 

Customized offers and up sells

In the example above we sold multiple subscriptions and products to one customer. If the subscriber returns to the web site we can then use XML Web Services to query the subscriber to be able to see their order history. This will allow you to customize your offer to the customer based on their past purchasing history.

 

 

Putting it all Together.

XML Web Services is an exciting new technology that helps business partners work together by using the connectivity of the Internet and a centralized/integrated real-time database. It’s an open standard that provides authenticated users access to our fulfillment services via the web. Our XML Web Services were developed with foresight and real-world fulfillment experience. We’ve built in the business rules for fulfillment of your subscriptions and products using our years of experience. Even though XML Web Services is a relatively new technology, because ESP was an early adopter, our implementation is a proven system that has run in production for several years. Modifications required due to changing business needs are typically handled by coding changes on ESP’s side, no changes to the interface or coding changes on your side. As we add functionality you get the additional benefits with having to do changes to your site. This will allow your IT staff time to concentrate on their core competencies, not spending time trying to understand Circulation, Auditing and Fulfillment 101. There are no multiple updates to manage or multiple master databases that inevitably get out of synch

 

Ultimately, XML Web Services is just another tool to help many people get the job done. There are perhaps other tools that can do the job, but depending on your requirements XML Web Services may be the right choice. ESP web services can save you quite a bit of money and make processes more streamlined. You know your business better than anyone else; how can XML Web Services help you?