ette role because this role is required to install the cassette. If a cassette is not installed, the cassette cannot work with the JCC framework. Operation cassettes are signed with the Operation role, protocol cassettes are signed with the Protocol role, and instrument cassettes are signed with the Instrument role so they can register themselves in the JCC framework cassette registry. A ticket is a use-once token of the capabilities authorized by a given role. An operation cassette depends on one or more specific protocol cassettes. Protocol cassettes implement the functionality to carry out online commerce protocols. Gates are authentication methods. All communication with a cassette takes place through its gate. For example, the protocol cassette gives the ticket it received from the operation cassette to the JCC Role Manager, which checks that the ticket has not been altered since it was first loaded. If the security check passes, the cassette is given a permit. Permits are objects returned by the gate. For example, if the ticket has not been altered, the JCC framework stamps the ticket and passes it back to the protocol cassette's gate. To summarize, a cassette is signed with a role, which gets it a ticket, which gives the cassette a permit to do something. The JCC framework manages the interoperations between the operation, protocol, and instrument cassettes with tickets, gates, and permits. Four Steps to Writing a Cassette The short example for this series describes how to create the operation, protocol, and instrument cassettes for a simple purchase transaction. A purchase transaction might be initiated when a web store shopper chooses an item and selects the Pay button on a merchant server. The Java Commerce Message (JCM) contains information on valid instruments for that shopper. The JCC framework finds the intersection of valid instruments for the shopper and instruments recognized by the merchant server and displays those in...