System and method for web service billing
A method and system is disclosed herein for decoupling billing for web services from the application logic which governs those web services by instrumenting a web services stack to monitor SOAP envelopes for pre-determined elements and to use those elements to determine questions as to authorization for solvency as well as calculate charges for said web services.
1 . A computerized method for billing for web services comprising the steps of:
creating a descriptor file designating at least one pre-defined element;
configuring a handler to monitor a web service network communication, between a service requestor and a service provider, for said pre-defined element(s) in said descriptor file;
configuring said handler to send said pre-defined element(s) to a set of programmed instructions to create an event record;
electronically transmitting said event record to a billing system for further processing.
2 . A computerized method as claimed in claim 1 wherein said programmed instructions are configured to determine whether said event requires authorization.
3 . A computerized method as claimed in claim 1 wherein said programmed instructions are configured to determine whether said event requires rating.
4 . A computerized method as claimed in claim 1 further comprising the steps of transforming said pre-defined element(s) according to a set of instructions in said descriptor file before transmitting said record to a billing system.
5 . A computerized method as claimed in claim 1 wherein said web service network communication comprises a request and a response wherein said request comprises a start time and said response comprises an end time and further comprising the steps of:
creating a first event record comprising said start time;
sending said first event record to said billing system;
queuing said first event record in said billing system;
creating a second event record comprising said end time;
sending said second event record to said billing system;
matching said first event record with said second event record;
calculating a charge for said web service based on said start time and said end time;
returning said charge to said service provider.
6 . A computerized method as claimed in claim 1 wherein said billing system comprises programmed billing instructions coded to determine whether a web service transaction may be performed.
7 . A computerized method as claimed in claim 6 wherein said programmed billing instructions are configured to determine if said service requestor is permitted to access said web service transaction.
8 . A computerized method as claimed in claim 7 wherein said billing system may return a response to said web service provider indicating whether said web service should proceed.
9 . A computerized method as claimed in claim 7 wherein said programmed billing instructions are configured to determine whether said service requestor is solvent enough to purchase said web service.
10 . A computerized method as claimed in claim 9 wherein said programmed billing instructions are configured to return a response to a set of application code associated with said web service provider indicating whether said web service should proceed.
11 . A computerized method as claimed in claim 9 wherein said programmed billing instructions are configured to return a response to said web service provider indicating a quantity for said web service to proceed.
12 . A computerized method as claimed in claim 1 wherein said web service network communication comprises a SOAP message stream.
13 . A computerized method as claimed in claim 12 wherein said SOAP message stream may comprise a set of data including quality of service information, authorization key fields, version numbers, encrypted account information, and start/stop time.
14 . A computerized method as claimed in claim 12 wherein a billing system may use said pre-defined element in said SOAP message stream to support at least one pre-defined billing plan.
15 . A computerized method as claimed in claim 14 wherein said pre-defined billing plans may be chosen from a list consisting of subscriptions, bundled plans, time-based usage plans, re-occurring charges, one-time charges, discount plans based on usage, discount plans based on time-of-day, discount plans based on customer loyalty, discount plans based on family/organization relationships, tired plans, location dependent pricing, and combinations thereof.
16 . A computer-readable medium having computer executable instructions for performing a method comprising
receiving a descriptor file designating at least one pre-defined element;
utilizing said descriptor file to monitor a web service network communication for said pre-defined element(s);
copying said-predefined element(s) from said network communication into a record;
electronically sending said record to a billing system for further processing.
17 . A system for billing for web services comprising:
a descriptor file;
a handler;
a record; and
a billing system
wherein
said descriptor file designates at least one pre-defined elements;
said handler is configured to monitor a web service network communication, between a service requestor and a service provider, for said at least one pre-defined element in said descriptor file;
said handler is further configured to copy said pre-defined elements from said network communication into a record;
said handler is further configured to electronically transmit said record to a billing system for further processing.