Gateway abstraction layer for java