在Shopify建立一个商业系统集成和自动化平台
Companies organize and automate their internal processes with a multitude of business systems, Shopify, Salesforce, HubSpot, Airtable, Netsuite, Google Sheets and many more. Since companies function as a whole, these systems need to be able to talk to one another. At Shopify, we took advantage of Ruby, Rails, and our scale with these technologies to build a business system integration solution.
公司通过众多的商业系统来组织和自动化其内部流程,Shopify、Salesforce、HubSpot、Airtable、Netsuite、Google Sheets等等。由于公司作为一个整体运作,这些系统需要能够相互交流。在Shopify,我们利用Ruby、Rails以及我们在这些技术上的规模来建立一个商业系统集成解决方案。
The Modularization of Business Systems
业务系统的模块化
In step with software design’s progression from monolithic to modular architecture, business systems have proliferated over the past 20 years, becoming smaller and more focused. Software hasn’t only targeted the different business domains like sales, marketing, support, finance, legal, and human resources, but the niches within or across these domains, like tax, travel, training, documentation, procurement, and shipment tracking. Targeted applications can provide the best experience by enabling rapid development within a small, well defined space.
随着软件设计从单体到模块化架构的发展,业务系统在过去的20年里不断增加,变得越来越小,越来越集中。软件不仅针对不同的业务领域,如销售、营销、支持、财务、法律和人力资源,还针对这些领域内或跨领域的利基,如税务、旅行、培训、文档、采购和货物跟踪。有针对性的应用程序可以在一个小的、定义明确的空间内实现快速开发,从而提供最佳体验。
The Gap
差距
The transition from monolithic to modular architecture doesn’t remove the need for interaction between modules. Maintaining well-defined, versioned interfaces and integrating with other modules is one of the biggest costs of modularization. In the business systems space, however, it doesn’t always make sense for vendors to take responsibility for integration, or do it in the same way.
从单片机到模块化架构的过渡并没有消除模块之间互动的需要。维护定义良好的版本化接口并与其他模块集成是模块化的最大成本之一。然而,在商业系统领域,供应商承担整合的责任,或以同样的方式进行整合,并不总是合理的。
Business systems are built on different tech stacks with different levels of competition and different customer requirements. This landscape leads to business systems with asymmetric interfaces (from SOAP to FTP to GraphQ...