Cloanto   Home     Products & Services     Purchase     Support     Search: Go
Currency System :: Support :: White Papers
System Overview
Currency Server
Managed Services
Web Tools
:: Overview
:: FAQ
:: Troubleshooting
:: White Papers
:: Internationalization
:: The Euro
:: Currency Codes
:: Web Links
:: Support Plans
:: Contact

Currency Server Software vs. Web Services

Software-based and service-based solutions offer possible advantages, disadvantages and opportunities for synergistic interaction in terms of:

  • Ease of deployment
  • Performance
  • Reliability
  • Control
  • Scalability
  • Maintenance
  • Administration
  • Cross-platform integration
  • Total cost of ownership
Related Links

The business model for the Currency System family of products and services revolves around the belief that a combination of currency-enabling software and service (traditional data feed, or Web service) can provide superior results compared to a service-only approach.

The most obvious requirement in any currency-related solution is that exchange rates fluctuate, and therefore require updates. The decision to support multiple currencies, however, normally has several additional implications which need to be addressed. While official reference rates usually change once a day, there are different events with occur both at a lower frequency (e.g. a few times per year) and at a higher frequency (e.g. for each conversion transaction). For example, exchange rates are not the only variable part in the equation: currencies split, merge, change their code or name, are replaced by other currencies, join or abandon unions, etc. When a currency joins a regime such as the EMU, triangulation has to be used instead of a simple division or multiplication to convert to and from non-EMU currencies. When converting currency amounts, local rounding rules have to be taken into consideration too: some countries use cents, others use different types of fractional parts, others use only integer amounts which are a multiple of 50, etc. On systems converting currency amounts, triangulation and rounding have to be performed for each transaction, and in consideration of all variables. Monitoring and notification procedures have to be in place to detect both normal events (e.g. a currency ceasing to be legal tender) and anomalies (e.g. unusual fluctuations, or a data feed not updating one or more exchange rates, etc.) while continuing to provide functionality.

As even a service-only approach requires some code to fetch and use the data, the choice is not between using or not using any software at all, but rather it is about:

  1. The extent of the functionality that can be outsourced to a remote Web service provider without a negative impact on performance, reliability and overall quality. For example, should only daily rates come from the remote system, or should the remote functionality also be invoked for each conversion transaction? What if any of the two is slow, or fails?
  2. How much of the remaining local functionality can and should be developed in-house (also see "Currency Server vs. in-House Development").


The Currency Server software can be used both to access a third-party Web service or data feed and to provide a Web service via its .NET and SOAP interface, thereby making available some of the best aspects of both approaches. As such, Currency Server can act as a powerful Web service proxy, increasing the performance and reliability of an external service and adding sophisticated local administration options, while exposing a unified interface which is independent of the provider of exchange rate data.

When you decide to subscribe to a Web service, you decide to trust the operator of the Web service, you accept its limitations of liability and usage restrictions, and you make a long term investment in this relationship. When you purchase Currency Server, you choose a piece of software designed to put you in control of everything, including a responsibility which a third-party service provider may not be willing or able to undertake. These two approaches can be used to achieve a synergistic effect, or you can choose to rely only on one of the two.

Within the Currency System family you also have the option to choose a Web service subscription, powered by Currency Server and managed by the Currency System platform, which can later be replaced with your own Currency Server software deployment without needing to rewrite the Web service access code.

With Currency Server you can:

  • Use a variety of official and free providers of exchange rate data (cost: one-time software license, no subscription costs)
  • Use a subscription-based provider of exchange rate data while being shielded from its custom Web service interface (cost: one-time software license plus recurring subscription costs)
  • Change provider of exchange rate data with one click of the mouse and without changing a single line of code (which can save you a lot of time, money and trouble)
  • Remain fully operational even while the data feed is unavailable (imagine the effect of suddenly losing access to both current and historical rates)
  • Not only get exchange rate data, but also perform thousands of currency conversions per second, taking into account local triangulation and rounding requirements
  • Be in control of the monitoring and notification of unexpected conditions, such as extreme exchange rate fluctuations, lack of updates, etc.
  • Be notified when important events occur (e.g. unavailable data feed, changes of currency names, changes in the European Economic and Monetary Union, etc.)
  • Avoid being subject to some of the contractual restrictions and limitations of third-party service providers

