AEM インスタンスの Package Share から AEM LiveCycle Connector パッケージをダウンロードします。
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 からインストールすることができます。
-
-
Package Explorer で「Install 」をクリックし、パッケージをインストールします。
パッケージがインストールされたら、AEM Web Console の構成設定を使用し、LiveCycle サーバーに詳細情報を入力します。
-
AEM Web Console Configuration ページ (http://<serverName>:<port>/system/console/configMgr) に移動します。
-
Adobe LiveCycle Client SDK Configuration Component を見つけます。
-
コンポーネントをクリックして、構成サーバーの URL、ユーザー名、およびパスワードを編集します。
-
設定を確認し、「Save」をクリックします。
プロパティは説明なしに分かりますが、重要なプロパティは次のとおりです。
- サーバー URL - LiveCycle Server への URL。 LiveCycle と AEM 間で HTTPS 経由の通信を利用する場合、-Djavax.net.ssl.trustStore=<のパスから LC キーストア>オプションを使用して AEM を起動します。
- ユーザー名 - AEM から LiveCycle へ呼び出しを行うために使用されるアカウントのユーザー名。Document Services の呼び出しを許可されているすべての LiveCycle ユーザーです。
- パスワード - ユーザーパスワード。
- サービス名 - 「Username」と「Password」フィールドで入力するユーザー資格情報を使用して呼び出す必要があるサービス。 デフォルトでは、LiveCycle サービスを呼び出す間に資格情報は渡されません。
Document Services の呼び出し
クライアントアプリケーションは、Java API、 Web サービス、Remoting および REST を使用して LiveCycle サービスをプログラムで呼び出すことができます。Java クライアントの場合、アプリケーションは、これらのサービスをリモートで呼び出す Java API を提供している LiveCycle SDK を使用できます。例えば、MS Word ドキュメントを PDF に変換するには、クライアントは GeneratePDFService を呼び出す必要があります。 呼び出しのフローは次の手順から成ります。
-
ServiceClientFactory インスタンスを呼び出します。
-
各サービスがクライアントクラスを提供します。呼び出されたサービスに応じて、各クライアントインスタンスを作成する必要があります。
-
サービスを呼び出します。
-
結果を処理します。
- OSGi サービスとしてのクライアントインスタンス - OSGI バンドルとしてパッケージ化されたクライアントの一覧は、ドキュメントサービスリストのセクションに表示されます。次に各クライアント jar は、OSGi Service Registry を使用する OSGi サービスとしてクライアントを登録します。
- ユーザー資格情報の伝播 - LiveCycle サーバーに接続するために必要な接続の詳細情報は、現在一元的に管理されます。
- ServiceClientFactory サービス - クライアントアプリケーションは、プロセスを呼び出す必要がある場合に、ServiceClientFactory インスタンスにアクセスできます。
Service References を介した OSGi Service Registry からの呼び出し
公開されたサービスを AEM から呼び出すには、次の手順を実行します。
-
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>
-
サービス参照を取得します。
サービスインスタンスへのハンドルを取得します。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">
- aem-lc-connector-sample-pkg-1.0.0.zip ファイルをクリックしてサンプルパッケージをダウンロードします。
- AEM に添付のパッケージをアップロードおよびインストールします。
- MS Word ドキュメントを PDF に変換するには、http://<hostname>:<port>/content/livecycle/connector/samples/convertdoc-toPDF.html に移動します。
- PDF に変換するファイルを選択して「変換」をクリックします。
- 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(); ...
RunAs サポート
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);
Document Services リスト
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>