プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle Business Intelligence Enterprise Editionメタデータ・リポジトリ作成者ガイド
12c (12.2.1.1.0)
E77227-02
目次へ移動
目次

前
前へ
次
次へ

フェーズII - ブランチ、修正およびパッチ

架空の会社の例のフェーズIIでは、開発は新しいフェーズIIブランチで続行され、メイン・ブランチでは本番アプリケーションを追跡します。

この作業を管理するために、Adamはブランチ・プロジェクトを追加して、2番目のマスター・リポジトリの共有ディレクトリを設定し、1つはメイン、もう1つは新しいフェーズIIブランチに指定します。

SallyはさらにコンテンツをProjRevenueに追加します。彼女がその作業をしている間、Scottは新しいコンテンツを追加します。Scottがマージおよび公開を終えたら、Adamは新しいプロジェクトProjTargetを作成し、Scottの新しいコンテンツをそれに移動します。一方、彼らは本番で発生したすべての不具合に対処する必要があります。これもメインsales.rpdブランチで行われます。

次の項では、フェーズIIの開発について説明します。

2番目のブランチの設定

架空の会社の事例で、Adamは最初に、新しいブランチのマスターを保持するために別のMUDディレクトリを作成します。また、SallyとScottがそれを読書きできるように、Windows共有セキュリティを設定します。

次に、Adamは、メイン・リポジトリをメインMUDディレクトリに配置します。彼は、既存のすべての機能を含んだそのブランチの新しいプロジェクトを追加します。その後、彼はリポジトリを閉じ自分のローカルの管理ツール・リポジトリ・フォルダのブランチ・プロジェクトをチェックアウトします。彼は、それを、ブランチMUDディレクトリにコピーします。そこでは、ブランチのマスターとして機能するようになります。

開発者のプロジェクトのチェックアウト

SallyとScottは再度プロジェクトをチェックアウトして、Sales InitiativeフェーズIIの開発を相互に並列して、また本番中のフェーズIと並列して開始します。

Scottは新しいプロジェクトになる新しいコンテンツを追加しているので、新しいコンテンツにマップまたは結合する必要がある共有オブジェクトを提供する他のプロジェクトを1つ以上チェックアウトする必要があります。彼は、ProjQuotaをチェックアウトすることを選択します。

メイン・ブランチのパッチの修正

架空の会社を使用して、新しいメジャーの作成方法を示します。

SallyとScottがフェーズIIを開発している間に、CEOの緊急リクエストが彼らにエスカレートされます。CEOは主要な販売マネージャにダッシュボード上の「Sales Quota Variance」という新しいメジャーを2日以内に閲覧させたいと考えています。

Scottは、フェーズIIブランチの新しいプロジェクトの作業を閉じます。これはチェックアウトの状態が続きます。その後、新しいメジャーを含むプロジェクトProjQuoteをメイン・ブランチ・マスター・リポジトリ(sales.rpd)からチェックアウトします。彼は新しいメジャーおよび対応するプレゼンテーション列を作成して、ローカルでそれをテストし、再び変更をメイン・ブランチに公開します。

Scottは、チェックアウトされたフェーズIIリポジトリをローカルドライブから再度開いて、開発を続行します。

一方、Adamは新しいsales.rpdをテスト環境に送信し、そこでテスト・チームが修正を検証します。

次に、Adamは修正したリポジトリを本番環境に送信する準備をします。リポジトリ全体ではなく、変更のパッチを送信します。

パッチを作成するために、Adamは変更されたリポジトリと本番で現在稼働中のリポジトリを比較します。本番で稼動しているリポジトリは、新しい変更をマージする直前のメイン・リポジトリと同じです。そのため、それはMUDディレクトリのバックアップ・リポジトリの1つです。本番で稼動している現在のリポジトリは、sales.006というバックアップであり、これは彼が今後のブランチのマージのオリジナルとして特定しているものと同じです。彼は、これをsales.006.rpdにコピーし、管理ツールでそのファイルを表示して開けるようにします。(後で別のマージに必要となる可能性があるため、単にその名前を変更できません。)

