Adobe® Experience Manager (AEM) LiveCycle Connector を使用し、AEM Web アプリとワークフローから Adobe® LiveCycle® ES4 Document Services を呼び出すことができます。LiveCycle はリッチクライアント SDK を提供します。これにより、クライアントアプリケーションは Java API を使用して LiveCycle サービスを呼び出します。 AEM LiveCycle Connector は OSGi 環境でこれらの API の使用を簡素化します。

はじめに

AEM LiveCycle Connector は、次の手順を実行することで Package Share からインストールすることができます。

  1. AEM インスタンスの Package Share から AEM LiveCycle Connector パッケージをダウンロードします。

  2. Package Explorer で「Install 」をクリックし、パッケージをインストールします。

パッケージがインストールされたら、AEM Web Console の構成設定を使用し、LiveCycle サーバーに詳細情報を入力します。

  1. AEM Web Console Configuration ページ (http://<serverName>:<port>/system/console/configMgr) に移動します。

  2. Adobe LiveCycle Client SDK Configuration Component を見つけます。

  3. コンポーネントをクリックして、構成サーバーの URL、ユーザー名、およびパスワードを編集します。

  4. 設定を確認し、「Save」をクリックします。

123

プロパティは説明なしに分かりますが、重要なプロパティは次のとおりです。

  • サーバー URL - LiveCycle Server への URL。 LiveCycle と AEM 間で HTTPS 経由の通信を利用する場合、-Djavax.net.ssl.trustStore=<のパスから LC キーストア>オプションを使用して AEM を起動します。
  • ユーザー名 - AEM から LiveCycle へ呼び出しを行うために使用されるアカウントのユーザー名。Document Services の呼び出しを許可されているすべての LiveCycle ユーザーです。
  • パスワード - ユーザーパスワード。
  • サービス名 - 「Username」と「Password」フィールドで入力するユーザー資格情報を使用して呼び出す必要があるサービス。 デフォルトでは、LiveCycle サービスを呼び出す間に資格情報は渡されません。

クライアントアプリケーションは、Java API、 Web サービス、Remoting および REST を使用して LiveCycle サービスをプログラムで呼び出すことができます。Java クライアントの場合、アプリケーションは、これらのサービスをリモートで呼び出す Java API を提供している LiveCycle SDK を使用できます。例えば、MS Word ドキュメントを PDF に変換するには、クライアントは GeneratePDFService を呼び出す必要があります。 呼び出しのフローは次の手順から成ります。

  1. ServiceClientFactory インスタンスを呼び出します。

  2. 各サービスがクライアントクラスを提供します。呼び出されたサービスに応じて、各クライアントインスタンスを作成する必要があります。

  3. サービスを呼び出します。

  4. 結果を処理します。

AEM LiveCycle Connector は、標準的な OSGi の方法を使ってアクセスできる OSGi サービスとしてこれらのクライアントインスタンスを公開して、このフローを簡素化します。AEM LiveCycle Connector は、高いレベルで次の機能を提供します。
  • OSGi サービスとしてのクライアントインスタンス - OSGI バンドルとしてパッケージ化されたクライアントの一覧は、ドキュメントサービスリストのセクションに表示されます。次に各クライアント jar は、OSGi Service Registry を使用する OSGi サービスとしてクライアントを登録します。
  • ユーザー資格情報の伝播 - LiveCycle サーバーに接続するために必要な接続の詳細情報は、現在一元的に管理されます。
  • ServiceClientFactory サービス - クライアントアプリケーションは、プロセスを呼び出す必要がある場合に、ServiceClientFactory インスタンスにアクセスできます。

Service References を介した OSGi Service Registry からの呼び出し

公開されたサービスを AEM から呼び出すには、次の手順を実行します。

  1. Maven 依存性を判定します。

    maven pom.xml で、必要なクライアントに依存性を追加します。少なくとも adobe-livecycle-client および adobe-usermanager-client jars への依存性を追加する必要があります。.

    <dependency>
      <groupId>com.adobe.livecycle</groupId>
      <artifactId>adobe-livecycle-client</artifactId>
      <version>11.0.0</version>
    </dependency>
    <dependency>
      <groupId>com.adobe.livecycle</groupId>
      <artifactId>adobe-usermanager-client</artifactId>
      <version>11.0.0</version>
    </dependency>
    <dependency>
      <groupId>com.adobe.livecycle</groupId>
      <artifactId>adobe-cq-integration-api</artifactId>
      <version>11.0.0</version>
    </dependency>

    ここで、呼び出すサービスに応じて、次の表のとおりに該当する Maven 依存性を追加します (「Document Service リスト」を参照)。 たとえば、PDF の生成には次の依存性を追加します。

    <dependency>
      <groupId>com.adobe.livecycle</groupId>
      <artifactId>adobe-generatepdf-client</artifactId>
      <version>11.0.0</version>
    </dependency>
  2. サービス参照を取得します。

    サービスインスタンスへのハンドルを取得します。Java クラスを作成している場合、Declarative Services の注釈を使用できます。

    import com.adobe.livecycle.generatepdf.client.GeneratePdfServiceClient;
    import com.adobe.livecycle.generatepdf.client.CreatePDFResult;
    import com.adobe.idp.Document;
     
    @Reference
    GeneratePdfServiceClient generatePDF;
    ...
     
    Resource r = resourceResolver.getResource("/path/tp/docx");
    Document sourceDoc = new Document(r.adaptTo(InputStream.class));
    CreatePDFResult result = generatePDF.createPDF2(
                        sourceDoc,
                        extension, //inputFileExtension
                        null, //fileTypeSettings
                        null, //pdfSettings
                        null, //securitySettings
                        settingsDoc, //settingsDoc
                        null //xmpDoc
                );

    上記のコードスニペットでは、ドキュメントを PDF に変換するために GeneratePdfServiceClient の createPDF API を呼び出しています。 クイックスタートの例で説明しているものと同じロジックを実装しています。

    次のコードを使用し、JSP で同じ呼び出しを実行できます。ここで主な違いは、Sling ScriptHelper を使用して GeneratePdfServiceClient にアクセスする方法です。

    <%@ page import="com.adobe.livecycle.generatepdf.client.GeneratePdfServiceClient" %>
    <%@ page import="com.adobe.livecycle.generatepdf.client.CreatePDFResult" %>
    <%@ page import="com.adobe.idp.Document" %>
     
    GeneratePdfServiceClient generatePDF = sling.getService(GeneratePdfServiceClient.class);
    Document sourceDoc = ...
    CreatePDFResult result = generatePDF.createPDF2(
                        sourceDoc,
                        extension, //inputFileExtension
                        null, //fileTypeSettings
                        null, //pdfSettings
                        null, //securitySettings
                        settingsDoc, //settingsDoc
                        null //xmpDoc
                );

サンプルパッケージ

MS Word ドキュメントを PDF に変換するには、次のサンプルパッケージをダウンロードして使用できます。

ダウンロード

<p">サンプルパッケージを使用するには、以下の手順を実行します。</p">

  1. aem-lc-connector-sample-pkg-1.0.0.zip ファイルをクリックしてサンプルパッケージをダウンロードします。
  2. AEM に添付のパッケージをアップロードおよびインストールします。
  3. MS Word ドキュメントを PDF に変換するには、http://<hostname>:<port>/content/livecycle/connector/samples/convertdoc-toPDF.html に移動します。
  4. PDF に変換するファイルを選択して「変換」をクリックします。
  5. CRXDE Lite を使用してこのサービスのコード内をブラウズするには、apps/livecycle/connector/samples/pdfg/POST.jsp に移動します。

ServiceClientFactory を介した呼び出し

呼び出しプロセスのような場合に、クライアントロジックは ServiceClientFactory にアクセスできます。

import com.adobe.livecycle.dsc.clientsdk.ServiceClientFactoryProvider;
import com.adobe.idp.dsc.clientsdk.ServiceClientFactory;
 
@Reference
ServiceClientFactoryProvider scfProvider;
 
...
ServiceClientFactory scf = scfProvider.getDefaultServiceClientFactory();
...

LiveCycle のほとんどの Document Service には認証が必要です。 コードで明示的な資格情報を提示しなくても、これらのサービスを呼び出すことができます。次のオプションをどれか使用できます。

Whitelist 設定

LiveCycle Client SDK 設定には、サービス名についての設定が含まれています。これは呼び出しロジックが、追加設定なしに管理者資格情報を使用するサービスのリストです (同じ設定の一部)。例えば、DirectoryManager サービス (User Management API の一部) をこのリストに追加する場合、すべてのクライアントコードはこのサービスを直接使用することが可能で、呼び出しレイヤーは LiveCycle サーバーに送信された要求の一部として設定された資格情報に自動的に渡します。

RunAsManager

統合の一部として、新しいサービス RunAsManager を提供しています。このサービスにより、LiveCycle サーバーへの呼び出しをする際に、資格情報をプログラムで制御できます。

import com.adobe.livecycle.dsc.clientsdk.security.PasswordCredential;
import com.adobe.livecycle.dsc.clientsdk.security.PrivilegedAction;
import com.adobe.livecycle.dsc.clientsdk.security.RunAsManager;
import com.adobe.idp.dsc.registry.component.ComponentRegistry;
  
@Reference
private RunAsManager runAsManager;
  
List<Component> components = runAsManager.doPrivileged(new PrivilegedAction<List<Component>>() {
            public List<Component> run() {
                return componentRegistry.getComponents();
            }
        });
assertNotNull(components);

異なる資格情報を渡す場合は、PasswordCredential インスタンスが必要となる、過度に負荷がかかる方法を使用できます。

PasswordCredential credential = new PasswordCredential("administrator","password");
List<Component> components = runAsManager.doPrivileged(new PrivilegedAction<List<Component>>() {
    public List<Component> run() {
        return componentRegistry.getComponents();
    }
},credential);

InvocationRequest プロパティ

プロセスを呼び出し中であるか、ServiceClientFactory を直接使用して InvocationRequest を作成している場合は、設定済みの資格情報を呼び出しレイヤーが使用する必要があることをプロパティが示すように指定できます。

import com.adobe.idp.dsc.InvocationResponse
import com.adobe.idp.dsc.InvocationRequest
import com.adobe.livecycle.dsc.clientsdk.ServiceClientFactoryProvider
import com.adobe.idp.dsc.clientsdk.ServiceClientFactory
import com.adobe.livecycle.dsc.clientsdk.InvocationProperties
   
ServiceClientFactoryProvider scfp = sling.getService(ServiceClientFactoryProvider.class)
ServiceClientFactory serviceClientFactory = scfp.getDefaultServiceClientFactory()
InvocationRequest ir = serviceClientFactory.createInvocationRequest("sample/LetterSubmissionProcess", "invoke", new HashMap(), true);
  
//Here we are invoking the request with system user
ir.setProperty(InvocationProperties.INVOKER_TYPE,InvocationProperties.INVOKER_TYPE_SYSTEM)
   
InvocationResponse response = serviceClientFactory.getServiceClient().invoke(ir);

Adobe LiveCycle Client SDK API バンドル


公開されるサービス:

  • com.adobe.idp.um.api.AuthenticationManager
  • com.adobe.idp.um.api.DirectoryManager
  • com.adobe.idp.um.api.AuthorizationManager
  • com.adobe.idp.dsc.registry.service.ServiceRegistry
  • com.adobe.idp.dsc.registry.component.ComponentRegistry

Maven 依存性:

<dependency>
  <groupId>com.adobe.livecycle</groupId>
  <artifactId>adobe-livecycle-client</artifactId>
  <version>11.0.0</version>
</dependency>
<dependency>
  <groupId>com.adobe.livecycle</groupId>
  <artifactId>adobe-usermanager-client</artifactId>
  <version>11.0.0</version>
</dependency>

Adobe LiveCycle Client SDK バンドル


公開されるサービス:

  • com.adobe.livecycle.dsc.clientsdk.security.RunAsManager
  • com.adobe.livecycle.dsc.clientsdk.ServiceClientFactoryProvider

Maven 依存性:

<dependency>
  <groupId>com.adobe.livecycle</groupId>
  <artifactId>adobe-livecycle-cq-integration-api</artifactId>
  <version>1.1.10</version>
</dependency>

Adobe Livecycle TaskManager Client バンドル


公開されるサービス:

  • com.adobe.idp.taskmanager.dsc.client.task.TaskManager
  • com.adobe.idp.taskmanager.dsc.client.TaskManagerQueryService
  • com.adobe.idp.taskmanager.dsc.client.queuemanager.QueueManager
  • com.adobe.idp.taskmanager.dsc.client.emailsettings.EmailSettingService
  • com.adobe.idp.taskmanager.dsc.client.endpoint.TaskManagerEndpointClient
  • com.adobe.idp.taskmanager.dsc.client.userlist.UserlistService

Maven 依存性:


<dependency>
  <groupId>com.adobe.livecycle</groupId>
  <artifactId>adobe-taskmanager-client</artifactId>
  <version>11.0.0</version>
</dependency>

Adobe LiveCycle Workflow Client バンドル


公開されるサービス:

  • com.adobe.idp.workflow.client.WorkflowServiceClient

Maven 依存性:

<dependency>
  <groupId>com.adobe.livecycle</groupId>
  <artifactId>adobe-workflow-client-sdk</artifactId>
  <version>11.0.0</version>
</dependency>

Adobe LiveCycle PDF Generator Client バンドル


公開されるサービス:

  • com.adobe.livecycle.generatepdf.client.GeneratePdfServiceClient

Maven 依存性:


<dependency>
  <groupId>com.adobe.livecycle</groupId>
  <artifactId>adobe-generatepdf-client</artifactId>
  <version>11.0.0</version>
</dependency>

Adobe LiveCycle Application Manager Client バンドル


公開されるサービス:

  • com.adobe.idp.applicationmanager.service.ApplicationManager
  • com.adobe.livecycle.applicationmanager.client.ApplicationManager
  • com.adobe.livecycle.design.service.DesigntimeService

Maven 依存性:


<dependency>
  <groupId>com.adobe.livecycle</groupId>
  <artifactId>adobe-applicationmanager-client-sdk</artifactId>
  <version>11.0.0</version>
</dependency>

Adobe LiveCycle Assembler Client バンドル


公開されるサービス:

  • com.adobe.livecycle.assembler.client.AssemblerServiceClient

Maven 依存性:

<dependency>
  <groupId>com.adobe.livecycle</groupId>
  <artifactId>adobe-assembler-client</artifactId>
  <version>11.0.0</version>
</dependency>

Adobe LiveCycle Form Data Integration Client バンドル


公開されるサービス:

  • com.adobe.livecycle.formdataintegration.client.FormDataIntegrationClient

Maven 依存性:

<dependency>
  <groupId>com.adobe.livecycle</groupId>
  <artifactId>adobe-formdataintegration-client</artifactId>
  <version>11.0.0</version>
</dependency>

Adobe LiveCycle Forms Client バンドル


公開されるサービス:

  • com.adobe.livecycle.formsservice.client.FormsServiceClient

Maven 依存性:

<dependency>
  <groupId>com.adobe.livecycle</groupId>
  <artifactId>adobe-forms-client</artifactId>
  <version>11.0.0</version>
</dependency>

Adobe LiveCycle Output Client バンドル


公開されるサービス:

  • com.adobe.livecycle.output.client.OutputClient

Maven 依存性:

<dependency>
  <groupId>com.adobe.livecycle</groupId>
  <artifactId>adobe-output-client</artifactId>
  <version>11.0.0</version>
</dependency>

Adobe LiveCycle Reader Extensions Client バンドル


公開されるサービス:

  • com.adobe.livecycle.readerextensions.client.ReaderExtensionsServiceClient   

Maven 依存性:

<dependency>
  <groupId>com.adobe.livecycle</groupId>
  <artifactId>adobe-reader-extensions-client</artifactId>
  <version>11.0.0</version>
</dependency>

Adobe LiveCycle Rights Manager Client バンドル


公開されるサービス:

  • com.adobe.livecycle.rightsmanagement.client.DocumentManager
  • com.adobe.livecycle.rightsmanagement.client.EventManager
  • com.adobe.livecycle.rightsmanagement.client.ExternalUserManager
  • com.adobe.livecycle.rightsmanagement.client.LicenseManager
  • com.adobe.livecycle.rightsmanagement.client.WatermarkManager
  • com.adobe.livecycle.rightsmanagement.client.PolicyManager
  • com.adobe.livecycle.rightsmanagement.client.AbstractPolicyManager

Maven 依存性:

<dependency>
  <groupId>com.adobe.livecycle</groupId>
  <artifactId>adobe-rightsmanagement-client</artifactId>
  <version>11.0.0</version>
</dependency>

Adobe LiveCycle Signatures Client バンドル


公開されるサービス:

  • com.adobe.livecycle.signatures.client.SignatureServiceClientInterface

Maven 依存性:

<dependency>
  <groupId>com.adobe.livecycle</groupId>
  <artifactId>adobe-signatures-client</artifactId>
  <version>11.0.0</version>
</dependency>

Adobe LiveCycle Truststore Client バンドル


公開されるサービス:

  • com.adobe.truststore.dsc.TrustConfigurationService
  • com.adobe.truststore.dsc.CRLService
  • com.adobe.truststore.dsc.CredentialService
  • com.adobe.truststore.dsc.CertificateService

Maven 依存性:

<dependency>
  <groupId>com.adobe.livecycle</groupId>
  <artifactId>adobe-truststore-client</artifactId>
  <version>11.0.0</version>
</dependency>

Adobe LiveCycle Repository Client バンドル


公開されるサービス:

  • com.adobe.repository.bindings.ResourceRepository
  • com.adobe.repository.bindings.ResourceSynchronizer

Maven 依存性:

<dependency>
  <groupId>com.adobe.livecycle</groupId>
  <artifactId>adobe-repository-client</artifactId>
  <version>11.0.0</version>
</dependency>

リソース

本作品は Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License によってライセンス許可を受けています。  Twitter™ および Facebook の投稿には、Creative Commons の規約内容は適用されません。

法律上の注意   |   プライバシーポリシー