Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


View file
namedd4t web8 target architecture.pptx
height400

Our manifesto dictates we adhere to the following key criteria:

...

Especially in environments where there is significant overhead in doing lookups, having a correctly updating dependency cache is the only solution to having a performing high traffic website.


Layering option

Image Added

This is how both solutions are currently roughly architected. DXA lacks the JMS updates to its cache, but the general layering is correct. I would propose that, going forward, we would see that:

  • Source layer. Basic OOTB SDL web 8
  • Model layer. Should not require customers to change anything; intended extensibility is mostly in the deserializer area to enable custom strongly typed models and the processor pattern to inject code into the factories. All classes in this layer must utilize dependency injection in order to allow full customization where necessary and to support backwards compatibility (such as running multiple dd4t versions at the same time)
  • Controller layer. Mostly example code, expect customers to change it. Navigation, publication details, XPM extensions, smart target etc all need to get hooked up into this layer. Attempts to standardize will probably fail at complex implementations. Dependency injection is how controller access the factory and cache objects from the model layer.
  • View layer. Example code, every customer will run with custom views. View support could be standardized, allowing both pre- and post- rendering of componentviews vs pageviews, as well as supporting whatever view languages necessary. View support should utilize dependency injection in order for customers to use whatever view languages they want.