14.12.2012 Views

OpenCard Framework 1.2 Programmer's Guide - OpenSCDP

OpenCard Framework 1.2 Programmer's Guide - OpenSCDP

OpenCard Framework 1.2 Programmer's Guide - OpenSCDP

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Chapter 3. OCF architectural concepts<br />

Architecture overview<br />

This chapter provides an overview of the OPENCARD architecture. We’ll briefly explain the<br />

key concepts of the OPENCARD FRAMEWORK and put them in relation. We’ll provide enough<br />

background to show how OCF brings together the various technology providers of the<br />

smart card industry, the application developers, the card terminal manufacturers, the card<br />

or card operating system manufacturers, and the card issuers. Finally, we’ll introduce those<br />

concepts that are most relevant for application developers.<br />

We can divide the OPENCARD FRAMEWORK into two main parts: The CardTerminal<br />

layer and the CardService layer (see also Figure 1).<br />

Figure 1. Main parts of the OPENCARD FRAMEWORK architecture.<br />

The CardTerminal layer contains classes and interfaces that allow you, the<br />

application developer, to access card terminals and their slots. Using these classes<br />

you can, for example, find out whether a smart card is inserted in a card terminal.<br />

The CardService layer defines the abstract CardService class: OCF represents smart<br />

card functions through card services. Each card service defines a particular<br />

(high-level) API that you can use to access some particular smart card function; for<br />

example, the file access card service gives you access to the file system of a smart<br />

card.<br />

Both of OCF’s layers — CardTerminal and CardService — are designed using the<br />

abstract factory pattern and the singleton pattern (as described in Design Patterns<br />

— Elements of Reusable Object-Oriented Software). The objects dealing with the<br />

11

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!