详细内容或原文请订阅后点击阅览
Java 开发人员的困境:第 3 部分
这是 Markus Eisele 的三部分系列的最后一部分。第 1 部分可在此处找到,第 2 部分可在此处找到。在第一篇文章中,我们探讨了 Java 开发人员的困境:华而不实的原型与企业生产系统的现实之间的差距。在第二篇文章中,我们探讨了为什么新型 [...]
来源:O'Reilly Media _AI & ML在第一篇文章中,我们探讨了 Java 开发人员的困境:华而不实的原型与企业生产系统的现实之间的差距。在第二篇文章中,我们探讨了为什么需要新型应用程序,以及人工智能如何改变企业软件的形态。本文重点讨论这些变化对架构意味着什么。如果应用程序看起来不同,我们构建它们的方式也必须改变。
传统 Java 企业堆栈
企业 Java 应用程序始终与结构有关。典型的系统构建在一组层上。最底层是持久性,通常使用 JPA 或 JDBC。业务逻辑在其之上运行,强制执行规则和流程。顶部是向外界公开服务的 REST 或消息传递端点。事务、安全性和可观察性等横切关注点贯穿整个堆栈。事实证明,该模型经久耐用。它将 Java 从早期的 servlet 时代带到了 Quarkus、Spring Boot 和 Micronaut 等现代框架。
夸库斯 Spring Boot 微型机器人这种架构的成功来自于清晰性。每一层都有明确的职责。该应用程序是可预测和可维护的,因为您知道在哪里添加逻辑、在哪里实施策略以及在哪里插入监控。添加人工智能并不会删除这些层。但它确实增加了新的,因为人工智能的行为不符合确定性软件的简洁假设。
人工智能应用程序中的新层
验证和护栏
这就是验证和护栏的用武之地。它们在模型和应用程序的其余部分之间形成了一个新的架构层。护栏可以采取不同的形式:
架构验证: 策略检查: 范围和类型强制: