You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@geode.apache.org by "John D. Ament" <jo...@apache.org> on 2016/10/24 23:59:53 UTC

Developing a client application

Hi,

Reading through the geode docs, it seems like there's a key piece missing -
how do I actually connect as a client?

If I look here
http://geode.incubator.apache.org/docs/guide/developing/book_intro.html, I
don't see anything obvious - e.g. what maven coordinates to use to get a
reference, or what to download.  Seems like I need to build from source.

If I look at
https://github.com/apache/incubator-geode/blob/develop/README.md , I get a
bit more worrisome (especially as an IPMC member).  The client section
links me to 3 pivotal websites and one cwiki entry.  If I want just a plain
java client, no real information available (in fact, the Java client line
isn't a link).

So, how do I begin as a java client? And at what point does geode update
their links for internal docs?  For the record, the pivotal docs up first
in searches

John

Re: Developing a client application

Posted by Amit Pandey <am...@gmail.com>.
I am pretty interested in a python and C++ client, for Geode. So if its
possible, at least for me it will very exciting.

On Sat, Oct 29, 2016 at 7:37 PM, Anthony Baker <ab...@pivotal.io> wrote:

>
> On Oct 26, 2016, at 4:33 PM, John D. Ament <jo...@apache.org> wrote:
>
> Thanks - looks better.  I'm wondering, is there a plan to migrate the
> Python client under ASF?  And can you add a link to the actual client
> library for Geode on the README? Otherwise, the first link is still a 3rd
> party.
>
> It may be better to categorize the unofficial clients vs official clients
> (Java, REST)
>
>
>
> Thanks for the suggestion!  Added some doc links for the Java client and
> split out the libraries external to the project.
>
> If there’s interest in the Python client (which is a wrapper around REST)
> we could probably convince Pivotal to donate it.
>
> Anthony
>
>

Re: Developing a client application

Posted by Anthony Baker <ab...@pivotal.io>.
> On Oct 26, 2016, at 4:33 PM, John D. Ament <jo...@apache.org> wrote:
> 
> Thanks - looks better.  I'm wondering, is there a plan to migrate the Python client under ASF?  And can you add a link to the actual client library for Geode on the README? Otherwise, the first link is still a 3rd party.
> 
> It may be better to categorize the unofficial clients vs official clients (Java, REST)
>  

Thanks for the suggestion!  Added some doc links for the Java client and split out the libraries external to the project.

If there’s interest in the Python client (which is a wrapper around REST) we could probably convince Pivotal to donate it.

Anthony


Re: Developing a client application

Posted by "John D. Ament" <jo...@apache.org>.
On Wed, Oct 26, 2016 at 11:48 AM Anthony Baker <ab...@pivotal.io> wrote:

>
> > On Oct 25, 2016, at 11:56 PM, Roman Shaposhnik <ro...@shaposhnik.org>
> wrote:
> >
> > On Tue, Oct 25, 2016 at 8:03 PM, John D. Ament <jo...@apache.org>
> wrote:
> >>
> >>
> >> On Tue, Oct 25, 2016 at 10:27 PM Anthony Baker <ab...@pivotal.io>
> wrote:
> >>>
> >>> What I’m taking from this thread is that:
> >>>
> >>> 1) We (the Geode project) need to rework the README now that we have
> maven
> >>> artifacts available.
> >>
> >> I'm not sure the relationship.  There's two issues I see with the
> current
> >> docs.
> >>
> >> 1. They're pointing to Pivotal, meaning you need to go to a vendor to
> >> understand how to use Geode.  While I understand this was a late
> donation
> >> from Pivotal, it should be treated as a priority to use ASF docs.
> >
> > Thanks for spotting a couple of links in the README -- we need to change
> it.
>
> I just posted a review for updating the links, this should be fixed soon.
>

Thanks - looks better.  I'm wondering, is there a plan to migrate the
Python client under ASF?  And can you add a link to the actual client
library for Geode on the README? Otherwise, the first link is still a 3rd
party.

It may be better to categorize the unofficial clients vs official clients
(Java, REST)


>
> Anthony
>
>

Re: Developing a client application

Posted by Anthony Baker <ab...@pivotal.io>.
> On Oct 25, 2016, at 11:56 PM, Roman Shaposhnik <ro...@shaposhnik.org> wrote:
> 
> On Tue, Oct 25, 2016 at 8:03 PM, John D. Ament <jo...@apache.org> wrote:
>> 
>> 
>> On Tue, Oct 25, 2016 at 10:27 PM Anthony Baker <ab...@pivotal.io> wrote:
>>> 
>>> What I’m taking from this thread is that:
>>> 
>>> 1) We (the Geode project) need to rework the README now that we have maven
>>> artifacts available.
>> 
>> I'm not sure the relationship.  There's two issues I see with the current
>> docs.
>> 
>> 1. They're pointing to Pivotal, meaning you need to go to a vendor to
>> understand how to use Geode.  While I understand this was a late donation
>> from Pivotal, it should be treated as a priority to use ASF docs.
> 
> Thanks for spotting a couple of links in the README -- we need to change it.

I just posted a review for updating the links, this should be fixed soon.

Anthony


Re: Developing a client application

Posted by Roman Shaposhnik <ro...@shaposhnik.org>.
On Tue, Oct 25, 2016 at 8:03 PM, John D. Ament <jo...@apache.org> wrote:
>
>
> On Tue, Oct 25, 2016 at 10:27 PM Anthony Baker <ab...@pivotal.io> wrote:
>>
>> What I’m taking from this thread is that:
>>
>> 1) We (the Geode project) need to rework the README now that we have maven
>> artifacts available.
>
> I'm not sure the relationship.  There's two issues I see with the current
> docs.
>
> 1. They're pointing to Pivotal, meaning you need to go to a vendor to
> understand how to use Geode.  While I understand this was a late donation
> from Pivotal, it should be treated as a priority to use ASF docs.

Thanks for spotting a couple of links in the README -- we need to change it.

> 2. They're pointing to client libraries from that same vendor.  The project
> should provide OOTB self maintained libraries for developers to leverage the
> tool, without the use of a third party.

Which libraries are you talking about? The ones I see all are available either
from Spring.io or from Maven central.

> I'll point out that one of your mentors has suggested that this project is
> really close to graduation... based on what I'm seeing (and to explain -
> this isn't a random drive by, I'm looking at alternate persistence stores
> for ActiveMQ Artemis), this project still has very close ties to a vendor
> and unless it can separate that I'm not sure it can graduate.

John, while I appreciate your very constructive feedback and diligent
mentorship I feel your assessment is unfair. In fact, $ git grep -i pivotal
in the workspace provides a very instructive count of how far the
project has gone to distance itself from the vendor it came from (and
the fact that you can fit it on a single screen is even more instructive).

On top of that -- there ALWAYS will be value added components that
certain vendors are going to distributed around the project. That includes
Pivotal. As it stands, Geode is fully self-contained which is not to say
it provides all the client functionality one could think of. While excessive
advertisement of such additional functionality is clearly not accepabtle,
tactuflly pointing users at the directions of open source extensions (Spring.io)
or even closed source ones (Pivotal, Ampool, SnappyData) is quite an
accepted practice.

Thanks,
Roman.

Re: Developing a client application

Posted by "John D. Ament" <jo...@apache.org>.
On Tue, Oct 25, 2016 at 10:27 PM Anthony Baker <ab...@pivotal.io> wrote:

> What I’m taking from this thread is that:
>
> 1) We (the Geode project) need to rework the README now that we have maven
> artifacts available.
>

I'm not sure the relationship.  There's two issues I see with the current
docs.

1. They're pointing to Pivotal, meaning you need to go to a vendor to
understand how to use Geode.  While I understand this was a late donation
from Pivotal, it should be treated as a priority to use ASF docs.

2. They're pointing to client libraries from that same vendor.  The project
should provide OOTB self maintained libraries for developers to leverage
the tool, without the use of a third party.

I'll point out that one of your mentors has suggested that this project is
really close to graduation... based on what I'm seeing (and to explain -
this isn't a random drive by, I'm looking at alternate persistence stores
for ActiveMQ Artemis), this project still has very close ties to a vendor
and unless it can separate that I'm not sure it can graduate.


> 2) We need to more prominently point users to the geode-examples/ source.
>

Yes.


> 3) We need more examples.
>

Yes.


> 4) We should include the examples with the binary (convenience) release
> artifacts.
>

Meh.  I don't personally think that's useful, but others may have other
opinions.


