Title: SQLBase for Smart Cards Relational Database for Java Cards
1SQLBase for Smart CardsRelational Database for
Java Cards
SQL Network for AppliancesConnectivity for the
Post-PC Generation
- Joe Falcone
- Chief Technical Officer
- Centura Software Corporation
- joe.falcone_at_centurasoft.com
2Things have changed
- On the client side
- Fat Client goes on diet
- New mobile clients
- New Post-PC clients
- All connected
- Client Agnosticism
- On the server side
- Storing more data
- Hosting objects
- Serving business logic
- Integrating the back office
- Server Centric Apps
3The Post-PC Generation is HERE
- Todays computing has developed around PCs
- New Post-PC application platforms are very thin
- Very limited computing power and memory resources
- No single OS or User Interface standard
- All clients are getting wired
- Multiple and heterogeneous network protocols
- New networked apps paradigms
- Always available connectivity (on demand)
- Always connected (permanent)
- Occasionally connected (on availability)
4The Centura Vision
Post-PC Computing is just an evolution of the
Client-ServerParadigm
5The 5 Waves of Computing
HQ Corporation Enterprise Community
Users
Front Office
Back Office
Appliances
Web
Mobile Office
SQLBase SafeGarde
SQLBase Exchange
6Post-PC Universe
Windows CEEPOCPALM OS
Hand Held DevicesMetaphorical UIHigh Computing
Power
8, 16, 32 bitsRTOSLinux, FreeBSD
Smart DevicesPhysical UIMinimum Computing Power
Smart CardsNo UILimited Computing Power
Java CardWindows SCMultos
7Centura Solutions for the Post-PC Age
SQLBase for Smart Cards SQL Network for Appliances
8Smart Cards Market Context
- Java Card on the ramp
- gt25 Java Card licensees
- 32K and 64K chips to break price barriers soon
- Multiple applications per card inevitable
- Smart Card numbers
- 3.4 billion cards in circulation by year end 2001
- One card per habitant in the year 2002
- At CardTech/SecureTech
- Presenting Database Services for Java Cards
- at Tuesday Java Card Workshop
9General Needs and Issues
- Multi-Application cards
- Issue of Card Application ownership
- Security
- Application Size
- Data Sharing
- Application Terminal loading and maintenance
- Portability
- Write once and deploy everywhere
- Support for multiple platforms
- Integration with IT
- Smart Card enables existing applications
- Less complex programming
10Applications Profile
- Application Size
- Very little computing power and memory
- Ultra Light Cardlets
- Database Storage Support
- Very limited local file storage capacity
- Security is an issue
- Online remote RDBMS access is required
- Network Services
- GSM Cell Phone SIM cards adopting Java Card
- POS ready to access corporate distributed
services
11Programming Requirements
- Local Database Server on Smart Card
- Data persistence
- Capacity requirements for a few hundred records
- Simple and light programming interfaces via SQL
- Reduced SQL instruction set (coded)
- Small database files
- Remote RDBMS Transactions Support
- Light and simple enabling classes
- On-line and Queued access
- Open backend support
- Integration with core business logic
12Smart Card Platforms
Java Card Java 2.0 Uses 16 and 32 bit
Cards Programming in any Java Tool
Multos MAOSCO MONDEX Uses 8, 16 32 bit
Cards, including Java Card Programming in C
Java Windows Smart Card MS new OS
(modular) Uses 8 bit processors Programming in
Visual Studio VB
13Database Services for Java Cards
14Data Models for Smart Cards
Client/Server within the Smart Card
Local RDBMS on Smart CardCardlets talk to
SQLBase Server on Smart CardDML DDL
Client/Server to the Smart Card
Remote access to SQLBase on Smart CardExternal
applications talk to SQLBase Server on Smart
CardODBC JDBC interfaces via Proxy
Client/Server from the Smart Card
Access to remote data business logic
sourcesCardlets talk to Networked services via
SNAPIntegration Services
15 Client/Server within the Smart CardLocal DB
Access on the Card
Local RDBMS on Smart CardCardlets talk to
SQLBase Server on Smart CardDML DDL
16Single Application Cards
- Data is stored in file structures
- Data manipulation is implemented as part of the
application functionality - 25 of the application code is dedicated to data
manipulation routines - Data can be persistent
17The reality of Java Cards Today
- Data is only persistent while the Cardlet is
alive - Cardlets use file based data structures creating
redundant proprietary data access routines - Cardlets could be disposable units and still
benefit from data persistence - Cardlets should share basic cardholders data
- To access external services Cardlets must develop
proprietary interfaces
18SQLBase for Smart Card
- Client/Server Inside the Card
- 8K RDBMS Java-based Server
- Native page management engine
- Full DML DDL support
- Ultra light database file
- Multiple Database files
- High Security
- Data space management
19SQLBase for Smart Card Architecture
Cardlet
SQLBase for Smart Card
Security Mgr.
Connect
Business Logic
. . .
Select
SQL Engine
Fetch
Java Card JDBC Shared Objects
. . .
Insert
Page Mgr.
Logon
Update
Data Manipulation
Delete
Databases
. . .
. . .
System Tables
. . .
Java Byte Code
. . .
. . .
. . .
20Characteristics
- Internal Data Types
- Byte
- Integer
- Short
- Boolean
- Binary
- Char
- W Char (Unicode)
- External Data Types
- Float
- Double
- Date
- Time
21Functions
- DML
- Insert statement
- Update statement
- Delete statement
- Select statement
- Fetch Next
- Order By
- Join (2)
- DDL
- Create table
- Alter table (programmatic)
- Drop table
- Load/Unload
- Truncate
- Internal External
- X X
- X X
- X X
- X X
- X X
- X
- X
- X
- X X
- X
- X X
- X
- X X
22Functions
- GENERAL
- Connect /Disconnect
- Commit
- Rollback
- DBA
- Create Database
- Destroy Database
- Grant
- Revoke
- Set Server Password
- Alter Password
- Internal External
- X X
- X X
- X X
- X X
- X X
- X X
- X X
- X X
- X X
23Security
- Uses native cryptography and Triple DES
- Never Expose DB Schema
- No catalog commands
- Database Checksum for authentication
- Server Password
- Access code for Server owner to set and create
databases - DBO Authority
- Database Administration
- User
- RDBMS Native user with table access control
mechanism - Cardholder PIN (Card)
- Access code for the card holder
24Other Features
- Transaction Support
- Limited to Log file size
- Commit a transaction
- Roll back a transaction
- Multiple Connections
- Multiple sessions, but one operation at a time
- Primary Keys
- Null not Null
- Y2K Compliant
25Design and Deployment
- Card Designer
- Server setup
- Database design
- Project Management
- User Profiling
- Version Control
- Card customization
- SQL pre-processor
- Byte code generation
- Cardholder personalization
26Example Loyalty System
- One common loyalty system
- One Card
- One Cardholder
- Multiple Cardlets
- Disposable Cardlets
- Multiple databases
Cardholder
Transactions
Subscriber
ID (PK)NameLast NameEmailPhoneBalance
ID (PK)Merchant ID (FK)Subscriber ID
(FK)DatePhoneAmountDescription
ID (PK)Name
Merchant
ID (PK)Name
27Value Added Proposition
- Converts Smart Card into a general purpose
computer - Enabling disposable Cardlets
- Allowing data persistence independent of the
Cardlets physical presence on the card - Enabling Cardlets to share data in a safe manner
- Optimize space management
- Allowing the Cardlets to focus on business logic
and not in data management thus reducing size
complexity - Maintaining optimal data space management
28Client/Server to the Smart CardExternal
Application Access to the Smart Card Database
Remote Access to SQLBase on Smart CardExternal
Apps talk to SQLBase Server on Smart CardODBC
JDBC interfaces via Proxy
29Remote SQLBase for Smart Card
- External access via ODBC and JDBC interfaces
- Transparent Smart Card commands
- Reader and card independence
- Like Client/Server for any programming tool
30Value Added Proposition
- Simple data manipulation on the card via open
standards from external applications - JDBC ODBC
- Simple Smart Card programming
- Enables traditional programmers to use Smart
Cards - Using standard programming tools like VB,
SQLWindows, Java, VC, etc.
31 Client/Server from the Smart CardRemote Access
to DB Business Logic
Local access to remote data business logic
sourcesCardlets talk to Networked services via
SNAPIntegration Services
32SQL Network for Appliances
- Projection of Smart Card and Terminals into a
Windows NT environment as COM objects - Programming via any COM enabled tool
- Open backend support
- RDBMS Servers,
- MTS Transaction Monitor
- MSMQ Message Queue service
- Directory Services, etc
- Network support for GSM SMS, TCP/IP, etc
33Two Tier Architecture
Client
Backend
Data Storage
DB Access
External Functions
Triggers
Internal Functions
Store Procedures
Constants
Ref. Integrity
Procedural Log.
Variables
Validations
TP Monitors
User Interface
Message Servers
Client APIs
Directory Servers
Runtime
Other
34N Tier Architecture
SQL Network for Appliances
Client
Backend
Data Storage
DB Access
Triggers
COM Objects
Store Procedures
MTS Interface
Ref. Integrity
MSMQ Interface
Other Interfaces
Validations
TP Monitors
User Interface
Message Servers
Client APIs
Directory Servers
Runtime
Other
35SNAP Model Taxonomy
SQL Network for Appliances
Client
Validations
User Interface
Constants
Services MTS, MSMQ
Variables
Procedural Log.
Internal Functions
DB Access
External Functions
36How SNAP Works
Client
SQL Network for Appliances
Business Logic
TCP/IP
RS-232
. . .
COM
Communication Services
SNAP API
SMS
FTP
XML
HTTP
SNAP Marshal
WAP
. . .
SNAP Comm
. . .
37Open Scalable Architecture
SQL Network for Appliances
Clients
Backends
Session Manager
TCP/IP
Java
COM
COM Objects
SQL
RS-232
Custom
Emit
OLE DB Pool
Custom
38SQL Network for Appliances
SQL Network for Appliances
Clients
Backend
Integration Services
Hand Held PCs
RDBMS
Appliances
MTS
Smart Devices
MSMQ
Smart Cards
Directory Services
Phones
Other (SAP)
COM OLE DB
39SQL Network for Appliances
- On the Smart Card
- Simple external function calls
- Multiple Cardlets support
- High security
- Message based
- On the Terminal
- Client adapter
- Projects COM object
- Supports MTS, MSMQ, OLE DB
40Real Life Example
Virtual Bank
- One Electronic Purse
- One Card
- One holder
- Multiple apps
- Remote Transactions
- Disposable Cardlets
- Multiple databases
Drug Store
Grocery Store
41SNAP Value Added Proposition
- Simplify Cardlets by accessing external
functions - Maintain critical business logic on the server
side - Access to Business Intelligence
- MSMQ message queue service
- MTS transaction monitor
- Directory Servers
- Database Servers
- True application partitioning with business logic
and data access on the server - Extend the physical limits of the card by using
server side resources - Simplifying the integration of existing apps
42(No Transcript)