The IBM Enterprise Ecosystem
IBM has a plethora of products and solutions that help solve enterprise digital transformation needs. The company has a healthy market share in this space and enterprises use its technologies to succeed in their digital transformation journeys. IBM Integration Bus and now the renamed IBM App Connect is heavily used by the company’s customers to solve problems around enterprise integration. It can expose APIs and services in Representational State Transfer (REST) and Simple Object Access Protocol (SOAP) formats and can perform typical service orchestration, among many other capabilities including message transformation, Java Message Service (JMS) interaction, intelligent routing, protocol switching, and database interactions. And the ubiquitous IBM MQ has queues and topics where messages get stored in. Furthermore, IBM Event Streams brings event processing power with Kafka capabilities. IBM Business Process Manager offers enterprises a way to define stateful process workflows and brings in business process model and notation (BPMN) capabilities. This provides a broader set of capabilities that touch upon most of enterprise needs. An IBM integration ecosystem and the assets could be depicted as shown below.
Figure 1: An IBM enterprise integration platforms
Need for a Governance Solution in an IBM Integration platform
An enterprise’s digital transformation solution can easily become complex, albeit purposeful and unavoidable, and the resulting implementation artifacts can grow extensively in a short period. Multiple teams in an enterprise could be using the same IBM platform for each of the products or could be using their own installation on their infrastructure of choice. The latter could well be the case especially in medium- and large-scale enterprises, where there are multiple teams, business units, and other types of team segregations that span across different countries and regions. In such instances with wider distribution, it becomes challenging to keep track of what is being developed, what has already been developed, as well as the dependencies and associations of various artifacts. Enterprise architects and development managers should be aware of these details to make prudent decisions on new developments.
How can you maintain these details? How can you keep track of the states of currently developed artifacts?
Clearly, there is a need for a central location to access this valuable information. Does a spreadsheet solve this problem? Well, it could; however, it would quickly become increasingly difficult and tedious. How could such a central document be managed to make sure the entries are consistent, integrity is maintained, and the values are up to date?
It is also in the best interest of the enterprise to avoid redoing the same work and efficiently architect the assets so that duplication is avoided. If this is not done correctly, over time, an enterprise will incur ‘technical debt’—i.e., costs associated with additional rework caused by choosing an easy (limited) solution now instead of using a better approach that would take longer. How can you address this and modernize the platform if the right information is not within your reach?
A governance solution can solve this problem. It can be the center of excellence (CoE) for an enterprise’s digital assets. It will undoubtedly unfold the challenges that enterprises have in finding all the metadata of these large numbers of assets in one place. Moreover, it will bring in a unified view of all the assets across all the teams. The return on investment in a governance solution will be in the form of maximizing asset reusability and streamlining asset architecture across the board. Such a solution helps execute key business drivers, including speeding up go to market by reducing repetitive work and enhancing the quality of work via the governance mechanism in the development process. Development managers and enterprise architects—who want to make decisions based on statuses of currently built digital assets and who want to know how to leverage existing assets—would greatly benefit from such a powerful tool to make quick decisions compared with scrolling through lengthy documents and sheets.
Merely cataloging asset metadata is not the only requirement here. The governance solution should have capabilities to maintain dependency details, association views, and categorize assets for easy filtering. It should also be extensible to define new asset types that can be used as data models and business objects. The solution should also allow operational extensibility to add, modify, read, or delete assets. When an asset’s state changes, taking additional steps would give pragmatic agility to the solution. Thus, a good asset governance solution should provide means to architect this extensibility to open up programmability.
An IBM ecosystem, as shown above, will have a large number of assets and the challenges mentioned above will be applicable to it. An enterprise using IBM-based platforms will eventually create a large number of services, APIs, event streams, business processes, schemas, policies, and many more such ‘digital assets’. Multiple teams may work parallelly and could also be using different deployments. The problem of ‘technical debt’ and inefficiency, owing not being able to view the overall picture, would only worsen unless there is a unified place to view these assets and govern them.
The following diagram illustrates how a central governance tool can provide a 360-degree view of an enterprise’s assets.
Figure 2: The governance solution as a CoE for asset metadata
The Value of WSO2 Digital Assets Governance in an IBM Ecosystem
The IBM ecosystem, with its many components that serve enterprise integration and API management, lacks a comprehensive, extensible solution to gain a centralized view of digital assets (and their associations and dependencies) and to make impact analysis. It had its older IBM Websphere Service Registry and Repository (WSRR), which is still in use in some enterprises. IBM WSRR is a legacy product that is not suitable for modern architectures, such as microservices architecture. It fits well into service-oriented architecture (SOA) style projects but has not been well integrated with other IBM products to suit modern governance problems. It also lacks extensibility.
WSO2 Digital Assets Governance is a modern enterprise digital asset governance solution that is tailor-made to work across multi-vendor systems in a more pragmatic style without cohesive boundaries. This loosely coupled way of seeing an enterprise's assets mitigates risk for other products. The tool has minimal dependencies for its deployment and availability. WSO2 Digital Asset Governance is a cloud-hosted on-demand solution that can easily work together with different systems.
WSO2 Digital Assets Governance is an ideal solution for product managers, development managers and enterprise architects. Product Managers want to have a clear view of what the product consists of. For example, a software product may require APIs, services, streams and even libraries. In an IBM ecosystem, these artifacts will reside in different IBM products. Product managers should have the details within reach to make the right choice for the product they are responsible for. A central repository of metadata information is key for that. This is a vital component of WSO2’s governance solution.
On the other hand, a development manager needs to keep track of the dependencies of a module and ensure timely delivery of a development asset with quality in mind. How can a development manager enforce developers to follow guidelines, such as documentation for completed features and test codes are committed before promoting the code to testing state? The lifecycle tool of a governance solution can be used to make sure lifecycle transition only happens when the required checklists are in order.
Further, using this tool, an IBM enterprise architect can locate existing assets and decide how to utilize them (to solve higher-level business problems) or bring in new vendor systems if no existing system can solve the architectural principles the enterprise wants to undertake.
WSO2 Digital Assets Governancel addresses issues of this nature and it could thus deliver the governance requirements of an IBM-powered integration ecosystem. It can sit in the cloud and can be used to onboard assets by leveraging REST APIs. Enterprises can make use of external tools such as CI/CD pipelines or other integration means to extract details from IBM systems—which often have REST, SOAP, or other interfaces to extract metadata details—and populate WSO2 Digital Assets Governance using the solution APIs. This is shown below.
Figure 3: Onboarding assets to and from the governance solution
As highlighted above, a governance tool provides a birds-eye view of assets and helps reduce ‘technical debt’. WSO2 Digital Asset Governance helps an enterprise to achieve this goal and does much more than cataloging data. Of course, the unified view itself is a great advantage and it unfolds the challenges of having the data documented elsewhere. Once the metadata is in place, a number of tasks around these metadata instances of each asset can be accomplished.
WSO2 Digital Assets Governance also provides the following key capabilities to support common governance requirements.
- Custom asset types for business objects and data modeling
The solution can capture metadata of most widely used assets. These include REST APIs, Open API specifications (Swagger documents), SOAP services, Web Service Description Language (WSDL) files, XSDs, and XML Policy files. However, it is often the case that we do not know some artifact types and their attributes beforehand. Thus, a governance tool should provide a powerful way to model business objects to define its attributes and minimize the work to generate an interactive UI to make users capture these details. This will be a powerful approach to define whatever the new type of assets that need to be defined and quickly start using it. WSO2 Digital Asset Governance provides a comprehensive XML-based model to model new asset types.
- An extensible lifecycle model to attach assets
A lifecycle state of an asset is a variable. Based on different use cases, different lifecycle states could be applicable. Thus, a governance tool should provide a way to define lifecycles and attach that to a defined asset to keep track of states. This way, the tool does not need to predefine states and restrict designers to adhere to what the tool provides. This is a powerful mechanism to define dynamic state charts. WSO2 Digital Assets Governance provides an authorization model to tie permissions on promotions and demotions that can be performed on the asset lifecycle. Only authorized personnel would be able to make changes. Also, it provides a way to dynamically plug logic while the state is transformed. This capability opens up an integration point to extract details from the asset data together with the lifecycle state and initiate a meaningful data population to other systems.
- Associations and dependencies for impact analysis
Associations and dependencies are two more functionalities that can be defined and be used to visualize the impact of asset changes, which in other terms, is called ‘impact analysis’. The solution should provide ways to define new dependencies and also control defining meaningful dependencies. Once these design-time dependencies are defined, a user can easily visualize the associations to draw insights about the impact on changing one of those assets.
The following diagram illustrates the dependency view of WSO2 Digital Assets Governance.
Figure 4: Visualizing dependency
- Powerful search capability
When assets are cataloged, there should be easy ways to quickly search for them. WSO2 Digital Assets Governance provides a comprehensive search capability. A user can search assets by asset content or a particular attribute value. A powerful yet easy to use syntax can be used in the search bar to filter out assets easily. This is essentially useful when enterprises have hundreds of thousands of assets in the asset portfolio.
- Taxonomy for asset categorization
Categorizing assets will make filtering easy. It would also be ideal if the solution could also provide means to define how that categorization hierarchy should be. WSO2 Digital Assets Governance allows XML models to define such a directory, such as a hierarchy, and assign it to assets. Subsequently, when an asset is added or modified, a user can assign the asset to one or more of the categories. This will generate a user interface in the store portal for users to easily filter assets. This could be combined with the search to quickly narrow down what users are looking for. Enterprises can come up with their own taxonomies or adhere to commonly used ones that suit their industry.
In addition to the taxonomy, the solution also provides easy tagging of assets, which can also be used to filter out assets quite easily.
Today, enterprises are striving hard to stay ahead of the competition by engaging in digital transformation efforts. IBM provides a popular enterprise technology platform that is used to modernize an enterprise’s technology stack. In medium to large-scale organizations, using IBM technologies will create a large number of digital assets. As their numbers grow, it becomes difficult to know, search, and make decisions for future assets and projects.
A vendor-neutral governance solution, which can work across multi-vendor systems to bring asset catalogs and present a unified view, is advantageous as it enables development managers, product managers, enterprise architects, and even CxOs to draw useful insights about the hard work that has been put into an enterprise’s digital transformation. Such a solution helps to minimize technical debt and efficiently reuse assets, which, in turn, will save time and money. WSO2 Digital Asset Governance is a tailor-made solution to address all these needs.