>
> Sounds like something to tackle for the next release!
>
> Anthony
>
>
> On Oct 24, 2016, at 9:13 PM, John Blum <jb...@pivotal.io> wrote:
>
> > On Mon, Oct 24, 2016 at 5:59 PM, John D. Ament <jo...@apache.org>
> > wrote:
> >
> > > Hi,
> > >
> > > Reading through the geode docs, it seems like there's a key piece
> missing
> > > - how do I actually connect as a client?
> > >
> > > If I look here
> http://geode.incubator.apache.org/docs/guide/developing/
> > > book_intro.html, I don't see anything obvious - e.g. what maven
> > > coordinates to use to get a reference, or what to download.  Seems
> like I
> > > need to build from source.
> > >
> > > If I look at https://github.com/apache/incubator-geode/blob/develop/
>
> > > README.md , I get a bit more worrisome (especially as an IPMC member).
>
> > > The client section links me to 3 pivotal websites and one cwiki
> entry.  If
> > > I want just a plain java client, no real information available (in
> fact,
> > > the Java client line isn't a link).
> > >
> > > So, how do I begin as a java client? And at what point does geode
> update
> > > their links for internal docs?  For the record, the pivotal docs up
> first
> > > in searches
> > >
> > > John
>
>
>

Re: Developing a client application

Posted by Anthony Baker <ab...@pivotal.io>.
What I’m taking from this thread is that:

1) We (the Geode project) need to rework the README now that we have maven artifacts available.
2) We need to more prominently point users to the geode-examples/ source.
3) We need more examples.
4) We should include the examples with the binary (convenience) release artifacts.

Sounds like something to tackle for the next release!

Anthony


> On Oct 24, 2016, at 9:13 PM, John Blum <jb...@pivotal.io> wrote:
> 
>> > On Mon, Oct 24, 2016 at 5:59 PM, John D. Ament < <>johndament@apache.org <ma...@apache.org>>
>> > wrote:
>> >
>> > > Hi,
>> > >
>> > > Reading through the geode docs, it seems like there's a key piece missing
>> > > - how do I actually connect as a client?
>> > >
>> > > If I look here http://geode.incubator.apache.org/docs/guide/developing/ <http://geode.incubator.apache.org/docs/guide/developing/>
>> > > book_intro.html, I don't see anything obvious - e.g. what maven
>> > > coordinates to use to get a reference, or what to download.  Seems like I
>> > > need to build from source.
>> > >
>> > > If I look at https://github.com/apache/incubator-geode/blob/develop/ <https://github.com/apache/incubator-geode/blob/develop/>
>> > > README.md , I get a bit more worrisome (especially as an IPMC member).
>> > > The client section links me to 3 pivotal websites and one cwiki entry.  If
>> > > I want just a plain java client, no real information available (in fact,
>> > > the Java client line isn't a link).
>> > >
>> > > So, how do I begin as a java client? And at what point does geode update
>> > > their links for internal docs?  For the record, the pivotal docs up first
>> > > in searches
>> > >
>> > > John


Re: Developing a client application

Posted by John Blum <jb...@pivotal.io>.
Hi John-

So, to get you going with your original question...

*> So, how do I begin as a java client?*

geode-dependencies.jar is not really relevant to your original question nor
your *approach* (which I rather like, because it exemplifies how a user
approaches development and using Geode OOTB).

However, real quick, since it was brought up... geode-dependencies.jar is a
Manifest-only JAR.  It's not supposed to have any contents, other than a
META-INF/MANIFEST.MF file identifying the dependencies (potentially)
required by Apache Geode at runtime.   This technique is quite useful in
listing/including dependencies by using a single JAR file.

In that "standard" Java JAR file Manifest is a Class-Path header that
references the libs (i.e. dependencies) in $GEODE/lib used by Apache Geode
at runtime, which is only applicable when you are using a "downloaded"
installation.  This JAR does not exist in Maven Central, nor should it.
This JAR is used (internally) by *Gfsh* (to set the classpath) when
launching/forking Locators/Servers using 'start [locator|server]' command.

~~~~

However, your *approach* was using *Maven* (or *Gradle*) to consume Apache
Geode and use it in a [client cache] application scenario, connecting to a
pre-existing cluster (presumably).

IMO, and I am definitely biased here, *Spring Data Geode* is the easiest
way to get started with Apache Geode, especially programmatically, using
your IDE and defining your project with *Maven* or *Gradle*.


1.  First, there is already a single artifact (when using SDG)...

<dependency>
 <groupId>org.springframework.data</groupId>
 <artifactId>spring-data-geode</artifactId>
 <version>1.0.0.APACHE-GEODE-INCUBATING-M3</version>
</dependency>

This will transitively pull in all the necessary Apache Geode JARs as well
(e.g. geode-core, geode-cq, geode-wan, etc).


2.  It is highly simple (and familiar) to create a simple client cache
application using SDG (with the new Annotation configuration model that was
inspired by *Spring Boot *for users who are familiar with the *Spring's
programming model *and* Spring Boot's *convention over configuration
approach).

So, with SD Geode, you can easily create a Apache Geode cache client
application, connected up to your cluster, with something similar to the
following...

@SpringBootApplication
public class DemoGeodeClientApplication implements CommandLineRunner {

  public static void main(String[] args) {
    SpringApplication.run(DemoGeodeClientApplication.class, args);
  }

  @Resource(name = "Echo")
  private Region<String, String> echo;

  @Override
  public void run(String... args) throws Exception {
    for (String key : args) {
      String value = echo.get(key);
      assertThat(key).isEqualTo(value);
      System.err.printf("Client says [%1$s]; Server says [%2$s]%n", key,
value);
    }
  }

  @ClientCacheApplication(name = "DemoEchoClient", locators = {
@ClientCacheApplication.Locator(port = 10334)}
  static class GeodeClientConfiguration {

    @Bean(name = "Echo")
    ClientRegionFactoryBean<String, String> echoRegion(GemFireCache
gemfireCache) {
      ClientRegionFactoryBean<String, String> echoRegion = new
ClientRegionFactoryBean<>();

      echoRegion.setCache(gemfireCache);
      echoRegion.setClose(false);
      echoRegion.setShortcut(ClientRegionShortcut.PROXY);

      return echoRegion;
    }
  }
}

NOTE: the complete client code example is here
<https://github.com/jxblum/contacts-application/blob/apache-geode/configuration-example/src/main/java/demo/app/client/DemoGeodeClientApplication.java>
 [9].

This is a simple example demonstrating how to setup a Geode cache client (
ClientCache) application connected to a Geode cluster, defined by a Locator
on the default port, *10334*.  The relevant configuration is from the
@ClientCacheApplication annotation down.  Obviously, Spring Boot's
CommandLineRunner is completely optional and was only used for
demonstration purposes.

It is a simple matter to switch the client from a Locator to a direct
Server connection (on the default Geode Server port of *40404*)) by using
the embedded to @ClientCacheApplication.Server annotation rather than
@ClientCacheApplication.Locator.

Essentially, the Geode Server just sets up a local Region, "Echo" (
DataPolicy.NORMAL
<http://geode.incubator.apache.org/releases/latest/javadoc/com/gemstone/gemfire/cache/DataPolicy.html#NORMAL>
[1],
Scope.LOCAL
<http://geode.incubator.apache.org/releases/latest/javadoc/com/gemstone/gemfire/cache/Scope.html#LOCAL>
[2])
having a *CacheLoader
<http://geode.incubator.apache.org/releases/latest/javadoc/com/gemstone/gemfire/cache/CacheLoader.html>*
[3]
(here
<https://github.com/jxblum/contacts-application/blob/apache-geode/contacts-core/src/main/java/example/app/geode/cache/loader/EchoCacheLoader.java>
[4])
that echo's the key as the value.

3.  Now, you can setup a Locator and/or Server using *Gfsh* as in the "*Apache
Geode in 15 minutes or less
<http://geode.incubator.apache.org/docs/guide/getting_started/15_minute_quickstart_gfsh.html>*"
[5] (which really does not show you how to get a client going), or
following the "*Geode in 5 minutes
<https://cwiki.apache.org/confluence/display/GEODE/Index#Index-Geodein5minutesGeodein5minutes>*"
[6], or forget all that fuss and just follow my lead by using the same
approach as my cache client application code above and configure a Geode
Server with SDG's new Annotation configuration model (e.g. here
<https://github.com/jxblum/contacts-application/blob/apache-geode/configuration-example/src/main/java/demo/app/server/DemoGeodeServerApplication.java>
[7])
and *run everything from your IDE*.

It is also an easy matter to switch Region types in the Server configuration
<https://github.com/jxblum/contacts-application/blob/apache-geode/configuration-example/src/main/java/demo/app/server/DemoGeodeServerApplication.java#L53>
[8]
if you have more than 1 Server in your cluster and need to replicate data
amongst them.  Simply change the RegionFactoryBean to the appropriate type
(for example, PartitionedRegionFactoryBean).

