The Facets configuration schema is currently depicted in this diagram. It is, for the most part, equivalent to the system's architectural model. The Message class, which is detailed below, is the only crucial item missing from the following diagram.
In the Facets architecture, Message instances are sent around often, both to Method calls and for Page processing. A Message is a Java class that keeps track of the current Servlet request. The Request and Response objects, and also a range of optional properties, are all included in this. The advantage of passing around a Message class is that the payload is flexible, and you won't have to worry about future API signature changes.
Become a Facets Certified professional by learning this HKR Facets Training!
FacetsConfig is the container for all Facets configuration information at the top level. In the Facets architecture, it is also the top-level container.
Imports are a feature of the Facets configuration file that allows it to import definitions and modules from other files. The amount of customization to the Servlet container's web.xml file is reduced by including this capability in the Facets configuration file.
Throughout the configuration framework, Types allows you to declare aliases for implementation classes. This avoids the abyss of class names that might be found in a Struts configuration file.
Data models describe a Key Path-style API for accessing data that is relatively simple and implementation agnostic. Both on the Server and the Client-side, DataModels can be represented and delivered in whole or in part.
With some exceptions, Methods are very similar to Actions in the Struts architecture. In Facets, methods don't return a value and are often passive, which means the Facets Page manages and controls their execution. An Invocation instance can be thrown to short-circuit this behavior.
When a Page or Method instance invokes a Method from its current contexts, Global Methods declared at the top level of the configuration are called, and Methods must fall back to the root context. Methods for handling logins and unexpected problems are appropriate to include here. Remember that these methods can be overridden in nested contexts.
Pages encapsulate the capacity to create content for the browser to consume. They could be nested in context, therefore a Page can have zero or more child Pages. This makes it easier to keep Pages and Methods related to a main functional area near together. It also makes it easier to interpret names because a Page can define its own 'submit' and 'cancel' methods without worrying about another Page doing the same.
By creating a Method called 'init' in Page's local context, Pages could have a general-purpose constructor. This constructor will always be called before the method map is resolved if it is part of Page's local context. As a result, by changing the Message state, a constructor could be used to impact the mapping.
MethodMap associates a request's various incoming statuses with a specific Method call. When a suitable method is chosen, the Router sends it a message. This Message encompasses the Request/Response sequence's numerous parameters. The SequenceMethod type allows many methods to be linked together.
MethodMaps solely map the Message state to Method calls, as their name suggests. When designing a simpler architecture, it was agreed that overloaded multipurpose tags and the 'forward' and 'redirect' nightmare that has perplexed many developers while dealing with other systems should be avoided. To redirect, you must map to a PageMethod or RedirectMethod instance.
In this blog, we have discussed facets of architecture with diagrams along with main definitions. This blog has provided the necessary information for understanding the architecture.
Related Articles: Trizetto Facets
Batch starts on 1st Apr 2023, Weekend batch
Batch starts on 5th Apr 2023, Weekday batch
Batch starts on 9th Apr 2023, Weekend batch