2016-10-16 11 views
0

RMI/WEBDAV/JNDIから離れてJCR/CRX(AEM)をリモートで接続する方法はありますか? WEBDAV & RMIはPROD環境では開かれないように推奨されていますので、実際のソリューションにもかかわらず、そのルートを使用したくありません。私のユースケースに合わせていないようです探っリモートでJCRを接続する+ AEM/OAK

オプション:

  1. スリングAPI - sling.apache.org/documentation/development/repository-based-development.html
  2. OAKのAPI - githubの.com/davidegiannella/adaptTo16
  3. REST/JSON - adapt.to/2016/ja/schedule/remote-resources.html。直接のリソースアクセスでは動作しますが、クエリやCRUD操作では動作しません。
  4. JCR API-http://experience-aem.blogspot.com/2015/05/aem-6-sp2-accessing-crx-remotely-using-jcr-remoting-davex.htmlまたはhttps://wiki.apache.org/jackrabbit/RemoteAccess

任意のポインタ?

+0

あなたのユースケースは何ですか?なぜあなたはAEMインスタンスへのリモートアクセスが必要なのですか? –

+0

AEMコンテンツはナレッジハブとして使用され、エコシステム内の他のアプリはコンテンツをクエリします。残念ながら、私たちは、DMZと非DMZの両方でアプリケーションをホストするインフラストラクチャを再構築する立場にはありません。 – user7027991

+0

@ user7027991まず、JCR経由でOakサーバーに接続する方法は不思議です。 Jackrabbit2のために働くが、それがOakのためにどのように働くかは不明である。あなたはここに質問を追加しました:http://stackoverflow.com/questions/40191705/jackrabbit-oak-getting-started-and-connect-to-a-standalone-repository-via-java探しています。それはAEM/CQ5に関連していません。 –

答えて

1

Apache SlingがHTTP経由でリソースを公開することが非常にうまくいくとすれば、私の最初の選択肢はSling Get Servletを使用してリソースをJSONとして取得することです。

たとえば、http://localhost:8080/content.jsonにアクセスすると、リソースのJSONレンダリングが/contentになります。

セレクタを使用して階層を横断する子の数を指定できます。 http://localhost:8080/content.2.jsonは、コンテンツと子どもと孫のプロパティを提供します。

これで十分でない場合は、カスタムサーブレットを作成してそこでレンダリングを実行することができます。

+0

ありがとうRob!、ユースケースは、AEMをナレッジバンク/リポジトリとして利用し、他のアプリがフルテキスト検索を使用してコンテンツをリモートで「クエリ」するケースです。単純なコンテンツレンダリングの場合は、この例が有効です。カスタムサーブレット/サービスをAEMに書き込むことは、それほどうまくいかない解決策の1つであり、ユースケースに基づいて議論の余地があります。アーキテクチャを調整したり、どちらかでカスタムサービスを作成したりするカスタムソリューションがいくつかありますが、私はOAKとAEM6.2 OOTB APIを使ってその努力を省いていきたいと考えていました。それが理にかなってほしい。 – user7027991

+0

今、私はもっと理解しています。しかし、「なぜAEM内にカスタムサーブレットやサービスを書くのが良い解決策ではなく、ユースケースに基づいて議論の余地があるのか​​」ということはわかりません。私はカスタムコードなしでAEMの配備を認識していません:-)これはあなたの目標を達成するために必要な柔軟性を与えます。 –

+0

合意すると、目標はAEMの配備の中にカスタムコードを書いて、異なるアプリケーションのためにプレースホルダを介して特定の方法でコンテンツを公開するのではなく、その逆です。それを消費したいアプリは、OOTB APIを使用し、それをスマートに照会してコンテンツフォーマットを取得するか、コンテンツマッサージを行うべきです。 AEMはコンテンツを持つダムノードになり、アクセスしたいと思っている人は、既存のAEMアプリケーション/サイト/インフラストラクチャを再構築したくないため、マッサージしなければなりません。このため、リモートアクセス用のAPIが必要になります。 – user7027991