Появление в AWS общедоступной клиентской платформы Smithy-Java
Сегодня AWS объявляет о появлении общедоступной версии Smithy-Java – платформы Java с открытым исходным кодом для генерации типобезопасных клиентов и автономных классов на основе моделей Smithy. Платформа Smithy-Java закрывает одну из наиболее востребованных потребностей корпоративных пользователей Smithy – генерацию пакетов средств разработки ПО (SDK) производственного класса на языке Java. Платформа генерирует клиенты непосредственно на основе моделей, сокращая объем кода, который необходимо писать и поддерживать разработчикам. Кроме того, она позволяет избежать сложных асинхронных шаблонов за счет использования виртуальных потоков, что уменьшает когнитивную нагрузку на специалистов при разработке современных Java-приложений.
Платформа Smithy-Java предоставляет API-интерфейс блокирующего типа на основе виртуальных потоков Java 21, который проще в использовании, чем сложные асинхронные решения, и при этом сопоставим с ними по производительности. Ключевыми преимуществами платформы являются автоматически генерируемые типобезопасные клиенты Smithy и гибкая поддержка протоколов, позволяющая осуществлять постепенную миграцию между ними за счет возможности их замены во время выполнения. Общедоступная версия включает генератор клиентского кода Java, поддержку AWS SigV4 и всех основных протоколов AWS (AWS JSON, REST-JSON, REST-XML, AWS Query и Smithy RPCv2-CBOR), генерацию кода автономных типов для многократного применения типов в разных сервисах или для моделирования данных, а также динамический клиент, который может обращаться к сервисам Smithy, пропуская этап генерации кода.
Эта платформа впервые использует два архитектурных новшества: сериализацию на основе схем, которая уменьшает размер SDK при одновременном увеличении производительности, и бинарные диаграммы решений (БДР) для правил разрешения адресов, которые обеспечивают значительное снижение задержек. С помощью платформы Smithy-Java внутренние команды Amazon уже создавали полноценные сервисы для внутренних отделов обслуживания, тратя на это несколько недель, а не месяцев, как раньше. Платформа идеально подойдет организациям, уже использующим экосистему Smithy, специалистам, которым необходима разработка без привязки к протоколам, и разработчикам, создающим новые сервисы на основе генерируемых образцов.
Подробнее см. нашу публикацию блога и Краткое руководство по Smithy-Java.