Share E-Book
Scan to open this page

Scan with your phone to open this page

Author: 【德】贝恩德·吕克尔

Rating No ratings yet

本书基于作者在流程自动化领域20年的实践经验,全面而系统地展示如何应用流程自动化模型、方法和工具来解决微服务和云原生架构的复杂性。 书中首先讲述流程自动化如何应用于现代系统架构和软件开发实践;然后研究工具要具备什么样的支持度才能成为每个开发者工具箱的重要组成部分;最后通过示例展示一个轻量且开发者友好的工作流引擎是实现流程自动化的核心组件。

AI Reading Assistant

Whole-book reading guide from stratified index samples; jump to passages in the text

AI guide
【One-Line Pitch】 A developer-first guide to process automation that shows how a lightweight, embeddable workflow engine—not a heavyweight low-code suite—can tame the integration chaos of microservices and cloud-native systems. Best for software developers, architects, and technical leads who want durable state, retries, and long-running orchestration without leaving their normal coding, testing, and CI/CD workflow. 【Book Arc】 - **Opening (~0%–10%)**: Frames process automation as the core of digital transformation, distinguishes automating control flow from automating tasks, and introduces the workflow engine as the answer to "wild integration" sprawl. - **Early (~10%–32%)**: Defines what a workflow engine is, contrasts it with legacy SOA/ESB and BPM suites, and argues why low-code platforms fall short for complex, developer-owned processes. - **Middle (~32%–55%)**: Moves into hands-on territory—BPMN basics, how executable process models are deployed and wired to glue code, and a runnable Java/Spring Boot example on a cloud-hosted engine. - **Late (~55%–80%)**: Explores the breadth of use cases (human tasks, robots, software orchestration, decisions), advanced patterns for distributed systems, and architectural trade-offs like centralized vs. embedded engines. - **Ending (~80%–100%)**: Consolidates guidance on business-IT collaboration, monitoring and analytics, and how to choose and adopt a lightweight workflow engine as a standard developer tool. 【Key Takeaways】 - **Control-flow automation ≠ task automation** (Early): The book's foundational distinction—engines orchestrate the sequence and state of tasks while individual tasks may remain human or machine work. - **Long-running processes demand persisted state** (Early): Because processes wait minutes to months across service, team, and company boundaries, engines must store state and resume on events rather than block threads. - **Legacy BPM/SOA failed developers** (Early): Centralized ESBs and vendor-driven BPM suites broke CI/CD, coupled infrastructure with business logic, and forced proprietary skills—lessons that shape modern tool selection. - **Low-code is not a substitute for development** (Early): It suits simple flows but collapses under complex business or integration scenarios; the real win is combining graphical models with ordinary code. - **A process solution is more than a model** (Middle): Models, glue code, forms, and tests together form the solution, typically packaged as a normal project and deployed through existing pipelines. - **BPMN is both source code and documentation** (Middle): Its XML-plus-visual duality lets technical and non-technical stakeholders read the same artifact, enabling genuine business-IT collaboration. - **Engines solve distributed-system pain** (Middle): Retries, timeouts, compensation, and orchestration of microservices are handled declaratively instead of hand-rolled in every service. - **Choose lightweight, developer-friendly engines** (Late): Open-source or cloud-native options that embed in your language and stack outperform heavyweight platforms for most modern architectures. 【Reading Tips】 - Read Chapters 1–2 closely for the conceptual foundation and the runnable example; run the sample code yourself to internalize how models, glue code, and engine interact. - Skim the BPMN notation details in Chapter 3 if you already know the standard—focus instead on how models connect to code and how they are tested and deployed. - Treat the SOA/BPM/low-code critique as decision criteria: use it to evaluate tools in your own organization rather than as historical trivia. - Pay special attention to the use-case survey and distributed-systems patterns; these are where you will find ideas that map to your own projects. - Keep the business-IT collaboration and monitoring chapters for last if you are purely technical, but revisit them before proposing adoption to stakeholders. 【Coverage Limits】 This guide is based on stratified excerpts covering roughly the first half of the book plus chapter summaries; later chapters on advanced distributed-system patterns, detailed decision modeling, and operational monitoring are only partially represented, so specific techniques there are not fully captured.
Excerpt 1
任务自动化,可以自动扩缩容,以及缩减了运营开支。 在接下来的20年中,我所见过的行业,其核心流程和支持流程都是自动化的。我看到NASA在地球上使用流程自动化系统处理火星机器人返回的数据,再将控制信号发送到太空中。我看到过保险公司的自动出险理赔系统,通过应用程序上报事故并完全自动处理这些报告。我还看到过流程自动化技...
View in text
Excerpt 2
然如此脆弱?这让Ash那优雅、简洁的代码显得过于天真了!不过问题不大,Ash添加了一些代码,用于在服务不可用时重试调用。又多聊了一会,这位同事透露,那个外部服务的故障状态有时会持续几个小时。于是,Ash需要想出一种支持等待时间更长的重试方法。但这过于复杂,涉及状态处理还要使用调度器(scheduler)!因此,A...
View in text
Excerpt 3
且轻量的工作流引擎,可以很好地集成到常见的开发实践中去解决通用的问题。 新一代的工具通常是开源的或者是作为云服务提供的。它们以开发者为目标用户,支持他们面对本章前面描述的那些挑战。这些工具提供了真正的价值,帮助我们的行业持续向前发展。 1 . 9 . 2   C a m u n d a 的 故 事 作为联合创始人...
View in text
Excerpt 4
以提高隔离度。特别是在使用微服务时更当如此,正如6.2.2节中所述。 比如,负责订单履约的团队可能会维护一个工作流引擎。他们不愿意与支付团队共享一个引擎,甚至希望与支付团队所做的任何事情都能隔离开——不过这个引擎不仅仅只有订单履约服务在用,订单取消服务也会连接到它。两个服务都部署自己的流程定义。这个例子如图2-1...
View in text
Excerpt 5
作流引擎以任务的粒度进行等待。例如,如果附加到一个任务的胶水代码调用两个远程服务,则只有在两个调用都成功时,你才能继续。但是,如果你设计了两个服务任务,每个任务只进行一个远程调用,则工作流引擎可以记住一个服务调用已经成功执行,只需重试另一个。 参 与 者 需 要 定 期 讨 论 什 么 你需要定期与其他参与者讨论...
View in text
Excerpt 6
同时,你必须删除组件之间的硬连接。例如,添加新用户时不应再由CRM组件调用计费组件,最好通过新的(微)服务操作这个连接。图4-6展示了这个方案。 图4-6:流程可以逐步移除隐藏在单体架构中的连接 这种项目通常不太容易处理。虽然这有点像新瓶装旧酒,但为了解构单体架构和提高灵活性,这正是朝着正确方向迈出的第一步。如果...
View in text
Excerpt 7
和导致它故障的记录,但没有显示这条记录是如何产生的,为什么它会包含这些奇怪的数据,这条记录在下游应该进行什么操作,等等。第三,通常并不清楚如何清理失败的批处理作业,也不知道如何恢复到原始状态以保证一致性。简而言之:运维人员不知道流程全貌。这使得分析问题、解决问题变得非常困难。 ·流程不可见,因为它隐藏在一个个批处...
View in text
Excerpt 8
方法。最简单的方法是像BPMN那样创建一个包含图形信息的流程模型。记住,专有的符号限制了可视化在与其他角色协作时的价值。就此而言BPMN真的是一个不错的选择。 另一种方法是基于流程模型自动生成可视化内容,这种模型甚至只能以文本形式使用,如下一节所述。遗憾的是,自动生成的可视化内容通常很难理解。 5 . 2 . 3...
View in text
Tags
AI categories
DevOpsCloud NativeSoftware
Publish Year: 2023
Language: English
File Format: EPUB
File Size: 28.6 MB