Igniters,

I am working on a project where users will use Ignite via a thin client
protocol. The API will be Java and the client will have to support failover
and encryption.

I know community already developed the thin client protocol and .NET
bindings and is going to develop failover and encryption (I found backlog
tickets addressing failover and encryption). Thus, the only missing part is
Java bindings.

Unless someone is already working on Java bindings, let us develop and
contribute the thin client Java API to the Apache Ignite project. I believe
many can benifit from it.

There are two options to design the API: 1) implement existing interface
like IgniteCache and throw UnsupportedOperationExcception if something is
not supported 2) implement new interface and define only supported methods. 
The Community  already discussed the options
<http://apache-ignite-developers.2346864.n4.nabble.com/New-thin-client-and-interfaces-facades-td22023.html>
  
decided to use the latter option 2 for .NET bindings so we will follow the
same approach for the Java API.

On the first phase we will implement the below data-only API. Let us know if
you have comments. Thank you!

Cache
    JCache (limited)
        getName(): String
        put(key, val)
        get(key): V
        getAll(keys: Set): Map
        containsKey(key): boolean
        getAndPut(key, val): V
        getAndReplace(key, val): V
        getAndRemove(key): V
        putIfAbsent
        replace(key, val)
        replace(key, oldVal, newVal)
        putAll
        clear
        remove(key)
        remove(key, val)
        removeAll()
        removeAll(keys: Set)
        getConfiguration(clazz): Configuration
        close()
    size(modes: CachePeekMode...)
    query(qry: Query): QueryCursor
    query(qry: SqlFieldsQuery): FieldsQueryCursor<List>
    withKeepBinary(): IgniteCache
Ignite
    cache(name: String)
    cacheNames(): Collection
    binary(): IgniteBinary
    createCache(name): Cache
    getOrCreateCache(name): Cache
    destroyCache(name)
Ignition
    startClient(:ClientConfiguration): Ignite
ClientConfiguration(port, host, binaryConfiguration, sslConfiguration,
etc...)







--
Sent from: http://apache-ignite-developers.2346864.n4.nabble.com/

Reply via email to