この図は、sales.rpdとsales.006が含まれるMUDディレクトリのファイルを示しています。

次に、Adamは更新sales.rpdが含まれるリポジトリを開きます。「ファイル」「比較」を選択してから、比較する古いバージョンにsales.006.rpdを選択します。「リポジトリの比較」ダイアログには、パッチに含まれるバージョン間の差異が表示されます。

この図は、「リポジトリの比較」ダイアログを示しています。

次に、Adamは「パッチの作成」をクリックして、結果をPatch_variance.xmlとして保存します。パッチには、2つの新しい列を適用する必要があるオブジェクトとそれに関連する相互接続のみが含まれます。

ヒント:

より複雑なパッチを使用すると、オブジェクトを削除したり、新しいプロパティ値でマージするオブジェクトを上書きできます。

Adamのパッチは、次のようになります。

<?xml version="1.0" encoding="ISO-8859-1"?>
<Repository xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <DECLARE>
  <LogicalTable name="F50 Facts Quotas" parentName="&quot;Sales&quot;"
  parentId="2000:68667" parentUid="2160843965" id="2035:69454" uid="2160843966"
  x="718" y="288">
    <Description/>
    <Columns>
      <RefLogicalColumn id="2006:69460" uid="2160844041"
      qualifiedName="&quot;Sales&quot;.&quot;F50 Facts Quotas&quot;.&quot;Quota
      Amount&quot;"/>
      <RefLogicalColumn id="2006:69786" uid="2160845070" qualifiedName=
      "&quot;Sales&quot;.&quot;F50 Facts Quotas&quot;.&quot;
      Sales percent of quota&quot;"/>
      <RefLogicalColumn id="2006:70033" uid="2160845342" qualifiedName=
      "&quot;Sales&quot;.&quot;F50 Facts Quotas&quot;.&quot;
      Sales Quota Variance&quot;"/>
    </Columns>
    <TableSources>
      <RefLogicalTableSource id="2037:69456" uid="2160844747"
      qualifiedName="&quot;Sales&quot;.&quot;F50 Facts Quotas&quot;.&quot;
      F50 Facts Quotas&quot;"/>
    </TableSources>
  </LogicalTable>
  <LogicalColumn name="Sales Quota Variance" parentName=
  "&quot;Sales&quot;.&quot;F50 Facts Quotas&quot;" parentId="2035:69454"
  parentUid="2160843966" id="2006:70033" uid="2160845342" isDerived="true"
  isWriteable="false">
    <Description><![CDATA[quota - sales]]></Description>
    <Expr><![CDATA["Sales"."F50 Facts Quotas"."Quota Amount" - "Sales".
    "F10 Billed Rev."."Sales Revenue" ]]></Expr>
  </LogicalColumn>
  <PresentationTable name="F50 Facts Quotas" parentName=
  "&quot;Sales Quota&quot;.&quot;&quot;"
  parentId="4004:69706" parentUid="2160844968" id="4008:69707" 
  uid="2160844969" hasDispName="false" hasDispDescription="false">
    <Description/>
    <Columns>
      <RefPresentationColumn id="4010:69711" uid="2160844973" qualifiedName=
      "&quot;Sales Quota&quot;..&quot;F50 Facts Quotas&quot;.&quot;
      Quota Amount&quot;"/>
      <RefPresentationColumn id="4010:70032" uid="2160845338" qualifiedName=
      "&quot;Sales Quota&quot;..&quot;F50 Facts Quotas&quot;.&quot;
      Sales percent of quota&quot;"/>
      <RefPresentationColumn id="4010:70036" uid="2160845345" qualifiedName=
      "&quot;Sales Quota&quot;..&quot;F50 Facts Quotas&quot;.&quot;
      Sales Quota Variance&quot;"/>
    </Columns>
  </PresentationTable>
  <PresentationColumn name="Sales Quota Variance" parentName="
  &quot;Sales Quota&quot;..&quot;F50 Facts Quotas&quot;" parentId=
  "4008:69707" parentUid="2160844969" id="4010:70036" uid="2160845345"
  hasDispName="false" hasDispDescription="false" overrideLogicalName="false">
    <Description><![CDATA[quota - sales]]></Description>
    <RefLogicalColumn id="2006:70033" uid="2160845342" qualifiedName=
    "&quot;Sales&quot;.&quot;F50 Facts Quotas&quot;.
    &quot;Sales Quota Variance&quot;"/>
  </PresentationColumn>
  </DECLARE>
