2ちゃんねる スマホ用 ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

【IT】AWS、言語やプロトコルに依存しないインターフェイス定義言語(IDL)「Smithy」をオープンソースで公開

1 :田杉山脈 ★:2019/06/25(火) 00:14:20.02 ID:CAP_USER.net
クラウド時代のアプリケーションは、複数のソフトウェアが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とされています。

参考:RESTful APIの記述標準化を目指す「Open API Initiative」をマイクロソフト、Google、IBMらが立ち上げ。Swaggerをベースに

アプリケーション間で使われるプロトコルにはそのほかにもgRPCやGraphQL、MQTT、古くはXMLをベースにしたSOAPなど、さまざまなものがあります。

大型のアプリケーションであれば、こうした複数のプロトコルをそれぞれ適切な場所において適切な形で使い分けることになるでしょう。また、アプリケーションを開発するチームごとに得意なプログラミング言語や適切なフレームワークを用いることになるでしょう。

Smithyが単体でこうしたさまざまなプロトコル、プログラミング言語でAPIを実装することをカバーするとすれば、非常に有効なIDLとツールになるはずです。特に大規模な組織で開発を行っている企業などでは、定義とツールを一元化できる意義は大きいでしょう。

AmazonとAWSが自社のためにSmithyを開発したのも、自身による大規模開発におけるこうしたツールのニーズが高かったためであることは間違いないと思います。

ただし、現状の公開されているSmithyはまだベータ版のためか、どのプログラミング言語に対応しているのか具体的な説明は見つからず、またGitHubのリポジトリ内のコードをざっと見たかぎりでは、ツールのコードもまだすべてが揃っているわけではなさそうです。

今後のSmithyの成熟によって実際にどこまでカバーされるのか、注目されます。
https://www.publickey1.jp/blog/19/awsidlsmithy.html

2 :名刺は切らしておりまして:2019/06/25(火) 00:17:42.34 ID:4jFzR4wM.net
CORBAの再発明?

3 :名刺は切らしておりまして:2019/06/25(火) 00:18:35.89 ID:8TCRh9Vq.net
>>2
その糞みたいなやつの話はやめてくれぇぃ

4 :名刺は切らしておりまして:2019/06/25(火) 00:21:54.50 ID:G8/Zzcgz.net
>>1

https://en.wikipedia.org/wiki/Interface_description_language

5 :名刺は切らしておりまして:2019/06/25(火) 00:21:59.66 ID:Lh6JfvMb.net
CORBAから全く進化してなくて笑った

6 :名刺は切らしておりまして:2019/06/25(火) 00:25:56.15 ID:8AXvS9e9.net
おもっくそsmithy依存やんけwwwwwwww

7 :名刺は切らしておりまして:2019/06/25(火) 00:28:31.19 ID:gVwEQ1tf.net
あくまでインターフェース定義言語。
オニオンアーキテクチャへの移行なんかが少しお手軽になる感じだろうな。

つまり、もっとAWS使ってくれって話w

8 :名刺は切らしておりまして:2019/06/25(火) 00:29:13.40 ID:8AXvS9e9.net
まーこれだけAWSがマイクロサービスのバリエーション普及させちまったから、やつらの定義するIDLが覇権を握る理屈はわかる…

だが、オープンにしてもAmazonに全部牛耳られるWebサービスの世界でええんかのぉ

9 :名刺は切らしておりまして:2019/06/25(火) 00:32:29.06 ID:G8/Zzcgz.net
>>8 >>1 >>2 >>3 >>4

客を技術的にロックインさせて独占・寡占状態を目指しているということだ

ロックインとは - IT用語辞典 e-Words
e-words.jp › ロ
May 23, 2014 - ロックイン【lock-in】とは、現在利用している製品やサービス、技術などから別の同種の
ものへの乗り換えや入れ替えが困難な状態のこと。今あるものを捨て同じ種類の別のものに切り替える
のに必要なお金や時間、手間などのことを

10 :名刺は切らしておりまして:2019/06/25(火) 00:32:49.79 ID:65KOkbZL.net
OpenAPIじゃ駄目な理由がわからん
ただの囲い込みなのか?

11 :名刺は切らしておりまして:2019/06/25(火) 00:33:06.59 ID:2XQlOG09.net
言語に依存しない言語って、ちょっと何言ってるかわからない。

12 :名刺は切らしておりまして:2019/06/25(火) 00:33:31.46 ID:sszdDrCW.net
Smithは欧米でもっとも多い姓名だ。
だからもっと多くの人に合致するという意味なんだろうか?日本だと、鈴木仕様とか佐藤言語という感じか。
うーん、AWSのセンスが気持ち悪い。

