Thursday, May 10, 2012

Validating SData Providers

In this post I discuss:
  • Opportunity SData provides
  • Problem/Challenge of building an SData provider that’s compliant with the SData specification
  • Solution is the SData Validation Tool

Opportunity - Broad Common Interface

In a previous post I discussed how SData can provide a broad common interface for all Sage products. The SData specification defines a common language for integrating with Sage applications.

There’s growing commercial interest in SData and many success stories, here’s a list of SData solutions and a Glossary of SData terms.

Sage 100 and Sage 300 teams are building and/or improving their SData services. I’m not sure of the exact release dates for these services but I’ll provide an update as soon as that information is available.

If Sage 100 and Sage 300 both provide valid SData web services then an ISV will have a common method for accessing Sage business logic and data. ISVs can request a representation of a resource and/or delete, update and create resources.

Sage 100 and Sage 300 currently don’t implement a common SData contract so the representation of a resource might be different; for example a Sales Order resource might have different elements, smaller or longer address fields, etc. Nevertheless, there will at least be a common language for CRUD operations on resources.

Having a common language means large parts of integrations between Sage 100 and Sage 300 can be common. An R&D team working in .NET could use our .NET SData client libraries as a common data access layer for both Sage 100 and Sage 300; they don’t need to know or think about the fact that Sage 100 is written in ProvideX and Sage 300’s SData provider is written in Java. This will reduce the cost of developing and maintaining integrations with Sage products.

Problem/Challenge - Compliance with the SData Specification

Unfortunately, the potential of SData is significantly diminished when providers deviate from the SData specification. If Sage 100 and Sage 300 interpret and implement the SData specification differently or there’re bugs in their provider’s that cause deviation from the SData specification then client libraries and data access logic will require special conditions for specific providers.  For example:

Frequently teams will develop an SData provider without an external partner/consumer. An R&D team will build both an SData provider and consumer to solve a business problem. They think they’re also laying the ground work for future integrations. SData enables fantastic accessibility so they know eventually someone else will come along and utilize those feeds; maybe a solution they haven’t considered, like an Excel Plug-in, or Mobile Client that’s driven by SData will utilize their SData feeds.

However, if they have not validated their compliance with the SData specification using the Validation Tool there’s a good chance that SData provider is not 100% SData compliant so the emerging ecosystem of SData consumers is not available to them.

If an R&D team undertakes to build an SData provider they must validate their provider is compliant with the SData specification. If an SData provider is not compliant then that project does not meet requirements even if their SData consumer works and meets the business case requirements.

Solution - SData Validation Tool

Fortunately there’s a great tool for validating SData providers. The SData Validation Tool has been around for several years. It’s free, easy to use and comprehensive. Currently Sage 100 and Sage 300 are validating their SData providers with this tool.

Download the SData Validation Tool from the SData web site and run the installer. The installer asks for a valid email address and then it immediately emails an activation code.

Once installed simply enter the URL of an SData provider and the Validation Tool will run hundreds of tests. The results are presented in a Grid or Tree view that indicated the number of test performed and status for each; each test results in a status of: Error, Warning, Successful or Not Executable.

Where to get the SData Validation Tool

1 comment:

  1. Hello Jarett,

    I am kicking off my career with a company, as a accpac developer, i know java language but i am unable to understand the flow of data in web portal of sage 300 erp. would you please help me out for this, its too urgent for me,

    I need to integrate some code with accpac web portal in sage 300 erp 6.1, please provide some resource that will help me.

    Ravi Thakur