United States Argentina Australia Austria Belgium Canada Chile Colombia Costa Rica Dominican Republic France Germany Bangladesh/India Italy Kenya Mexico Netherlands Puerto Rico South Africa Sweden Switzerland Venezuela
BASIS International Ltd.
Home | Site Map | Contact Us | Partner Login  

 









Table of Contents
Give Your Software a New Lease on Life

By Brian Hipple
PDF Format

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.

Table of Contents