Global Tax

Support the legacy applications Tax Hub and Taxware Bridge.

 

Solutions

I had to study the two applications and build a solid knowledge of both so I could better support them.

Tax Hub Description:

The TH application communicates with the ePrice servers and FEMS servers using MQ Series. There are three distinct environments: development, testing and production. The users interact with ePrice application which sends quotes to the TH in a XML format through a MQ Series queue. The quotes can apply to Brazil or Mexico. The TH parses the XML and identifies to which country the quote applies to. Depending on this information the TH sends the request over to the FEMS Brazil queue or to FEMS Mexico queue. Every time a server receives a message an acknowledge message is sent back for confirmation. Once the FEMS calculates the taxes it formats the information in a XML standard and sends it to the TH queue. The TH analyzes the content again but this time the objective is to know if the quote is of a type known as Transparent or it is a type known as Initial. If the type is Transparent then it just forwards the XML to an ePrice queue. But, if it is Initial then it calls a library to pack the XML into a SOAP request and sends it to another ePrice queue. The library was created by the ePrice team.

Tax Bridge Description:

As I mentioned above, the GTE application is also known as Taxware Bridge (TB) and it is based on a product called Taxware Enterprise from Automatic Data Processing Incorporation (ADP). The logic of this application is implemented using the same set of code and the same servers of the TH application. The TB application has an interface component that provides a simple Intranet page where the user can submit a file containing a quote in XML format. Another component of the TB application receives the quote in a XML format by an Axis WebService. The quote information is transformed by a long sequence of rules stored on a database. The final quote is then transformed into a single string where each substring represents a specific quote data. This string is then passed to the Taxware product through a JNI invocation on an AIX platform. The Taxware calculates the taxes and produces another sequence of strings and sends is back as a response. The TB application breaks this string into a sequence of fields by applying a mask. These fields are then used to generate a XML response that is sent back to the caller. The interface component of the TB application then provides the response to the user. This flow was also implemented in a way that an application could request quotes directly to the WebService component therefore bypassing the Intranet page of the TB application. This type of flow it typically used by a group supporting an application called Common Commerce Engine (CCE). The group supporting the CCE application is one of the main users of the TB application. The CCE is an external Website where users place orders and that uses TB to calculate taxes. The future CCE release will replace the call to TB application by a call to Sabrix Tax Solution. They have their own environments with instances of TB applications installed on their own servers.