Reference data services are often overlooked in the rush to get coding. Much of the code is redundant or of similarly patterned implementations. This package intends to address some common features and needs.
Before the existence of acs-reference, the ACS required that you preload some tables in a script to get some basic reference functionality. There were many problems with this:
See api-browser
The UNSPSC reference data has a data model for handling data revisions. An application can determine any new/revised category based on existing, obsolete data.
Their is no end user interface. There needs to be some kind of admin UI to report status and possibly manage updates per requirements.
None
A server based update mechanism will be supported. This will allow for tables to be updated (and preferably diffed) instead of being reloaded with a package upgrade. An interface to produce xml/csv from the reference data would be a nice service to the community (allowing legacy applications a way to import this data).
Jon Griffin
acs-reference-b5-0-patches/www/doc/design.html 0000664 0000000 0000000 00000005246 12630315015 0021401 0 ustar 00root root 0000000 0000000Reference data services are often overlooked in the rush to get coding. Much of the code is redundant or of similarly patterned implementations. This package intends to address some common features and needs.
Before the existence of acs-reference, the ACS required that you preload some tables in a script to get some basic reference functionality. There were many problems with this:
See api-browser
The UNSPSC reference data has a data model for handling data revisions. An application can determine any new/revised category based on existing, obsolete data.
Their is no end user interface. There needs to be some kind of admin UI to report status and possibly manage updates per requirements.
None
A server based update mechanism will be supported. This will allow for tables to be updated (and preferably diffed) instead of being reloaded with a package upgrade. An interface to produce xml/csv from the reference data would be a nice service to the community (allowing legacy applications a way to import this data).
Jon Griffin
acs-reference-b5-0-patches/www/doc/index.adp 0000664 0000000 0000000 00000001233 12630315015 0021027 0 ustar 00root root 0000000 0000000Current docs are always at:
jongriffin.com
Please file bugs in the Bug Tracker.
Current docs are always at:
jongriffin.com
Please file bugs in the Bug Tracker.
by Jon Griffin
This document describes the requirements for the ACS Reference service package. This package has the following primary functions:
What is reference data? Simply put, it is data that doesn't change very often and also in many cases comes from an external source and not from within the system itself. Many times it is created from a standards body, i.e. ISO or ANSI, and may be required for a client's particular industrial needs.
Some examples of reference data are:
Historically, reference data has been looked upon by developers as something less important than more immediate coding needs, and so most data models simply defer the issue by treating reference data as something simple to implement. Elsewhere. The reality is that for most organizations reference data is extremely important and also extremely difficult to manage.
This module will not only package all of a site's reference data in one place, it will also help manage that data.
The ACS Reference package consists of:
Papi Programmer is developing a module that will use country codes as part of his table structure. Instead of creating his own table he can use the ACS Reference package and the country codes therein. If the country codes change - which does in fact happen from time to time - the ACS Reference package will maintain that information for him.
10.10 The package should use a table that is the master
table for all reference tables.
10.20 The package should employ a field to show whether this data
is internally derived or not.
10.30 The package should employ a field to signify whether there is
a PL/SQL package involved with this table.
10.40 The package should offer an indicatation of when this data
was last updated.
10.50 The package should offer an indication of what the original
source of this data was.
10.60 The package should offer an indication of what the original
source URL was, if any.
10.70 The package should offer a representation of effective
datetime
10.80 The package should offer a representation of discontinued
datetime
10.90 The package should keep an indication of who the data
maintainer is, by user_id.
20.10 The package should offer a function to determine if a particular table has expired.
The requirements below are not met by the current implementation:
30.10 There needs to be a way to query the data source and update automatically. If that isn't possible, as it won't be in many cases, the application should be able to query a master server and see if there is new data for a particular table or tables. For example: refdata.arsdigita.com could hold the reference tables and when newer table versions become available, simply upload only these versions or perhaps even only the differences between the tables. In any case, there should be an admin page that shows current status and revisions of various data, where to find info about additional sources (if applicable), and provide a UI to upload or import new data.
The package needs to handle changes to reference data in a graceful fashion. For example, if a country splits into two or more countries, what should happen?
Note also that it is possible to have overlapping effective dates. This will not be implemented in the first version, but should be recognized and accomodated throughout the development process for the service package.
acs-reference-b5-0-patches/www/doc/requirements.html 0000664 0000000 0000000 00000013005 12630315015 0022643 0 ustar 00root root 0000000 0000000by Jon Griffin
This document describes the requirements for the ACS Reference service package. This package has the following primary functions:
What is reference data? Simply put, it is data that doesn't change very often and also in many cases comes from an external source and not from within the system itself. Many times it is created from a standards body, i.e. ISO or ANSI, and may be required for a client's particular industrial needs.
Some examples of reference data are:
Historically, reference data has been looked upon by developers as something less important than more immediate coding needs, and so most data models simply defer the issue by treating reference data as something simple to implement. Elsewhere. The reality is that for most organizations reference data is extremely important and also extremely difficult to manage.
This module will not only package all of a site's reference data in one place, it will also help manage that data.
The ACS Reference package consists of:
Papi Programmer is developing a module that will use country codes as part of his table structure. Instead of creating his own table he can use the ACS Reference package and the country codes therein. If the country codes change - which does in fact happen from time to time - the ACS Reference package will maintain that information for him.
10.10 The package should use a table that is the master table for all reference tables.
10.20 The package should employ a field to show whether this data is internally derived or not.
10.30 The package should employ a field to signify whether there is a PL/SQL package involved with
this table.
10.40 The package should offer an indicatation of when this data was last updated.
10.50 The package should offer an indication of what the original source of this data was.
10.60 The package should offer an indication of what the original source URL was, if any.
10.70 The package should offer a representation of effective datetime
10.80 The package should offer a representation of discontinued datetime
10.90 The package should keep an indication of who the data maintainer is, by user_id.
20.10 The package should offer a function to determine if a particular table has expired.
The requirements below are not met by the current implementation:
30.10 There needs to be a way to query the data source and update automatically. If that isn't possible, as it won't be in many cases, the application should be able to query a master server and see if there is new data for a particular table or tables. For example: refdata.arsdigita.com could hold the reference tables and when newer table versions become available, simply upload only these versions or perhaps even only the differences between the tables. In any case, there should be an admin page that shows current status and revisions of various data, where to find info about additional sources (if applicable), and provide a UI to upload or import new data.
The package needs to handle changes to reference data in a graceful fashion. For example, if a country splits into two or more countries, what should happen?
Note also that it is possible to have overlapping effective dates. This will not be implemented in the first version, but should be recognized and accomodated throughout the development process for the service package.
acs-reference-b5-0-patches/www/index.adp 0000664 0000000 0000000 00000000562 12630315015 0020266 0 ustar 00root root 0000000 0000000