Home / 

Early adopters of mobile app technology often chose from several mobile-specific development platforms and frameworks like PredictSpring. Using such platforms and frameworks allowed developers to rapidly produce mobile apps - 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 of Salesforce-MuleSoft integration using the MACH architecture.  

Limitations of the Existing Platforms 

Before we get into detail on the MACH architecture, you need to understand the challenges that 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 have no provision that allows you to use 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 wherein you are locked into 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 get an 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 these legacy platforms and build native iOS and Android apps that can match your website on features and integrate well with your current content management system. No API gateway or architecture can efficiently connect a mobile app to its Content Management System, Order Management System, Search Engines, and other systems. To mitigate this problem, 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 functionality is 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. All traffic between microservices must be routed efficiently and failures handled 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 

We use MuleSoft to create middleware for many of our projects and have developed over 200 microservices. 

Making the Salesforce Connection  

When choosing a suitable middleware Salesforce 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, MuleSoft Anypoint Platform and Jitterbit are the best middleware integration tools because of their flexibility. Large enterprise companies with complex integrations widely use MuleSoft, a Salesforce-owned, high-end API integration platform. It can help integrate Salesforce with other business applications, such as ERP, analytics, and data warehouse systems. MuleSoft helps build API support and applies additional integration functionality through several layers.  

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. 

Sample MACH Implementation 

Consider a web application infrastructure based on Salesforce as an example of implementing the MACH architecture. In this example, let’s assume you need to customize the existing Salesforce 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 Salesforce Commerce Cloud (SFCC) might appear. The area surrounded by a green-dashed 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 bordered in blue represent the existing development scope. In this example, we show SFCC supplying daily product information.  

Integration Scope 

Boxes bordered 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 frontend 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). 

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 we have discussed, your company can 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 a MuleSoft-Salesforce integration restores capabilities previously provided by a legacy framework and offers ample flexibility to add new features and innovations.