This document is meant as a brief overview of the Streamlined Sales Tax implementation that is part of the Gateway project.
The sstp-base module contains many critical components of the SSTP project. It is depended on by all the other SSTP modules.
Points of interest:
The sstp-client module contains the class GatewayClient which provides a command-line interface for communication with the Gateway SSTP server. It extends GatewayClientBase from the sstp-base module. The client is able to PING, SEND, ACK, and retrieve the LAST ACK from the SSTP server. It is also possible to save the server response to a file via the command line options. Further documentation is available here.
The sstp-client-gui module provides a wide variety of functionality for communication with the SSTP Gateway. It provides all the same functions as the command-line client along with some other useful features. It is able to validate SSTP transmissions to check their integrity before sending. Transmissions stored in the clipboard can be sent directly without a need to save them to a file directly. All server responses are saved during the session and can be retrieved and saved to a file at any time while the client is open. Further documentation is available here.
The sstp-server module provides the main web service for the SSTP implementation. The server accepts commands such as PING, SEND, ACK, and LASTACK. It is able to receive transmissions sent by transmitters and process them through a set of transmission and document level rules. The server is also able to prepare the transmissions for insertion into a state database. This requires the use of a processor within the sstp-server-processor module.
Points of interest:
The sstp-server-processor module contains classes that provide the SSTP Gateway with the ability to handle and convert transmissions. The TransmissionEndorser class is used to evaluate transmission level rules as pending transmissions are passed to it. There are various Processor classes within this module that allow for various actions to be taken based on the implementing states requirements. There is a default processor implementation called XXProcessor within the sstp-server-processor\src\main\java\net\sf\gateway\sstp\processor path. This processor shows what a state would have to start with in-order to begin working on a means of moving transmissions into its own native databases.
The sstp-server-portal module is the main web-frontend for all SSTP operations. It provides a means for adminstrators, transmitters, and tax-staff to access functions relevant to their roles and to see the current status of transmissions in the Gateway. It allows the submission, viewing and retrieval of SSTPTransmissions in XML format, as well as SQL generated from registrations.
Points of interest: