Chapter 9. Case Study 2: Usage Licensing


Generally speaking, software licensing involves allowing or disallowing software usage based on a certain usage rights model. In this case study, we look at an implementation of software licensing in which usage rights are enforced according to models specific to particular applications.

In this example, developers upload their applications onto a server. Users (or purchasers) can then download the application and choose a usage model they would like to employ. Usage models might include a single payment for a piece of software or a license to use only certain features of an application. Purchasers then download the application together with the usage model, and the code appropriate for enforcing the model they have chosen. Once they begin to use the application, the enforcement code checks the usage rights at the correct intervals.

Figure 9-1 shows the initial use case for the system. The vendor uploads and registers the application, along with whichever usage models are appropriate for the application's deployment. The purchaser can then select an application and a usage model. Downloading the application prompts the composition of the application with the model chosen by the purchaser.

Figure 9-1. Registration, upload, and download use case.


You may have noticed that in Figure 9-1, the "Compose Application with License Model" action is shown as dashed. The dashed line highlights the fact that this approach suggests dynamic composition of themes; it is a user of the system, not the designer of the system, who decides what should be composed and who triggers the composition (by downloading the application and model).

Figure 9-2 shows the use case in which the purchaser actually launches the application. As you can see, the application makes use of enforcement code resident on the client, as downloaded with the application.

Figure 9-2. Application-usage and license-model enforcement use case.


This chapter goes over the requirements for the application licensing system and works through refining a set of themes (both crosscutting and base). It also gives high-level detail on how to move from some of the Theme/UML designs described to implementation in AspectJ.



Aspect-Oriented Analysis and Design(c) The Theme Approach
Aspect-Oriented Analysis and Design: The Theme Approach
ISBN: 0321246748
EAN: 2147483647
Year: 2006
Pages: 109

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net