110 likes | 274 Views
Proteus Framework. Achieving proficiency with the core framework architecture. Namespace Protection. INamespace provides collision protection Namespace like package ID like class name Ref ID is arbitrary text, typically used when loading definitions from an XML document. Versioning.
E N D
Proteus Framework Achieving proficiency with the core framework architecture
Namespace Protection • INamespace provides collision protection • Namespace like package • ID like class name • Ref ID is arbitrary text, typically used when loading definitions from an XML document
Versioning • Versions are first class citizens in the framework • IVersion defines a semantic version (http://semver.org) • IVersionDescriptor combines a namespace, version, and a set of runtime configuration properties • Plugins loaded by either IVersion or IVersionDescriptor
Displayable Name • IDisplayableName combines a namespace, glyph, and a human readable name/description
Standard Plugin • Namespace protected • Displayable name • Includes an optional custom glyph used to visually depict the plugin to the application user • Configurable via a runtime (instantiation time) set of properties • Delegate consumer • Framework delegate is injected into the plugin, letting it gain access to other plugins and platform services, if installed
Configuration Properties • IConfigurationPropertyPrototype • Property key • Description • Example of configuration value (optional) • Mandatory flag • Default value (Object) • IConfigurationProperty • Assigns an explicit runtime value to a configuration property
Platform Delegate • Access the runtime engine (IRuntimeEngine) • Access the Proteus Factory Registrar • This is the main registrar that manages plugin archetypes • Adapt the delegate to a more powerful delegate • Used primarily when the Proteus Platform Services are deployed with the application
Runtime Engine • Access the runtime environment • Desktop, Server, Mobile • Access the runtime configuration (IRuntimeConfiguration) • Comprised of Key-Object pairs
Deployment Dependencies • Proteus Core Framework has no dependencies beyond a valid installation of a Java SE 6 VM