Socket client for aios server
The aios server is an in java implemeted lightweight server were currently different jdbc datasources can be registered and are accessible throw a socket connection. The exchanged messages an bson en-/decoded.
To use this package you need an aios server up and running.
Sources and documentation for the aios server can be found on https://github.com/thinkbaer/aios.
This is an experimantal implementation under active development don't use it on production systems!
Per default the aios server listens for socket connection on
- host: localhost
- port: 8118
Usage
Synchronized (with sockit-to-me)
Setup the server connection
var AiosServer = require('aios');
var server = new AiosServer({host:'localhost',port:8118});
var response = server.ping();
Register a JDBC datasource on aios server
var dsn = 'hsql_test'
var dsSpec = {
type: 'jdbc',
driver: 'org.hsqldb.jdbc.JDBCDriver',
driverLocation: "http://central.maven.org/maven2/org/hsqldb/hsqldb/2.3.3/hsqldb-2.3.3.jar",
url: "jdbc:hsqldb:file:/tmp/test_server/hsql_test",
user: 'SA',
password: ''
}
var dataSource = server.dataSource(dsn, dsSpec);
var sameDataSource = server.dataSource(dsn);
Query the registered datasource
var createDBSchema =[
'CREATE TABLE IF NOT EXISTS car ( id INTEGER IDENTITY, type VARCHAR(256), name VARCHAR(256))'
"INSERT INTO car (type, name) VALUES('Ford', 'Mustang')",
"INSERT INTO car (type, name) VALUES('Volkswagen', 'Golf')"
]
var results = ds.executeBatch(createDBSchema);
results = ds.execute("INSERT INTO car (type, name) VALUES('Volvo', 'V70')");
results = ds.update("INSERT INTO car (type, name) VALUES('Volvo', 'V70')");
results = ds.query("SELECT * FROM car");
Asynchron (with net.Socket)
Currently not implemented, coming soon ...
Links
aios server
nodejs aios client
Work in progress ...
- Error Handling
- Connection pooling
- Asynchon implementation
- Performance optimization
- Benchmarks