Technology - 6D Architecture Concepts and Implementation
6D's architecture is based upon an event-processing network architecture that provides for expressing the event-based interactions and event-processing specifications among components. The model is based on event-drive architecture, a pattern of promoting the production, detection, consumption, and reaction to events. The de-coupled architecture of 6D™ within a JEE environment leverages a JMS based enterprise service bus ('ESB') for pub/sub interactions with software components, software agents, and external applications. A hybrid course-grained microservices implementation of 6D is also available. The ecosystem of de-coupled software components and application services provides the means to rapidly implement, configure, and enhance digital solutions that transform the business and leverage data from any source as well as events generated by third party applications, IoT technologies, sensors, actuators, and other devices.
6D's event-drive architecture ('EDA') provides the following set of key characteristics:
- Leverages an event-driven messaging broker that publishes and subscribes to topics and events from and to componentized "application services"
- Broadcast communications - participating systems broadcast events to any interested parties
- Timeliness - the system publishes events and documents as they occur
- Asynchrony - the publishing system does not wait for the receiving systems to receive and process the events and documents
- Fine-grained events - applications tend to publish detailed individual events as opposed to aggregated events
- Complex events processing ('CEP') - the system supports and monitors the relationships among the events
- Libraries of pre-defined application functionalities - libraries of document and event-triggered application functionalities and business rules are available for inclusion, configuration, customization and re-use
The 6D Platform is Event-driven Architecture with Microservices ('EDAM') 'friendly/ready'. In EDAM, 6D application services are simply 'services' that publish or consume events that may be implemented as microservices. 6D's EDA based platform is already componentized and available in both EDA and EDAM architectural implementations as course-grained microservices. 6D's EDA software platform has been available since 2003 and its performance, scalability, agility, extensibility, configurability, and open systems architecture has withstood the test of time. For more information on EDAM, check out Nigel Green's EDAM overview here.
Document-based data and event-based data may both be consumed by 6D. As documents and events are received by 6D, each external document instantiates a uniquely identified internal document type instance that represents the operations of the business. Examples of such documents include document types like Advanced Shipment Notices, Bills-of-Lading, Purchase Orders, Pick Lists, Asset Profiles, and more. Event-based data may be received as a message or document from a device, sensors, or other subsystem. As these Documents and Events are received within 6D, software agents and components listening for various document types and event types consume in real-time this information and trigger real-time business rules, analytics, and business workflows and processes. With significantly large libraries of document and event based business rules and logics configured as re-usable application services and de-coupled software components, engineers and business analysts can rapidly configure complex applications and system functionalities to deliver new digital products and services.
6D's architecture and the implementation of 6D's software code-base provides broadly applicable application services, functionalities, integration services, and IoT support that may be rapidly configured and customized to meet your needs and objectives. Nearly eight out of ten organizations today state that they must accelerate their software R&D lifecycle. Our customers have told us that by using 6D, they can implement solutions 8-15 times faster than with other application tools and systems.
The rise in development of smart devices and the need to digitally transform the business to provide new products and services requires:
- Higher level software tools and development frameworks, like 6D, that are crucial to accelerate new product development and digitally transform the business,
- Cross-platform software libraries are increasingly important. 6D brings 85-95% of the solution to the table out-of-the-box that can be configured and customized to meet the needs of the organization
- Quick software development and collaboration to meet customer needs quickly.
Two implementations exist of 6D. The first is a HP/HA Java/JEE version of 6D. The second is a course-grained microservices based version of 6D.
In addition, we offer the 6D Messaging Engine™ ('6DME™') for high volume I/O with some applied application functionality. 6DME may be deployed regionally around the world to capture information and provide HP/HA data collection, processing, and publishing to global or continent deployed instances of 6D. 6D and 6DME may be used together or independent of each other.
For edge based processing, two different products may be applied. The first is a light-weight version of 6D or 6DME. 6D and 6DME may be deployed on small servers, inside panel PCs, and on edge based computing systems. The second edge based system solution that we offer is 6D-Node, which is nodejs based. 6D-Node may be deeply embedded inside a System in Package ('SIP') like a BeagleBone Black chipset or run on edge devices like a Raspberry Pi or other edge computing device. 6D-Node also leverages a pub/sub messaging model with de-coupled components that communicate using MQTT both locally and to integrate with 6D.