Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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

  1. What's a charge code (name and / or number)? Do I need to pass that with everything I send back and forth to netbill?
  2. 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.