プログラミングAWS、言語やプロトコルに依存しないインターフェイス定義言語(IDL)「Smithy」をオープンソースで公開2019年6月25日クラウド時代のアプリケーションは、複数のソフトウェアがAPIを通じて連携するアーキテクチャが主流になると考えられています。そのため、さまざまなソフトウェアにおいて正確かつ確実にAPIを実装することの重要性が高まっています。AWSは、このAPIを定義する言語、およびその定義からAPIを実装するコードを生成するツールからなる「Smithy」ベータ版をオープンソースとして公開しました。SmithyのWebサイトから、その説明を引用しましょう。Langugae)と、どんなプログラミング言語にも対応したクライアントやサーバ、ドキュメントなどを生成する一連のツールです。Smithyを用いてAPIを定義すると、そこからさまざまなプログラミング言語に対応したAPIのソースコードとドキュメントが生成されるわけです。それによって正確で確実に相互連携を可能にするソフトウェアの開発が容易になると期待されます。SmithyはAWSの内部でIDLとして10年ほど使われてきたものをベースとしていると、次のように説明されています。decade.SmithyはAmazonとAWSの内部で10年ほど広く使われてきたインターフェイス定義言語をベースとしています。プロトコルとプログラミングに依存しないことが大きな特徴Smithyの大きな特徴は、プロトコルやプログラミング言語に依存しない点でしょう。APIのためのIDLとされています。Initiative」をマイクロソフト、Google、IBMらが立ち上げ。Swaggerをベースにアプリケーション間で使われるプロトコルにはそのほかにもgRPCやGraphQL、MQTT、古くはXMLをベースにしたSOAPなど、さまざまなものがあります。大型のアプリケーションであれば、こうした複数のプロトコルをそれぞれ適切な場所において適切な形で使い分けることになるでしょう。アプリケーションを開発するチームごとに得意なプログラミング言語や適切なフレームワークを用いることになるでしょう。Smithyが単体でこうしたさまざまなプロトコル、プログラミング言語でAPIを実装することをカバーするとすれば、非常に有効なIDLとツールになるはずです。大規模な組織で開発を行っている企業などでは、定義とツールを一元化できる意義は大きいでしょう。AmazonとAWSがSmithyのベースとなった技術を開発したのも、自社の大規模開発におけるこうしたツールのニーズが高かったためであることは間違いないと思います。現状の公開されているSmithyはまだベータ版のためか、どのプログラミング言語に対応しているのか具体的な説明は見つからず、またGitHubのリポジトリ内のコードをざっと見たかぎりでは、ツールのコードもまだすべてが揃っているわけではなさそうです。今後のSmithyの成熟によって実際にどこまでカバーされるのか、注目されます。12.0」リリース、1年ぶりのメジャーアップデート。≪前の記事ソラコムは、AWS上にミッションクリティカルなシステムをどう構築し、運用しているのか。Niino(jniino)IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。2.7サポートを発表Google、Lookerの買収完了を発表。Enterprise、BtoBスタートアップ向け支援プログラムで無料提供と発表。Networksの買収を正式発表。Terminal」機能確定版リリース。コマンドラインからIssueやプルリクなど実行可能に。usPublickeyについて/運営者についてお問い合わせ広告についてプライバシーポリシ。