Early adopters of mobile app technology often based their development work on a mobile-specific development platform or framework. While using such platforms and frameworks allowed developers to produce mobile apps rapidly - it also stifled future innovation due to limitations imposed by the very technology that boosted development! In this blog, we discuss a more flexible approach known as the MACH architecture, followed by an example where MuleSoft serves as the key that allows you to implement a MACH architectural solution.
Limitations of the Existing Platforms
Before we discuss the MACH architecture, let’s understand the challenges you may face with your legacy mobile app development platforms or frameworks.
It is important to move away from legacy or proprietary platforms and build native iOS and Android apps that can match your website features and integrate well with your current content management system. To efficiently connect a mobile app to its Content Management System, Order Management System, Search Engines, and other systems, you may consider adopting the MACH architecture.
MACH is a tech stack that allows you to choose the technology that best meets your business needs and future roadmap.
Here’s a brief explanation of each aspect of the architecture:
Middleware and Microservices Development
Middleware is essential for managing microservices at scale. It provides application awareness and precise control for complex microservices architectures. It efficiently re-routes the traffic between microservices and handles failures quickly and quietly
A microservices-based system is akin to smashing your monolithic one-system-for-everything platform into dozens of tiny, efficient pieces. Tasks are assigned to smaller, more specialized services within the larger system. This allows for more agile testing and development and makes the entire system less prone to catastrophic failure.
Benefits of middleware for organizations running microservices at scale include:
Sample MACH Implementation
Consider a web application infrastructure based on Salesforce Commerce Cloud (SFCC) as an example of implementing the MACH architecture. In this example, let’s assume you need to customize the existing SFCC logic to support mobile apps and enable personalization.
You can break down your project scope into three main areas:
The image below depicts how an implementation based on SFCC might appear. The area surrounded with a green border line represents new development, blue depicts the existing components, and orange delineates the integration scope.
The Existing Development Scope
Boxes in blue represent the existing development scope. In this example, we show SFCC supplying daily product information.
Boxes in orange represent the integration scope. In our example, this would include third-party services facilitating type-ahead, personalization, and shopping cart processing. It also includes clients' cloud apps and platforms, such as Adobe Digital Asset Management (DAM) and the Salesforce Marketing Cloud.
New Development Scope
Areas in green represent a new development. In our example, this would include a mobile app server with a high-speed MongoDB database backend, supported by a Redis cache. The server would offer services that include navigation and content, including such things as pricing, catalog access, product information, recommendations, and search. Transactional services might include authentication, profile maintenance, and a loyalty program.
The mobile app server could be frontended by a fast and secure MuleSoft API gateway that would facilitate API security, caching, versioning and orchestration. In our example, the mobile apps access the mobility server through a Cloudflare Content Delivery Network (CDN).
Making the Salesforce Connection
When choosing a suitable middleware SFCC integration tool, you must have good answers to basic questions about budget, business complexities, and size. Other considerations include factors like functionality, scalability, and support. For mid- to large-sized businesses with a technical support team, the MuleSoft Anypoint Platform is a great choice as it’s already integrated with SFCC and offers tremendous flexibility.
Large enterprises with complex integrations widely use MuleSoft, a Salesforce-owned, high-end API integration platform, now called Salesforce Integration Cloud. It integrates Salesforce with other business applications, such as ERP, analytics, and data warehouse systems. MuleSoft provides API management, support, and integration functionality.
To use this platform to its full potential, larger businesses need internal technical resources. Integration with the help of MuleSoft is not as quick and easy as other tools, but it is of tremendous help when you need to integrate several applications simultaneously.
Project managers might be tempted to adopt one of the many popular mobile app development platforms or frameworks, thinking it will save their company time and money. However, as discussed, your company may become saddled with technical debt down the road as future app development is locked into the chosen technology. Furthermore, adding new features and innovations to the app might be difficult.
Migrating away from a legacy mobile app framework can present difficulties. You can adapt the MACH architecture and redefine the scope of project development to future-proof your apps. In the example, you saw how in an SFCC-based e-commerce site, MuleSoft is a key component in implementing an integration that restores capabilities previously provided by a legacy framework and offers ample flexibility to add new features and innovations.