Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
Date
Summarized using AI?
If this talk's summary was generated by AI, please check this box. A "Summarized using AI" badge will be displayed in the summary tab to indicate that the summary was generated using AI.
Show "Summarized using AI" badge on summary page
Summary
Markdown supported
The video titled "Generating a custom SDK for your web service or Rails API" features Matt Muller, a Software Development Engineer at AWS, presenting at RubyKaigi 2024. The session focuses on creating a custom Ruby SDK for web services or Rails APIs using Smithy, a modeling language developed by AWS. Matt outlines the following key points: - **Introduction to Smithy**: Smithy is described as a protocol-agnostic modeling language that simplifies SDK generation across various programming languages. It employs shapes to define service structures and promotes easy evolution of models while minimizing breaking changes for users. - **Use Case Overview**: The session examines a hypothetical situation where a team requires a Ruby library to interact with their Rails API. Matt proposes using Smithy to generate a user-friendly SDK rather than relying on lower-level methods (e.g., using `curl`). - **Example Project**: The example presented is a high score service created using Rails. Matt walks through the steps of setting up the Rails API, generating the high score model, and verifying its responsiveness using `curl`. The foundation is then laid for creating the Ruby SDK using the Smithy model. - **Defining the Service**: The process of defining a high score service in Smithy is demonstrated, including the creation of a Smithy model file specifying service operations like create, read, update, delete, and listing high scores. Input and output shapes, error handling, and utilizing Rails' JSON protocol are discussed. - **SDK Generation and Usage**: After building the Smithy model, Matt shows how to generate the SDK and verifies its functionality through basic CRUD operations, highlighting a middleware system for handling requests and responses similar to Rack. - **Public Features**: Important features of the generated SDK include methods for operations, client configuration, error handling, and logging functionality. Specific details about types, HTTP client configuration, and the processing of both modeled and unmodeled errors are also covered. - **Advanced SDK Capabilities**: Matt elaborates on advanced features such as request retry strategies, asynchronous operations, pagination, authentication mechanisms, and the use of plugins and interceptors to enhance functionality. - **Conclusion and Engagement**: The talk concludes with an invitation for feedback on Smithy Ruby, emphasizing its open-source nature and future potential within the AWS SDK for Ruby community. Matt shares his GitHub link for resources and further exploration of the discussed topics. Overall, the presentation showcases the utility of Smithy in creating sophisticated and extensible Ruby SDKs, facilitating easier interactions with web services and APIs.
Suggest modifications
Cancel