Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 0012D200C6F for ; Tue, 25 Apr 2017 00:03:53 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id F2DF4160BA5; Mon, 24 Apr 2017 22:03:53 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 4DF0D160B99 for ; Tue, 25 Apr 2017 00:03:53 +0200 (CEST) Received: (qmail 49774 invoked by uid 500); 24 Apr 2017 22:03:52 -0000 Mailing-List: contact dev-help@geode.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@geode.apache.org Delivered-To: mailing list dev@geode.apache.org Received: (qmail 49757 invoked by uid 99); 24 Apr 2017 22:03:52 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd1-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 24 Apr 2017 22:03:52 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd1-us-west.apache.org (ASF Mail Server at spamd1-us-west.apache.org) with ESMTP id 9C489D0B76 for ; Mon, 24 Apr 2017 22:03:51 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 2.49 X-Spam-Level: ** X-Spam-Status: No, score=2.49 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=2, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RCVD_IN_SORBS_SPAM=0.5, T_KAM_HTML_FONT_INVALID=0.01] autolearn=disabled Authentication-Results: spamd1-us-west.apache.org (amavisd-new); dkim=pass (2048-bit key) header.d=pivotal-io.20150623.gappssmtp.com Received: from mx1-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd1-us-west.apache.org [10.40.0.7]) (amavisd-new, port 10024) with ESMTP id 1Nkl0kW1dd0Q for ; Mon, 24 Apr 2017 22:03:49 +0000 (UTC) Received: from mail-qk0-f170.google.com (mail-qk0-f170.google.com [209.85.220.170]) by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with ESMTPS id E1DB460D69 for ; Mon, 24 Apr 2017 22:03:48 +0000 (UTC) Received: by mail-qk0-f170.google.com with SMTP id y63so100764223qkd.1 for ; Mon, 24 Apr 2017 15:03:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pivotal-io.20150623.gappssmtp.com; s=20150623; h=mime-version:from:date:message-id:subject:to; bh=ZowEAGdbr7ZXnxtgmbuj8FwHIiyzciiSdMZ/TE3s8t4=; b=H114pEHYt8zf91aVPE7dg20dkMRwB+kJht5ZCVWmTqOCaOP4INfRyh0PXanm8adiV2 GrarcHtkRi4XTKsvsSAaFGZN58dGy0mu3BD/kHtaZwMns1WfJZq9B6KFEb6eiw7J8080 c8R+nNaLVAGN2erdu5WtxJZK7OpWMBUNm61WTaTTM769WQ8Ib7tfZoC21OyWxfxjuIby DUVWEaWNX2Dcm6TUjsSOny3P/Gpg184JvQOEr3SYAfQPq/DfRftVNWe6vJqXwM/eIg9z 0nPHCC2mM66wh+Z7hEidU++c6IM1VwYkGiBugWQtUjhYsTTli8MMEk3CY14KckijwXKn jaKw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=ZowEAGdbr7ZXnxtgmbuj8FwHIiyzciiSdMZ/TE3s8t4=; b=o3KMoDhAqGMXV5E23wPrRPscXvlillB3ybr0J4MEi2DZ7UA+i03yK3m6NxwM1yAGMR jaWZUMdLQ0k3AVphyRnC4Cr/K7QxHTkytWn6w9YfsMwVvdTm5ppGlAEeXPfBAJPRe7kr 2o2l2mLIa2qexzgh8zBISQcNqa2uJmTxmL6kxoi9M9EWFxem0Eg8kTEs6bLQd6R5aug/ 7ftlWgnGA78jMHbRSUjK5mSfL5erUYkmBVwkVR3olSxxwGuoqoiqcn7lS2SlCPNPibkW cI1UoO3YOVwFxukzHphsnkwK5EZ8TSNVc793MKxSD7F69b0YkJKrJ8zzdI1FXDyQIudb qTig== X-Gm-Message-State: AN3rC/6BOqsgmsek13TfpTk420rfGCoqoG12YES8HpHPpRMr7/5kpVt+ zFL1H/NrMvaqPgD5g9vW0ziehOFq0fxjF6s= X-Received: by 10.55.77.209 with SMTP id a200mr28604663qkb.11.1493071427642; Mon, 24 Apr 2017 15:03:47 -0700 (PDT) MIME-Version: 1.0 Received: by 10.12.149.144 with HTTP; Mon, 24 Apr 2017 15:03:46 -0700 (PDT) From: Fred Krone Date: Mon, 24 Apr 2017 15:03:46 -0700 Message-ID: Subject: Simple Java Client To: dev@geode.apache.org Content-Type: multipart/alternative; boundary=001a114a7e8c11d36b054df0c85d archived-at: Mon, 24 Apr 2017 22:03:54 -0000 --001a114a7e8c11d36b054df0c85d Content-Type: text/plain; charset=UTF-8 In an effort to improve Java developer ease of use for caching with Geode I am looking for feedback on going forward with creating a Java client. This client will allow for server-side region creation and distributed data caching. This would allow for a thin client that fits with microservice caching patterns and also abstracts a cleaner client-server experience driven interface. Initially we were going to update the Region interface but were concerned with breaking existing applications. We also would like to provide Region creation to a client application and so propose here solving both of these areas with a Java client. It would have new project repo for the client. It would provide new Region interface for clients. The specifics of the API design are too lengthy for this conversation but implementation will resemble JSR 107 Cache interface. It would use the new security framework. *An example*, The client application simply creates an instance of client and points it to the locator: org.apache.geode.client.Client client = Client.create(locatorHost, locatorPort); Client has the following methods: package org.apache.geode.client; public interface GeodeClient { /** * creates the region on the servers, or gets the region if it exits, returns a PROXY region */ public Region getOrCreateRegion(RegionAttributes attributes, String name); /** * Returns a PROXY region if the region exists on the server */ public Region getRegion(String name); MVP The smallest set of features to test this idea, learn and iterate, and get the client into the communities hands for future iterations is: Create a server side Region from a client Region interface has CRUD on par with javax.cache.Cache (from JSR 107) Calls are asynchronous -- futures Also would like feedback on which future functionality would be most useful from a thin client: Function execution Durable clients User defined serialization Register interest Queries CQ Near side caching Create disk stores from client Region group membership Client subscription load balancing Transactions Thanks, -Fred --001a114a7e8c11d36b054df0c85d--