Eclipse基金会最近发布MicroProfile 2.2,帮助开发人员开发EE 8微服务。这个版本是在Eclipse基金会接管Java EE并将其重新命名为Jakarta EE的时候发布的。
MicroProfile 2.2版本增强了对OpenTracing API的支持,帮助开发人员创建清晰的日志语句,以跟踪不同微服务之间的交互。此外,它还提高了与其他框架(如OpenAPI和RestClient)之间的互操作性,这些框架结合在一起用于构建和调用RESTful服务。通过使用这些功能,开发人员可以利用Java的静态类型系统将JSON的运行时错误转化为可通过自动化工具找到的编译错误。
来自Swagger OpenAPI小组的Keshav Vasudevan在他的博文“The Benefits of OpenAPI-Driven API Development”中做了详细阐述。
OpenAPI规范相对于REST,就像WSDL相对于SOAP。它为设计人员、开发人员、测试人员和DevOps提供了一个通用框架来构建和维护API。可以将规范视为一组用于构建和实现REST API的规则。OAS具有语言无关性,并且是人类和机器可读的,允许人类和计算机在无需访问源代码、附加文档或检查网络流量的情况下发现和理解服务的功能。
OpenAPI专注于人类可读的API和小型MicroProfile服务,这些服务组合在一起,可减少理解程序行为所需的工作量,引用Donald Knuth的话就是,“程序应该首先是人类可读的,然后让计算机执行”。
在之前的访谈中,Uber首席系统架构师Matt Ranny解释了类型安全接口的作用。
微服务存在很多权衡取舍,并非所有这些都是显而易见的……Uber的很多早期代码都使用了基于HTTP的JSON,因此很难验证这些接口…在转向类型安全接口过程中,他们学到的最大的教训之一是使用非类型安全的JSON字符串在服务之间交换数据需要付出非预期的成本。
Adam Bien是一名自由开发者以及“Real World Java EE Night Hacks-Dissecting The Business Tier”的作者,他最近做了一个两分钟的生产效率演示,解释了如何使用“Thin Wars、MicroProfile和Docker”来简化应用程序开发。
新的MicroProfile框架与Payara Fish、JBoss、WildFly以及IBM的OpenLiberty项目兼容。
希望尝试和测试MicroProfile服务的开发人员可以看一下新的MicroProfile Starter Beta。他们还可以通过Thorntail框架以独立模式部署MicroProfile应用程序,这是一组类似于Spring Boot的技术,将必要的组件嵌入到一个独立的可执行JAR文件中。
英文原文:https://www.infoq.com/news/2019/02/eclipse-release-microprofile-22