4. Since this Server (from #3 above) includes the @EnableLocator and
@EnableManager annotations in it's configuration, it embeds a Geode Locator
in the Geode (Cache) Server JVM process and also starts an embedded Manager
allowing you to connect to *Gfsh* (as well), so you can do things like
this...

$ gfsh
    _________________________     __
   / _____/ ______/ ______/ /____/ /
  / /  __/ /___  /_____  / _____  /
 / /__/ / ____/  _____/ / /    / /
/______/_/      /______/_/    /_/    1.0.0-incubating.M3

Monitor and Manage Apache Geode (incubating)

gfsh>connect
Connecting to Locator at [host=localhost, port=10334] ..
Connecting to Manager at [host=10.99.199.3, port=1099] ..
Successfully connected to: [host=10.99.199.3, port=1099]

gfsh>list members
     Name      | Id
-------------- | ----------------------------------------------

DemoEchoServer | 10.99.199.3(DemoEchoServer:15520)<ec><v0>:1024

gfsh>describe member --name=DemoEchoServer
Name        : DemoEchoServer
Id          : 10.99.199.3(DemoEchoServer:15520)<ec><v0>:1024
Host        : 10.99.199.3
Regions     : Echo
PID         : 15520
Groups      :
Used Heap   : 67M
Max Heap    : 3641M
Working Dir :
/Users/jblum/pivdev/spring-data-examples-workspace/contacts-application-workspace/configuration-example/target
Log file    :
/Users/jblum/pivdev/spring-data-examples-workspace/contacts-application-workspace/configuration-example/target
Locators    : localhost[10334]

Cache Server Information
Server Bind              :
Server Port              : 40404
Running                  : true
Client Connections       : 0

gfsh>list regions
List of regions
---------------
Echo

gfsh>describe region --name=/Echo
.........................................................................
Name            : Echo
Data Policy     : normal
Hosting Members : DemoEchoServer

Non-Default Attributes Shared By Hosting Members

 Type  |     Name     | Value
------ | ------------ | ----------------------------------------------
Region | size         | 2
       | cache-loader | example.app.geode.cache.loader.EchoCacheLoader
       | scope        | local


gfsh>get --region=/Echo --key=test
Result      : true
Key Class   : java.lang.String
Key         : test
Value Class : java.lang.String
Value       : test

gfsh>describe region --name=/Echo
.........................................................................
Name            : Echo
Data Policy     : normal
Hosting Members : DemoEchoServer
Non-Default Attributes Shared By Hosting Members

 Type  |     Name     | Value
------ | ------------ | ----------------------------------------------
Region | size         | 3
       | cache-loader | example.app.geode.cache.loader.EchoCacheLoader
       | scope        | local

gfsh>


5. Of course, you will need the *Spring Boot* dependencies.  That is as
simple as inheriting from the *Spring Boot* parent
<https://github.com/jxblum/contacts-application/blob/apache-geode/pom.xml#L8-L12>
[10],
as I have done in my *Contacts Application* RI project.

6. There is no step 6, ;-)


By using SDG, you can tap into the power of the whole *Spring* ecosystem,
still using the same, "familiar" *programming model* across all
technologies (*Spring Security*, *Spring Integration*, *Spring Batch*, *Spring
Cloud* [*Data Flow*], other *Spring Data* projects, etc).

Additionally, you take advantage of all the features available in SDG to
develop feature-rich, robust applications that use Apache Geode, such as
the SD *Repository* infrastructure
<http://docs.spring.io/spring-data-gemfire/docs/current/reference/html/#gemfire-repositories>
[11],
POJO mapping
<http://docs.spring.io/spring-data-gemfire/docs/current/reference/html/#mapping>
[12],
or the Function Definition/Execution
<http://docs.spring.io/spring-data-gemfire/docs/current/reference/html/#function-annotations>
[13]
annotation model, etc.

I have plans to make Region creation/configuration even simpler under the
new Annotation configuration model, among many other things.

Documentation + more examples are a WIP since this is a relatively new
development.  A few references that show more of this new Annotation
configuration model in action...

1. Contacts Application configuration examples (see src and tests) -
https://github.com/jxblum/contacts-application/tree/apache-geode/configuration-example

2. Blog discussing recent developments, next steps, etc -
https://spring.io/blog/2016/10/11/spring-data-geode-1-0-0-apache-geode-incubating-m3-released

3. Current Annotation model implementation (beginning with the @EnableXXXX
annotations) -
https://github.com/spring-projects/spring-data-gemfire/tree/master/src/main/java/org/springframework/data/gemfire/config/annotation

And, as always, if you have specific questions, please ask.  Hope this
helps.

Cheers!
John


[1]
http://geode.incubator.apache.org/releases/latest/javadoc/com/gemstone/gemfire/cache/DataPolicy.html#NORMAL
[2]
http://geode.incubator.apache.org/releases/latest/javadoc/com/gemstone/gemfire/cache/Scope.html#LOCAL
[3]
http://geode.incubator.apache.org/releases/latest/javadoc/com/gemstone/gemfire/cache/CacheLoader.html
[4]
https://github.com/jxblum/contacts-application/blob/apache-geode/contacts-core/src/main/java/example/app/geode/cache/loader/EchoCacheLoader.java
[5]
http://geode.incubator.apache.org/docs/guide/getting_started/15_minute_quickstart_gfsh.html
[6]
https://cwiki.apache.org/confluence/display/GEODE/Index#Index-Geodein5minutesGeodein5minutes
[7]
https://github.com/jxblum/contacts-application/blob/apache-geode/configuration-example/src/main/java/demo/app/server/DemoGeodeServerApplication.java
[8]
https://github.com/jxblum/contacts-application/blob/apache-geode/configuration-example/src/main/java/demo/app/server/DemoGeodeServerApplication.java#L53
[9]
https://github.com/jxblum/contacts-application/blob/apache-geode/configuration-example/src/main/java/demo/app/client/DemoGeodeClientApplication.java
[10]
https://github.com/jxblum/contacts-application/blob/apache-geode/pom.xml#L8-L12
[11]
http://docs.spring.io/spring-data-gemfire/docs/current/reference/html/#gemfire-repositories
[12]
http://docs.spring.io/spring-data-gemfire/docs/current/reference/html/#mapping
[13]
http://docs.spring.io/spring-data-gemfire/docs/current/reference/html/#function-annotations


On Mon, Oct 24, 2016 at 6:59 PM, Jared Stewart <js...@pivotal.io> wrote:

