Title: Java Electronic Commerce Framework JECF
1Java Electronic Commerce Framework (JECF)
- CSIT 72 Electronic Commerce Technologies
2What is the Java Wallet?
- The Java Wallet is a family of products written
in the Java programming language that are
designed to enable secure electronic commerce
operations and offer users an extensible platform
for online commerce - The Java Wallet incorporates the
- Java Commerce Client,
- Commerce JavaBeans components,
- Gateway Security Model, and
- Java Commerce Messages.
- These products can be used independently of one
another. Users might even be unaware that they
have a Java Wallet running in their machine when
several Commerce JavaBeans components are
included in some other application. - Because it is implemented in Java, the Java
Wallet will run everywhere Java is available.
This includes all popular browsers and the
increasing number of operating systems and
network computers that incorporate Java.
3What is the Java Commerce Client?
- The Java Commerce Client (JCC) is Sun
Microsystem's client side solution for secure
electronic commerce transactions. As an open,
extensible platform, the JCC provides
functionality that reduces the time and effort
developers require to build electronic commerce
applications. JCC users are provided with a
Wallet-like user interface, a database, and an
extensible platform that enables the use of a
variety of payment instruments and protocols for
a nearly unlimited number of E-commerce
operations. - Once the JCC is configured on a client machine,
the JCC user can download and install new
Instrument, Protocol, and Operation Commerce
JavaBeans components developed by third party
software providers. The JCC user can also extend
the JCC with internal services, like address
books, and transaction logs, that are also
available as Commerce JavaBeans components. The
JCC provides merchants with the ability to create
heavily branded user interfaces that can be tied
to merchant-specific operations, such as a
purchase on a specific merchant site or a
transaction with a given bank. - The JCC offers a flexible solution in the rapidly
evolving world of electronic commerce on the
Internet.
4Java Commerce Client (JCC) Components
5What are the Java Commerce APIs?
- The Java Commerce APIs implement basic services
within the Java Commerce Client. They provide
foundation services that allow developers to
easily create new electronic commerce
applications, like on-line shopping malls, home
banking or electronic brokerage. The classes that
form the Java Commerce APIs are designed to
enable - Rapid Commerce Component Development. The
Commerce JavaBeans specification provides for
rapid development and deployment of commerce
components. Once components are packaged in
signed jar files (known as cassettes), they can
be made available to end users via download or
disk. - Easy, Secure Downloading and Installation of
Cassettes. The Java Commerce API contains support
for an installation subsystem that facilitates
the download and installation of new commerce
components into the Java Wallet. - Secure Interoperation of Commerce JavaBeans
components. Once commerce components are
installed and registered, the Java Commerce API
enables their secure, constrained interoperation
using the Gateway Security Model. - Secure Storage of Private End-User Information.
The Java Commerce APIs contain a database that
securely holds personal information, like credit
card numbers or transaction histories. The
database uses the security functionality built
into the Java Developer's Kit to ensure the
privacy of this data. - Rapid Development of Secure Payment Mechanisms.
The Java Commerce APIs allow developers to
quickly go from payment protocol specifications
to working implementations.
6JCC Storing/Retrieving Objects in the Database
7What is a Commerce JavaBeans Component?
- A Commerce JavaBeans component is a reusable
commerce component that meets specific interface
requirements. Commerce JavaBeans enable
developers to easily write commerce components
that can extend the functionality of the JCC. - The Commerce JavaBeans model extends the
JavaBeans model to provide interface typing and
support for the Gateway Security Model. Commerce
JavaBeans components show some functionality
within standard JavaBeans builder tools, but they
only manifest full functionality in Commerce
JavaBeans-aware environments such as the JCC. - The Commerce JavaBeans API Specification will be
published soon.
8What is a Commerce JavaBeans Component?
- The following Commerce JavaBeans interfaces are
defined for use with the JCC - Transacted (Issues events that allow transaction
checkpointing and recovery. This interface is
extended by both Operation and Protocol
interfaces.) - Operation (Implemented for purchase, ATM
transfer, financial planning. . .) - Protocol (Implemented for post, SET, Mondex. . .)
- Instrument (Implemented for credit card, coupon,
voucher, frequent-flyer miles card. . .) - User interface (Implemented for alternate GUIs
designed by Commerce JavaBeans component
developers) - Service (Implemented for address book, cassette
management, instrument management. . . ) - Preference (Implemented for user preference
configuration) - Gate (Implementation provides a secure shield
around protected APIs)
9What is a Commerce JavaBeans Component?
- The Commerce JavaBeans class is derived from
java.beans.Beans. Therefore, the Commerce
JavaBeans class presents the same functionality
as java.beans.Beans but with a slightly broader
interface tailored to support Commerce JavaBeans
components. - Commerce JavaBeans components are contained in
cassettes. When a cassette is downloaded and
installed, the JCC can make use of the Commerce
JavaBeans component(s) it contains to perform
commerce operations. For example, the JCC could
use a Purchase Operation Bean in conjunction with
a credit card Instrument and an SET Protocol Bean
to perform a secure online purchase. The Commerce
JavaBeans model is extensible, so developers can
create new types of Commerce JavaBeans components
as the need for them arises.
10What is a Cassette?
- A Cassette is package for Commerce JavaBeans
components. - A Cassette is a JAR (Java archive) file that
- Contains resources (one or more Commerce
JavaBeans components, shared interfaces,
graphics, etc.) - Is digitally signed with one or more Roles. Each
role provides specific capabilities to the
contents of a cassette. - Contains information about the contents of the
JAR file which enables the JCC to download,
install, and register Commerce JavaBeans
components.
11JCC Graphical User Interface Schematic
12JCC Context Instantiation and Gate Registration
13JCC Gateway Security Model
14JCC Cassette Installation Environment
15JCC Cassette Download Scenario
16JCC Cassette Registry
17JCC Operation Point of View
18JCC/Device Driver Interface
19JCC Acquirer to Smart Card Communication
20JCC Smart Card Layering
21JCC Localization Using Properties File
22What is the Java Smart Card API?
- The javax.smartcard package provides an API that
enables communication between portable Java
applications and smart cards, independent of
hardware devices. The Java Smart Card layer makes
the card reader and port transparent to the Java
application communicating with the smart card,
providing a direct channel between application
and smart card. The Java application only
requires intimate knowledge of the smart card
itself, for example, what kinds of APDUs the card
understands. The implementation of
javax.smartcard included with the Java Wallet is
preliminary and should be considered a prototype.
- For more information on the Java Smart Card API,
visit the Java Wallet Smart Card API Page.
23Will the Java Commerce APIs Be Part of JDK?
- The Java Commerce APIs are delivered separately
from JDK. The Java Commerce APIs constitute a
standard extension to the JDK.
24How Can I Get More Detailed Information?
- Additional information is available on the Java
Wallet Documentation Page. - Please read the Java Wallet Architecture White
Paper.
25The Future of the Java Wallet
- Several major enhancements, along with some minor
ones, of the Java Wallet are planned for future
releases. - At some point, the current Java Wallet
architecture will be extended with one that
supports a thin wallet. The current Java Walletis
called fat because it resides entirely on the
client. A thin wallet, by contrast, would exist
on a server. In a thin wallet architecture, Java
Wallet users could access their Wallets from any
networked computer, from networked kiosks, or
from any device that supports Java and has an
Internet connection. In developing thin
applications, the majority of the application
must reside on the server, where it does most of
its work, displaying output to and receiving
input from users. The trick in designing thin
applications is to separate the framework from
the display. As little code as possible should be
downloaded from the server. The user then
interacts across a network connection with an
application residing on the server.