nCode Web Services Technical Details

nCode Web Services is powerful, flexible, fast, and easy to integrate into your applications.

  • Based on native nCode libraries, which are built using C++ for maximum performance and platform independence.
  • Proprietary reference database technology ensures no third-party dependencies such as database management systems to complicate your environment or drain your budget.
  • Any programming language can be used to integrate nCode with your in-house applications and packages.
  • Support for every major platform.
  • Full technical documentation, including WSDL and sample source code is provided with our free trial software.

nCode Web Services Interface

The nCode Web Services API consists of 22 SOAP/XML and 22 REST/JSON web service methods that can be used by your applications to leverage powerful address quality functionality. As rich as this API is, it is also easy to use. Most applications won't need more than one or two web service methods to achieve impressive address quality results – but it's good to know that all of the broad power and flexibility of nCode is there if you need it.

  • Standards based SOAP/XML web services
  • Standards based REST/JSON web services
  • Highly secure and scalable using the standard techniques you already employ.
  • Operates across domains without the need to compromise firewall security.
  • nCode Web Services APIs represent stateless implementations of nCode Programmers Toolkit APIs. Their Web methods are independent and can be called in any order with no impact on the results.
  • nCode Web Services are configurable in regards to tracing levels, handle pools, data file locations, URL schemes, etc.
  • Accessible by any programming language that can access SOAP/XML or REST/JSON web services - on any platform, including C/C++, Java, C#, VB, Ruby, Python, RPG, COBOL and many others.

Tiny Footprint, Huge Performance

nCode Web Services is compact and efficient. It requires a very small amount of memory and can be configured to use no hard disk I/O at all during address processing. Our proprietary reference database technology means that nCode is lean and very fast. That means you won't need to buy, install and operate new or additional hardware to run nCode. nCode will run on your existing hardware easily and without impacting your other systems.

  • The nCode reference database is built using Canada Post's Postal Code Address Data (PCAD). The 370+MB PCAD data is compressed and indexed into a single proprietary nCode reference database file of about 20MB.
  • Loading the reference database into RAM means no physical file I/O when processing addresses.
  • Process 100 to 300 address corrections per second – or even more, all with a single CPU thread.
  • In most cases nCode will use less than 40MB of RAM.
  • Use multithreaded operation as well as standard website scaling techniques to increase throughput even higher without significant memory overhead.

If even a tiny footprint is too big, you should consider our zero footprint Hosted nCode offering.

Runs Natively on Many Platforms

Unlike some other vendors, who provide different products on each platform, our nCode products are built for platform independence. This gives you consistent operation and performance across every platform you need to support and allows you to migrate from one platform to another with ease. nCode's address reference database is a single binary file that is binary compatible with every supported platform.

  • nCode runs natively on every major server platform including:
    • Microsoft Windows
    • Linux
    • Sun Solaris
    • IBM AIX
    • HP-UX
  • nCode runs under every major web/application server including:
    • Internet Information Services (IIS)
    • Tomcat
    • WebSphere
    • JBoss
    • WebLogic
  • The nCode reference database is platform independent. Character sets (ASCII vs EBCDIC) and little-endian versus big-endian issues are all resolved internally within the nCode engine.
  • The same platform independence and binary compatibility applies to nCode configuration preset files.

Configuring the Behaviour of nCode

nCode can be configured to operate in many different ways according to the needs of your application. You can control nCode's behaviour using configuration presets and you can modify configuration settings dynamically at runtime from within your applications.

  • Analysis mode presets let you control how nCode recognizes and matches your input addresses.
  • Correction style presets let you control how nCode standardizes and optimizes your output addresses.
  • Address layout presets let you tell nCode how your input addresses are structured and how you would like your output addresses to be structured.
  • You can define as many different configuration presets as you need to meet your business requirements.
  • Configuration presets can be defined in advance and referenced easily at runtime.
  • Configuration presets can be defined via nCode Web Services API calls or using our convenient Windows desktop configuration application. Preset files created by the desktop application are binary compatible will all supported platforms. Just copy your configuration file and go!
  • Modify your configuration settings at any time directly from within your own code if that is what your application requires. With nCode, you are in control.