> It might be worth noting that we have an open improvement filed (
> https://issues.apache.org/jira/browse/GEODE-22) to create a geode
> artifact that will bring in geode-core, geode-cq, geode-json etc to make it
> simpler for a user to get started in the future.
>
> On Oct 24, 2016, at 6:45 PM, Kirk Lund <kl...@apache.org> wrote:
>
> geode-dependencies.jar contains a MANIFEST that adds several other jars to
> the classpath including geode-core.
>
> The client API is currently in geode-core.
>
> -Kirk
>
> On Monday, October 24, 2016, Mark Secrist <ms...@pivotal.io> wrote:
>
>> Yep - I got that wrong. In both cases. It looks like in M3 anyway,
>> geode-dependencies is mostly empty. You'll want geode-core, which has
>> ClientCache and the other client APIs. Sorry about that. Looks like things
>> may have changed over the releases. Also for the final 1.0.0 release,
>> expect the packages to change from com.gemstone.gemfire to org.apache.geode.
>>
>> Mark
>>
>> On Mon, Oct 24, 2016 at 7:30 PM, John D. Ament <jo...@apache.org>
>> wrote:
>>
>>>
>>>
>>> On Mon, Oct 24, 2016 at 9:26 PM Mark Secrist <ms...@pivotal.io>
>>> wrote:
>>>
>>>> You'll just need geode-dependencies.jar on your classpath for the
>>>> client. You can use the references found here as an example of configuring
>>>> Maven or Gradle.
>>>> http://geode.incubator.apache.org/releases/
>>>>
>>>>
>>> What's the difference between these two JARs?
>>>
>>>
>>>> Instead of referencing geode-core, you'll reference geode-dependencies
>>>> as the artifact id. The Maven repo is the Apache one at:
>>>> https://dist.apache.org/repos/dist/release/incubator/geode/
>>>>
>>>>
>>> That's not a maven repo.  Everything seems to be in central though.  I
>>> also see the 1.0.0 staging repo in nexus, but for now i'm fine with an
>>> earlier release.
>>>
>>>
>>>>
>>>> On Mon, Oct 24, 2016 at 6:39 PM, John D. Ament <jo...@apache.org>
>>>> wrote:
>>>>
>>>>> Ok - but do I use the "geode-core" maven coordinate?  Its not clear
>>>>> from http://geode.incubator.apache.org/releases/ that this is the
>>>>> client lib.
>>>>>
>>>>> On 2016-10-24 20:15 (-0400), Mark Secrist <ms...@pivotal.io> wrote:
>>>>> > There's here:
>>>>> > http://geode.incubator.apache.org/docs/guide/basic_config/th
>>>>> e_cache/managing_a_client_cache.html
>>>>> >
>>>>> > And, the section in GitHub you reference shows a HelloWorld client.
>>>>> The
>>>>> > "Geode in 5 minutes" shows starting a locator and a server to
>>>>> represent the
>>>>> > cluster and how to create a client to put data into the region.
>>>>> There are
>>>>> > of course a lot of basic concepts left out, like how you configure a
>>>>> client
>>>>> > cache and the region that acts as a proxy to the server. However, the
>>>>> > basics are there.
>>>>> >
>>>>> > To be more clear, the connection as a client requires a ClientCache
>>>>> object
>>>>> > configured, typically using a clientCache.xml file as shown in the
>>>>> Geode
>>>>> > documentation. This configures the client to point to the locator.
>>>>> This
>>>>> > allows servers to come and go without affecting the client. The Geode
>>>>> > documentation shows configuring a ClientCache with an xml file that
>>>>> defines
>>>>> > the regions (proxy regions) to configure where the name of the
>>>>> region on
>>>>> > the client (proxy) side matches the name of the server side region
>>>>> where
>>>>> > the data will actually reside. The GitHub example shows the same
>>>>> > configuration done 100% using Java API calls.
>>>>> >
>>>>> > So, the steps on the client:
>>>>> >
>>>>> >    1. Create a ClientCache object
>>>>> >    2. Configure ClientCache with regerence to locator (via pool
>>>>> >    configuration) and proxy regions. This can either be done by
>>>>> explicit API
>>>>> >    calls using the ClientRegionFactory or by reading in a cache.xml
>>>>> file
>>>>> >    3. Get the region desired from the client cache
>>>>> >    4. Invoke gets & puts as needed
>>>>
>>>>
>>>>> >
>>>>> >
>>>>> >
>>>>> >
>>>>> > On Mon, Oct 24, 2016 at 5:59 PM, John D. Ament <
>>>>> johndament@apache.org>
>>>>> > wrote:
>>>>> >
>>>>> > > Hi,
>>>>> > >
>>>>> > > Reading through the geode docs, it seems like there's a key piece
>>>>> missing
>>>>> > > - how do I actually connect as a client?
>>>>> > >
>>>>> > > If I look here http://geode.incubator.apache.
>>>>> org/docs/guide/developing/
>>>>> > > book_intro.html, I don't see anything obvious - e.g. what maven
>>>>> > > coordinates to use to get a reference, or what to download.  Seems
>>>>> like I
>>>>> > > need to build from source.
>>>>> > >
>>>>> > > If I look at https://github.com/apache/incu
>>>>> bator-geode/blob/develop/
>>>>>
>>>> > > README.md , I get a bit more worrisome (especially as an IPMC
>>>>> member).
>>>>>
>>>> > > The client section links me to 3 pivotal websites and one cwiki
>>>>> entry.  If
>>>>> > > I want just a plain java client, no real information available (in
>>>>> fact,
>>>>> > > the Java client line isn't a link).
>>>>> > >
>>>>> > > So, how do I begin as a java client? And at what point does geode
>>>>> update
>>>>> > > their links for internal docs?  For the record, the pivotal docs
>>>>> up first
>>>>> > > in searches
>>>>> > >
>>>>> > > John
>>>>> > >
>>>>> >
>>>>> >
>>>>> >
>>>>>
>>>> > --
>>>>> >
>>>>> > *Mark Secrist | Sr Manager, **Global Education Delivery*
>>>>> >
>>>>> > msecrist@pivotal.io
>>>>> >
>>>>> > 970.214.4567 Mobile
>>>>> >
>>>>> >   *pivotal.io <http://www.pivotal.io/>*
>>>>> >
>>>>> > Follow Us: Twitter <http://www.twitter.com/pivotal> | LinkedIn
>>>>> > <http://www.linkedin.com/company/pivotalsoftware> | Facebook
>>>>> > <http://www.facebook.com/pivotalsoftware> | YouTube
>>>>> > <http://www.youtube.com/gopivotal> | Google+
>>>>> > <https://plus.google.com/105320112436428794490>
>>>>> >
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>>
>>>> *Mark Secrist | Sr Manager, **Global Education Delivery*
>>>>
>>>> msecrist@pivotal.io
>>>>
>>>> 970.214.4567 Mobile
>>>>
>>>>   *pivotal.io <http://www.pivotal.io/>*
>>>>
>>>> Follow Us: Twitter <http://www.twitter.com/pivotal> | LinkedIn
>>>> <http://www.linkedin.com/company/pivotalsoftware> | Facebook
>>>> <http://www.facebook.com/pivotalsoftware> | YouTube
>>>> <http://www.youtube.com/gopivotal> | Google+
>>>> <https://plus.google.com/105320112436428794490>
>>>>
>>>
>>
>>
>> --
>>
>> *Mark Secrist | Sr Manager, **Global Education Delivery*
>>
>> msecrist@pivotal.io
>>
>> 970.214.4567 Mobile
>>
>>   *pivotal.io <http://www.pivotal.io/>*
>>
>> Follow Us: Twitter <http://www.twitter.com/pivotal> | LinkedIn
>> <http://www.linkedin.com/company/pivotalsoftware> | Facebook
>> <http://www.facebook.com/pivotalsoftware> | YouTube
>> <http://www.youtube.com/gopivotal> | Google+
>> <https://plus.google.com/105320112436428794490>
>>
>
>


-- 
-John
503-504-8657
john.blum10101 (skype)

Re: Developing a client application

Posted by Jared Stewart <js...@pivotal.io>.
It might be worth noting that we have an open improvement filed (https://issues.apache.org/jira/browse/GEODE-22 <https://issues.apache.org/jira/browse/GEODE-22>) to create a geode artifact that will bring in geode-core, geode-cq, geode-json etc to make it simpler for a user to get started in the future.

> On Oct 24, 2016, at 6:45 PM, Kirk Lund <kl...@apache.org> wrote:
> 
> geode-dependencies.jar contains a MANIFEST that adds several other jars to the classpath including geode-core.
> 
> The client API is currently in geode-core.
> 
> -Kirk
> 
> On Monday, October 24, 2016, Mark Secrist <msecrist@pivotal.io <ma...@pivotal.io>> wrote:
> Yep - I got that wrong. In both cases. It looks like in M3 anyway, geode-dependencies is mostly empty. You'll want geode-core, which has ClientCache and the other client APIs. Sorry about that. Looks like things may have changed over the releases. Also for the final 1.0.0 release, expect the packages to change from com.gemstone.gemfire to org.apache.geode.
> 
> Mark
> 
> On Mon, Oct 24, 2016 at 7:30 PM, John D. Ament <johndament@apache.org <javascript:_e(%7B%7D,'cvml','johndament@apache.org');>> wrote:
> 
> 
> On Mon, Oct 24, 2016 at 9:26 PM Mark Secrist <msecrist@pivotal.io <javascript:_e(%7B%7D,'cvml','msecrist@pivotal.io');>> wrote:
> You'll just need geode-dependencies.jar on your classpath for the client. You can use the references found here as an example of configuring Maven or Gradle.
> http://geode.incubator.apache.org/releases/ <http://geode.incubator.apache.org/releases/>
> 
> 
> What's the difference between these two JARs?
>  
> Instead of referencing geode-core, you'll reference geode-dependencies as the artifact id. The Maven repo is the Apache one at: https://dist.apache.org/repos/dist/release/incubator/geode/ <https://dist.apache.org/repos/dist/release/incubator/geode/>
> 
> 
> That's not a maven repo.  Everything seems to be in central though.  I also see the 1.0.0 staging repo in nexus, but for now i'm fine with an earlier release.
>  
> 
> On Mon, Oct 24, 2016 at 6:39 PM, John D. Ament <johndament@apache.org <javascript:_e(%7B%7D,'cvml','johndament@apache.org');>> wrote:
> Ok - but do I use the "geode-core" maven coordinate?  Its not clear from http://geode.incubator.apache.org/releases/ <http://geode.incubator.apache.org/releases/> that this is the client lib.
> 
> On 2016-10-24 20:15 (-0400), Mark Secrist <msecrist@pivotal.io <javascript:_e(%7B%7D,'cvml','msecrist@pivotal.io');>> wrote:
> > There's here:
> > http://geode.incubator.apache.org/docs/guide/basic_config/the_cache/managing_a_client_cache.html <http://geode.incubator.apache.org/docs/guide/basic_config/the_cache/managing_a_client_cache.html>
> >
> > And, the section in GitHub you reference shows a HelloWorld client. The
> > "Geode in 5 minutes" shows starting a locator and a server to represent the
> > cluster and how to create a client to put data into the region. There are
> > of course a lot of basic concepts left out, like how you configure a client
> > cache and the region that acts as a proxy to the server. However, the
> > basics are there.
> >
> > To be more clear, the connection as a client requires a ClientCache object
> > configured, typically using a clientCache.xml file as shown in the Geode
> > documentation. This configures the client to point to the locator. This
> > allows servers to come and go without affecting the client. The Geode
> > documentation shows configuring a ClientCache with an xml file that defines
> > the regions (proxy regions) to configure where the name of the region on
> > the client (proxy) side matches the name of the server side region where
> > the data will actually reside. The GitHub example shows the same
> > configuration done 100% using Java API calls.
> >
> > So, the steps on the client:
> >
> >    1. Create a ClientCache object
> >    2. Configure ClientCache with regerence to locator (via pool
> >    configuration) and proxy regions. This can either be done by explicit API
> >    calls using the ClientRegionFactory or by reading in a cache.xml file
> >    3. Get the region desired from the client cache
> >    4. Invoke gets & puts as needed
> 
> >
> >
> >
> >
> > On Mon, Oct 24, 2016 at 5:59 PM, John D. Ament <johndament@apache.org <javascript:_e(%7B%7D,'cvml','johndament@apache.org');>>
> > wrote:
> >
> > > Hi,
> > >
> > > Reading through the geode docs, it seems like there's a key piece missing
> > > - how do I actually connect as a client?
> > >
> > > If I look here http://geode.incubator.apache.org/docs/guide/developing/ <http://geode.incubator.apache.org/docs/guide/developing/>
> > > book_intro.html, I don't see anything obvious - e.g. what maven
> > > coordinates to use to get a reference, or what to download.  Seems like I
> > > need to build from source.
> > >
> > > If I look at https://github.com/apache/incubator-geode/blob/develop/ <https://github.com/apache/incubator-geode/blob/develop/>
> > > README.md , I get a bit more worrisome (especially as an IPMC member).
> > > The client section links me to 3 pivotal websites and one cwiki entry.  If
> > > I want just a plain java client, no real information available (in fact,
> > > the Java client line isn't a link).
> > >
> > > So, how do I begin as a java client? And at what point does geode update
> > > their links for internal docs?  For the record, the pivotal docs up first
> > > in searches
> > >
> > > John
> > >
> >
> >
> >
> > --
> >
> > *Mark Secrist | Sr Manager, **Global Education Delivery*
> >
> > msecrist@pivotal.io <javascript:_e(%7B%7D,'cvml','msecrist@pivotal.io');>
> >
> > 970.214.4567 <tel:970.214.4567> Mobile
> >
> >   *pivotal.io <http://pivotal.io/> <http://www.pivotal.io/ <http://www.pivotal.io/>>*
> >
> > Follow Us: Twitter <http://www.twitter.com/pivotal <http://www.twitter.com/pivotal>> | LinkedIn
> > <http://www.linkedin.com/company/pivotalsoftware <http://www.linkedin.com/company/pivotalsoftware>> | Facebook
> > <http://www.facebook.com/pivotalsoftware <http://www.facebook.com/pivotalsoftware>> | YouTube
> > <http://www.youtube.com/gopivotal <http://www.youtube.com/gopivotal>> | Google+
> > <https://plus.google.com/105320112436428794490 <https://plus.google.com/105320112436428794490>>
> >
> 
> 
> 
> -- 
> Mark Secrist | Sr Manager, Global Education Delivery
> 
> msecrist@pivotal.io <javascript:_e(%7B%7D,'cvml','msecrist@pivotal.io');>
> 970.214.4567 <> Mobile
> 
>   pivotal.io <http://www.pivotal.io/>
> Follow Us: Twitter <http://www.twitter.com/pivotal> | LinkedIn <http://www.linkedin.com/company/pivotalsoftware> | Facebook <http://www.facebook.com/pivotalsoftware> | YouTube <http://www.youtube.com/gopivotal> | Google+ <https://plus.google.com/105320112436428794490>
> 
> 
> -- 
> Mark Secrist | Sr Manager, Global Education Delivery
> 
> msecrist@pivotal.io <javascript:_e(%7B%7D,'cvml','msecrist@pivotal.io');>
> 970.214.4567 <> Mobile
> 
>   pivotal.io <http://www.pivotal.io/>
> Follow Us: Twitter <http://www.twitter.com/pivotal> | LinkedIn <http://www.linkedin.com/company/pivotalsoftware> | Facebook <http://www.facebook.com/pivotalsoftware> | YouTube <http://www.youtube.com/gopivotal> | Google+ <https://plus.google.com/105320112436428794490>

Re: Developing a client application

Posted by Kirk Lund <kl...@apache.org>.
geode-dependencies.jar contains a MANIFEST that adds several other jars to
the classpath including geode-core.

The client API is currently in geode-core.

-Kirk

On Monday, October 24, 2016, Mark Secrist <ms...@pivotal.io> wrote:

> Yep - I got that wrong. In both cases. It looks like in M3 anyway,
> geode-dependencies is mostly empty. You'll want geode-core, which has
> ClientCache and the other client APIs. Sorry about that. Looks like things
> may have changed over the releases. Also for the final 1.0.0 release,
> expect the packages to change from com.gemstone.gemfire to org.apache.geode.
>
> Mark
>
> On Mon, Oct 24, 2016 at 7:30 PM, John D. Ament <johndament@apache.org
> <javascript:_e(%7B%7D,'cvml','johndament@apache.org');>> wrote:
>
>>
>>
>> On Mon, Oct 24, 2016 at 9:26 PM Mark Secrist <msecrist@pivotal.io
>> <javascript:_e(%7B%7D,'cvml','msecrist@pivotal.io');>> wrote:
>>
>>> You'll just need geode-dependencies.jar on your classpath for the
>>> client. You can use the references found here as an example of configuring
>>> Maven or Gradle.
>>> http://geode.incubator.apache.org/releases/
>>>
>>>
>> What's the difference between these two JARs?
>>
>>
>>> Instead of referencing geode-core, you'll reference geode-dependencies
>>> as the artifact id. The Maven repo is the Apache one at:
>>> https://dist.apache.org/repos/dist/release/incubator/geode/
>>>
>>>
>> That's not a maven repo.  Everything seems to be in central though.  I
>> also see the 1.0.0 staging repo in nexus, but for now i'm fine with an
>> earlier release.
>>
>>
>>>
>>> On Mon, Oct 24, 2016 at 6:39 PM, John D. Ament <johndament@apache.org
>>> <javascript:_e(%7B%7D,'cvml','johndament@apache.org');>> wrote:
>>>
>>>> Ok - but do I use the "geode-core" maven coordinate?  Its not clear
>>>> from http://geode.incubator.apache.org/releases/ that this is the
>>>> client lib.
>>>>
>>>> On 2016-10-24 20:15 (-0400), Mark Secrist <msecrist@pivotal.io
>>>> <javascript:_e(%7B%7D,'cvml','msecrist@pivotal.io');>> wrote:
>>>> > There's here:
>>>> > http://geode.incubator.apache.org/docs/guide/basic_config/th
>>>> e_cache/managing_a_client_cache.html
>>>> >
>>>> > And, the section in GitHub you reference shows a HelloWorld client.
>>>> The
>>>> > "Geode in 5 minutes" shows starting a locator and a server to
>>>> represent the
>>>> > cluster and how to create a client to put data into the region. There
>>>> are
>>>> > of course a lot of basic concepts left out, like how you configure a
>>>> client
>>>> > cache and the region that acts as a proxy to the server. However, the
>>>> > basics are there.
>>>> >
>>>> > To be more clear, the connection as a client requires a ClientCache
>>>> object
>>>> > configured, typically using a clientCache.xml file as shown in the
>>>> Geode
>>>> > documentation. This configures the client to point to the locator.
>>>> This
>>>> > allows servers to come and go without affecting the client. The Geode
>>>> > documentation shows configuring a ClientCache with an xml file that
>>>> defines
>>>> > the regions (proxy regions) to configure where the name of the region
>>>> on
>>>> > the client (proxy) side matches the name of the server side region
>>>> where
>>>> > the data will actually reside. The GitHub example shows the same
>>>> > configuration done 100% using Java API calls.
>>>> >
>>>> > So, the steps on the client:
>>>> >
>>>> >    1. Create a ClientCache object
>>>> >    2. Configure ClientCache with regerence to locator (via pool
>>>> >    configuration) and proxy regions. This can either be done by
>>>> explicit API
>>>> >    calls using the ClientRegionFactory or by reading in a cache.xml
>>>> file
>>>> >    3. Get the region desired from the client cache
>>>> >    4. Invoke gets & puts as needed
>>>
>>>
>>>> >
>>>> >
>>>> >
>>>> >
>>>> > On Mon, Oct 24, 2016 at 5:59 PM, John D. Ament <johndament@apache.org
>>>> <javascript:_e(%7B%7D,'cvml','johndament@apache.org');>>
>>>> > wrote:
>>>> >
>>>> > > Hi,
>>>> > >
>>>> > > Reading through the geode docs, it seems like there's a key piece
>>>> missing
>>>> > > - how do I actually connect as a client?
>>>> > >
>>>> > > If I look here http://geode.incubator.apache.
>>>> org/docs/guide/developing/
>>>> > > book_intro.html, I don't see anything obvious - e.g. what maven
>>>> > > coordinates to use to get a reference, or what to download.  Seems
>>>> like I
>>>> > > need to build from source.
>>>> > >
>>>> > > If I look at https://github.com/apache/incu
>>>> bator-geode/blob/develop/
>>>>
>>> > > README.md , I get a bit more worrisome (especially as an IPMC
>>>> member).
>>>>
>>> > > The client section links me to 3 pivotal websites and one cwiki
>>>> entry.  If
>>>> > > I want just a plain java client, no real information available (in
>>>> fact,
>>>> > > the Java client line isn't a link).
>>>> > >
>>>> > > So, how do I begin as a java client? And at what point does geode
>>>> update
>>>> > > their links for internal docs?  For the record, the pivotal docs up
>>>> first
>>>> > > in searches
>>>> > >
>>>> > > John
>>>> > >
>>>> >
>>>> >
>>>> >
>>>>
>>> > --
>>>> >
>>>> > *Mark Secrist | Sr Manager, **Global Education Delivery*
>>>> >
>>>> > msecrist@pivotal.io
>>>> <javascript:_e(%7B%7D,'cvml','msecrist@pivotal.io');>
>>>> >
>>>> > 970.214.4567 Mobile
>>>> >
>>>> >   *pivotal.io <http://www.pivotal.io/>*
>>>> >
>>>> > Follow Us: Twitter <http://www.twitter.com/pivotal> | LinkedIn
>>>> > <http://www.linkedin.com/company/pivotalsoftware> | Facebook
>>>> > <http://www.facebook.com/pivotalsoftware> | YouTube
>>>> > <http://www.youtube.com/gopivotal> | Google+
>>>> > <https://plus.google.com/105320112436428794490>
>>>> >
>>>>
>>>
>>>
>>>
>>> --
>>>
>>> *Mark Secrist | Sr Manager, **Global Education Delivery*
>>>
>>> msecrist@pivotal.io
>>> <javascript:_e(%7B%7D,'cvml','msecrist@pivotal.io');>
>>>
>>> 970.214.4567 Mobile
>>>
>>>   *pivotal.io <http://www.pivotal.io/>*
>>>
>>> Follow Us: Twitter <http://www.twitter.com/pivotal> | LinkedIn
>>> <http://www.linkedin.com/company/pivotalsoftware> | Facebook
>>> <http://www.facebook.com/pivotalsoftware> | YouTube
>>> <http://www.youtube.com/gopivotal> | Google+
>>> <https://plus.google.com/105320112436428794490>
>>>
>>
>
>
> --
>
> *Mark Secrist | Sr Manager, **Global Education Delivery*
>
> msecrist@pivotal.io <javascript:_e(%7B%7D,'cvml','msecrist@pivotal.io');>
>
> 970.214.4567 Mobile
>
>   *pivotal.io <http://www.pivotal.io/>*
>
> Follow Us: Twitter <http://www.twitter.com/pivotal> | LinkedIn
> <http://www.linkedin.com/company/pivotalsoftware> | Facebook
> <http://www.facebook.com/pivotalsoftware> | YouTube
> <http://www.youtube.com/gopivotal> | Google+
> <https://plus.google.com/105320112436428794490>
>

Re: Developing a client application

Posted by Mark Secrist <ms...@pivotal.io>.
Yep - I got that wrong. In both cases. It looks like in M3 anyway,
geode-dependencies is mostly empty. You'll want geode-core, which has
ClientCache and the other client APIs. Sorry about that. Looks like things
may have changed over the releases. Also for the final 1.0.0 release,
expect the packages to change from com.gemstone.gemfire to org.apache.geode.

Mark

On Mon, Oct 24, 2016 at 7:30 PM, John D. Ament <jo...@apache.org>
wrote:

>
>
> On Mon, Oct 24, 2016 at 9:26 PM Mark Secrist <ms...@pivotal.io> wrote:
>
>> You'll just need geode-dependencies.jar on your classpath for the client.
>> You can use the references found here as an example of configuring Maven or
>> Gradle.
>> http://geode.incubator.apache.org/releases/
>>
>>
> What's the difference between these two JARs?
>
>
>> Instead of referencing geode-core, you'll reference geode-dependencies as
>> the artifact id. The Maven repo is the Apache one at:
>> https://dist.apache.org/repos/dist/release/incubator/geode/
>>
>>
> That's not a maven repo.  Everything seems to be in central though.  I
> also see the 1.0.0 staging repo in nexus, but for now i'm fine with an
> earlier release.
>
>
>>
>> On Mon, Oct 24, 2016 at 6:39 PM, John D. Ament <jo...@apache.org>
>> wrote:
>>
>> Ok - but do I use the "geode-core" maven coordinate?  Its not clear from
>> http://geode.incubator.apache.org/releases/ that this is the client lib.
>>
>> On 2016-10-24 20:15 (-0400), Mark Secrist <ms...@pivotal.io> wrote:
>> > There's here:
>> > http://geode.incubator.apache.org/docs/guide/basic_config/
>> the_cache/managing_a_client_cache.html
>> >
>> > And, the section in GitHub you reference shows a HelloWorld client. The
>> > "Geode in 5 minutes" shows starting a locator and a server to represent
>> the
>> > cluster and how to create a client to put data into the region. There
>> are
>> > of course a lot of basic concepts left out, like how you configure a
>> client
>> > cache and the region that acts as a proxy to the server. However, the
>> > basics are there.
>> >
>> > To be more clear, the connection as a client requires a ClientCache
>> object
>> > configured, typically using a clientCache.xml file as shown in the Geode
>> > documentation. This configures the client to point to the locator. This
>> > allows servers to come and go without affecting the client. The Geode
>> > documentation shows configuring a ClientCache with an xml file that
>> defines
>> > the regions (proxy regions) to configure where the name of the region on
>> > the client (proxy) side matches the name of the server side region where
>> > the data will actually reside. The GitHub example shows the same
>> > configuration done 100% using Java API calls.
>> >
>> > So, the steps on the client:
>> >
>> >    1. Create a ClientCache object
>> >    2. Configure ClientCache with regerence to locator (via pool
>> >    configuration) and proxy regions. This can either be done by
>> explicit API
>> >    calls using the ClientRegionFactory or by reading in a cache.xml file
>> >    3. Get the region desired from the client cache
>> >    4. Invoke gets & puts as needed
>>
>>
>> >
>> >
>> >
>> >
>> > On Mon, Oct 24, 2016 at 5:59 PM, John D. Ament <jo...@apache.org>
>> > wrote:
>> >
>> > > Hi,
>> > >
>> > > Reading through the geode docs, it seems like there's a key piece
>> missing
>> > > - how do I actually connect as a client?
>> > >
>> > > If I look here http://geode.incubator.apache.
>> org/docs/guide/developing/
>> > > book_intro.html, I don't see anything obvious - e.g. what maven
>> > > coordinates to use to get a reference, or what to download.  Seems
>> like I
>> > > need to build from source.
>> > >
>> > > If I look at https://github.com/apache/incubator-geode/blob/develop/
>>
>> > > README.md , I get a bit more worrisome (especially as an IPMC member).
>>
>> > > The client section links me to 3 pivotal websites and one cwiki
>> entry.  If
>> > > I want just a plain java client, no real information available (in
>> fact,
>> > > the Java client line isn't a link).
>> > >
>> > > So, how do I begin as a java client? And at what point does geode
>> update
>> > > their links for internal docs?  For the record, the pivotal docs up
>> first
>> > > in searches
>> > >
>> > > John
>> > >
>> >
>> >
>> >
>>
>> > --
>> >
>> > *Mark Secrist | Sr Manager, **Global Education Delivery*
>> >
>> > msecrist@pivotal.io
>> >
>> > 970.214.4567 Mobile
>> >
>> >   *pivotal.io <http://www.pivotal.io/>*
>> >
>> > Follow Us: Twitter <http://www.twitter.com/pivotal> | LinkedIn
>> > <http://www.linkedin.com/company/pivotalsoftware> | Facebook
>> > <http://www.facebook.com/pivotalsoftware> | YouTube
>> > <http://www.youtube.com/gopivotal> | Google+
>> > <https://plus.google.com/105320112436428794490>
>> >
>>
>>
>>
>>
>> --
>>
>> *Mark Secrist | Sr Manager, **Global Education Delivery*
>>
>> msecrist@pivotal.io
>>
>> 970.214.4567 Mobile
>>
>>   *pivotal.io <http://www.pivotal.io/>*
>>
>> Follow Us: Twitter <http://www.twitter.com/pivotal> | LinkedIn
>> <http://www.linkedin.com/company/pivotalsoftware> | Facebook
>> <http://www.facebook.com/pivotalsoftware> | YouTube
>> <http://www.youtube.com/gopivotal> | Google+
>> <https://plus.google.com/105320112436428794490>
>>
>


-- 

*Mark Secrist | Sr Manager, **Global Education Delivery*

msecrist@pivotal.io

970.214.4567 Mobile

  *pivotal.io <http://www.pivotal.io/>*

Follow Us: Twitter <http://www.twitter.com/pivotal> | LinkedIn
<http://www.linkedin.com/company/pivotalsoftware> | Facebook
<http://www.facebook.com/pivotalsoftware> | YouTube
<http://www.youtube.com/gopivotal> | Google+
<https://plus.google.com/105320112436428794490>

Re: Developing a client application

Posted by "John D. Ament" <jo...@apache.org>.
On Mon, Oct 24, 2016 at 9:26 PM Mark Secrist <ms...@pivotal.io> wrote:

> You'll just need geode-dependencies.jar on your classpath for the client.
> You can use the references found here as an example of configuring Maven or
> Gradle.
> http://geode.incubator.apache.org/releases/
>
>
What's the difference between these two JARs?


> Instead of referencing geode-core, you'll reference geode-dependencies as
> the artifact id. The Maven repo is the Apache one at:
> https://dist.apache.org/repos/dist/release/incubator/geode/
>
>
That's not a maven repo.  Everything seems to be in central though.  I also
see the 1.0.0 staging repo in nexus, but for now i'm fine with an earlier
release.


>
> On Mon, Oct 24, 2016 at 6:39 PM, John D. Ament <jo...@apache.org>
> wrote:
>
> Ok - but do I use the "geode-core" maven coordinate?  Its not clear from
> http://geode.incubator.apache.org/releases/ that this is the client lib.
>
> On 2016-10-24 20:15 (-0400), Mark Secrist <ms...@pivotal.io> wrote:
> > There's here:
> >
> http://geode.incubator.apache.org/docs/guide/basic_config/the_cache/managing_a_client_cache.html
> >
> > And, the section in GitHub you reference shows a HelloWorld client. The
> > "Geode in 5 minutes" shows starting a locator and a server to represent
> the
> > cluster and how to create a client to put data into the region. There are
> > of course a lot of basic concepts left out, like how you configure a
> client
> > cache and the region that acts as a proxy to the server. However, the
> > basics are there.
> >
> > To be more clear, the connection as a client requires a ClientCache
> object
> > configured, typically using a clientCache.xml file as shown in the Geode
> > documentation. This configures the client to point to the locator. This
> > allows servers to come and go without affecting the client. The Geode
> > documentation shows configuring a ClientCache with an xml file that
> defines
> > the regions (proxy regions) to configure where the name of the region on
> > the client (proxy) side matches the name of the server side region where
> > the data will actually reside. The GitHub example shows the same
> > configuration done 100% using Java API calls.
> >
> > So, the steps on the client:
> >
> >    1. Create a ClientCache object
> >    2. Configure ClientCache with regerence to locator (via pool
> >    configuration) and proxy regions. This can either be done by explicit
> API
> >    calls using the ClientRegionFactory or by reading in a cache.xml file
> >    3. Get the region desired from the client cache
> >    4. Invoke gets & puts as needed
>
>
> >
> >
> >
> >
> > On Mon, Oct 24, 2016 at 5:59 PM, John D. Ament <jo...@apache.org>
> > wrote:
> >
> > > Hi,
> > >
> > > Reading through the geode docs, it seems like there's a key piece
> missing
> > > - how do I actually connect as a client?
> > >
> > > If I look here
> http://geode.incubator.apache.org/docs/guide/developing/
> > > book_intro.html, I don't see anything obvious - e.g. what maven
> > > coordinates to use to get a reference, or what to download.  Seems
> like I
> > > need to build from source.
> > >
> > > If I look at https://github.com/apache/incubator-geode/blob/develop/
>
> > > README.md , I get a bit more worrisome (especially as an IPMC member).
>
> > > The client section links me to 3 pivotal websites and one cwiki
> entry.  If
> > > I want just a plain java client, no real information available (in
> fact,
> > > the Java client line isn't a link).
> > >
> > > So, how do I begin as a java client? And at what point does geode
> update
> > > their links for internal docs?  For the record, the pivotal docs up
> first
> > > in searches
> > >
> > > John
> > >
> >
> >
> >
>
> > --
> >
> > *Mark Secrist | Sr Manager, **Global Education Delivery*
> >
> > msecrist@pivotal.io
> >
> > 970.214.4567 Mobile
> >
> >   *pivotal.io <http://www.pivotal.io/>*
> >
> > Follow Us: Twitter <http://www.twitter.com/pivotal> | LinkedIn
> > <http://www.linkedin.com/company/pivotalsoftware> | Facebook
> > <http://www.facebook.com/pivotalsoftware> | YouTube
> > <http://www.youtube.com/gopivotal> | Google+
> > <https://plus.google.com/105320112436428794490>
> >
>
>
>
>
> --
>
> *Mark Secrist | Sr Manager, **Global Education Delivery*
>
> msecrist@pivotal.io
>
> 970.214.4567 Mobile
>
>   *pivotal.io <http://www.pivotal.io/>*
>
> Follow Us: Twitter <http://www.twitter.com/pivotal> | LinkedIn
> <http://www.linkedin.com/company/pivotalsoftware> | Facebook
> <http://www.facebook.com/pivotalsoftware> | YouTube
> <http://www.youtube.com/gopivotal> | Google+
> <https://plus.google.com/105320112436428794490>
>

Re: Developing a client application

Posted by Mark Secrist <ms...@pivotal.io>.
You'll just need geode-dependencies.jar on your classpath for the client.
You can use the references found here as an example of configuring Maven or
Gradle.
http://geode.incubator.apache.org/releases/

Instead of referencing geode-core, you'll reference geode-dependencies as
the artifact id. The Maven repo is the Apache one at:
https://dist.apache.org/repos/dist/release/incubator/geode/


On Mon, Oct 24, 2016 at 6:39 PM, John D. Ament <jo...@apache.org>
wrote:

> Ok - but do I use the "geode-core" maven coordinate?  Its not clear from
> http://geode.incubator.apache.org/releases/ that this is the client lib.
>
> On 2016-10-24 20:15 (-0400), Mark Secrist <ms...@pivotal.io> wrote:
> > There's here:
> > http://geode.incubator.apache.org/docs/guide/basic_config/
> the_cache/managing_a_client_cache.html
> >
> > And, the section in GitHub you reference shows a HelloWorld client. The
> > "Geode in 5 minutes" shows starting a locator and a server to represent
> the
> > cluster and how to create a client to put data into the region. There are
> > of course a lot of basic concepts left out, like how you configure a
> client
> > cache and the region that acts as a proxy to the server. However, the
> > basics are there.
> >
> > To be more clear, the connection as a client requires a ClientCache
> object
> > configured, typically using a clientCache.xml file as shown in the Geode
> > documentation. This configures the client to point to the locator. This
> > allows servers to come and go without affecting the client. The Geode
> > documentation shows configuring a ClientCache with an xml file that
> defines
> > the regions (proxy regions) to configure where the name of the region on
> > the client (proxy) side matches the name of the server side region where
> > the data will actually reside. The GitHub example shows the same
> > configuration done 100% using Java API calls.
> >
> > So, the steps on the client:
> >
> >    1. Create a ClientCache object
> >    2. Configure ClientCache with regerence to locator (via pool
> >    configuration) and proxy regions. This can either be done by explicit
> API
> >    calls using the ClientRegionFactory or by reading in a cache.xml file
> >    3. Get the region desired from the client cache
> >    4. Invoke gets & puts as needed
> >
> >
> >
> >
> > On Mon, Oct 24, 2016 at 5:59 PM, John D. Ament <jo...@apache.org>
> > wrote:
> >
> > > Hi,
> > >
> > > Reading through the geode docs, it seems like there's a key piece
> missing
> > > - how do I actually connect as a client?
> > >
> > > If I look here http://geode.incubator.apache.
> org/docs/guide/developing/
> > > book_intro.html, I don't see anything obvious - e.g. what maven
> > > coordinates to use to get a reference, or what to download.  Seems
> like I
> > > need to build from source.
> > >
> > > If I look at https://github.com/apache/incubator-geode/blob/develop/
> > > README.md , I get a bit more worrisome (especially as an IPMC member).
> > > The client section links me to 3 pivotal websites and one cwiki
> entry.  If
> > > I want just a plain java client, no real information available (in
> fact,
> > > the Java client line isn't a link).
> > >
> > > So, how do I begin as a java client? And at what point does geode
> update
> > > their links for internal docs?  For the record, the pivotal docs up
> first
> > > in searches
> > >
> > > John
> > >
> >
> >
> >
> > --
> >
> > *Mark Secrist | Sr Manager, **Global Education Delivery*
> >
> > msecrist@pivotal.io
> >
> > 970.214.4567 Mobile
> >
> >   *pivotal.io <http://www.pivotal.io/>*
> >
> > Follow Us: Twitter <http://www.twitter.com/pivotal> | LinkedIn
> > <http://www.linkedin.com/company/pivotalsoftware> | Facebook
> > <http://www.facebook.com/pivotalsoftware> | YouTube
> > <http://www.youtube.com/gopivotal> | Google+
> > <https://plus.google.com/105320112436428794490>
> >
>



-- 

*Mark Secrist | Sr Manager, **Global Education Delivery*

msecrist@pivotal.io

970.214.4567 Mobile

  *pivotal.io <http://www.pivotal.io/>*

Follow Us: Twitter <http://www.twitter.com/pivotal> | LinkedIn
<http://www.linkedin.com/company/pivotalsoftware> | Facebook
<http://www.facebook.com/pivotalsoftware> | YouTube
<http://www.youtube.com/gopivotal> | Google+
<https://plus.google.com/105320112436428794490>

Re: Developing a client application

Posted by "John D. Ament" <jo...@apache.org>.
Ok - but do I use the "geode-core" maven coordinate?  Its not clear from http://geode.incubator.apache.org/releases/ that this is the client lib.

On 2016-10-24 20:15 (-0400), Mark Secrist <ms...@pivotal.io> wrote: 
> There's here:
> http://geode.incubator.apache.org/docs/guide/basic_config/the_cache/managing_a_client_cache.html
> 
> And, the section in GitHub you reference shows a HelloWorld client. The
> "Geode in 5 minutes" shows starting a locator and a server to represent the
> cluster and how to create a client to put data into the region. There are
> of course a lot of basic concepts left out, like how you configure a client
> cache and the region that acts as a proxy to the server. However, the
> basics are there.
> 
> To be more clear, the connection as a client requires a ClientCache object
> configured, typically using a clientCache.xml file as shown in the Geode
> documentation. This configures the client to point to the locator. This
> allows servers to come and go without affecting the client. The Geode
> documentation shows configuring a ClientCache with an xml file that defines
> the regions (proxy regions) to configure where the name of the region on
> the client (proxy) side matches the name of the server side region where
> the data will actually reside. The GitHub example shows the same
> configuration done 100% using Java API calls.
> 
> So, the steps on the client:
> 
>    1. Create a ClientCache object
>    2. Configure ClientCache with regerence to locator (via pool
>    configuration) and proxy regions. This can either be done by explicit API
>    calls using the ClientRegionFactory or by reading in a cache.xml file
>    3. Get the region desired from the client cache
>    4. Invoke gets & puts as needed
> 
> 
> 
> 
> On Mon, Oct 24, 2016 at 5:59 PM, John D. Ament <jo...@apache.org>
> wrote:
> 
> > Hi,
> >
> > Reading through the geode docs, it seems like there's a key piece missing
> > - how do I actually connect as a client?
> >
> > If I look here http://geode.incubator.apache.org/docs/guide/developing/
> > book_intro.html, I don't see anything obvious - e.g. what maven
> > coordinates to use to get a reference, or what to download.  Seems like I
> > need to build from source.
> >
> > If I look at https://github.com/apache/incubator-geode/blob/develop/
> > README.md , I get a bit more worrisome (especially as an IPMC member).
> > The client section links me to 3 pivotal websites and one cwiki entry.  If
> > I want just a plain java client, no real information available (in fact,
> > the Java client line isn't a link).
> >
> > So, how do I begin as a java client? And at what point does geode update
> > their links for internal docs?  For the record, the pivotal docs up first
> > in searches
> >
> > John
> >
> 
> 
> 
> -- 
> 
> *Mark Secrist | Sr Manager, **Global Education Delivery*
> 
> msecrist@pivotal.io
> 
> 970.214.4567 Mobile
> 
>   *pivotal.io <http://www.pivotal.io/>*
> 
> Follow Us: Twitter <http://www.twitter.com/pivotal> | LinkedIn
> <http://www.linkedin.com/company/pivotalsoftware> | Facebook
> <http://www.facebook.com/pivotalsoftware> | YouTube
> <http://www.youtube.com/gopivotal> | Google+
> <https://plus.google.com/105320112436428794490>
> 

Re: Developing a client application

Posted by Mark Secrist <ms...@pivotal.io>.
There's here:
http://geode.incubator.apache.org/docs/guide/basic_config/the_cache/managing_a_client_cache.html

And, the section in GitHub you reference shows a HelloWorld client. The
"Geode in 5 minutes" shows starting a locator and a server to represent the
cluster and how to create a client to put data into the region. There are
of course a lot of basic concepts left out, like how you configure a client
cache and the region that acts as a proxy to the server. However, the
basics are there.

To be more clear, the connection as a client requires a ClientCache object
configured, typically using a clientCache.xml file as shown in the Geode
documentation. This configures the client to point to the locator. This
allows servers to come and go without affecting the client. The Geode
documentation shows configuring a ClientCache with an xml file that defines
the regions (proxy regions) to configure where the name of the region on
the client (proxy) side matches the name of the server side region where
the data will actually reside. The GitHub example shows the same
configuration done 100% using Java API calls.

So, the steps on the client:

   1. Create a ClientCache object
   2. Configure ClientCache with regerence to locator (via pool
   configuration) and proxy regions. This can either be done by explicit API
   calls using the ClientRegionFactory or by reading in a cache.xml file
   3. Get the region desired from the client cache
   4. Invoke gets & puts as needed




On Mon, Oct 24, 2016 at 5:59 PM, John D. Ament <jo...@apache.org>
wrote:

> Hi,
>
> Reading through the geode docs, it seems like there's a key piece missing
> - how do I actually connect as a client?
>
> If I look here http://geode.incubator.apache.org/docs/guide/developing/
> book_intro.html, I don't see anything obvious - e.g. what maven
> coordinates to use to get a reference, or what to download.  Seems like I
> need to build from source.
>
> If I look at https://github.com/apache/incubator-geode/blob/develop/
> README.md , I get a bit more worrisome (especially as an IPMC member).
> The client section links me to 3 pivotal websites and one cwiki entry.  If
> I want just a plain java client, no real information available (in fact,
> the Java client line isn't a link).
>
> So, how do I begin as a java client? And at what point does geode update
> their links for internal docs?  For the record, the pivotal docs up first
> in searches
>
> John
>



-- 

*Mark Secrist | Sr Manager, **Global Education Delivery*

msecrist@pivotal.io

970.214.4567 Mobile

  *pivotal.io <http://www.pivotal.io/>*

Follow Us: Twitter <http://www.twitter.com/pivotal> | LinkedIn
<http://www.linkedin.com/company/pivotalsoftware> | Facebook
<http://www.facebook.com/pivotalsoftware> | YouTube
<http://www.youtube.com/gopivotal> | Google+
<https://plus.google.com/105320112436428794490>