With a third-party Web service:

  • No software purchase and installation are required (cost: initial and recurring service subscription fees, no software purchase is required)
  • No guaranteed quality of service: functionality and performance depend on status of remote server, remote network, internet and local network (predictable cost when everything works well, unpredictable cost as soon as a single link in the chain degrades or fails)
  • As different Web service providers make available different functionality levels and APIs, changing provider usually requires changes in code (i.e. time and money, because you are not in control of the Web service API and functionality of each provider)
  • A quick change of Web service provider, to respond to an unexpected need, is in general not an option
  • Recurring subscription costs may not be competitive with one-time software license cost (when used with free and official sources of exchange rate data)

With the Managed Services provided by Currency System:

  • Similar considerations as for third-party Web services apply
  • The interface does not change if you eventually decide to deploy the Currency Server software locally, thereby preserving your code investment while increasing performance, reliability and control

Local Software vs. Remote Service

It is certainly true that a Web service does not require installation or maintenance, however Currency Server takes only about 5 minutes to set up. The maintenance roles and tasks which are clearly documented and implemented in Currency Server are not software-specific, but rather they are related to the needs of organizations which decided to support multiple currencies. A Web service managed by an external entity may shield you from the same administrative events which Currency Server was designed to bring to the attention of your administrators, however we believe that this is an added advantage offered by Currency Server, and we are confident that your accounts, finance, euro changeover and quality management departments will agree. Even more so if you are the sole person in charge of currency-enabling your system, Currency Server gives you the information and options which you need in order to be in charge of the situation.

While currency Server has been hardened to handle a variety of worst case scenarios, including a lost connection with the data feed, Web services are as fragile as the weakest link in the chain connecting the client to the server. Even if you only need to fetch a set of exchange rates once a day, Currency Server can send clear and helpful information messages to your administrator(s) should a problem occur, whereas a non-functioning Web service may only get noticed by its "silence".

Performance is another factor: a Web service which uses the internet as a transmission channel cannot in general compete with the speed of a local in-process server DLL. If you need to convert product prices then you need to support triangulation and rounding (it's not just a matter of performing simple exchange rate multiplications and divisions). If you delegate such price conversion transactions to the Web service, then you may experience a performance penalty (and introduce a dependency on an external entity). If you do the price conversions yourself, your interface to the Web service becomes more complex, as you need to handle not only updates to exchange rate data, but also updates to EMU status information and smallest currency units, not to mention possible changes to currency names, codes, etc., which are all supported by Currency Server. As the complexity of the Web service increases, so does the cost of a possible change of provider, should this become necessary. Currency Server offers a dual advantage on this front, by exposing a single and unified Web service interface, and by offering a high performance COM interface in addition to the Web service interface.


We believe that Web services provided by external entities may be an acceptable entry level choice in best-case scenarios. Within this context, Currency System's Managed Services may represent an ideal solution, also in consideration of the fact that it is based on the same interface as the Currency Server software, thus allowing for smooth upgrades.

As everyday needs get more demanding, and in consideration of possible adverse circumstances, we believe that the Currency Server software can become an indispensable component of a currency-enabling strategy. By integrating with system administration, quality and euro-related organizational procedures and roles, Currency Server puts your organization in control of currency-related matters. By exposing its own Web service interface, Currency Server not only shares the advantages of other services, but it provides you with an added freedom of choice: you can use the same interface with multiple providers, and you can deploy additional local copies of Currency Server if your volume of transactions demands more performance.

Additional keywords: ISO 9000, ISO 9001, ISO 17799, QOS, QMS, TCO.

© 1998-2024 Currency System, Inc. All rights reserved.     Legal     Privacy