0

私がはっきりと自分自身を表現していなかったら、申し訳ありません。HTTP(S) 通信から関数にアクセスできるようにする必要があります。これは、関数に Web アドレスを割り当てる必要があることを意味します。ユーザーは、適切な形式で入力を送信して、この機能を開始できます。

現在、関数は FORTRAN で記述されているため、Google App Engine に配置できませんでした。私のアプローチは次のとおりです。

  1. FORTRAN コードをこのクラウド サーバーにアップロードし、実行可能ファイルにコンパイルします。
  2. このコンパイル済み FORTRAN コードを「公開」すると、Web アドレスが付与されます。
  3. ユーザーがこのアドレスに入力を送信し、計算を実行できるようにします。
  4. 計算結果を AMAZON S3 に保存し、ユーザーがダウンロードするためのリンクを生成します。

私の質問は、この機能の名前は何ですか (REST だと思います)。このサービスを提供できる大きなクラウド サーバーはありますか (AMAZON、GOOGLE など)?

ありがとう!

4

5 に答える 5

3

この機能の名前は何ですか? これは Web サービスと呼ばれ、Web API とも呼ばれます。

ここに本当に良い説明があります:http://www.ibm.com/developerworks/webservices/library/ws-restful/

Web サービスは Web サイトとほぼ同じ (Web サーバー上で実行され、HTTP を使用) ですが、データのみ (通常は XML または JSON) を返し、グラフィックやフォーマットは返しません。

ホスティングに関しては、前述したように、Web サービスのホスティングと Web ページのホスティングに基本的に違いはありません。アプリケーション レベルでは、Web サービスはデータのみを返しますが、Web サイトは HTML 形式の Web ページを返します。そして、HTML (XHTML) が実際には XML のサブセットであると考えると、Web サイトと Web サービスの間に実際にはまったく違いはありません。唯一の違いは消費者です。 Web ページ、もう 1 つはデータのみを返し、何らかのクライアント アプリケーションによって消費されることを意図しています。

== 編集 ==

Fortran は、インターネットよりもずっと前から存在しています。それは最初の高水準プログラミング言語でした.... 1950 年代に開発されたと思いますので、インターネットより約 20 年前です。Fortran の Web サービスやアプリケーションをホストできる人を見つけることはできません。Web インタラクションが必要な場合は、Python で書き直すことを検討してください。これらは非常に似ています。または、ほとんどの Web 言語がコンソール アプリケーションの呼び出しをサポートしています。

http://php.net/manual/en/function.shell-exec.php

ASP.NET MVC からコンソール アプリを呼び出すが、応答を待ちたくない

于 2012-05-23T15:32:12.460 に答える
1

コンピューター上の機能の一部をWeb サービスとして公開したいようですね。具体的には、コンピューター上の特定の関数を実際に呼び出しているかのように動作させたい場合は、リモート プロシージャ コールが考えられます。

使用するベンダーの選択には多くの要因が考えられます。クラウド ベースのソリューションを探している場合は、使用したい特定の言語があるかどうかを判断し、それをサポートできるソリューションを調べます。それを超えて、それぞれに異なるサポートと価格モデルがあります。

于 2012-05-23T15:31:39.873 に答える
0

VPSタイプのサービスを使用することをお勧めします。現在 Fortran コードを実行できないため、Google App Engine を削除しました。Amazon EC2 を検討するか、GoDaddy、BlueHost、HostGator などの Web ホスティング会社から VPS を取得するかは、使用方法に応じて異なります。

経験に応じて、Python、Ruby、または PHP でこれを行うことができます。それらはすべて強力な Web フレームワークを備えており、Fortran コンパイラなどのローカル システムで実行可能ファイルを呼び出すことができます。したがって、Django や Rails などのフレームワークで Web コードを記述し、ローカルの cgi を呼び出して Fortran コードを実行し、フレームワークを介して結果を返します。

その他の提案: Pypyと python を使用して、Fortran とほぼ同じ計算を行うことができますが、もう少し現代的です。

于 2012-05-23T23:27:55.477 に答える
0

クラウド プロバイダーが Fortran を「サポート」しようとしても、ビジネス上意味がありません。その上、Fortran はとても「すごい」ので、サポートするのは本当に難しいです。

戦略:

  1. 別の言語/フレームワークで Web サービスを作成し、CLI 呼び出しを介して Fortran コードを呼び出します。
  2. Fortran ラッパーと高度なツールキット (Fortran for .NET など) を使用して Web サービスを作成します。
  3. Fortran コードをネイティブ コード (.dll など) にコンパイルし、JNA を使用して Java から呼び出し、Java Web サービスを使用して関数用の REST/SOAP WS を作成します。これは、Netbeans IDE を使用して簡単に実現できます。

個人的には、オプション 3 を使用することを検討します。

これらは私が「スタント」として分類しているものの一部であるため、AppEngine は自動的に除外されます。root アクセス権を取得して、やりたいことを何でもできるボックス (または仮想ボックス) でこれを行います (これらはたくさんあります)。

ここにいくつかのリソースがあります。

Java Native Access を使用して Java から Fortran を呼び出す: http://oms.javaforge.com/wiki/66061

JNI を使用して Java から Fortran を呼び出す: http://www.math.ucla.edu/~anderson/JAVAclass/JavaInterface/JavaInterface.html

Lahey/Fujitsu Fortran Enterprise を使用した Fortran for .NET: http://www.lahey.com/lf71/lf71.htm

于 2014-01-07T23:52:50.270 に答える
0

Fortran で書かれた Web アプリケーションは次のとおりです: https://github.com/rlcarino/heeds。Fortran プログラムは、FastCGI を介して nginx Web サーバーと通信します。プログラムのデータはテキスト ファイルに保存されます。「正式な」データベースは使用されません。

プログラムのライブ実行はhttp://heeds.csu.edu.ph/にあります。アプリケーションはクラウド内のサーバーで実行されています。一部のユーザーは、世界のその地域で利用可能な Free Basics を実行している Android スマートフォンを介して、セル データ コストなしで接続します。

于 2016-07-14T16:08:07.043 に答える