Apache Geode Web framework

时光总嘲笑我的痴心妄想 提交于 2020-01-24 18:47:13

问题


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?


回答1:


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:

  • Developing Web Applications: https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#boot-features-developing-web-applications
  • WebSockets: https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#boot-features-websockets
  • Web Services: https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#boot-features-webservices

Also, client-side:

  • Calling REST Services with RestTemplate: https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#boot-features-resttemplate
  • Calling REST Services with WebClient: https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#boot-features-webclient

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!




回答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.



来源:https://stackoverflow.com/questions/59160334/apache-geode-web-framework

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!