Home / 

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.   

  • Lack of Deep Analytics: Most companies nowadays want insightful data to make accurate sales projections. Most legacy mobile app platforms don’t allow the use of external analytics services, such as Google or Tealium Analytics, to get bespoke analysis.  
  • Design Lock-In: It’s another limitation you may face when using a platform that locks the same app design for all customers.  
  • Limited Personalization: After getting installed on a device, a good app must upgrade and modify itself to ensure it delivers the most relevant content and awesome user experience. This process is called “mobile personalization” and is one of the most important aspects of mobile apps today.  
  • No Observability Strategy: Observability is a step up from traditional mobile application monitoring. Beyond tracking crashes and errors, observability gives your team a full context of sessions where errors occurred so that you may fix the issue quickly. This feature is generally not available on legacy development platforms.  
  • Restricted Scalability: As an application gains popularity, it attracts more users resulting in more requests to handle. When creating an e-commerce app, it is suicidal to limit its technical functions due to the scale it may achieve. It’s better to provide and test for ample scalability from the outset rather than suffer from a frozen application afterward. Scalability is often severely restricted on legacy platforms and 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 Speed  

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:  

  • Microservices: A set of maintainable, testable, and scalable pieces of business functionality that are independently developed, deployed, and managed.  
  • API-First: All system functionalities are exposed through APIs that are consumed by a variety of clients and services, such as web apps, sites, mobile applications, POS systems, and more.  
  • Cloud-Native: Apps and services are created to leverage the full capabilities of the cloud computing delivery model, designed, developed, and managed in and for the cloud.  
  • Headless: The user experience (what the customer sees) is decoupled from the backend services, allowing businesses to deliver solutions to various devices through a multichannel environment efficiently and cost-effectively.  

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:  

  • Faster time to market  
  • Increased efficiency, and  
  • Lightning-fast innovation  

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:  

  • New development  
  • Development of the existing components  
  • Integration scope  

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.

Sample SFCC Mobile App Project Scope

The Existing Development Scope  

Boxes in blue represent the existing development scope. In this example, we show SFCC supplying daily product information.   

Integration Scope  

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. 

Conclusion   

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.