ArchitectureΒΆ

The middleware on Android mobile devices is provided as a library to be embedded within a custom application, or as a standalone application. The middleware holds multiple roles:

  • providing the Smart Card Manager user-interface (this role only applies when the middleware is provided as a standalone application)
  • processing requests from web applications (executed in browsers, using the middleware through the JavaCard SCWS API)
  • processing requests from Java Android applications

The requests from both web applications and Java Android applications internally go through the same, unified interface. To make application development easier, the middleware functions are accessible through two externally accessible lightweight wrapper interfaces: one as a JavaScript file for web applications, and one as a JAR library for Java applications.

When the middleware is provided as a library to be fully embedded within the custom application, using it requires:

  • The provided scmapiembed.aar library to be linked with the target application

When the middleware is provided as a standalone application, using it from another (custom) Java application requires:

  • The Idopte Smart Card Middleware application to be installed on the device
  • The provided scmapi.jar library to be linked with the target application
  • The target application declaring a specific permission in its manifest