For a cross-platform product like RMS, Sentinel Caffe alleviates the overhead of building and maintaining separate JNI layers for each supported platform.
The table below offers a comparison between JNI and Sentinel Caffe implementations:
|
Feature
|
JNI
|
Sentinel Caffe
|
|
Supports the “build once, run everywhere” concept
|
No
|
Yes
|
|
Comprehensive support of the Sentinel RMS ‘C’ library
|
No
|
Yes
|
|
Self configured through a configuration file
|
No
|
Yes
|
|
Automatic garbage collection on release
|
No
|
Yes
|
Sentinel Caffe provides a high-level interface to access the RMS licensing API from within Java applications and supports the concept of “build once, run everywhere.” It allows the developer to interface with Sentinel RMS in a consistent implementation that is easy to use and maintain. Unlike a JNI based implementation, Caffe provides a common interface for all of the Sentinel RMS standard supported platforms.
View Specification
Resource Library
System Requirements:
- Java SE Development Kit version 1.5 or higher
- Java 2 Runtime Environment version 1.6 or higher
- Sentinel RMS SDK Version 8.2.x onwards
- Up to 20 MB free hard disk space
View Feature & Benefits
Resource Library
Includes the RMS License Enforcement and License Fulfillment API Sets
Sentinel Caffe empowers Java developers with the same level of licensing API functionality that is normally only available to C/C++ developers. The license enforcement API exposes the full suite of both standalone and network license models to Java applications. The fulfillment API also provides access to the complete RMS license key generation functionality in Java, allowing RMS license fulfillment capabilities to be embedded into existing Java based application servers.
Eliminates the Need to Build and Maintain Separate JNI Layers for Multiple Platforms
Sentinel Caffe uses Java Native Access (JNA) to dynamically invoke native code without using the Java Native Interface. JNA uses a small native library stub to dynamically invoke native code, allowing calls directly into C-based functions whilst using natural Java methods. This provides Java programs with dynamic runtime access to native shared C/C++ libraries without the need for boilerplate or generated glue code. Since JNA has been developed with an emphasis on usability Caffe also makes use of the Javolution real-time library to maintain a very high level of performance.
Additional IDE support for Eclipse and NetBeans
As well as a large collection of code examples for Sun JDK, Caffe provides examples for both Eclipse and Netbeans. This ensures that Java developers can rapidly progress with their implementation in all of the most popular Java development environments.
Out of the Box Support for All Standard Sentinel RMS Platforms
Java applications will run across all of the standard RMS core platforms without the need for any application modification between platforms. All APIs are uniform between the core licensing library and the Java interface and the functionality is consistent across all platforms that Sentinel RMS supports.
View How to Buy
Resource Library