2

We’re using VS and the following web frameworks are integrated

https://visualstudio.microsoft.com/vs/features/web/frameworks/

Angular Vue React Bootstrap Cordova

I’d like to know if there’s a web framework more integrated with Geode or which of these to choose for a UI layer?

John Blum
  • 7,381
  • 1
  • 20
  • 30
rupweb
  • 3,052
  • 1
  • 30
  • 57

2 Answers2

3

Following up to what VHF stated, Spring Boot, on the other hand, contains excellent support for various Web Frameworks and other Web technologies. See here:

Also, client-side:

Most of these Boot features are conveniently provided via "Starters":

https://github.com/spring-projects/spring-boot/tree/master/spring-boot-project/spring-boot-starters

In a typical Apache Geode application architecture, a developer would do as any database centric application would be designed, use the client/server topology.

In this arrangement then, the Spring Boot application would be the "client", using a ClientCache instance, which Spring Boot for Apache Geode (SBDG) provides for you OOTB (see here). The server-side would strictly consist of the backend data store (i.e. Apache Geode servers), for purposes of caching, distributed compute, event stream processing, or even functioning as the application's System of Record (SOR), complete with persistence. The cluster of servers would not be serving up any Web Views, for data, or otherwise.

An Apache Geode cluster does expose certain Web Services (like the Developer REST API), but that is for purposes of building various Web clients using different technologies on the client (Spring/Java, JavaScript, etc).

As such, all user facing components of an application architecture should reside on the client-side, e.g. in 1 or more Spring Boot Web application(s) accessing the backend Apache Geode cluster (of (data/persistent-application-state maintaining) servers).

Of course, this is all simply recommended best practices and you are free to do as choose, but just keep in mind that clients and servers have very different resource needs and mixing the 2 is often not recommended, given the vagaries of JVM Heap management, among other things (e.g. service requests (with varying payloads), frequency or requests, and so on and so forth).

Hope this helps!

John Blum
  • 7,381
  • 1
  • 20
  • 30
2

There is no direct support for any of these web frameworks. Typically Geode is deployed as a backend cluster of services that provides a cache or key/value datastore for server side processes. There is support within Spring Boot for Apache Geode for building the server side processes and also a session state management plugin for use with Tomcat.

There are some recent videos on YouTube from the Apache Geode summit that was at Spring One this year that can provide additional insight to usage and how Geode works.

VHF
  • 174
  • 3
  • 1
    You can use REST API's to connect to Apache Geode as an option from within most applications ( not specific to a framework). – VHF Dec 05 '19 at 17:57
  • 1
    On the commercial side Pivotal GemFire ( based on Apache Geode) is working on a Node.JS client support for building Node services. – VHF Dec 05 '19 at 17:59
  • NOTE: _Spring Session_ (https://docs.spring.io/spring-session/docs/2.2.0.RELEASE/reference/html5/#httpsession-why) is **not** specific to Apache Tomcat, unlike Apache Geode's own HTTP Session Management Module (https://geode.apache.org/docs/guide/19/tools_modules/http_session_mgmt/chapter_overview.html). – John Blum Dec 09 '19 at 18:10