Database Bindings/Support
-
Oracle
-
Microsoft SQL Server
Installer
-
Based on izPack (Java)
-
Bundles all components
Update/Migration
-
DB updates are based on migration packages
-
Python-based migration framework is included in the server
Python
-
Used as scripting language throughout the application
-
Bundled versions of CPython (native server) and IronPython (GUI client)
-
API provides access to server and client functionality [links]
YAJSW - Yet Another Java Service Wrapper
-
Provides daemon and init scripts on linux, or service on windows
-
Invokes java server, monitoring
Monitoring
-
Checks for DB availability
-
Checks for server availability
-
Web-based interface (Jetty)
Java Server (Standalone)
-
Provides DB interface via Hibernate/JDBC
-
Exposes minimalist REST interface towards monitoring
-
Communicates with native server components via protocol buffers through (local) network socket
-
Logging via slf4j, using logback as backend
-
Invokes native server
Native Server (Piggyback)
-
Accepts incoming client connections
-
Invokes per-session process
-
Connects to java server
-
Communicates with client via XML protocol through network socket
Client
-
Connects to native server
-
Either GUI or headless
-
GUI can either be pre-installed or deployed via ClickOnce
Authentication Schemes
-
Interactive (username/password)
-
Kerberos
-
Single Sign-On via CredentialManager