Architecting to Catalyst Principles
According to the architecting to Catalyst principles, the two considerations that are typically only present when delivering APIs with a product mindset are:
- Well-defined product ownership
- A well-defined and discoverable usage contract
Architecting in a MuleSoft Catalyst context is inherently scalable to the needs of engagements of different size and nature and focuses on a few core principles.
There are seven core MuleSoft Catalyst principles to architecting
- Balance short-term outcomes with long-term goals
- Follow a pragmatic API-led approach to connectivity and contract-driven design
- Architect for reuse
- Separate the platform from the solutions built on top of it
- Practice product thinking in addition to project delivery
- Architect in a scalable, incremental, and iterative fashion
- Be collaborative and inclusive
Balance short-term outcomes with long-term goals
MuleSoft Catalyst promotes organisations and architects to see the big picture when setting goals and defining success. Achieving short-term outcomes and long-term goals are equally important for the organisations. Normally main focus of project delivery and the project team is to achieve short-term business outcome. However Catalyst see enduring success by intelligently factoring long-term goals in the project delivery.
Follow a pragmatic API-led approach to connectivity and contract-driven design
Architecting the APIs to instil high cohesion and low coupling and follow best practices is the way to go. API-led approach emphasises on:
- Contract first approach
- Break down of APIs into layers (system, process and experience layer)
- Synchronisation with business processes and data models.
API-led approach focuses on decoupling consumers from producers.
Architect for reuse
Reusable component-based architecture is an art that an architect in an Catalyst engagement executes. Using already-existing assets in different applications and not only for the one they were originally designed for need forward thinking i.e. Catalyst mindset. It breaks down the application into more easily manageable, maintainable and understandable pieces. This accelerates application development and exponentially maximise the development teams productivity and with less effort while keeping the existing applications easy to maintain.
Separate the platform from the solutions built on top of it
MuleSoft provides rich platform capabilities which can be extended and utilised as per use. Architecting with Catalyst urges the architects to not only efficiently utilise the features on the platform to deliver solutions but also contribute and extend and enhance the shared platform services and capabilities .
According to Catalyst architecture principles the perceived benefits of separating the platform from the solutions built on top of it is
- Common shared services typically address the non-functional requirements delivering core platform capabilities to be reused across solutions
- Common services and components that originate from projects grow the capabilities of the platform beyond those provided by the original product
Practice product thinking in addition to project delivery
In a Catalyst engagement the architects have a great responsibility to inculcate product thinking within the organisation. On a day to day basis architects should identify the services that have potential to deliver enduring business value. Catalyst advises the architect, if these valued services are implemented as part of project then those should be extracted and maintained as distinct products.
Architect in a scalable, incremental, and iterative fashion
MuleSoft Catalyst advises architects to build APIs to deliver value in an incremental and iterative manner. This approach fundamentally incorporate continuous learning, continuous feedback and improvement, and allows organisations to react to changes in a timely manner.
Be collaborative and inclusive
Architecting with Catalyst focus on empowering stakeholders to collaborate and make decisions together quickly and effectively.