Technologist and network architects alike are leading companies into a new digital frontier directed by technology-enabled platforms. These platforms are very powerful as they can enable a new ecosystem for business models, customer engagement and value creation.
In Accenture’s recent Technology Vision 2016 research, the “Platform Economy” explains that:
Omni-Channel Approach to Architecture
In my previous blog, I identified that modern-day architects are challenged to define architectures that blend the physical and digital worlds. These architectures will be based on an omni-channel approach focused on seamless experiences, with rich context and situational awareness. Accenture’s perspective on the Platform Economy expands on this notion with three important insights:
- Whether a company ‘owns’ a platform ecosystem or is plugging into another’s, what matters is having a platform strategy and the business know-how to exploit it.
- Although platform business models are driving a major macroeconomic shift, adopting them does not mean giving up on existing business (value chain) models.
- Digital leaders will create platforms on which customers, employees, and partners can experience all of the five senses—together—in any environment they choose.
The implications are twofold:
- Platforms become the cornerstone building blocks of open ecosystems between “owners” and “participants.”
- Integrating platforms across open ecosystems requires a new type of thinking and architecture technique.
The challenge is the level of integration and data connection complexity combined with the ability to deliver a context-based, situationally aware, loosely coupled architecture.
Making It Happen—Patterns Are Key
I consider this new thinking and architecture technique as software interconnection patterns.
A pattern can be defined as a reusable solution to a commonly occurring problem within a given context.
While the term pattern is not new, using them to solve the heterogeneous architecture and design problems of today is needed more than ever. Software interconnection patterns describe interactions between entities that occur at the right time, can be trusted, and maintain both predictability and repeatability across an ecosystem. The lifespan of software interconnections is a key characteristic. Interconnections may have a long, temporary or repeatable lifespan that is completely based on the situation and context.
Dealing with Complexities
The future of realizing business outcomes from technology depends on applying software interconnection patterns effectively. The architecture for interconnection patterns incorporates the advancements in IoT, hyper-distributed computing and microservices to achieve the desired business outcomes. This requires a new level of abstraction that will allow architects to deal with the complexities of connecting many different applications, systems, devices and technologies together in a coordinated fashion.
One of the best references that describe the vision of what the new world will look like is the Internet of Things Architecture (IoT-A) provided by the European Lighthouse Integrated Project. This video showcases the power of platforms in an IoT context; connecting traditionally siloed applications and technologies across multiple industries to save critical time and lives, which without connection would not be possible.
In the video, the interconnections highlighted are event driven and involve multiple entities, devices and systems. The key to the interactions is determining which ecosystem partners need to be involved and what data is important to relay.
As the video illustrates, using platforms to blend the physical and digital worlds must be governed by design simplicity and usability. Simplicity is made possible by understanding the context and interpreting the data. Context and interpretation enable:
- better interaction with the people (e.g. personalization)
- knowing when and what actions to take (e.g. insights and control)
- orchestrating multiple dependencies to achieve the proper outcome (integration and connectivity).
Other examples in the video highlight that today, and in the future, there will be a diversity of interactions between entities. Interactions between such things as:
- standalone devices
- embedded devices within the human body
- anything that can communicate, which is monitored or controlled across a network.
Note: these examples are not constrained by a single person, corporation, process or protocol.
Critical Patterns to Support
In thinking about all of the various combinations and permutations of software patterns, the 80-20 rule (Pareto principle) prevailed; 80% of interactions that cross business, IT and OT systems can be captured within three primary interconnection patterns:
- Orchestration patterns – covers methods and technologies that provide automation and coordination of processes and data across an ecosystem.
- Interaction patterns – covers methods and technologies that provide access to functional capabilities and data based upon a given situation or event trigger.
- Acquisition patterns – covers methods and technologies that are focused on gathering and distributing data to systems, applications or people at the right time.
These three software interconnection patterns are based on a configurable platform that can handle a variety of process orchestrations scenarios, ever-emerging integration scenarios and utilizing both traditional and new types of data sources. A configurable platform is one in which the constitution parts are modular, maintaining independence yet can be used together with minimal effort. For the tech junkies, this is like component architecture meets API Economy and microservices.
The Path Forward
As technologists, it is our responsibility to balance complexity, simplicity, viability and individual capability through the use of abstraction. In today’s software-driven world, we can learn to effectively do this by examining how abstractions have been used in other disciplines. For example:
- In the network world, Software Defined Networking (SDN) is a combination of methods and technologies focused on making the network programmable and adaptable to diversity in applications.
- In the systems architecture world, Model Based Systems Engineering (MBSE) is a combination of methods and technologies focused on using graphical models versus text documents to describe and exchange information on building systems.
In a similar fashion, modern-day architects should invest their time and innovation into developing methods and technologies that expand upon the notion of software interconnection patterns. This can begin with reviewing existing work that has been done related to the concepts of platforms, digital business and the API Economy.
Below are some resources that I have found helpful in my journey. If you want more reading suggestions, post a comment and I’ll respond with a few others.
- Open Group Platform 3. 0 forum
- IoT – An Architecture Reference Model
- Martin Fowler and James Lewis perspective on Microservices
In my next post, I’ll investigate the idea put forward by Marshall Van Alstyne that states “products have features; platforms have communities.”
See more from Cisco Analytics & Automation blogs.
Follow on Twitter: @CiscoAnalytics