</Repository>

ヒント:

リポジトリ全体の移行と異なり、このパッチを適用する前に接続プールを変更する必要はありません。本番で稼動するリポジトリにはすでに正しい接続プールの設定が行われています。パッチがこのロジックに影響することはないので、接続プールは介入されることなく正しく動作し続けます。

最後に、Adamはこのパッチを移行して本番システムに適用する必要があります。これを実行するにはいくつかの方法があります。

  1. オフラインのメイン・リポジトリのパッチおよびアップロード。Adamは、管理ツールを使用してパッチ・マージを実行することで、自分のWindowsコンピュータでローカルに本番リポジトリのコピーにパッチを適用できます。その後、Sallyが前に自分のサンドボックスで実行したように、本番システムにそのリポジトリをアップロードできます。本番システムはクラスタ化されているため、リポジトリをアップロードした後にすべてのOracle BIサーバーを再起動する必要があります。Adamは、Fusion Middleware Controlを使用して手動でサーバーを一度に1つずつ再起動できます。このようにしてローリング再起動を実行すると、エンド・ユーザーが使用できない状態になることはありません。かわりに、Adamまたは運用スタッフの1人は、BI Systems Management APIを使用したスクリプトを作成し、ローリング再起動を自動化できます。
  2. patchrpdユーティリティを使用した本番リポジトリの適切なパッチ: 運用スタッフは本番システムに直接ログオンし、patchrpdユーティリティを使用してXMLパッチを適用できます。なんらかの競合が発生すると、ユーティリティは更新をキャンセルし、変更を行わずに終了します。更新が成功すると、前のパラグラフの説明にあるように、運用スタッフはローリング再起動を実行できます。
  3. biserverxmlcliユーティリティを使用した稼働中のシステムのパッチ: この方法は本番システムにお薦めしません。

ヒント:

管理ツールを使用して本番のOracle BI サーバーにオンライン・モードでログオンする権限がある場合、「ファイル」「名前を付けてコピー」を使用してそれをローカル・ドライブにコピーできます。

フェーズIIブランチの終了およびマージ

SallyとScottは、新しいブランチで変更を完了し、それらを公開します。

そこでAdamはScottの新しいコンテンツを新しいプロジェクトprojTargetに追加します。彼は以前と同様の手順を実行し、ブランチ・リポジトリをテスト・チームに送信します。

テストが完了したら、MUDマージを使用して、そのブランチをメイン・ブランチにマージしなおす必要があります。このようにして、本番パッチと新しく開発されたコンテンツがマージされて、後で本番に移動できるようになります。

ここで、sales.rpdにはすべての変更が含まれ、ブランチは不要になります。Sales.rpdが、統合テストに送信され、マージされたコンテンツが既存のコンテンツに不具合を起こさないことが確認されます。統合テストが完了したら、Adamは変更を含む別のパッチを作成し、運用スタッフに、稼働中の本番システムにそれを適用してもらいます。Salesイニシアティブ・フェーズIIは、これで本番になります。

フェーズIIの概要

架空の会社の例での開発フェーズの図を示します。

この図は、フェーズIIの並列のアクティビティを示しています。