We need a new API for communicating START Replacement forms for Backup against NetBill/NetAdmin.
There is already an old API for talking between old START and NetBill/NetAdmin, but we are creating a new interface as we are changing the arguments.
...
- add() provides a netid, nodename, other arguments to create a node
- delete() provide a nodename, tell NetBill NetAdmin to delete the record
- getBilling() provide a netid, receive whether or not PTAEO required
- getNodeList() provide a netid, receive a list containing zero or more nodename(s) that are associated with that netid
- getNodeDetails() provide a nodename, receive the details for that nodename
- update() provide a nodename, provide arguments to change on the node
Table of Contents |
---|
add()
Arguments for add:
netid of owner
nodename (needs to be unique, and NOT exist already in the system)
client category (DS,MW,WS)
Client OS (Windows, Mac, Unix)
interval (backup time, or never)
PTAEO, passed as five separate strings
...
Add method needs to return an error code indicating whether or not the add request was accepted, and for errors should indicate the problem with the data.
PTAEO details
PTAEO consists of five strings:
...
Note that it's superfluous for us to pass around the Expenditure code. The E code is consistent for all Central Campus Backup items, thus the value will always be '832170'. We could drop this value from being passed, but for future flexibility we should leave it in the API.
Interval, possible values:
Interval is coded as a string. These values are shown to the user:
...
Note |
---|
Please use format INCR1130, INCR1100 etc. |
delete()
Arguments for delete:
netid of owner
nodename (needs to be unique, and exist)
datestamp for date to delete, formatted as Oracle date (31-JAN-13). This is awkward for ServiceNow, but native for NetBill. Furthermore, ServiceNow already has a method that does this for previous Oracle interactions.
...
Delete method needs to return an error code indicating whether or not the delete request was accepted, and for errors should indicate the problem with the data.
getBilling()
Arguments for getBilling:
netid of owner
...
Note |
---|
We can put this return value as out parameter in oracle function. Can webmethods support it? |
getNodeList()
Arguments for getNodeList:
netid of owner
...
Note |
---|
We have a view for this. Can webmethods use it, i.e. select * from xxx_NodeList_V where owner_netid=? and return required values? |
Sample nodename strings
- "tanner,cooper,radar"
- "" (empty set)
- "zuse"
getNodeDetails()
Arguments for getNodeDetails:
nodename of node
...
- returns:
nodename (needs to be unique, and NOT exist already in the system)
client category (DS,MW,WS)
Client OS (Windows, Mac, Unix)
interval (backup time, or never)
PTAEO, passed as five separate strings
update()
Arguments for update:
netid of owner
nodename (needs to be unique, and already exist)
client category (DS,MW,WS)
Client OS (Windows, Mac, Unix)
interval (backup time, or never)
PTAEO, passed as five separate strings
...
update method needs to return an error code indicating whether or not the add request was accepted, and for errors should indicate the problem with the data.
Outstanding questions
- What's a charge code (name and / or number)? Do I need to pass that with everything I send back and forth to netbill?
- Why would we care whether or not somebody is a student? Is there relevance to billing? ServiceNow already knows this information, and apparently NetBill already knows also. Do we really need to pass that back and forth?
Process
Each group has responsibilities to get this process moving.
DBA group
DBA group needs to provide a utility account to Oracle for granting access. The account needs to work in ACS3, ACS2, ACS1 Oracle instances. The account will be called wm_service_now.
Rod Gustavson's group
We need Rod's group to review the API as specified and confirm that this seems to be complete and sufficient for CRUD methods on these records.
We need new interface to NetBill to conform with the API as specified here.
Kazi's group.
We need new Webmethods SOAP / XML api to bridge between the Oracle environment of NetBill and the ServiceNow SOAP interface. Kazi's group cannot begin until Rod's work is nearly completed. Kazi will need method names to bind to in Oracle.
Jim's group
Jim's group needs to get the instance names of TSM to Rod's group. Jim's group may need to provide a test instance of TSM for verifying end-to-end functionality of SN -> webmethods -> netbill -> TSM.
David Backeberg's group
Create and maintain specification for API. Request Oracle account from DBAs. Create and maintain task list for backup automation project.