Database Reference
In-Depth Information
10.4.1. Architectural considerations
One of the first things you should consider when embarking on any project is what the
overall architectural requirements are, including what kind of clients will need to be sup-
ported.
Fornowwe'llignoreconsiderations suchaswhetherornotyouneedHA.That'snottosay
that HA isn't important, but for the purposes of this section, it's not part of the equation.
HAiscoveredin chapter 11 .Sufficeittosaythatbothembeddedandservermodesdocater
to HA.
Language considerations
When it comes to your project, if you have any specific language restrictions up front, this
will naturally form one of the major factors driving your decision. The server mode can
cater to a much larger set of client platforms compared to the embedded mode. With the
embedded mode, you're restricted to Java or one of the other supported JVM-based lan-
guages only; the server mode can deal with any client that can “talk” HTTP.
Separation of concerns: app concerns versus DB concerns
Choice of clients aside, one of the more fundamental items to consider is to what extent
you need to be able to scale and manage your application separately from the Neo4j data-
base.
To make this discussion more concrete, consider figure 10.7 , which shows two possible
ways in which you could choose to deploy the movie-based social network application
frompreviouschapters:embeddedandservermodes.Let'spretendthattherewasarequire-
ment for a web application to be available for general users to interact with, as well as an
administration section, or separate application, where authorized administrators could per-
formmaintenanceandhousekeepingtasks,suchasloadingnewmovies,deletingoldusers,
and so on.
Search WWH ::




Custom Search