For a few years now we’ve been working on a project we have named Portfolio Architectures. These are based on selecting a specific use case we are seeing used in the real world by customers and then finding implementations of that case using three or more products from the Red Hat portfolio.
This basic premise is used as the foundation, but many aspects of open source are included in both the process and the final product we have defined. There is a community, where we share the initial project kickoff with a group of architects and use their initial feedback from the start. We also present the architecture product we’ve created right at the end before we publish to ensure usability by architects in the field. The final publish product includes some internal only Content around the customer projects researched, but most of the Content is open and freely available through various open source channels.
This article is sharing an overview of the product we’ve developed, what’s available to you today in our architecture center, and concludes by sharing a collection of architectures we’ve published.
The basis of a portfolio architecture is a use case, two to three actual implementations that can be researched, and includes the use of a minimum of three products. This is the ideal foundation for a project to start, but we encountered a problem with use cases containing emerging technologies or emerging domains in the market. To account for these we’ve chosen to note the fact that these are opinionated architectures based on internal reference architectures.
The product has been defined as complete for publishing when it contains the following Content:
- Short use case definition
- Diagrams – logical, schematic (physical), and detail diagrams
- Public slide deck containing the use case story and architecture diagrams
- Internal slide deck containing both the public deck Content and the confidential customer research
- Video (short) explanation of the architecture
- Either a technical brief document or one or more articles covering the solution architecture
Note that the items in italics are all available to anyone in the Red Hat Portfolio Architecture Center or in the Portfolio Architecture Examples repository.
Tooling and workshops
The progress towards our products required a good idea of how we wanted to diagram our architectures. We chose to keep them very generic and simple in style to facilitate all levels of conversation around a particular use case without getting bogged down in notational discussions.
A simple three level design for our architectures was captured by using logical, schematic, and detail diagrams. All of these have been integrated in open source tooling with pre-defined templates and icons for easily getting started. Furthermore, we’ve developed a tooling workshop to quickly ramp up on the design methods and tooling we’ve made available. It’s called Designing Your Best Architectural Diagrams, has been featured in several conferences around the world.
Application development collection
The collection featured today is centered around architectures supporting application development and cloud development. There are currently fifteen architectures in this collection and we’ll provide a short overview of each, leaving the in depth exploration as an exercise for the reader.
In each of these architecture overviews you’ll find a table of Contents outlining the technologies used, several example schematic diagrams with descriptions, and a link in the last section to open the diagrams directly into the online tooling in your browser.
Retail is the process of selling consumer goods or services to customers through multiple channels of distribution to earn a profit. Retailers satisfy demand identified through a supply chain. The term retailer is typically applied where a service provider fills the small orders of many individuals, who are end-users, rather than large orders of a small number of wholesale, corporate or government clientele.
The use case is optimising delivery routing, automating rostering of staff, and improving efficiency of tasks across multiple stores.
Cloud native development is an approach to building and running applications to fully use the advantages of the cloud computing model (i.e., responsive, elastic, and resilient applications). Red Hat empowers organizations to build and run scalable applications in modern, dynamic environments such as public, private, and hybrid clouds.
Containers and orchestration, DevOps and continuous delivery, microservices and service meshes, and declarative application programming interfaces (APIs) are key building blocks of cloud-native application development. These technologies and techniques deliver loosely coupled systems that are resilient, manageable, and observable. Combined with robust automation, they allow businesses to make high-impact application improvements frequently and predictably with minimal effort and risk. Additionally, cloud native architecture and technologies provide the foundation for newer development models such as serverless computing and Functions-as-a-Service.
The use case is an approach to building and running applications to fully exploit the advantages of the cloud computing model (i.e. responsive, elastic and resilient applications).
An omnichannel approach provides a unified customer experience across platforms, creating a single view for customers to interact with their own information.
Red Hat provides a foundation for IT teams to develop and deliver omnichannel services through a combination of integration and process automation technologies. Agile integration defines how organizations are transforming and delivering on their digital promise to customers by integrating applications and services across on-premise infrastructure and cloud environments. Business automation, in the form of process integrations, are captured to enable access to complex process services.
The use case for omnichannel implies integration and orchestration of channels such that the experience of engaging across all the channels someone chooses to use.
This architecture covers edge medical diagnosis in the healthcare industry. It Accelerates medical diagnosis using condition detection in medical imagery with AI/ML at medical facilities.
The use case is accelerating medical diagnosis using condition detection in medical imagery with AI/ML at medical facilities.
Retail is the process of selling consumer goods or services to customers through multiple channels of distribution to earn a profit. The term electronic commerce (e-commerce) refers to a business model that allows companies and individuals to buy and sell goods and services over the Internet.
The use case is deploying a container based e-commerce website while moving away from tightly coupled existing e-commerce platform.
Integrating with Software-as-a-Service (SaaS) applications is the process of operationally connecting SaaS solutions to other separate computer systems or applications into a single larger system, allowing each solution to functionally work together.
The use case is providing integration with SaaS applications, platforms, and services empowers organizations to build and run scalable applications in modern, dynamic environments such as public, private, and hybrid clouds.
Intelligent DaaS (Data as a Service) is about building and delivery of systems and platforms in a secure and scalable manner while driving data needs for moving towards consumerisation in healthcare. Feel free to explore this portfolio architecture by clicking on the diagram below.
The use case is Intelligent Data as a Service (iDaaS) is about building and delivery of systems and platforms in a secure and scalable manner while driving data needs for moving towards consumerisation in healthcare.
Data synthesis is about enabling innovation with a focus around enabling massive amounts of data to be available for business users and developers needs in a secure and scalable manner.
The use case is modernising testing with data synthesis, a testing innovation with focus around enabling massive amounts of data to be available for both business users and developers in a secure and scalable manner.
Financial services institutions understand that today’s banking customers expect fast, easy-to-use services they can tap into anytime, anywhere, and are therefore accelerating adoption of digital technologies to enable a variety of new offerings.
(Note: this project is a new architecture and currently in progress, so sharing one of the schematic architecture diagrams and you can monitor this project for updates as it progresses to completion.)
The use case is a cloud ready, modular open source approach offering a wide range of technology options and allows low-effort integration covering all aspects of an Open Banking implementation.
An offering of (near) real-time payments lets businesses, consumers, and even governments send and accept funds that provide both availability to the recipient and instant confirmation to the sender. Enabling real-time – or at least faster – payments that improve the speed of online payment experiences to customers has the potential to give banks a greater opportunity to win, serve, and retain their customers. By building solutions that capture real-time payment business, banks also can drive higher payment volumes, ideally at lower costs as well as engage new customer segments.
The use case examines financial institutions enabling customers with fast, easy to use, and safe payment services available anytime, anywhere.
Retail is the process of selling consumer goods or services to customers through multiple channels of distribution to earn a profit. A point of sale, or point of purchase, is where you ring up customers. When customers check out online, walk up to your counter, or pick out an item from your stand or booth, they’re at the point of sale. Your point-of-sale system is the hardware and software that enables your business to make those sales.
The use case is simplifying and modernising central management of distributed point-of-sale devices with built in support for container based applications.
Retail is the process of selling consumer goods or services to customers through multiple channels of distribution to earn a profit. Real-time inventory management is an automated process of recording sales and purchases through the use of software. It gives you a complete picture of what’s happening with inventory, allowing your business to react quickly to supply chain needs.
The use case is providing (near) real-time stock positions and dynamic pricing promotions information to retailer omnichannels.
Retail is the process of selling consumer goods or services to customers through multiple channels of distribution to earn a profit. A data framework refers to the process of managing enterprise retail data. The framework or system sets the guidelines and rules of engagement for business and management activities, especially those that deal with or result in the creation and manipulation of data.
The use case is creating a framework for access to retail data from customers, stock, stores, and staff across multiple internal teams.
Retail is the process of selling consumer goods or services to customers through multiple channels of distribution to earn a profit. Store health and safety is all about managing risks to protect workers and stores. In a global context, health and safety is also an essential part of the movement towards sustainable operational growth.
The use case is managing effective in-store compliance, health & safety, and employee checks and procedures.
Retail is the process of selling consumer goods or services to customers through multiple channels of distribution to earn a profit. Supply chain integration is a large-scale business strategy that brings as many links of the chain as possible into a closer working relationship with each other. The goal is to improve response time, production time, and reduce costs and waste.
The use case is streamlining integration between different elements of a retail supply chain for on-premise, cloud, and other third-party interactions.
If you are interested in more architecture solutions like these, feel free to explore the Portfolio Architecture Examples repository. More architecture collections include:
Published on Java Code Geeks with permission by Eric Schabell, partner at our JCG program. See the original article here: Portfolio Architecture Examples – Application Development Collection
Opinions expressed by Java Code Geeks contributors are their own.