OpenCard Framework 1.2 Programmer's Guide - OpenSCDP
OpenCard Framework 1.2 Programmer's Guide - OpenSCDP
OpenCard Framework 1.2 Programmer's Guide - OpenSCDP
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