|
easing or renting an automobile is part of a sweeping new trend in the automotive industry. Some automotive analysts
state that over 40% of all new car acquisitions are now leases. Among the many advantages of leasing a car are lower up-front
costs, an opportunity to "try out" the vehicle, the ability to drive a more expensive car for the same payment, no
depreciation costs, and a maintenance agreement.
Similarly, as software developers around the world continue to look for innovative ways to deliver their software, software
rental is the growing new trend in the IT world. Software rentals meet the changing needs of today's customers as it offers
the benefit of lower acquisition costs, and methodology for running the most current version, eliminating the need to pay for
software upgrades with each hardware upgrade. To meet this customer request, BASIS now offers software license rentals for
the developer who wants to rent their software instead of selling it. This article describes this new policy and the new
language features that allow the application developers to renew their customer's licenses programmatically.
The advantages of auto leasing apply to the rental strategy of BASIS licenses as well. BASIS provides the developer with a
choice of rental periods; quarterly, semiannually, and annually. The SAM Plan (Software Asset Management) covers each license, and the SAM
renewal procedure models the billing process for successive rental periods. As soon as the reseller provides payment, BASIS
extends the license expiration date for a further rental period. The rental license includes a facility for the developer to
tie his application directly to the rental license file as a feature line in the license file. The developer, therefore, has
the benefit of further protecting their intellectual capital, receiving a recurring revenue stream, and lowering the up-front
cost to the customer for the use of the application. The customer receives the benefit of paying for the use of the
application over the useful life of the product while receiving continuous support from the software vendor. This new
business model significantly reduces the customer and vendor risks associated with the deployment of new application
software.
To power your application software with a BASIS rental license, purchase the license from your application software provider,
and then register it during the installation of the BASIS License Manager (BLM) or later via the appropriate BASIS
registration program. For software developers, BASIS added new language features that enable BBx® and BBj® programs to
determine if this license expires and the ability to update this license programmatically. In order for the program to
determine when the license expires, the enhanced INFO function returns the expiration date of the license. With this new
language feature, programmers can determine when the expiration date is near, and have the application remind the end user to
fulfill the rental obligation or any other appropriate action.
After fulfilling the obligation, the application can prompt the user to update the license or use the UPDATELIC verb to
update the license. Executing the UPDATELIC verb causes the BASIS interpreter to connect to a local or remote BLM (version 9.0 or greater) and
issue a request to upgrade the license. The BLM connects to the BASIS license generator using sockets via HTTP protocol,
submits the license registration information, obtains the appropriate license file, and automatically installs and serves the
new license. If an error occurs when invoking UPDATELIC verb, calling the LINFO function returns extended error
information. The following sample program shows the use of UPDATELIC verb:
0010 NOTIFY_USER = 1
0020 LET NUM_DAYS_EXPIRE=DEC(INFO(2,6))-JUL(0,0,0)
0030 IF NUM_DAYS_EXPIRE < 90 THEN
0030: IF NOTIFY_USER THEN
0030: GOSUB EXPIRATION_MESSAGE
0030: ELSE
0030: GOSUB UPDATE_LICENSE
0030: FI
0030: FI
0040 END
0050 EXPIRATION_MESSAGE:
0060 TITLE$="BASIS License Expiration"
0070 MESSAGE$="Your BASIS license will expire in " + STR(NUM_DAYS_EXPIRE) +\
" days. "
0075 MESSAGE$= MESSAGE$ + "Please contact your BASIS Software provider,\
then press the OK button to update your license."
0080 LET USER_RESPONSE=MSGBOX(MESSAGE$,1+64+256,TITLE$)
0090 IF (USER_RESPONSE = 1) THEN GOSUB UPDATE_LICENSE
0100 RETURN
0110 UPDATE_LICENSE:
0120 UPDATELIC,ERR=UPDATE_LICENSE_ERROR
0130 IF NOTIFY_USER THEN
0130: TITLE$="BASIS License Updated";
0130: X=MSGBOX("License has been successfully updated",64,TITLE$)
0130:FI
0140 RETURN
0150 UPDATE_LICENSE_ERROR:
0160 UPDATE_LICENSE_ERROR$ = LINFO(0,3,0)
0170 IF NOTIFY_USER THEN
0170: TITLE$="BASIS License Update Error";
0170: X=MSGBOX("Error updating license: "+ UPDATE_LICENSE_ERROR$,48,TITLE$)
0170:FI
0180 RETURN
Also provided in the Visual PRO/5® and BBj installations is the standalone AutoLic utility program. This program updates the
license on the local machine and is invoked from a BBj/PRO/5 SCALL() or from a non-BASIS program or script.
BASIS continues to develop new ways to help our customers succeed in the increasingly competitive IT world. Providing a new
rental model and supporting language features form the building blocks our customers need to explore this new business model.
|
|