你可以把智能卡当作一个带有大脑的信用卡。其大脑就是一个小的嵌入式计算机芯片。这种芯片可以被编程执行某项任务或是存储一些数据,但应时刻牢记:该种芯片只不过是小型的,它的处理能力绝对比不上你的桌面计算机。
目前,智能卡仅仅用于电话、运输、银行和保健等行业,但是感谢众多的开发者,在不久的将来,我们就会看到智能卡应用于Internet应用程序之中。智能卡已经在日本和欧洲广为应用,并且在美国受到了欢迎。事实上,在美国的智能卡业界最近共发生了三件颇具意义的事件:
PC/SC
Microsoft联合其它几家公司推出了称为PC/SC的智能卡应用程序标准,用于Win32平台的个人计算机与智能卡之间实现互通信。PC/SC目前不支持非Win32的系统平台,或许Microsoft 永远也不会那样做。稍后我们将对此详加讨论。
OpenCard框架
OpenCard是一个开放式的标准,它支持智能卡应用程序在网络计算机、POS、桌面和膝上计算机等平台之上实现互操作。OpenCard许诺提供100%纯Java的智能卡应用程序。通常智能卡应用程序不能完全借助于纯Java,因为它们必需与外设互通信或是利用客户之上的程序库。(当然,没有OpenCard,我们仍然能够使用100%的纯Java,但是,智能卡的开发者必需从头定制一个接口。)OpenCard还提供了一个到PC/SC的接口,使得开发者得以使用现有Win32 平台上的设备。
JavaCard
JavaCard最初由Schlumberger提出,目前已被JavaSoft制定为一项标准。Schlumberger 目前在市场上只提供Java智能卡,而且该公司是第一个获得JavaCard许可的厂商。作为一项极有潜力占踞统治地位的智能卡标准,JavaCard包括了标准的类库和API,使得Java小应用能够直接运行在遵循ISO7816标准的智能卡之上。JavaCard对不同的应用程序提供安全和与芯片无关的运行环境。
注意:
尽管本文集中于智能卡主题,但更为重要的是你决不应囿于这一种设备之上。从我个 人角度将,我更为偏爱Dallas Semiconductor生产的“Ibutton”设备。它象一个小型便携的 信用卡一样,但是更为易用。为什么呢?因为你不再需要拿出钱包从几张卡中选出要用的 那一张,Ibutton就在你的手中。对了,它是一枚指环。
尽管存在无接触型的智能卡(关于这方面的信息见下文),我认为Ibutton这样象珠宝 饰品一样的产品一定会有利可图。关于Ibutton详情请见参考资料。顺便说一句,八月份在 纽约的Java Internet Business Expo(JIBE)展会上,Java Commerce Team展示了“JavaRing”。