原创: Juha Wiredcraft
When dealing with Enterprise architectures, you’re often faced with a plethora of systems and data silos that don’t talk to each other; think OMS, WMS, PCM, ERP, analytics platforms, CRM, CMS…
当处理企业架构时候,你会经常面临繁杂的系统和数据仓库无法相互连接;比如说订单管理系统(OMS), 仓库管理系统(WMS), 通讯管理系统(PCM), 企业资源计划系统(ERP), 分析平台, 客户关系管理系统(CRM),内容管理系统(CMS)…
Add to this uneven levels of sophistication, format or reliability and you’re left with an integration mess as soon as you need to build cross-channel applications, which is often the case with consumer facing experiences.
我们经常会与我们的客户遇到这类问题:一旦当你需要构造跨渠道应用时,这些层次不齐的素质,格式或可靠性会让你的整合工作变得一塌糊涂。
Middleware systems act as the glue that ties all these systems and buckets of data together, and offer a convenient and consistent interface for developers to build consumer facing apps.
中间件系统表现的像是一个胶水,将这些系统和数据仓库粘合在了一起,与此同时,它为开发者在构建消费者类应用时,提供了一个便捷且保持一致性的交互界面。
Since we exclusively work with MNCs, that’s a lot of what we do.
仅仅是我们与各大跨国公司一起工作,我们有做过诸如此类的工作。
Whether it’s Burberry, Nike, Hilton or Starbucks, we’ve had to develop middleware systems to help us get things done and deliver modern apps that span across multiple channels and scale to tens of millions of users.
无论是Burberry,耐克,希尔顿或星巴克,我们必须开发中间件系统去帮助我们完成项目并交付现代化的应用. 这些应用横向分布在各类渠道,覆盖了数以千万的用户。
Let me share a few of the learnings we picked up along the way.
让我来分享一些我们在项目过程中的心得。
Common Problems and Anti-Patterns
普遍的问题及反优化措施
**
- The Black box. Some vendor (or internal team) built an API a while ago, and the development of the digital strategy has since stagnated. Making any change is hard and slow, and nobody really knows how the system works or how to integrate with it. This slows down any further innovation.
- 黑箱:当一些供应商(也许是内部团队)早些时候构建的一个API,以及数字化策略开发已经变得杂乱. 这时候如果你想做出改变将会非常困难及缓慢。并且,没有人真正了解系统是如何工作的,或想着它是如何整合起来的。这将会延缓往后任何形式的创新
- Single Channel System. The whole system is built around one specific channel (often the website). Support for any additional channel is done as a one-off and requires an outsized investment of time and resources every single time.
- 单个渠道系统:整个系统是围绕一个具体的渠道展开的(通常会是网站)。这类情况下,若要支持其他的渠道,这将会是一锤子买卖,并且需要巨额的时间和对应时间的资源投入。
- Closed System. The system doesn’t have open APIs and is close to impossible to integrate with other systems, be it data or features. This often leads to resilient data silos.
- 封闭系统:这类系统没有开放的接口,并且这将会逐渐导致它无法整合其他系统的数据或特性——通常这些数据或特性会使得数据仓库更富有弹性.
If you work with a large organization, you’ll likely run into multiple instances of these anti-patterns, and will need to deal with it in a sustainable way.
如果你与一些大型组织工作,你或多或少会陷入这种反优化措施的案例中。通常你需要需要以可持续化的方法去处理它.
So let’s look at what we usually build around these systems.
好了,那就让我们来看下我们如何针对这些系统做优化的。
Patterns that we follow and recommend
我们遵循并推荐的优化措施
**
- Omnichannel (it’s in the name!). We design our middleware systems to be channel agnostic. If you use it to build your website, you’ll be able to use the same components and features to support your iOS app or your WeChat mini-program, with minimal changes required.
- 整合渠道:我们设计的中间件系统不是为具体的渠道设计的。如果你用它构建你的网站,你也可以使用同样的组件和特性去支持你的iOS应用或你的微信小程序,几乎不需要修改
- API driven components. We make data and features accessible through standard interfaces for other components to leverage. This prevents data fragmentation and encourages feature re-use.
- API驱动的组件: 通过标准化的交互界面,我们使数据和特性变得容易获得。同时,这套标准也方便其他组件利用。这防止数据崩溃,并鼓励特性重复利用
- Microservices **architecture**. We set clear responsibilities for each component and no direct coupling between them (no shared databases for example). Separation of concerns is a must for maintainability, scalability and extensibility.
- 微服务架构:我们清楚地划分每个组件所负责的内容,并且相互之间没有依赖关系。隔离上的考量是必要的,这有利于系统的可维护性,可拓展性和可扩容性。
- Open Cooperation and technology partnership. We openly work with our clients on digital strategy, roadmap and development to guarantee that everything is aligned when it comes to the middleware. We need to know what’s coming, to know what we should focus on and how we avoid blockers.
- 开放合作和科技协作关系:我们开诚布公地与我们的客户进行合作,并确保所有关于中间件的数字化策略,规划及开发上的意见能与他们保持一致。
- Start Simple. We almost always scale back our client’s expectation for the first release. You should concentrate on the most critical problems first and use that first phase to assess the gaps and challenges of your existing infrastructure, as well as aligning the team on more complex integration patterns or features that may come in the next phases.
- 循序渐进: 我们几乎总是在第一次发布上控制并降低客户过高的预期。你应该首先集中注意那些关键问题,并利用第一阶段评估已有基础设施与计划的差异及面对的挑战。与此同时,将更多复杂的整合优化或特性在下一阶段完善,在这一点上,我们会与客户的团队保持一致。
This is the secret sauce
这里是秘诀
These are simple points, but often the simple things are the hard ones.
这些观点都非常简单,但是越简单的东西往往越难执行。
Our middleware approach is usually key in helping large organizations move faster and remain agile without sacrificing scalability or security.
我们中间件的方法重点经常在于帮助大型组织企业更快更敏捷地运行,并且在不牺牲可拓展性或完全性的前提之上。
While seemingly boring on the surface, this often is the “secret sauce” that has allowed us to help some of the largest organizations in the world innovate faster in China, from Starbucks to Burberry.
表面看起来非常无聊,但是,从星巴克到Burberry的项目来看,这经常是我们帮助这些大型企业在中国快速创新的秘诀。
If you need help accelerating your digital roadmap in China, just drop us a line or come to one of our workshops.
[这是广告] 翻译略
