Gleyzer両氏によって共同開発されました。2019で、同言語の発表を行いました。InfoQはPurdy氏に言語と、氏らが解決を目指した問題について聞きました。設計/アーキテクチャアジャイルマニュフェスト:ソフトウェアアーキテクトの視点ソフトウェアアーキテクトの役割と責任はアジャイルソフトウェア開発のためのマニフェストの価値と矛盾していると見えますが、優れたアーキテクトはアジャイル開発チームをサポートするテクニックを見つけています。Streamingは、ストリーミングデータのためのSQLライクなインターフェースを提供します。Streamsによって、Redisがストリーミングデータを複数のプロデューサとコンシューマの間で消費、保持、配信することができるようになります。ソフトウェア開発のマニフェストたゆまず息もつかずに市場に突進することで、会社を静かに消滅の崖っぷちへと追い込みます。それは設計してコードを書く方法を再考する時です。簡単さへの投資は、速さへの投資です。簡単さは知的財産の主鉱脈でもあります。競争上の優位性は、一度失ったら、もう一度手に入れることはほとんど不可能です。Buytaerts氏が過去10年間にわたって、企業がDevOps採用のハイプサイクルをくぐり抜け、変革に対する誤解を解消する過程を支援してきた経験について語ります。Baeyens氏がRockScriptのプレビューをリリースした。イベント駆動アーキテクチャ(EDA)形式のマイクロサービスの統合とオーケストレーションのための、オープンソースのスクリプト言語とそのエンジンだ。Modelling)と同じような方法で、マイクロサービスシステム内のトランザクション実行のコーディネーションを可能にする。分散システム内におけるサービス間インタラクションの問題は目新しいものではない。Architecture)コミュニティでも、“オーケストレーションとコレオグラフィ(choreography、振り付け)”が選択肢として広く議論されてきた。サービスオーケストレーションとは、(BPELなどで)事前定義されたビジネスプロセスワークフローに基づいて、集中型エンジンがサービスを自動実行する方法である。これに対してサービスコレオグラフィでは、ビジネスプロセスの集中管理は行なわず、代わりにサービス間インタラクションのコーディネーションをサービス自体の中に構築する。pipes)”、と表現している。オーケストレーションとコレオグラフィに関する議論はマイクロサービスコミュニティ内でも続いているが、このアーキテクチャスタイルがサービスのコレオグラフとして一般的に受け入れられている。マイクロサービスアーキテクチャスタイルを採用する(そしてプロセスのオーケストレーションに多大な投資をする)企業数が増加して、サーバレスないしFaaS(Function-as-a-Service)フレームワークを使用して実装されたファイングレインなサービスが市民権を得た結果、オーケストレーションフレームワークが再び注目を集めるようになっている。RockScriptはこのタイプのオーケストレーションフレームワークの一例として、特にマイクロサービス実装を対象とするものだ。HTTPで実行される”が、このようなインタラクションがトランザクションに参加するのは容易ではない、と述べられている。インタラクション内のあるタイミングでコールされたサービスがクラッシュしたり、下位インフラストラクチャのある種のコンポーネントがフェールする場合があるためだ。ビジネスプロセスで複数のマイクロサービスインタラクションを組み合わせた場合の一貫性を保つためには、コールグラフとその完了ないし障害の記録を保管し、管理しなければならない。このようなマルチフェーズトランザクションプロトコルのマイクロサービスにおけるベストプラクティスの一例が、Sagaパターンとして取り上げられている。RockScript言語は、イベントに対する応答として起こるべきことをキャプチャするように設計されている。通常は外部イベントが入力トリガとして使用され、その結果としてコマンドがマイクロサービスAPIに送信される。場合によってはその間でデータの変換が行われる。APIのみが実装されている。プロジェクトの発案者で、ActivitiとjBPMプラットフォームの創業者でもあるBaeyens氏は、RockScriptの構想として、“エンタープライズシステムで発火されたイベントに接続される小規模なスクリプトを簡単に作成できること”をあげている。“スクリプトに対して、このような形式のトリガの接続を簡単に確立できるようにしたいのです。”このようなトリガの概念は、ワークフロー自動化フレームワークであるIFTTTやZapierに近いものがある。RockScriptの実行にはレジリエンスがあり、アプリケーションおよびインフラストラクチャのクラッシュ時には、ランタイムエンジンがスクリプトの再実行を保証する。各スクリプト実行時のランタイム状態は、イベントソーシングのアプローチを使用してクラスタ全体に保存される。これにより、スクリプトが非同期アクティビティの完了を待つ間、スレッドやメモリといったリソースが消費されることはない。イベントソーシングを採用したことにより、サーバクラッシュなど何か問題が発生した場合の原因調査や、最後に保存された状態からのリカバリ試行も可能になった。InfoQはBaeyens氏と席を共にして、RockScriptを開発した動機について聞いた。これまで経験したプロジェクトは、非同期継続を扱うエンジンを実装する上で、数多くの知識を与えてくれました。ワークフローはダイアグラムに基づいています。データ変換はこれまで、一般的にJavaScriptなどのプログラミング言語で記述されたアクティビティの中に置かなくてはなりませんでした。従って開発者は、この2つの異なる世界を跨いで開発を行なわなければなりませんでした。ワークフローが開発者の主流技術としていまだ定着しないのは、ここに大きな理由があると私は考えています。ワークフローアクティビティの概念をJavaScriptのようなスクリプト言語に持ち込めば、開発者は自身の好きなひとつの世界で開発を行なうことができます。私の目標は、マイクロサービスインテグレーションを開発者コミュニティに広めて、マイクロサービス統合を今よりもずっと簡単にすることです。最近、AWSのステップ関数やMicrosoftのロジックアプリケーションなど、クラウドプラットフォームのベンダが同じようなサービスをローンチしています。これらのソリューションは、それ自体がAPIやカスタムアプリ、サーバレスなクラウド関数(あるいはラムダ関数)を相互に接続する役割を果たしています。今日のサービス間インタラクションは一般的にJSONをベースとして、HTTP経由で転送されており、非同期メッセージングへの移行が進みつつあります。BPELではこれまで、XMLベースのサービスへの統合が試みられてきましたが、非常に複雑なものになっていました。これはつまり、統合プログラム言語の必要性が常にあるということです。RockScriptでは、今日のAPIとマイクロサービスのエコシステムに最適な統合スクリプト言語になることを目標としています。あなたはJavaに深く関わっているにも関わらず、RockScriptでは基盤としてJavaScriptを選択しました。3つの理由があります。オンラインIDEとJavaScriptの知識さえあれば、サーバレスクラウドインフラストラクチャ上で完全なアプリケーションを開発できる時代が来ると思うからです。CTOと開発リーダには、自社が選択したテクノロジに対して、新しい開発者が短期間で学習し、開発作業を立ち上げることのできる方法を知る必要があります。RockScriptはJavaScriptのサブセットですから、ほとんどの開発者にとって習得が容易なのです。JavaScriptの構文は、マイクロサービス間のインタラクションでデータ変換を行なうには理想的です。ほとんどのマイクロサービスはJSONをベースとしています。そのようなデータを扱う上で、JavaScriptは最良の言語なのです。RockScriptのwikiには、プロジェクトは現在コンセプト実証の段階であり、実装は暫定的であるため、現時点では安定性に関する保証はない、とされている。現在の実装は開発者エクスペリエンスに重点を置いているため、現時点での永続性はメモリ上でのみ提供(SQLあるいはKafkaなどのデータストアに永続性を構築する予定である)されており、JavaScript言語の適用範囲も最小限となっている。issuesやTwitter、メーリングリストなどを通じて報告できる。この領域には新たなオーケストレーションフレームワークがいくつも現れている。興味のある読者は、それぞれのWebサイトで詳細を確認するとよいだろう。Integrationなど既存の統合フレームワークでも、オーケストレーション動作の多くをエミュレートすることができる。Modeling)ツールでも、同様なことが可能だ。RockScriptに関するその他の情報は、プロジェクトのWebサイトやGitHubリポジトリで確認することができる。プロジェクトのWikiには、ハンドオン・チュートリアルが公開されている。毎週火曜日に前週のまとめコンテンツがお送りいたします。25万人ものシニアデベロッパーのコミュニティーにぜひご参加ください。サンプルを見るあなたのメールアドレスはこちら国を選んでください。プライバシーポリシーに従って私の個人情報を扱うことに同意します。登録するとさまざまなことができます。アカウント登録をしてInfoQをお楽しみください。あなたの意見をお聞かせください。毎週火曜日に前週のまとめコンテンツがお送りいたします。25万人ものシニアデベロッパーのコミュニティーにぜひご参加ください。サンプルを見る様々なイノベーターとアーリーアダプターがお送りするテクノロジーの概要を見る。自分がまだ知らないことに気づいていないと知るあなたが興味のあるトピックスをいつでも最新な情報に。あなたのメールアドレスはこちら国を選んでください。プライバシーポリシーに従って私の個人情報を扱うことに同意します。よい世界へ私たちが暮らす世界を大切に思い、よりよいものにしたいと考えています。人のためのソフトウェア開発を加速し私たちのミッションを実現することで、この思いを成し遂げようとしています。私たちは利益の1%をさまざまな慈善団体に寄付しています。会社として、また従業員��して、そうしたことの価値を強く信じているからです。with.プライバシーBTあなたのプロファイルは最新ですか?プロフィールを確認してアップデートしてください。アドレス*Eメールを変更すると確認のメールが配信されます。会社名:現在の会社名をご入力ください。Other組織規模:現在の組織規模をご入力ください。2,501+国:現在の国を設定してください。Zimbabwe都道府県:現在の都道府県に設定してください。次の都道府県にアップデートする:ニュースレターを購読しますか?インダストリーメールを購読しますか?本Eメールに登録すると、以前より関心のあったトピックの関連情報をお送りする場合がございます。詳細はこちらのプライバシーポリシーをご覧ください。newsletter?新しいメールアドレスに確認用のメールを送信します。このポップアップ画面は自動的に閉じられます。