AWS、言語やプロトコルに依存しないインタフェース定義言語(IDL)「Smithy」をオープンソースで公開
AWSが、言語やプロトコルに依存しないインタフェース定義言語(IDL)「Smithy」をオープンソースで公開。Smithyを用いてAPIを定義すると、さまざまなプログラミング言語に対応したAPIのソースコードとドキュメントが生成される仕組み。正確で確実に相互連携を可能にするソフトウェアの開発が容易になると期待される。
この記事は新野淳一氏のブログ「Publickey」に掲載された「AWS、言語やプロトコルに依存しないインターフェイス定義言語(IDL)『Smithy』をオープンソースで公開」(2019年6月25日掲載)を、ITmedia NEWS編集部で一部編集し、転載したものです。
クラウド時代のアプリケーションは、複数のソフトウェアがAPIを通じて連携するアーキテクチャが主流になると考えられています。そのため、さまざまなソフトウェアにおいて正確かつ確実にAPIを実装することの重要性が高まっています。
AWSは、このAPIを定義する言語、またはその定義からAPIを実装するコードを生成するツールからなる「Smithy」β版をオープンソースとして公開しました。
SmithyのWebサイトから、その説明を引用しましょう。
Smithy is a protocol-agnostic interface definition language and set of tools for building clients, servers, and documentation for any programming language.
Smithyはプロトコルに依存しないインタフェース定義言語(IDL:Interface Definition Langugae)と、どんなプログラミング言語にも対応したクライアントやサーバ、ドキュメントなどを生成する一連のツールです。
つまりSmithyを用いてAPIを定義すると、そこからさまざまなプログラミング言語に対応したAPIのソースコードとドキュメントが生成されるわけです。それによって正確で確実に相互連携を可能にするソフトウェアの開発が容易になると期待されます。
SmithyはAWSの内部でIDLとして10年ほど使われてきたものをベースとしていると、次のように説明されています。
Smithy is based on an interface definition language that has been widely used within Amazon and AWS for over a decade.
SmithyはAmazonとAWSの内部で10年ほど広く使われてきたインタフェース定義言語をベースとしています。
プロトコルとプログラミングに依存しないことが大きな特徴
Smithyの大きな特徴は、プロトコルやプログラミング言語に依存しない点でしょう。
例えばIDLとして知名度が高く、実際に多く使われてもいるOpen APIは、RESTful APIのためのIDLとされています。
【参考記事(Publickey)】:RESTful APIの記述標準化を目指す「Open API Initiative」をマイクロソフト、Google、IBMらが立ち上げ。Swaggerをベースに
アプリケーション間で使われるプロトコルにはその他にもgRPCやGraphQL、MQTT、古くはXMLをベースにしたSOAPなど、さまざまなものがあります。
大型のアプリケーションであれば、こうした複数のプロトコルをそれぞれ適切な場所において適切な形で使い分けることになるでしょう。また、アプリケーションを開発するチームごとに得意なプログラミング言語や適切なフレームワークを用いることになるでしょう。
Smithyが単体でこうしたさまざまなプロトコル、プログラミング言語でAPIを実装することをカバーするとすれば、非常に有効なIDLとツールになるはずです。特に大規模な組織で開発を行っている企業などでは、定義とツールを一元化できる意義は大きいでしょう。
AmazonとAWSがSmithyのベースとなった技術を開発したのも、自社の大規模開発におけるこうしたツールのニーズが高かったためであることは間違いないと思います。
ただし、現状の公開されているSmithyはまだβ版のためか、どのプログラミング言語に対応しているのか具体的な説明は見つからず、またGitHubのリポジトリ内のコードをざっと見たかぎりでは、ツールのコードもまだ全てがそろっているわけではなさそうです。
今後のSmithyの成熟によって実際にどこまでカバーされるのか、注目されます。
関連記事
- 「君、今日からクラウド担当ね」 未経験者が1人で始めた、ファミマのAWS移行の舞台裏
「AWS Summit Tokyo 2019」のセッションに、ファミリーマートでクラウド移行の責任者を務める土井洋典さんが登壇。土井さんは、前任者が突然退職したため、ある日突然上司からクラウド担当を任された経験を持つ。たった1人でのスタートだったというが、どうやってAWS移行を成功させたのだろうか。 - PayPay“100億円祭”の裏側で何があったのか システム障害と苦闘したエンジニア
PayPayで昨年12月に展開した「100億円あげちゃうキャンペーン」。その間、ユーザー数の増加に伴い、PayPayのシステムは不安定な状態に。押し寄せる膨大なアクセスに、PayPayのエンジニアはどのように対応したのか。 - 名刺管理のSansan、「ほぼ手作業」だったデータ入力はどう進化した? CTOが語った軌跡
「AWS Summit Tokyo 2019」のセッションに、Sansanの藤倉成太CTO(最高技術責任者)が登壇。創業時(2007年)から現在までの歩みを振り返った。かつてはオペレーターが名刺情報を手入力していた同社は、データ化の手法をどう進化させてきたのか。 - 京大、業務系システムをクラウドに全面移行 AWS、G Suiteなど導入の舞台裏
京都大学が業務系システムをAWSに全面移行。グループウェア、教職員用のメールなど情報系システムも、サイボウズの「Garoon」「kintone」、Googleの「G Suite」に切り替えた。
関連リンク
Copyright © ITmedia, Inc. All Rights Reserved.