场景介绍
在现代物流中,能够实时跟踪包裹信息,尤其是包裹重量,是非常重要的。在这种场景中,我们可以使用称重设备获取包裹的信息,然后实时将这些信息同步给 Mendix 开发的 App,并在 App 的页面上实时显示包裹信息。这种实时的、无缝的信息同步提供了一个更好的用户体验,增强了物流服务的效率和准确性。
WebSocket 简介
WebSocket 是一种网络通信协议,提供了全双工的通信通道。与 HTTP 不同,WebSocket 保持连接开放,允许数据在客户端和服务器之间实时双向传输。这使得 WebSocket 成为实现实时应用的理想选择。
WebSocket 场景应用
WebSocket 在实际开发中被广泛应用,这主要是因为它支持全双工通信,能够在客户端和服务器之间提供实时、双向的数据交换。以下是一些使用 WebSocket 的实际开发场景:
-
实时消息应用:例如聊天应用或社交媒体平台,需要实时地将消息从一个用户发送到一个或多个其他用户。WebSocket 可以实现用户间的实时通信,且不需要频繁地进行服务器轮询。
-
多人在线游戏:在实时多人游戏中,如射击游戏或角色扮演游戏,玩家之间的行为和位置需要实时同步。WebSocket 提供了低延迟、高效的数据传输方式。
-
实时数据同步:例如在金融交易平台,股票价格、交易量等数据需要实时更新。或者在物流系统中,实时追踪包裹的位置信息。
-
协同编辑工具:如Google Docs 或在线白板应用,允许多个用户同时编辑一个文档,需要实时地将每个用户的编辑同步到其他所有用户。
-
在线教育或直播:在线教育平台或直播应用,需要将教师或主播的视频、音频或互动信息实时传输给所有的观看者。
-
物联网(IoT)应用:例如智能家居系统,需要实时接收和处理来自各种设备(如灯光、空调、安全系统等)的数据。
-
实时运营分析:例如电商网站或应用,可以使用 WebSocket 技术实时展示用户行为、网站流量、销售数据等,以便运营人员做出快速决策。
以上场景都需要实时、高效的数据交换,这正是 WebSocket 所擅长的。
在 Mendix 中实现实时称重场景
在 Mendix 中,我们可以逐步构建实现实时称重场景的应用。下面是实现此场景所需的步骤:
- 项目创建: 首先,在 Mendix Studio Pro 中创建一个新的项目,为我们的称重应用提供基础架构。
- 选择一个空白的项目作为模板,参考下图:
- 创建项目,参考下图:
- WebSocket 组件下载: 接着,从 Mendix App Store 下载 WebSocket 模块。这个模块将帮助我们建立和管理 WebSocket 连接。
本次场景使用的组件是,(EZ Websocket),如下图:
- 数据模型构建: 接下来,构建一个数据模型来表示我们的包裹信息。数据模型可能包含包裹的重量,扫描时间等属性。
- 创建 【包裹】和【称重设备】的数据实体,如下图:
- 页面构建: 使用 Mendix 的页面编辑器构建一个页面,用于实时显示包裹信息。你可以使用数据视图和数据网格小部件来展示数据。
- 创建扫描之后的包裹页面,用于实时显示包裹的信息,如下图:
- 配置EZ Websocket client,用于实时显示包裹的扫描信息,如下图:
Websocket identifier: websocket 的server endpoint
Object Id:用于标识需要实时更新的对象唯一ID,
Action configuration:添加Trigger 微流,通过这个微流来更新数据。
- 下面是Refresh 微流的截图:
- API编写: 在后端,编写一个API,通过这个API我们能够从称重设备获取数据。
- Rest API 的结构如下:
- 称重设备需要返回的API数据结构如下图:
- API 的业务逻辑如下:
- 业务逻辑实现: 使用 Rest API,创建一个 API,用于称重设备连接,然后将称重包裹信息通过API返回给Mendix 的APP,最后在应用的页面中实时显示包裹信息。
- 具体的调用逻辑流程如下图:
- 包裹数据通过API调用之后,使用EZ Websocket的notify组件通知监听的客户端。
微流如下图:
- Notify组件配置如下图:
- 场景演示: 在完成所有设置后,现在可以运行你的 Mendix 应用并进行测试。当你的设备开始扫描和称重包裹,你应该能在 Mendix 应用中看到包裹信息的实时更新。
通过以上步骤,我们在 Mendix 中成功实现了实时称重场景,使用户能够在 App 中实时看到最新的包裹信息。
技术点
在这个称重信息实时同步的场景中,我们运用了许多技术设计点,包括:
数据模型构建:我们使用 Mendix 的数据模型构建工具来定义和管理包裹信息。这是一个关键的步骤,因为数据模型定义了我们在整个应用中如何存储和处理数据。
UI页面构建:使用 Mendix 的页面编辑器,我们创建了一个用户友好的、交互性强的用户界面,用户可以在这里实时查看到包裹信息。
WebSocket组件使用:通过在 Mendix 中引入 WebSocket 组件,我们成功地创建了一个与称重设备的实时连接。这使我们可以实时接收到设备发送的包裹信息,并立即在页面上展示出来。
API开发:我们开发了一个 API 用于从称重设备获取数据。这个 API 的开发是实现实时数据同步的关键,它为称重设备提供了一种将数据发送到我们应用的方式。
这些技术设计点的应用,使得我们能够成功实现实时称重场景,展示了 Mendix 平台强大的开发和定制能力。
总结
通过采用WebSocket,我们实现了从称重设备到Mendix应用的实时数据推送,提升了用户体验并提供了无缝的包裹跟踪解决方案。这种实时性对于很多业务场景都是非常重要的,尤其是对于物流业务,它需要准确、快速地反馈包裹信息。
Mendix作为一个低代码开发平台,为我们提供了构建此类应用的能力。我们利用Mendix中的数据模型工具、页面编辑器、WebSocket组件和API开发工具,构建了完整的实时称重应用。这反映出Mendix的强大开发和定制能力,能够快速响应业务需求,加快应用开发和部署。
总的来说,WebSocket在物流业务中的应用以及Mendix的快速开发能力,共同推动了业务流程的优化和效率提升。这也再次证明了实时数据同步对于提升业务效率、优化用户体验的重要性。
最后
✏✏欢迎大家留言交流,✉ 有需要的的小伙伴可以留下邮箱,我们可以将这个场景的Demo 文件发给大家。谢谢😚!!
关于Mendix公司
在“数字优先”时代,客户希望自己的每一项需求都得到预期,员工希望利用更高效的工具来完成各自的工作,而企业深知,全面实施数字化转型是生存和成功的关键。作为西门子Xcelerator平台的低代码引擎,Mendix正在迅速成为推动企业数字化发展的首选应用程序开发平台。Mendix公司通过其业界领先低代码平台、专业的合作伙伴网络以及广泛的市场,为各种高级技术解决方案提供支持,从而帮助客户提高参与度、简化运营并缓解IT僵局。Mendix建立在抽象化、自动化、云和协作的基础之上,极大地提高了开发人员的生产力,并支持业务技术人员通过提供其特定领域的专业知识和指导,与开发人员共同创建应用程序。Mendix让企业能够以前所未有的速度构建应用程序、促进IT团队与业务专家之间开展有意义的协作,并帮助IT团队保持对整个应用程序环境的控制。作为一直被领先的行业分析师视为“领军者和远见者”的低代码平台,Mendix是云原生的、开放的、可扩展的、敏捷的,并且经过实践验证。从人工智能和增强现实,到智能自动化和原生移动,Mendix和西门子Xcelerator已成为“数字优先”企业的中坚力量。Mendix已被46个国家的4000多家企业采用,并建立了由30多万名开发人员组成的活跃社区,这些开发人员使用该平台创建了20多万款应用程序。