XStudio (alias: Studio)
XStudio is the collective name for the design and monitoring tools within the Morphyc Architecture. The core XStudio components are described below:
eXtensible Design Environment (XDE) is used for designing Nodes and their interactions. XDE is used to create and manage XML assets and Patterns, used to organise collections of Nodes.
RuleMaker is used for creating Rules, executed by Nodes.
Dashboard is used during application design and runtime. The Dashboard can be used to trace message flow, perform general debugging and also administer the runtime platform, including logging and scalability settings.
XStudio Plugins - The core tools within the Morphyc Architecture include, XDE, RuleMaker and Dashboard. Individual products may include their own plugins to work with certain aspects of the Morphyc Architecture. For example, WebMaker uses FormMaker for Forms Design. FormMaker in-turn uses various XML editing tools, such as XMLSpy to create XML assets.
FormMaker is an XStudio plugin, available as part of the WebMaker product. FormMaker enables the composition and deployment of rich web applications based on SOA services.
Repository (alias: XStore) - Application specifications created by tools such as XDE, FormMaker and RuleMaker, consist of XML metadata. This information is stored within a file-based repository. You should not have to interact with XStore directly.
Blueprint
A Blueprint is a collection of XML metadata, produced by XStudio. A Blueprint within the Morphyc Architecture refers to a particular composition of architectural layers and pattern arrangements, specifically organised to perform particular tasks. For example, the MVC WebMaker blueprint is primarily concerned with the development of rich web applications based on SOA services. The core components of the Blueprint are described below:
Project (aliases: Blueprint Instance, Specification, Design) - A Project is a collection of XML metadata that describes an application, based on a Morphyc product such as WebMaker.
Patterns contain XML metadata that describes collections of Nodes, their Rules, their XML assets and their interactions with other Nodes. Patterns can be viewed as a reusable grouping mechanism for Nodes, arranged to perform certain tasks.
Node (aliases: Agent, Controller) - Nodes are the processing components of the Morphyc Architecture. Nodes execute Rules and may consume and produce other XML assets, such as XSLs, XSDs, etc., as they execute. During the design phase, this is just a metadata representation of the machines. They become 'real' once deployed and executed on XPlatform.
Rules (aliases: Rulebase, Logicsheet) - Rules are represented as XML metadata and executed by Nodes.
Interactions (aliases: Splices, Associations) - Interactions capture the communications between different Nodes, typically exchanging XML messages.
XPlatform (alias: Platform)
XPlatform is the runtime platform that executes Nodes. XPlatform can also use XGate to perform external communications such as HTTP and SOAP. XPlatform can also use Custom Engines to perform specialised processing that may not be ideally suited for a declarative rules-based system.
XGate provides the ability to send and receive messages over different protocols. By default, XGate can communicate over HTTP and SOAP, including REST programming.
XGate Plugins - XGate also has the concept of Plugins that can be used to perform specific tasks. For example, WebMaker uses a Forms Plugin to bind HTML and XML information between the Browser and server environments. You can write your own custom plugins for XGate.
Nodes - (aliases: Agent, Controller) - Nodes execute Rules and interact with other Nodes according to the design. Nodes are the main processing components within the Morphyc Architecture.
The XEngine is the main processing component, and is the heart of each Node. XEngine is a declarative, forward-chaining rules engine that is triggered by incoming requests.
Custom Engines can be written is Java to perform specific processing tasks that may not be best-suited for a native XML forward-chaining rules engine. These custom engines can be integrated with XPlatform in exactly the same way as native XEngines.
XLog is the main logging component of XPlatform. XLog is used by Dashboard to perform the message tracing and debugging operations.