13 :名刺は切らしておりまして:2019/06/25(火) 00:35:08.04 ID:sazFjP+y.net
>>11
CSSはHTMLではない。

14 :名刺は切らしておりまして:2019/06/25(火) 00:38:45.10 ID:VIypTmlJ.net
>>2
CORBAの発展系がRESTful API
新しい技術についてこれないオッサンと自白してるようなもんですよ

15 :名刺は切らしておりまして:2019/06/25(火) 00:38:52.01 ID:gVwEQ1tf.net
>>10
ぶっちゃけ何でもいいとこだから(単なるスケルトンジェネレータ兼ドキュメント生成ツール)
権利関係が複雑になるのを避けてるんだと思うな。

16 :名刺は切らしておりまして:2019/06/25(火) 00:39:01.31 ID:wb204x9l.net
>>12
言語やプロトコルに依存しない
インターフェイス定義言語(IDL)「山田」をオープンソースで公開

うえっ…吐き気がする。

17 :名刺は切らしておりまして:2019/06/25(火) 00:40:38.77 ID:XPZhBzJu.net
>>10
後発で出す以上当然より優れた点があると思いたいな

18 :名刺は切らしておりまして:2019/06/25(火) 00:42:59.34 ID:R6sYr4iV.net
>>12
>>16

smith はもともと「鍛冶屋」「製造者」って意味なんだが。

19 :名刺は切らしておりまして:2019/06/25(火) 00:43:28.81 ID:gBHuKXfN.net
restとsocketじゃだめなんか?

20 :名刺は切らしておりまして:2019/06/25(火) 00:44:00.74 ID:KifYPmy7.net
CORBAでイイやん

21 :名刺は切らしておりまして:2019/06/25(火) 00:52:54.08 ID:mTbHWFmq.net
C#以外の言語を禁止にするだけでok

22 :名刺は切らしておりまして:2019/06/25(火) 01:09:05.10 ID:1OYV1tnw.net
アラン・スミシー(Alan Smithee)は、アメリカ映画で使われていた架空の映画「監督」の名前である。

23 :名刺は切らしておりまして:2019/06/25(火) 01:14:55.22 ID:yNXjmR2w.net
>>10
swaggerだとREST以外のAPIが書けないじゃん
mqttとかzmqとかも使ってるんで、こんなの欲しかった

24 :名刺は切らしておりまして:2019/06/25(火) 01:23:41.31 ID:R6sYr4iV.net
>>16
山田さん、吐き気は治った?

25 :名刺は切らしておりまして:2019/06/25(火) 01:38:38.76 ID:NCepOu6e.net
WSDLだって言語やプロトコルに依存しないもん!

26 :名刺は切らしておりまして:2019/06/25(火) 01:46:15.10 ID:Gjrncnln.net
個人的にはXML Schemaをそういう目的に使う事が多いな。
後はProtocol Buffers?
まぁAPI全体の表現はできないけど。
そこそこ便利だろうけどどうだろうな。
ツール群の整備度合いによる。

ともかく自然言語ドキュメントとかでAPIを定義するのは勘弁してくれ。
多少説明やコメントに残るのは当然仕方ないとはいえ。

27 :名刺は切らしておりまして:2019/06/25(火) 02:04:28.92 ID:8EvwB+qH.net
IDLって言葉聞いたのATLでOLE開発してたとき以来だな

28 :名刺は切らしておりまして:2019/06/25(火) 02:07:18.79 ID:4F4TDP+w.net
日本のITゼネコンがこういうのを使うと、
仕様書からこの言語に落とすだけの仕事ができて
オーバーヘッドと誤解を生む原因になるだけだと思う

29 :名刺は切らしておりまして:2019/06/25(火) 02:25:40.67 ID:aMZHgWWJ.net
swaggerがそれなりに流行ってきた所なのに
微妙に分裂しそうだな

30 :名刺は切らしておりまして:2019/06/25(火) 02:35:09.10 ID:wb204x9l.net
>>24
ご心配ありがとう。
ええ、わたしは元気です。

31 :名刺は切らしておりまして:2019/06/25(火) 02:54:28.28 ID:sbIYHi9r.net
XMLじゃダメなんですか!?!!

32 :名刺は切らしておりまして:2019/06/25(火) 03:40:50.14 ID:t9XQD3YC.net
アラン・スミシー

33 :名刺は切らしておりまして:2019/06/25(火) 05:55:28.98 ID:b0/GmOfu.net
スミスのモリシー。

