
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?