34 :名刺は切らしておりまして:2019/06/25(火) 06:09:49.61 ID:v5PeNgyz.net
また増えるのか
どうせデバックには既存言語の知識が必要な予感

35 :名刺は切らしておりまして:2019/06/25(火) 06:10:40.95 ID:zJEsXPcv.net
これとかXMLとか、ただのシンタックスシュガーを有難がる馬鹿って多いよな

36 :名刺は切らしておりまして:2019/06/25(火) 06:25:32.85 ID:2XrIuZZc.net
SOAPのライブラリ使ってる。変更するの面倒くさい
AWS化の話しあるけどのせかえるだけでええわ

37 :名刺は切らしておりまして:2019/06/25(火) 06:46:56.20 ID:iWTbL6eY.net
つまり
メタ言語ってことだろ。プロトコルも それぞれの使用言語ごとに、それ使ったプログラムごとに 適切に選び出される。
プログラムを数珠つなぎして、ユーザーの構築したい機能を簡略化して提供する。

38 :名刺は切らしておりまして:2019/06/25(火) 06:48:27.21 ID:FquBHsYb.net
インターフェイス定義言語とXMLは別物だろ。
インターフェイス定義言語がXMLで記述されることはあるとしても。その場合、XMLのほうが下位。
日本語、英語、作文とかのルールみたいなこと。

39 :名刺は切らしておりまして:2019/06/25(火) 06:53:20.32 ID:IB7U+ozO.net
>>35
あんたバイナリ至上主義じいさんか?w

40 :名刺は切らしておりまして:2019/06/25(火) 06:56:23.60 ID:IB7U+ozO.net
言語が時代によって変遷するのはやむなしとはいえ、乱立は勘弁してほしいな…

汎用性を目指した肥大化した新言語同士の相互変換に泣くって皮肉にも程がある

41 :名刺は切らしておりまして:2019/06/25(火) 07:25:32.53 ID:YKbX5R0s.net
>>21
WebフロントエンドもC#で描くのけ?

42 :名刺は切らしておりまして:2019/06/25(火) 07:50:58.88 ID:Ap1Caq8w.net
>>14
> CORBAの発展系がRESTful API

全然別物に見えるけど…

43 :名刺は切らしておりまして:2019/06/25(火) 08:13:28.32 ID:5oeZooE4.net
>>42
ネット越しにメソッド呼び出すRMIというくくりでは合ってるんじゃない?

44 :名刺は切らしておりまして:2019/06/25(火) 08:53:05.27 ID:GZFmAtBc.net
アマゾン・プレミアが証明するように、
アマゾンとはこちらの許可も得ずに勝手に
値段をあげてくる連中であることに留意せよ。

45 :名刺は切らしておりまして:2019/06/25(火) 09:21:10.06 ID:D9xGEchX.net
 
非依存 ⇔ 独自
やろ?それ

46 :名刺は切らしておりまして:2019/06/25(火) 10:30:48.92 ID:WIyCpUn6x
XDR! XDR!

47 :名刺は切らしておりまして:2019/06/25(火) 09:40:29.39 ID:6ez8+oav.net
帯に短し襷に長し

どうせメインはRESTfulだろうし、ならSwaggerでよくね?ってなる
他のプロトコルはサポートが薄くて、ネイティブじゃなきゃ使えねーよ!ってなる

48 :名刺は切らしておりまして:2019/06/25(火) 10:34:33.61 ID:bwxAvIa/.net
>>29
swaggerも最初はシンプルだったのに、版が上がるに連れて、構造化が複雑になってきて、もはやウザいだけになってきた
APIの定義とか、Pythonのソース見てくれと、突き放したい

49 :名刺は切らしておりまして:2019/06/25(火) 21:14:31.22 ID:CbopeX1l.net
JSON + REST APIが最強

50 :名刺は切らしておりまして:2019/06/25(火) 21:45:52.67 ID:NaR2ZfhC.net
>>28
あるある

51 :名刺は切らしておりまして:2019/06/26(水) 00:58:37.32 ID:Y9tdSaFa.net
>>14
COBRAが駆逐されたようにしか見えない…

52 :名刺は切らしておりまして:2019/06/26(水) 04:23:19.25 ID:e5c7nLP5.net
>>49
RESTは生すぎて嫌

53 :名刺は切らしておりまして:2019/06/26(水) 04:40:10.84 ID:QXn14qy2.net
ファーストネームはAlanなの?

54 :名刺は切らしておりまして:2019/06/26(水) 10:09:58.89 ID:+fnoWg4g.net
>>1
Windows Communication Foundation的なやつのAWS版ってことかな?

総レス数 54
15 KB
掲示板に戻る 全部 前100 次100 最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★