JP2005502118A - 完全なエンドツーエンド・ソフトウェア送達プロセス管理のための統合システムおよび方法 - Google Patents
完全なエンドツーエンド・ソフトウェア送達プロセス管理のための統合システムおよび方法 Download PDFInfo
- Publication number
- JP2005502118A JP2005502118A JP2003525454A JP2003525454A JP2005502118A JP 2005502118 A JP2005502118 A JP 2005502118A JP 2003525454 A JP2003525454 A JP 2003525454A JP 2003525454 A JP2003525454 A JP 2003525454A JP 2005502118 A JP2005502118 A JP 2005502118A
- Authority
- JP
- Japan
- Prior art keywords
- software
- subsystem
- software product
- package
- distribution
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Tourism & Hospitality (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- Economics (AREA)
- General Health & Medical Sciences (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Stored Programmes (AREA)
Abstract
【解決手段】構成管理/バージョン管理、変更/問題管理、構築、パッケージ化、および配布/インストールの各サブプロセスを含むソフトウェア送達プロセス。このプロセスは、構成管理サブシステム、変更/問題管理サブシステム、構築サブシステム、パッケージ化サブシステム、配布サブシステム、および追跡サブシステムを含む統合管理システムによって実装される。これらのサブシステムは、開発から生産でのインストールまで、その全ライフ・サイクルに沿ってソフトウェアを管理するために統合される。追跡サブシステムは、このプロセスのすべてのステップに沿ってその他のサブシステムから送達状況に関する情報を取り込み、それを統合する。
【選択図】図3
Description
【0001】
本発明は、一般に、ソフトウェア送達の分野に関し、詳細には、開発から生産でのインストールまで、その全ライフ・サイクルに沿ってソフトウェア製品を管理するようになされた、エンドツーエンド・ソフトウェア送達プロセスを完全に管理する統合システムおよび方法に関する。
【背景技術】
【0002】
今日、大多数の企業の業務プロセスは、大部分が多様なソフトウェア・アプリケーションによって支援されている。
【0003】
業務プロセスは新しい業務要件に適合するために不断の進化を必要とするので、それらの新しい要件を実装するために、企業の業務プロセスを支援するソフトウェア・システムおよびアプリケーションのコンポーネントを頻繁に変更し、動的に進化させる必要がある。
【0004】
この変化する動的環境では、ソフトウェア送達プロセスは、ソフトウェア・アプリケーション開発領域においてだけでなくどんな企業の多様な領域、活動および業務プロセスにおいても重要な役割を果たす。
【0005】
その結果、ソフトウェア送達管理は、ソフトウェアの進化およびソフトウェア・システムへの変更実装の制御を中心とした、企業システム管理内での、ソフトウェア・エンジニアリングの一部門として発展してきた。
【0006】
ソフトウェア送達管理の主目的は、新しいソフトウェア・アプリケーションの(テスト、訓練、生産環境など)様々な環境での正しいインストール、ならびにすでにインストールされたソフトウェア・アプリケーションに適用される変更または修正の制御を可能にすることである。事実、ソフトウェア送達は、ソフトウェア・アプリケーションの新規リリースまたはバージョンの配置(すなわちインストールおよび実行)、既存のアプリケーションで発生したバグや問題を克服するための修正およびパッチの配布およびインストール、1つの集中管理点からのソフトウェア・システムの構成の変更を可能にする。また、ソフトウェア送達は、システム・クラッシュ後のシステムの再インストールおよび再構成も現場訪問を必要とせずに可能にする。
【0007】
実際、ソフトウェア送達は、1つのファイルの配布からソフトウェア・システム全体の交換にまで及ぶことのある、複雑、微妙でかつ時間のかかる作業である。
【0008】
ソフトウェア・システムに適用される変更の程度に応じて、インストール中のエラーや、すでにインストール済みのソフトウェアとの非互換性の可能性が増大する。ソフトウェア送達は、多数のシステムへの同時の変更適用を可能にするので、そうした変更がそれらのシステムに悪影響を及ぼさないことが非常に重要である。そうでないと、それらが大規模なユーザ妨害や業務上の損失さえもたらす可能性がある。
【0009】
一般に、ソフトウェア送達のプロセスには複数の動作が関与する。これらの処理には、例えば、送達されるソフトウェア製品の様々なコンポーネント(たとえばソース・コード・モジュール、バイナリ・ファイルおよび実行可能ファイル、構成ファイル、インターフェイス、データ・モデル、データ構想、エンティティ、インストール・スクリプトや構成スクリプトなどのプロシージャ、ユーザ・ガイドなどの文書など)を識別すること、ソフトウェア製品の様々なコンポーネントのリリースやバージョンを管理すること、ソフトウェア製品が送達される宛先のソフトウェア・システムを構成する要素間の依存性を識別すること、目標システムすなわち目標環境およびプラットフォームでソフトウェア製品を実行するのに必要な項目を生成すること、目標プラットフォームにソフトウェア製品をインストールするのに必要なファイル、データ、スクリプト、およびユーティリティを含むソフトウェア・パッケージを作成すること、目標システムにソフトウェア・パッケージを配布すること、および配布されたソフトウェア・パッケージを目標システムにインストールすることが含まれる。
【0010】
前述の完全な送達プロセスの一定の部分またはサブプロセスを実装するために、いくつか異なる方法が提案されている。以下に公知の方法の若干の例を報告する。
【0011】
デービス他(Davis et al.)による、「異機種混合ネットワーク化クライアント・コンピュータ・システム上での自動ソフトウェア・インストール(Automaticsoftware installation on heterogeneous networked client computer systems)」という名称の米国特許第5,742,829号には、異機種混合クライアント・コンピュータ・システム上にソフトウェアを自動的にインストールする方法が提供されている。
【0012】
コリンズ三世他(Collins, III et al.)による、「ディジタル・コンピュータ・ネットワークでのソフトウェア配布のためのシステム(Systemfor software distribution in a digital computer network)」という名称の米国特許第5,845,090号には、ソフトウェアおよびデータをメソッドと呼ばれるプログラムおよびデータと共に組み合わせてパッケージと呼ばれる単一エンティティにし、次いで特定の技法を使用してパッケージをあるコンピュータから別のコンピュータに伝送することによって、ネットワークでソフトウェアおよびデータを配布するプロセスが開示されている。この文献で開示されているプロセスは、配布パッケージ(プログラムおよびデータ・インストール)、収集パッケージ(データ収集用メソッド)、およびコマンド・パッケージ(システム管理タスク用メソッド)の伝送のためのサブプロセスをカバーするものである。
【0013】
グロウニー(Glowny)による、「リモートのソフトウェア構成および配布のシステムおよび方法(Systemand method for remote software configuration and distribution)」という名称の米国特許第5,805,897号では、リモートのソフトウェア・インストールおよび維持のためのシステムおよび方法が扱われている。
【0014】
ニール(Neal)による、「電子メールによりネットワーク・リンクを介してソフトウェアを配布する方法(Methodfor distributing software over network links via electronic mail)」という名称の米国特許第6,192,518号では、電子メールによってネットワークを介してソフトウェア・アプリケーションを配布する方法、装置、および製造品が開示されている。
【0015】
ホームズ(Holms)による、「動的環境でソフトウェア・システムを指定、開発、配布および監視するための信頼性が高く反復可能なプロセス(Reliableand repeatable process for specifying, developing, distributing and monitoringa software system in a dynamic environment)」という名称の米国特許第6,226,784号には、プロジェクト管理のための一般的なプロセスが記載されている。このプロセスは、ソフトウェアのライフ・サイクルを、実験用環境でその開発の間だけ管理することに限定されるものである。
【0016】
上記の各米国特許の全体を参照によって本明細書に組み込む。
【0017】
従来技術で記載されているシステムおよび方法の別の例としては、IBM社インターナショナル・テクニカル・サポート・オーガニゼーション(International Technical Support Organization, IBM Corporation)による、「ソフトウェア配布プロセス(TheSoftware Distribution Process)」という名称の資料、SG24.5504.00、1999年9月に、ソフトウェア配布およびインストールのサブプロセスが記載されている。あらゆるステップが詳細に記載され、それをどのようにいつ実装するかが説明されている。しかし、ソフトウェア送達プロセス全体に関与する他の任意のサブプロセスはカバーされていない。
【0018】
公知の方法の大部分は、配布サブプロセスまたは無人インストール・サブプロセスあるいはその両方など、完全なソフトウェア送達プロセスのうちの個々のサブプロセスをカバーすることだけに限られている。他の公知の方法は、ソフトウェア・プロジェクト管理の特定の必要をカバーすることだけに限られており、開発から生産まで、ソフトウェア製品の全ライフ・サイクルに沿って業務環境上でソフトウェア送達プロセスを実装するためには適用できない。
【0019】
従来技術のシステムおよび方法の実用的な一実装形態として、大多数の企業の情報技術(IT)組織は、全ソフトウェア送達プロセスのうちの特定のサブプロセスを実装するために、種々、別々の異機種混合の分離されたサブシステムをインストールしている。例えば、様々なバージョンのコードを制御するための特定の構成管理システム(またはアプリケーション)、変更を管理するための関連のないシステム(またはアプリケーション)、ソフトウェア製品での問題およびその解決策を追跡するための別のシステム、様々な環境にソフトウェア製品を配布するためのさらに別個のツールなどが考えられる。
【0020】
適切なエンドツーエンド・ソフトウェア送達プロセス、あるいは分離された独立型のシステムによるこのプロセスの実装が行われないと、しばしば、低品質のソフトウェア製品、送達計画の遅延、コスト超過が発生し、あるいは顧客の要望を満たせないことがある。
【0021】
本出願人は、現存の方法では、ソフトウェア・アプリケーションの様々なコンポーネントへの変更、それらの間の依存性および関係性、それらを走らせる複数のプラットフォーム、それらの複数のバージョンおよび様々な環境(開発、構築、単体テスト、機能テスト、統合テスト、回帰テスト、システム・テスト、生産など)を通じたそれらの進化という状況を包含することができないと考える。したがって、開発から生産でのインストールまで、その全ライフ・サイクルに沿ってソフトウェア・システムを管理できるエンドツーエンド・ソフトウェア送達プロセスが必要とされている。
【0022】
この必要に適切に対処するためには、完全なエンドツーエンド・ソフトウェア送達プロセスを構成する種々の動作は相互に独立とすべきでも分離すべきでもない。その反対に、それらの全部ではなくても大部分を相互に関連させる必要がある。事実、これらの動作は、各動作が別の動作で必要とされる出力を生成するため、連鎖させる必要がある。また、このエンドツーエンド・ソフトウェア送達プロセスは、新規のソフトウェア製品、例えば新規のアプリケーションの完全なライフ・サイクルをカバーし、それを全体として管理し、そのプロセス全体を通じてその保全性を保つ必要がある。さらに、ソフトウェア送達プロセスは、ソフトウェア製品が、同じシステムまたは他の目標システム上で実行されている他のコンポーネントよびソフトウェア製品にも関連する、異なるが相互に関連した部分から構成されていることを考慮に入れる必要がある。
【特許文献1】
米国特許第5,742,829号
【特許文献2】
米国特許第5,845,090号
【特許文献3】
米国特許第5,805,897号
【特許文献4】
米国特許第6,192,518号
【特許文献5】
米国特許第6,226,784号
【非特許文献1】
「ソフトウェア配布プロセス(The SoftwareDistribution Process)」、IBM社インターナショナル・テクニカル・サポート・オーガニゼーション(InternationalTechnical Support Organization, IBM Corporation)、SG24.5504.00、1999年9月
【発明の開示】
【発明が解決しようとする課題】
【0023】
したがって、前述のすべての要件をカバーする全般的な解決策、およびソフトウェア製品が種々の相互に関連した部分から構成されていることを考慮に入れた上で、そのソフトウェア製品の完全なライフ・サイクルをカバーし、それを全体として管理すると共にその保全性を保つ統合管理システムに基づくエンドツーエンド・ソフトウェア送達プロセスが依然として必要とされている。
【課題を解決するための手段】
【0024】
本発明は、前述の問題を解決することを対象とする。
【0025】
詳細には、本発明の目的は、ソフトウェア製品を送達する現在のシステムおよび方法を改善して、満たすべきその主要な要件をカバーすることである。
【0026】
本発明の第1の態様によれば、ネットワーク環境でのソフトウェア製品の目標ソフトウェア製品実行ユニットへの送達プロセスを管理する統合データ処理システムが提案される。それらの目標ユニットは、そのネットワーク環境内のソフトウェア製品テスト環境にも、ソフトウェア製品ユーザ訓練環境にも、あるいは生産環境にも属することができる。この統合データ処理システムは、少なくとも1つのソフトウェア製品のソフトウェア・コンポーネントを記憶する中央リポジトリと、中央リポジトリ内の、送達されるソフトウェア製品のソフトウェア・コンポーネントを識別する第1のサブシステムと、第1のサブシステムによって識別された識別済みソフトウェア・コンポーネントから少なくとも1つのソフトウェア製品パッケージを作成する第2のサブシステムと、第2のサブシステムによって作成された少なくとも1つのソフトウェア製品パッケージを目標ソフトウェア製品実行ユニットに配布する第3のサブシステムを含む。
【0027】
ソフトウェア製品パッケージが配布される宛先である目標実行ユニットは、第2のサブシステムによって少なくとも1つのソフトウェア製品パッケージに割り当てられた役割の指示に従って決定される。
【0028】
好ましい一実施形態では、この統合データ処理システムは、第3のサブシステムによって配布される予定の、識別済みソフトウェア・コンポーネントから第2のサブシステムによって作成された少なくとも1つのソフトウェア製品パッケージを記憶するソフトウェア・パッケージ配布リポジトリを含む。
【0029】
第1のサブシステムは、送達されるソフトウェア製品のソフトウェア・コンポーネントの中央リポジトリ内の記憶も管理する。
【0030】
好ましくは、この統合データ処理システムは、送達されるソフトウェア製品の識別済みソフトウェア・コンポーネントの間でのソフトウェア・コード・コンポーネントの構築プロセスを実施する第4のサブシステムをさらに含む。この第4のサブシステムは、その構築プロセスの結果を中央リポジトリに記憶する。
【0031】
好ましい一実施形態では、この統合データ処理システムは、すでに送達されたソフトウェア製品に変更または修正あるいはその両方を適用するプロセスを管理する第5のサブシステム、およびソフトウェア製品の送達中にその統合データ処理システムの他のサブシステムによって提供される情報を記録する第6のサブシステムをさらに含む。
【0032】
本発明の別の態様は、ネットワーク環境でソフトウェア製品を目標ソフトウェア製品実行ユニットに送達する方法である。この方法は、
少なくとも1つのソフトウェア製品のソフトウェア・コンポーネントを中央リポジトリに記憶するステップと、
中央リポジトリに記憶されたソフトウェア・コンポーネントの間で送達されるソフトウェア製品のソフトウェア・コンポーネントを識別するステップと、
識別されたソフトウェア・コンポーネントから少なくとも1つの配布可能ソフトウェア製品パッケージを作成するステップと、
そのソフトウェア製品パッケージを目標ソフトウェア製品実行ユニットに配布し、そこにそのソフトウェア製品パッケージをインストールするステップと
を含む。
【0033】
本発明の特徴および利点は、添付の図面を参照してなされ、単に非限定的な例を引いて提供される、その好ましい一実施形態の以下の詳細な説明により明らかになるであろう。
【発明を実施するための最良の形態】
【0034】
本発明は、情報インフラストラクチャを備える一般的な企業内での完全なエンドツーエンド・ソフトウェア送達プロセス実装のための統合管理システムおよび方法を提供する。
【0035】
一般的な企業の情報インフラストラクチャを図1に概略的に示す。参照番号101でその全体を識別するインフラストラクチャは、例えばローカル・エリア・ネットワーク(LAN)、広域ネットワーク(WAN)またはそれらの組み合わせ、あるいはその他任意の種類のネットワークである、ネットワーク105によってネットワークに接続されたパーソナル・コンピュータ、ワークステーション、サーバなど様々な性質の複数のプラットフォーム103を含む。プラットフォーム103は、ソフトウェア製品をテストするテスト環境TEST、そのソフトウェア製品の対象とするエンド・ユーザがその使用法の訓練を受ける訓練環境TRAIN、企業の毎日の業務管理で目的の用途のためにそのソフトウェア製品を実行する生産環境PRODなど、複数の異なる環境に属することができる。
【0036】
この企業は、企業の情報インフラストラクチャ管理の機能を有する情報技術(IT)組織IT_ORGも持つ。このIT組織は一般に、例えば新規ソフトウェア製品や、既存のソフトウェア製品の新規リリースまたはバージョンの開発を担当するソフトウェア製品開発チームDEV、ソフトウェア・コードから開始して、目標環境でソフトウェア製品を実行するのに必要とされるすべての項目を構築するプロセスを担当するソフトウェア製品構築チームBUILD、規定の環境での目標プラットフォーム103に配布されるソフトウェア・パッケージの作成を担当するソフトウェア・パッケージ作成チームPACK、および規定の環境での規定の目標プラットフォームへのソフトウェア・パッケージの配布およびインストールを担当するソフトウェア・パッケージ配布チームDISTRなど、複数のチームを含む。様々なチームの各メンバは、企業ネットワーク105に接続される、統合サーバ109にネットワークで接続されたプラットフォーム107上で処理を行う。
【0037】
本発明によれば、適切で完全なエンドツーエンド・ソフトウェア送達プロセスは、構成管理/バージョン管理、変更/問題管理、構築、パッケージ化、配布、およびインストールの各サブプロセスを含むことができる。
【0038】
構成管理/バージョン管理サブプロセスは、ソース・コード・モジュール、バイナリ・ファイルおよび実行可能ファイル、構成ファイル、インターフェイス、データ・モデル、データ構造、エンティティ、プロシージャ(インストール・スクリプトおよび構成スクリプト)、文書などの、ソフトウェア製品のコンポーネントの識別を可能にする。また、このサブプロセスは、開発ライフ・サイクル中にソフトウェア製品コンポーネントの異なるリリースおよびバージョンを管理し、それらの進化を追跡する。またこれは、ソフトウェア製品が送達され得る宛先目標ソフトウェア・システムの要素間の可能な依存関係の識別(プラットフォーム、オペレーティング・システム、ミドルウェア、ネットワークの検討など)を可能にし、これらの要素すべてをまとめて全体として管理できるようにする。したがってこのサブプロセスは、特定の環境および段階にある目標ソフトウェア・システムの状況を常に判断できるようにする。
【0039】
変更/問題管理サブプロセスは、コードを拡張するために実装される変更や発生したエラーを解決するために開発される修正の制御を可能にする。開発チームが変更を実装し、またはバグを修正するために生成または変更したソフトウェア・コンポーネントは、識別し制御する必要があるので、このサブプロセスは、構成管理/バージョン管理サブプロセスと完全に一体化して動作することができる。
【0040】
構築サブプロセスは、指定された目標システム、すなわち指定された目標環境およびプラットフォームでソフトウェア製品を実行するのに必要な項目を生成する。このサブプロセスの正常な実装は、構成管理/バージョン管理サブプロセスの正しい実装を必要とする。このためには、構築サブプロセスは、何を変更する必要があるか、構築プロセスで使用する要素がどこにあるか、ソフトウェア製品の新規バージョンを正常に生成するためにどのプロシージャをトリガすべきかを知る必要がある。
【0041】
パッケージ化サブプロセスは、必要なファイル、データ、スクリプトおよびインストール・サブプロセスを支援するために必要とされるユーティリティを含む、インストール可能な形式のソフトウェア・パッケージを生成する。インストール・サブプロセスの正確さを保証するためには、必須ではないが、インストールが無人で(すなわちエンド・ユーザによる介入なしで)行われることが望ましい。このために、生成されるパッケージは、インストール・サブプロセス中に要求されるパラメータの値、選択肢、または可能な答えを正しく記録しておくことのできる必要な応答ファイルを含むこともできる。
【0042】
配布サブプロセスは、パッケージ化サブプロセスで生成されたソフトウェア・パッケージの目標システムへのインストール可能にすると共に目標システムから使用可能にする。
【0043】
最後に、インストール・サブプロセスは、配布されたソフトウェア・パッケージを目標システム、すなわち対応する環境(テスト、生産、訓練など)での規定の目標プラットフォーム上にインストールする。このサブプロセスは、ログ・ファイルも作成し、ソフトウェア・パッケージのインストールの結果として目標システムに適用された変更をログに記録する。また、インストール・サブプロセスは、配布管理チームに、正常で正確なインストールの完了について通知し、またはインストールに失敗した場合は処理をトリガすることもできる。
【0044】
本発明の好ましい一実施形態による統合管理システムは、ソフトウェア送達プロセスを構成する様々なサブプロセスを実装する複数の異なるサブシステムを含む。
【0045】
具体的には、本発明の好ましい一実施形態による統合管理システムは、構成管理/バージョン管理サブプロセスを実装する構成管理サブシステム、変更/問題管理サブプロセスを実装する変更/問題管理サブシステム、構築サブプロセスを実行する構築サブシステム、パッケージ化サブプロセスを実装するパッケージ化サブシステム、および配布/インストール・サブプロセスを実装する配布サブシステムを含む。
【0046】
各サブシステムは、ソフトウェア送達プロセスの1つまたは複数の特定のサブプロセスを実施する。これらのサブシステムは、開発から生産でのインストールまで、その全ライフ・サイクルに沿ってソフトウェア製品を管理するために、分離されず、相互に統合され関連付けられている。
【0047】
さらに、本発明の好ましい一実施形態による統合管理システムは、その他のサブシステムと統合され相互に対話する追跡サブシステムを含む。この追跡サブシステムは、ソフトウェア送達プロセスの様々な段階に沿って、他のサブシステムからソフトウェア送達の状況に関する情報を取り込み、それを統合する。プロセスの各段階およびそれらの段階で検出された問題は、追跡サブシステムによって記録することができる。また、追跡サブシステムは、IT組織内の様々なチームのメンバに、そうした組織内での各メンバの役割および責任に応じて、ソフトウェア送達プロセスに関して連絡を保つこともできる。
【0048】
図2は、本発明の好ましい一実施形態によるエンドツーエンド・ソフトウェア送達統合管理システムの概略的構成図である。この統合管理システムは、参照番号201で全体として識別され、そのコンポーネント・サブシステムが機能ブロックとして概略的に表されている。具体的には、構成管理サブシステムはブロック203(CMss)で、構築サブシステムはブロック205(Bss)で、パッケージ化サブシステムはブロック207(Pss)で、配布サブシステムはブロック209(Dss)で、変更/問題管理サブシステムはブロック211(C&PMss)で識別される。さらに、追跡サブシステムはブロック213(Tss)で識別される。
【0049】
企業のIT組織の開発チームDEVがそれを用いて対話するための構成管理サブシステム203は、関連するセキュアな中央リポジトリ(CR)215を備え、構築サブシステム205、パッケージ化サブシステム207、変更/問題管理サブシステム211と対話する。次に、パッケージ化サブシステム207は、配布サブシステム209と対話する。本発明の好ましい一実施形態では、配布サブシステム209は関連するソフトウェア配布リポジトリ(DR)217を備える。ソフトウェア配布リポジトリ217には、パッケージ化サブシステム207からアクセスすることができる。
【0050】
配布サブシステム209は、例えば生産環境PRODやテスト環境TESTなど、規定の環境の規定の目標プラットフォーム103に、後続のインストールのためにソフトウェア製品を配布することができる。
【0051】
変更/問題管理サブシステム211は、ソフトウェア製品がインストールされている様々な環境の目標プラットフォームからフィードバックを受け取る。
【0052】
IT組織の開発チームDEVは、インストール済みソフトウェア製品の問題への変更または修正の開発段階で、変更/問題管理サブシステム211と対話する。変更/問題管理サブシステムは開発チームに、インストール済みソフトウェア製品に修正または変更が必要とされることを通知する。
【0053】
構成管理サブシステム203、構築サブシステム205、パッケージ化サブシステム207、配布サブシステム209、および変更/問題管理サブシステム211はすべて、追跡サブシステム213と対話することができる。
【0054】
図2では、サブシステム、リポジトリ、目標環境および開発チームの間の機能的対話が単純な線として概略的に表されている。
【0055】
プロジェクトの要件に従って統合管理システムを形成するように前述の各サブシステムを実装し、相互に統合し合うためには、既存のソフトウェア製品およびツール、ならびにこのために特別に開発された他のソフトウェア・コンポーネントを使用することができる。
【0056】
次に、様々なサブシステムの具体的な機能についてより詳細に説明する。
【0057】
一般に、構成管理サブシステム203は、ソフトウェア送達プロセスの構成管理/バージョン管理サブプロセスを実装する。具体的には、このサブシステムは、ソース・コード・モジュール、構築スクリプト(すなわちMakefile)、バイナリ・ファイルおよび実行可能ファイル、インターフェイス、データ・モデル、データ構造、エンティティ、構成ファイル、インストール・スクリプトおよび応答ファイル、構成スクリプト、ならびに例えば送達情報、構築ガイド、管理ガイド、操作ガイドおよびユーザ・ガイドといった文書コンポーネントなど、ソフトウェア製品の各コンポーネントを識別し、編成し、制御するタスクを実施する。
【0058】
ソフトウェア製品の前述の各コンポーネントは、例えば、開発チームが開発し、あるいはソフトウェア供給元から購入して、開発チームが構成管理サブシステム203に提供することができる。
【0059】
構成管理サブシステム203は、それらのソフトウェア・コンポーネントを関連するセキュアな中央リポジトリ215に記憶する。
【0060】
さらに、構成管理サブシステム203は、その開発ライフ・サイクル全体を通じてそれらのソフトウェア・コンポーネントのバージョンを制御、管理し、その進化を追跡して、その状況や、特定の環境でのそのコードのバージョンをすぐに判別できるようにする。
【0061】
さらに、構成管理サブシステム203は、ソフトウェア製品を構成するソフトウェア・コンポーネント間の依存性および関係性の記録を可能にすると共に、それらすべてをまとめて全体として管理できるようにする。
【0062】
したがって、構成管理サブシステム203は、ソフトウェア製品の保全性のみならず、システム全体の保全性も保証する。これらすべての機能が、複雑さを低減させて実装時間を節約し、ソフトウェア生産プロセスの品質および生産性を向上させ、以前のソフトウェア・バージョンの再利用を簡単にする。
【0063】
変更/問題管理サブシステム211は、ソフトウェア送達プロセスの変更/問題管理サブプロセスを実装する。具体的にはこのサブシステムは、以下の機能を実施する。
ソフトウェア製品への変更の実装およびエラーの解決を制御する機能;
変更/問題管理サブプロセスの各ステップを支援する機能。これらのステップには、例えば、テスト、訓練または生産環境のいずれかにすでにインストール済みのソフトウェア製品での問題の検出、変更の承認、出力の検証、変更の実装、バグの訂正などが含まれる;
変更および問題を追跡し、変更/問題管理サブプロセスが正常に実現されたこと、および変更が適切に許可されたことを保証する機能;
変更および問題の影響を評価し、それによって意思決定を可能にし、コスト、労力および時間を節約する機能;
このサブシステム内で記録、管理された類似のエラーに基づき問題判別プロセスを容易にする機能;
コードのどの要素がアプリケーション問題の原因であるか、あるいは変更を実装するためにどのコード要素を変更する必要があるかを識別する機能;
複数のバージョンおよび環境にわたって、作成された変更および修正をそのソフトウェア製品の新規バージョンで解決される問題と関連付けて、それらを個々のソフトウェア要素上で分離できるようにする機能。
【0064】
正確な問題および変更管理を実施するためには、堅固で適切な構成管理、ならびに効果的なバージョン管理が必要とされる。このために、変更/問題管理サブシステム211を、構成管理サブシステム203と完全に統合することができる。完全な統合とは、エンド・ユーザが、中央リポジトリ215内にある変更されるソフトウェア・コンポーネントのバージョンおよびリリース、その他の特徴を判別することができることを意味する。構成管理サブシステム203および変更/問題管理サブシステム211は、構成、バージョン管理、および変更/問題管理を実装する、単一サブシステムと考えることができる。
【0065】
構築サブシステム205は、ソフトウェア送達プロセスの構築サブプロセスを実装する。具体的にはこのサブシステムは、中央リポジトリ215に記憶されたソース・コードが正しく構築されたことを保証すると共に、目標システム上でそのソフトウェア製品を実行するのに必要とされるバイナリ・ファイルを生成する機能を持つ。このサブシステムは、バイナリ・ファイルの生成元であるソース・コードのバージョンの識別も可能にする。
【0066】
より詳細には、構成管理サブシステム203の制御下で、構築サブシステム205は、中央リポジトリ215から必要なソース・コード・コンポーネントを自動的に抽出し、そのソフトウェア製品を構築するのに必要なスクリプトおよび他の任意の要素を構築する。次いで、このサブシステムは、これらのコンポーネントを適当な構築システムに転送する。ソース・コードのタイプに応じて、構築サブシステム205は、そのソフトウェアの対応するバージョンを得るために、適当な構築スクリプト、構築システム、および目標実行プラットフォームおよび環境をトリガする。
【0067】
その後、サブシステム205は、生成されたバイナリ・ファイルを中央リポジトリ215に自動的に記憶し、それらが生成された元であるソースを追跡する。
【0068】
ソフトウェア・システムがIT組織によって社内で開発されず、ソフトウェア供給元から購入されたときは、ほとんどの場合、バイナリ・ファイルは限定的に送達され、生成されることはない。この場合は、構築サブプロセスを実施する必要はない。企業のIT組織の開発チームは、ソフトウェア供給元から提供されたバイナリ・ファイルを構成管理サブシステムに供給し、このサブシステムがそれらのファイルをソフトウェア製品のその他のコンポーネントと共に中央リポジトリ215に記憶する。
【0069】
パッケージ化サブシステム207は、ソフトウェア送達プロセスのパッケージ化サブプロセスを実装し、ソフトウェア製品のパッケージを生成して、それらを規定環境の目標プラットフォームに配送しインストールすることができるように準備する。より具体的には、パッケージ化サブシステム207は、配布可能な圧縮ソフトウェア・パッケージを生成する。これらのパッケージは、構築サブプロセスで生成され、またはソフトウェア供給元から提供されたソフトウェア製品のバイナリ・ファイル、および構成ファイル、初期設定ファイル、目標プラットフォーム上での無人インストールに必要な応答ファイル、エンド・ユーザ用文書など、必要とされるその他すべてのファイルを含む。これらのファイルは、中央リポジトリ215に記憶されたソフトウェア製品を構成する各コンポーネントを識別する構成管理サブシステム203の制御下で、中央リポジトリ215からパッケージ化サブシステムによって自動的に抽出される。パッケージの内容は、アプリケーション・コードおよび目標実行プラットフォーム(ハードウェア、オペレーティング・システム、ミドルウェア)のタイプによって異なるが、パッケージ化サブプロセスおよびパッケージ形式はそのパッケージ内容とは無関係とすることができる。
【0070】
次いで、IT組織のパッケージ化チームによって提供され追跡サブシステムに記録された情報に基づいて、パッケージ化サブシステム207は、そのソフトウェア製品が最終的にインストールされる目標システムの役割に一致するはずの役割を、生成されたソフトウェア・パッケージに割り当てる。例えば、目標システムの役割は、WINDOWS(R) NT SQLサーバ、MQシリーズ・クライアント、SAP NT サーバなどとすることができる。
【0071】
好ましくは、パッケージ化サブシステム207は、生成されたソフトウェア・パッケージを、ソフトウェア配布サブシステム209のソフトウェア配布リポジトリ217に記憶する。これにより、追跡サブシステム213によって提供される情報を使用して、各プラットフォーム上のそのソフトウェア製品のあらゆるコンポーネントを容易に識別することができ、ソフトウェア配布リポジトリ217からこれらのコンポーネントそれぞれの正しいバージョンを含む対応するインストール可能なパッケージを取得することが可能になる。さらに、ソフトウェア・アプリケーションの各バージョンは、そのパッケージがソフトウェア配布サブシステム209のソフトウェア配布リポジトリ217に記憶されてから1回だけ構築、パッケージして、その後に改訂することができ、結果として実施されるインストールが、(単体テスト環境、機能テスト環境、統合テスト環境、回帰テスト環境、システム・テスト環境、生産などの)目標環境に関係なく、同一であることが保証される。
【0072】
ソフトウェア配布サブシステム209は、ソフトウェア送達プロセスの配布/インストール・サブプロセスを実装し、規定環境の正しい目標プラットフォーム上へのソフトウェア・パッケージの配布およびインストールを実施する。配布されるソフトウェア・パッケージはソフトウェア配布リポジトリ217に記憶することもでき、ソフトウェア製品バイナリ・ファイル、および構成ファイル、初期設定ファイルおよび無人インストールに必要な応答ファイルなど必要とされる他の任意のファイルを含み、そのため、統合管理システムから要求され、あるいは目標プラットフォームに命令されてパッケージのインストールが開始された後には、ユーザの介入を必要とせず、したがってインストール・プロセスの正確さが保証される。
【0073】
ソフトウェア・パッケージの配布およびインストールは、直接アクセス配布、ストリーミング配布、宛先変更配布、カスケード配布、Webサーバへの公開による配布、電子メールを介した送信による配布など、従来の配布方法のいずれか1つに従って実施することができる。これらの方法すべては、相互に異なっていても、「pull」型配布技術、「push」型配布技術、またはそれらの組み合わせ(「push−pull」型配布技術)のいずれかを利用する。pull型配布技術では、ソフトウェア・パッケージの配布は、そのソフトウェア・パッケージを目標プラットフォームにインストールしようとするエンド・ユーザによってトリガされる。push型配布技術では、配布はソフトウェア配布サブシステム209によって開始され、それがソフトウェア・パッケージをソフトウェア配布リポジトリ217から目標プラットフォームに配布させる。push−pull型配布技術では、ソフトウェア・パッケージの配布は、push型技術とpull型技術の組み合わせによって実施される。様々な状況に応じて、これらの技術のいずれか1つを実装し適用することができる。
【0074】
プロジェクト目的に従ってソフトウェア・パッケージのインストールが許可されると、追跡サブシステム213からテスト・チーム、技術チーム、エンド・ユーザ、または(目標環境に応じた)関連する任意の専門家に通知を行うことができる。
【0075】
配布サブシステム209は、パッケージ化サブシステム207によってそこに割り当てられた役割に従ってソフトウェア・パッケージを配布する。
【0076】
追跡サブシステム213は、厳密にいうと、必ずしもソフトウェア配布プロセスのいずれか特定のサブプロセスを実装するとは限らない。このサブプロセスはむしろ、その全ライフ・サイクルに沿った一般のソフトウェア製品の送達プロセス状況に関してその他のサブシステムから収集した情報をまとめる。実施されるあらゆるプロセス・ステップ、あらゆる詳細、および統合管理システム上で検出されたあらゆるイベントは、追跡サブシステム213によって記録することができる。例えば、情報ツールとして、このサブシステムは、様々なソフトウェア製品送達およびソフトウェア・レベル、構築結果、配布またはインストール結果、送達状況に関する情報を提供する。
【0077】
本発明の好ましい一実施形態では、追跡サブシステム213は、ある規定のイベントが発生したとき、例えば送達状況の遷移が発生したときに、その送達プロセスに関与する専門家らに電子メール・メッセージの形で通知を自動的に送達する、電子メール(eメール)ツールを含む。電子メール・メッセージによる自動通知は、送達状況に関して、適切な時期にチームのメンバに通知する。具体的にはこのサブシステムは、配布担当のチームにソフトウェア・パッケージの送達について連絡する。
【0078】
前述の統合管理システムは、
構成管理サブシステム203の制御下で、IT組織の一チーム(例えば構成管理チームなど)によって、バージョン番号、プラットフォーム、言語、開発チームなどの関連する詳細を含むソフトウェア製品のバージョンを、追跡サブシステム213に記録し、ソース・コードの各部分を中央リポジトリ215にロードするステップと、
バージョン番号を割り当て、ソース・コードを記憶し、添付文書などを制御する、構成管理サブシステム203内のソース・コードを管理するステップと、
ソフトウェア供給元によって提供されなかった場合は、構築サブシステム205によって構成管理サブシステム203の制御下で、中央リポジトリ215に記憶されたソース・コードからバイナリ・ファイルを構築するステップと、
構成管理サブシステム203の制御下で、生成されたバイナリ・ファイル、および構成スクリプトやインストール・スクリプトなど、そのソフトウェア製品のその他のコンポーネントを中央リポジトリ215にロードするステップと、
構成管理サブシステム203の制御下で、中央リポジトリ215からバイナリ・ファイル、文書、構成スクリプトおよびインストール・スクリプトを抽出し、パッケージ化サブシステム207によって、配布されるソフトウェア・パッケージを生成するステップと、
ソフトウェア・パッケージを規定の目標環境での規定の目標プラットフォームに配布するために、前記生成されたソフトウェア・パッケージを配布サブシステム209に送るステップと、
配布サブシステム209の制御下で、ソフトウェア・パッケージを規定の環境の目標プラットフォームに配布しインストールするステップと、
このプロセス中に追跡サブシステムを更新し、そこに各ステップおよび問題を記録するステップと
を含むエンドツーエンド・ソフトウェア送達方法を実施する。
【0079】
さらに、この方法は、変更/問題管理サブシステム211の制御下で、すでに送達済みのソフトウェア製品へのソフトウェア変更および修正を管理できるようにする。
【0080】
次に図3を参照すると、本発明による、前述の統合ソフトウェア送達システムによってエンドツーエンド送達プロセスを実装する方法の好ましい一実施形態が、簡単な流れ図の形で示されている。
【0081】
次に説明するこの方法の例示的実施形態では、企業のIT組織の開発チームによって新規のソフトウェア製品が社内で完全に開発された場合について言及する。ただし、本発明による方法は、そのソフトウェア製品が社内で開発されたかそれともソフトウェア供給元によって提供されたかに関わらず、完全なエンドツーエンド・ソフトウェア送達プロセスを実装するように適合される。後者の場合は、この方法のステップの一部(構築のプロセスに関連するステップ)は実施する必要がない。
【0082】
この方法は、企業IT組織の開発チームが新規ソフトウェア製品、あるいはバグを修正し、または何らかの変更を加えるための既存のソフトウェア製品の新規リリースまたはバージョンを開発することを決定し次第開始される。
【0083】
まず(ブロック301)、開発チームは開発されるソフトウェア製品の関連詳細を追跡サブシステム213に記録する。記録される情報には、例えば、ソフトウェア製品名、リリース/バージョン番号、開発チームのリーダ名、目標実行プラットフォーム名、言語コード、製品参考資料、すでに修正された問題、実装された変更などが含まれ得る。
【0084】
次いで(ブロック303)、構成管理サブシステム203の制御下で、開発チームは、そのソフトウェア製品を構築、実行するのに必要とされるソフトウェア製品のコンポーネントを中央リポジトリ215にロードする。これらの要素には、例えば、ソース・コード・モジュール、構築スクリプト(すなわちMakefile)、構築文書、インターフェイス、データ・モデル、データ構造、エンティティ、構成スクリプトまたはファイル、インストール・スクリプトおよび無人インストールのための応答ファイル、ならびに例えば送達情報(用途、日付、修正された問題、適用された変更など)、構築ガイド、管理ガイド、操作ガイド、およびユーザ・ガイドなどの文書が含まれ得る。
【0085】
ブロック305で表すように、構成管理サブシステム203は、中央リポジトリ215に記憶されたソフトウェア製品のコンポーネントおよびそれらのバージョンを制御する。このために、開発チームは、ソース・コードを含む1つまたは複数のリポジトリ・コンポーネント名を含めて、構成管理サブシステム203がその制御を実施するために使用する情報を追跡サブシステム213に記録する。
【0086】
開発段階が完了すると、開発チームは追跡サブシステム213を使用して、IT組織内のソフトウェア送達担当部門にそのソフトウェア製品が使用可能であることを報告する(ブロック307)。
【0087】
次いで(ブロック309)、構築チームは、生成された構築スクリプトおよび文書が正確であるかどうかチェックする。このチェック中に、生成された構築スクリプトまたは文書あるいはその両方にエラーが見つかった場合は、構築チームによってそのイベントが追跡サブシステム213に記録され、そこから開発チームにエラー訂正の必要が通知される。開発チームがそのエラーを訂正した後で、少なくとも変更されたソフトウェア・コンポーネントについて前のステップを繰り返す。
【0088】
次いで、そのソフトウェア製品を適正に実行させるのに必要なバイナリ・ファイルを生成するために、そのソフトウェア製品が構築される。ブロック311で表すように、これらのバイナリ・ファイルは、構成管理サブシステム203の制御下で、中央リポジトリ215に記憶されたソース・コードから構築サブシステム205によって生成される。
【0089】
次いで、構築サブシステム205は、前のステップで生成されたバイナリ・ファイルを中央リポジトリ215に記憶する(ブロック313)。
【0090】
次のステップ(ブロック315)として、構築チームは、ブロック309、311、および313の各ステップの実行に関連する情報または(該当する場合は)問題を追跡サブシステム213に記録する(例えば完了成功または失敗、関連問題、必要な文書の欠如など)。追跡サブシステム213は、必要に応じて構築チームのメンバに、例えば電子メール・メッセージの形で自動通知を送信する。
【0091】
この時点で、ソフトウェア・アプリケーションの構築が完了する。パッケージ化サブシステム207によって、パッケージ化チームは対応するインストール可能なソフトウェア・パッケージを生成する(ブロック317)。構成管理/バージョン管理サブシステム203の制御下で、パッケージ化サブシステム207は中央リポジトリ215から、そのソフトウェア製品を規定の目標プラットフォーム上に配置(すなわちインストールおよび実行)するのに必要なソフトウェア・コンポーネントを抽出する。これらのコンポーネントには、バイナリ・ファイルおよび実行可能ファイル、インストール・スクリプト(必要に応じて)、無人インストール用応答ファイル、構成スクリプト(必要に応じて)、構成文書(必要に応じて)、エンド・ユーザ文書(すなわちユーザ・ガイド)、管理および操作文書、および規定の環境および規定の目標プラットフォーム上にそのソフトウェア製品を配置するために必要とされる可能性のあるその他のソフトウェア製品コンポーネントが含まれ得る。
【0092】
ソフトウェア・パッケージには構築サブプロセス中に生成されるあらゆる要素を含む必要があるので、構築サブプロセス205の出力は構成管理サブシステム203の中央リポジトリ215に記憶され、パッケージ化サブシステム207に入力として供給される。一般に、各ソフトウェア・パッケージは必要なものを完備している必要があるが、アプリケーションの特定の設計やインストール要件によっては、インストールされる1つのソフトウェア製品につき複数のパッケージを使用することもできる。
【0093】
ソフトウェア・パッケージが生成されると、それを配布することができる。したがって、生成されたソフトウェア・パッケージを、ソフトウェア配布サブシステム209に供給することが可能である。このために、パッケージ化サブシステム207は、そのソフトウェア・パッケージの配布を可能にするために、それを配布サブシステム209のソフトウェア配布リポジトリ217に記憶する(ブロック319)。
【0094】
次いで、パッケージ化チームは、ブロック317および319のステップに関連する情報または問題を追跡サブシステム213に記録する(ブロック321)。後者は、必要に応じてチームのメンバに自動通知を送信し配布する。
【0095】
配布サブシステム209を使用して、配布/インストール・チームは、目標環境の目標プラットフォームにソフトウェア・パッケージを配布、インストールする(ブロック323)。配布/インストール・チームは、このステップに関連する情報または問題も追跡サブシステム213に記録し、そこから必要に応じてチームのメンバに自動通知が送信される。好ましくは、企業のIT組織方針に従って、目標環境へのアプリケーション・パッケージのインストールは、管理チームの承認を受けることができる。
【0096】
ブロック325で表すように、インストール済みソフトウェア製品の拡張およびアプリケーション・バグの解決に必要な修正は、変更/問題管理サブシステム211によって処理される。このサブシステムは、構成管理サブシステム203と完全に統合することもできる。ソフトウェア変更および問題修正は、IT組織によって定義されるプロセスに従う必要がある。アプリケーション変更およびバグに関連する情報は、変更/問題管理サブシステム211に記録される。変更の場合には、変更の要求者がこの作業を実施し、エラーの場合には、それを発見した組織によってこのイベントが記録される。
【0097】
すでにインストール済みのソフトウェア製品に変更を実装し、またはそのバグを修正するために生成されたコード・バージョンを送達するプロセスおよび方法は、他のどんな送達項目のものとも基本的に同じである。事実、新規コード・バージョンの開発が始まると、それは追跡サブシステム213に記録される。また、構成管理サブシステム203内の変更またはバグの識別子も、送達情報の一部として記録する必要がある。
【0098】
ソフトウェア製品が企業IT組織によって社内で開発されず、ソフトウェア供給元によって提供された場合は、そのソフトウェア送達プロセスは、その供給元からソフトウェアを受け取ったときに開始する。ソフトウェア送達プロセス担当のスタッフに通知され、そのスタッフが追跡サブシステム213にその送達を記録する。この場合、インストール可能な形式のバイナリ・ファイルだけが送達されるはずであり、構成管理サブシステム内ではソース・コードの記憶も、管理もする必要がないので、構築サブプロセスは省略される。
【0099】
図4は、ソフトウェア送達プロセスの主要ステップが送達の状況に関する情報、すなわち追跡サブシステム213に記録された情報をどのように提供するかを示す概略図である。追跡サブシステム213は、送達プロセスによって生成された情報を統合すると共に送達の状況を追跡するための中心点として働く。それらのステップで記録される情報は以下のように要約される。
【0100】
ソフトウェア製品の新規リリースまたはバージョン、あるいは既存のソフトウェア製品の修正または変更の開発(ブロック411)を開始するとき、開発チームは追跡サブシステム213に、製品名、バージョン番号、開発チーム識別子、目標実行プラットフォーム、言語コード、ソフトウェア製品参考資料、構成管理サブシステム203に関連する情報(そのソース・コードを含む中央リポジトリ・コンポーネント名)、修正される問題、実装される変更などの関連詳細を記録する。ソフトウェア製品が社内で開発されず、ソフトウェア供給元から購入されるときは、前述したように、通常は、バイナリ・ファイルのみが送達されるはずである。この場合でも、供給されるソフトウェアは送達プロセスの流れに従う必要があり、ソフトウェア送達プロセス担当部門は、追跡サブシステム213にその供給元送達の情報を記録する必要がある。
【0101】
開発段階が終了したときには、そのアプリケーションを実行するのに必要とされるバイナリ・ファイルを生成するために、そのアプリケーションが構築される(ブロック413)。次いで、コード構築を担当する構築チーム(または、IT組織にそうした担当部門が存在しない場合は、開発チーム自体)は、プロセスのこのステップに関連する情報を追跡サブシステム213に記録する。記録される情報の種類の例としては、対応するバイナリ・ファイルの生成元であるソース・コードを含む中央リポジトリ215コンポーネント名、生成されたバイナリ・ファイルを含む中央リポジトリ215コンポーネント名、(開発チームによって提供された)構築スクリプトおよび文書を含む中央リポジトリ215コンポーネント名などの構成管理サブシステム情報、依存関係や前提条件(バージョン間管理、コード・セット・バージョンなど)に関する情報、構築日付、およびもしあれば構築の問題などがある。
【0102】
ソフトウェア製品が構築されると、パッケージ・サブシステム207によって対応するインストール可能パッケージが生成される(ブロック415)。次いで、ソフトウェアのパッケージ化を担当するパッケージ化チームは、このステップに関連する情報を追跡サブシステム213に記録する。記録される情報の種類の例としては、インストールを可能にするのに必要なスクリプトおよび応答ファイルを含むソフトウェア配布リポジトリ217コンポーネント名や、アプリケーション・パッケージを含むソフトウェア配布リポジトリ217コンポーネント名などの構成管理サブシステム情報、アプリケーション・パッケージ、パッケージ名、目標実行プラットフォームの役割、パッケージ化日付、およびもしあればパッケージ化の問題などがある。
【0103】
ソフトウェア・パッケージが生成されると、それを配布することができる(ブロック417)。次いで、パッケージ化チームは、パッケージの新しい状況(配布可能なパッケージ)を追跡サブシステム213に記録する。
【0104】
ソフトウェア・パッケージの配布が、おそらく承認の後で、配布およびインストール(ブロック419)のために要求されたときには、そのソフトウェア・パッケージを、その役割または機能に従って正しい目標システムに割り当てる必要がある。ソフトウェア配布サブシステム209は、ソフトウェア・パッケージの目標プラットフォームへの送達を実施し、パッケージの配布およびインストールを担当する配布チームは、インストールされたパッケージの新しい状況(インストール済みの状況)を追跡サブシステムに記録する。
【0105】
本発明による、エンドツーエンド・ソフトウェア送達統合管理のシステムおよび方法の最も顕著で有利な特徴は、以下の通りである。
【0106】
ソフトウェア製品の全ライフ・サイクルが、従来技術でのような1組の無関係で独立したプロセスとしてではなく、単一のプロセスとして管理される。
【0107】
本発明の統合管理ソフトウェア・システムは、ソフトウェア送達プロセス全体をサポートする固有で包括的な管理システムである。この統合管理システムの各サブシステムは相互に統合され、そのそれぞれが、ソフトウェア送達プロセスの特定のサブプロセスを実装する。
【0108】
本発明による統合管理システムは、特定の実装形態で利用されるプラットフォーム、オペレーティング・システム、リポジトリ、データベースとは無関係である。さらに、この統合管理システムは、ソフトウェア・システムおよびその正確な性能の保全性を保証し、様々なソフトウェア・コンポーネントと文書の間の依存性および関係を追跡、制御して、重複を回避し、すべての部分が必要に応じて相互に結びついて機能できるようにする。
【0109】
新規のソフトウェア製品、あるいはすでにインストール済みのアプリケーションへの修正や変更など、既存のソフトウェア製品の新規リリースまたはバージョンが、構成管理サブシステムの制御下で中央リポジトリから構築される。
【0110】
インストール可能なソフトウェア・パッケージは、パッケージ内容および宛先システムと無関係に生成、配布され、無人の手順によってインストールすることができる。
【0111】
有利には、(完全または付加的な)新規ソフトウェア・バージョンを一度構築、パッケージ化して、配布サブシステムのソフトウェア配布リポジトリに記憶することができ、様々な環境でのそのインストール・パッケージの再利用を可能にする。
【0112】
さらに、この統合管理システムは、無人インストールのためのソフトウェア・パッケージの自動抽出を可能にし、正しいパッケージがその役割に従って正しい目標システムにインストールされるようにし、任意の特定の環境および段階でのソフトウェア・システムの完全な状況情報をいつでも取り出せるにようにする。
【0113】
さらに、この統合管理システムは、異なるプラットフォーム上にある同じソフトウェアの様々なバージョンまたはレベルの間の同期、ならびに、遠隔地にある専門家によって所有され、管理されることの非常に多い異種(すなわち開発、構築、単体テスト、統合テスト、回帰テスト、システム・テスト、生産)環境上で、並列で実行されている同時アプリケーション間の同期を保証する。
【0114】
またこのシステムは、ソフトウェア状況の監査記録を残すこともできる。
【0115】
本明細書で述べたソフトウェア送達プロセス、およびそれを実装する開示のシステムおよび方法は、管理システムによってサポートされるソフトウェア送達プロセス実装の問題に直面するどんな業務、企業、IT組織にも適用可能であることを強調しておく必要がある。事実、本発明で説明したシステムの要件および主要な特徴は、一般的なものであり特定の実施形態とは無関係である。
【0116】
また、添付の特許請求の範囲によって定義されるように、所与の組織または企業の特定の要件に従って、他の実施形態を使用することも、本発明の範囲を逸脱することなく構造的変更を加えることもできることも理解されたい。
【図面の簡単な説明】
【0117】
【図1】一般的な企業の情報インフラストラクチャを示す簡略化した図である。
【図2】本発明の好ましい一実施形態によるソフトウェア送達統合管理システムを示す構成図である。
【図3】図2の統合管理システムによるエンドツーエンド送達プロセスを実装する、本発明の好ましい一実施形態による方法の主要ステップを概略的に示す流れ図である。
【図4】統合管理システムによって実装されるソフトウェア送達プロセスの各サブプロセスと図2の統合管理システムの追跡サブシステムの間の情報交換を概略的に示す図である。
Claims (11)
- ネットワーク環境でソフトウェア製品の目標ソフトウェア製品実行ユニットへの送達プロセスを管理する統合データ処理システムであって、
少なくとも1つのソフトウェア製品のソフトウェア・コンポーネントを記憶する中央リポジトリと、
前記中央リポジトリ内で、送達されるソフトウェア製品のソフトウェア・コンポーネントを識別する第1のサブシステムと、
前記第1のサブシステムによって識別された前記識別済みソフトウェア・コンポーネントから少なくとも1つのソフトウェア製品パッケージを作成する第2のサブシステムと、
前記第2のサブシステムによって作成された前記少なくとも1つのソフトウェア製品パッケージを前記目標ソフトウェア製品実行ユニットに配布する第3のサブシステムと
を含む統合データ処理システム。 - 前記識別済みソフトウェア・コンポーネントから前記第2のサブシステムによって作成された前記少なくとも1つのソフトウェア製品パッケージを記憶するソフトウェア・パッケージ配布リポジトリをさらに含む、請求項1に記載の統合データ処理システム。
- 前記第3のサブシステムが、前記第2のサブシステムによって前記少なくとも1つのソフトウェア製品パッケージに割り当てられた少なくとも1つの役割に従って、少なくとも1つの環境に属する目標ソフトウェア製品実行ユニットに前記少なくとも1つのソフトウェア製品パッケージを配布する、請求項1に記載の統合データ処理システム。
- 前記第1のサブシステムが、前記送達されるソフトウェア製品の前記ソフトウェア・コンポーネントの前記中央リポジトリでの記憶を管理する、請求項1に記載の統合データ処理システム。
- 前記送達されるソフトウェア製品の前記識別済みソフトウェア・コンポーネントの間でソフトウェア・コード・コンポーネントの構築プロセスを実施する第4のサブシステムをさらに含み、前記第4のサブシステムは前記構築プロセスの結果を前記中央リポジトリに記憶する、請求項1に記載の統合データ処理システム。
- すでに送達されたソフトウェア製品に変更を適用するプロセスを管理する第5のサブシステムをさらに含む、請求項1に記載の統合データ処理システム。
- 前記ソフトウェア製品の送達中に、統合データ処理システムの前記第1から第5のサブシステムの少なくとも1つによって提供される情報を記録する第6のサブシステムをさらに含む、請求項1に記載の統合システム。
- ネットワーク環境でソフトウェア製品を目標ソフトウェア製品実行ユニットに送達する方法であって、
少なくとも1つのソフトウェア製品のソフトウェア・コンポーネントを中央リポジトリに記憶するステップと、
前記中央リポジトリに記憶された前記ソフトウェア・コンポーネントの間で、送達されるソフトウェア製品のソフトウェア・コンポーネントを識別するステップと、
前記識別されたソフトウェア・コンポーネントの少なくとも1つを含む少なくとも1つのソフトウェア製品パッケージを作成するステップと、
前記ソフトウェア製品パッケージを前記目標ソフトウェア製品実行ユニットに配布し、そこに前記ソフトウェア製品パッケージをインストールするステップと
を含む方法。 - 少なくとも1つのソフトウェア製品パッケージを作成する前記ステップが、前記少なくとも1つのソフトウェア製品パッケージに、前記ソフトウェア製品が配布される宛先の前記目標ソフトウェア製品実行ユニットを識別するための役割指示を割り当てること、前記役割指示に従って前記少なくとも1つのソフトウェア製品パッケージを配布することを含む、請求項8に記載の方法。
- 前記少なくとも1つのソフトウェア製品パッケージをソフトウェア配布リポジトリに記憶するステップをさらに含む、請求項8に記載の方法。
- 前記中央リポジトリに記憶された前記送達されるソフトウェア製品の識別されたソース・コード・コンポーネントを構築し、前記構築の結果を前記中央リポジトリに記憶するステップをさらに含む、請求項10に記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/943,563 US7735080B2 (en) | 2001-08-30 | 2001-08-30 | Integrated system and method for the management of a complete end-to-end software delivery process |
PCT/EP2002/009683 WO2003021432A1 (en) | 2001-08-30 | 2002-08-13 | Integrated management system and method for distributing software |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005502118A true JP2005502118A (ja) | 2005-01-20 |
Family
ID=25479866
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003525454A Pending JP2005502118A (ja) | 2001-08-30 | 2002-08-13 | 完全なエンドツーエンド・ソフトウェア送達プロセス管理のための統合システムおよび方法 |
Country Status (8)
Country | Link |
---|---|
US (1) | US7735080B2 (ja) |
EP (1) | EP1421485A1 (ja) |
JP (1) | JP2005502118A (ja) |
KR (1) | KR100702424B1 (ja) |
CN (1) | CN1277189C (ja) |
CA (1) | CA2457439A1 (ja) |
IL (1) | IL160612A0 (ja) |
WO (1) | WO2003021432A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7685594B2 (en) | 2005-07-20 | 2010-03-23 | International Business Machines Corporation | Method and data structure for reconfiguring a software package |
Families Citing this family (111)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10839321B2 (en) | 1997-01-06 | 2020-11-17 | Jeffrey Eder | Automated data storage system |
US7310801B2 (en) * | 2000-04-27 | 2007-12-18 | Microsoft Corporation | Servicing a component-based software product throughout the software product lifecycle |
CN1503951A (zh) * | 2001-01-09 | 2004-06-09 | 托普科德公司 | 用于编码竞赛的系统和方法 |
US7937281B2 (en) * | 2001-12-07 | 2011-05-03 | Accenture Global Services Limited | Accelerated process improvement framework |
AU2002354094B2 (en) | 2001-12-13 | 2006-10-19 | Sony Interactive Entertainment Inc. | Methods and apparatus for secure distribution of program content |
WO2003055132A1 (en) | 2001-12-21 | 2003-07-03 | Sony Computer Entertainment Inc. | Methods and apparatus for secure distribution of program content |
US7921023B2 (en) * | 2001-12-28 | 2011-04-05 | Sap Aktiengesellschaft | Portal for implementation of multiple software components |
US20030131088A1 (en) * | 2002-01-10 | 2003-07-10 | Ibm Corporation | Method and system for automatic selection of a test system in a network environment |
US7065746B2 (en) * | 2002-01-11 | 2006-06-20 | Stone Bond Technologies, L.P. | Integration integrity manager |
US8776042B2 (en) * | 2002-04-08 | 2014-07-08 | Topcoder, Inc. | Systems and methods for software support |
CN1679034A (zh) * | 2002-04-08 | 2005-10-05 | 托普科德公司 | 用于对软件开发服务征求建议的系统以及方法 |
US20060248504A1 (en) * | 2002-04-08 | 2006-11-02 | Hughes John M | Systems and methods for software development |
US7191435B2 (en) * | 2002-06-07 | 2007-03-13 | Sun Microsystems, Inc. | Method and system for optimizing software upgrades |
US7228541B2 (en) * | 2003-01-17 | 2007-06-05 | National Instruments Corporation | Creation of application system installer |
US7478385B2 (en) * | 2003-01-17 | 2009-01-13 | National Instruments Corporation | Installing software using programmatic component dependency analysis |
JP4209789B2 (ja) * | 2003-03-19 | 2009-01-14 | 株式会社リコー | ファイル作成方法、サーバ、記録媒体及びプログラム追加システム |
US7506337B2 (en) * | 2003-04-11 | 2009-03-17 | Microsoft Corporation | System and method for providing service of automated creation of computer software production images |
US20050015762A1 (en) * | 2003-06-09 | 2005-01-20 | Steckler Steven James | Methods and systems for deploying computer source code |
US7562345B2 (en) * | 2003-08-27 | 2009-07-14 | Lucent Technologies, Inc. | Firmware management tool |
US7562346B2 (en) * | 2003-09-02 | 2009-07-14 | Microsoft Corporation | Software componentization for building a software product |
US7487161B2 (en) * | 2003-09-12 | 2009-02-03 | Sap Ag | Distributing data |
US20050080811A1 (en) * | 2003-10-10 | 2005-04-14 | Cendura Corporation | Configuration management architecture |
US20050097548A1 (en) * | 2003-10-31 | 2005-05-05 | Dillenburg Brian J. | Systems and methods for developing and distributing software components |
US7716663B2 (en) * | 2004-02-26 | 2010-05-11 | International Business Machines Corporation | Method, system and program product for controlling native applications using open service gateway initiative (OSGi) bundles |
US7478396B2 (en) * | 2004-03-22 | 2009-01-13 | International Business Machines Corporation | Tunable engine, method and program product for resolving prerequisites for client devices in an open service gateway initiative (OSGi) framework |
US7526734B2 (en) * | 2004-04-30 | 2009-04-28 | Sap Ag | User interfaces for developing enterprise applications |
US8156489B2 (en) * | 2004-05-21 | 2012-04-10 | Computer Associates Think, Inc. | Distributed installation configuration system and method |
US7503041B2 (en) * | 2004-07-01 | 2009-03-10 | International Business Machines Corporation | Apparatus, system, and method for delivery of software |
EP1803062A1 (en) | 2004-09-20 | 2007-07-04 | Sony Computer Entertainment Inc. | Methods and apparatus for distributing software applications |
US8171474B2 (en) * | 2004-10-01 | 2012-05-01 | Serguei Mankovski | System and method for managing, scheduling, controlling and monitoring execution of jobs by a job scheduler utilizing a publish/subscription interface |
US20060080257A1 (en) * | 2004-10-08 | 2006-04-13 | Level 3 Communications, Inc. | Digital content distribution framework |
JP4717426B2 (ja) * | 2004-12-07 | 2011-07-06 | キヤノン株式会社 | 情報処理装置及びその方法 |
KR100669604B1 (ko) | 2004-12-17 | 2007-01-15 | 엘지전자 주식회사 | 형상 관리 시스템의 소프트웨어 통합 관리 시스템 |
US8489407B2 (en) | 2005-01-04 | 2013-07-16 | International Business Machines Corporation | Method of evaluating business components in an enterprise |
US7478283B2 (en) * | 2005-01-22 | 2009-01-13 | International Business Machines Corporation | Provisional application management with automated acceptance tests and decision criteria |
US7640587B2 (en) * | 2005-03-29 | 2009-12-29 | International Business Machines Corporation | Source code repair method for malicious code detection |
US7725735B2 (en) * | 2005-03-29 | 2010-05-25 | International Business Machines Corporation | Source code management method for malicious code detection |
US20070028216A1 (en) * | 2005-07-28 | 2007-02-01 | Boss Gregory J | Systems and methods for embedded application test suites |
US20070038897A1 (en) * | 2005-08-12 | 2007-02-15 | Theresia Lainer | Method and system for delivering a software product from a central computer to a target computer via a computer network |
US7945531B2 (en) * | 2005-09-16 | 2011-05-17 | Microsoft Corporation | Interfaces for a productivity suite application and a hosted user interface |
US8261258B1 (en) | 2005-10-28 | 2012-09-04 | Google Inc. | Common installer client |
US9274774B2 (en) * | 2005-10-28 | 2016-03-01 | Google Inc. | Common installer server |
US20070143446A1 (en) * | 2005-12-21 | 2007-06-21 | Morris Robert P | Methods, systems, and computer program products for installing an application from one peer to another including application configuration settings and data |
EP1999662A4 (en) * | 2006-01-20 | 2010-10-13 | Topcoder Inc | SYSTEM AND METHOD FOR CREATING DESIGNS |
US7873944B2 (en) * | 2006-02-22 | 2011-01-18 | International Business Machines Corporation | System and method for maintaining and testing a software application |
JP2007241610A (ja) * | 2006-03-08 | 2007-09-20 | Toshiba Corp | ソフトウェア部品管理装置、ソフトウェア部品管理方法、およびソフトウェア部品 |
US20070220479A1 (en) * | 2006-03-14 | 2007-09-20 | Hughes John M | Systems and methods for software development |
US20070250378A1 (en) * | 2006-04-24 | 2007-10-25 | Hughes John M | Systems and methods for conducting production competitions |
US20080052146A1 (en) * | 2006-05-01 | 2008-02-28 | David Messinger | Project management system |
EP1860548A1 (de) * | 2006-05-26 | 2007-11-28 | Siemens Aktiengesellschaft | Verfahren zur Versionsverwaltung von Automatisierungsdaten eines Kraftwerk-Automatisierungssystems |
US20070289028A1 (en) * | 2006-06-12 | 2007-12-13 | Software Spectrum, Inc. | Time Bound Entitlement for Digital Content Distribution Framework |
US20070288389A1 (en) * | 2006-06-12 | 2007-12-13 | Vaughan Michael J | Version Compliance System |
US8650539B2 (en) * | 2006-12-21 | 2014-02-11 | Siemens Aktiengesellschaft | Method for mapping the structure of a complex software product |
US20080167960A1 (en) * | 2007-01-08 | 2008-07-10 | Topcoder, Inc. | System and Method for Collective Response Aggregation |
JP4905165B2 (ja) * | 2007-02-07 | 2012-03-28 | 富士通株式会社 | 監視支援プログラム、監視方法および監視システム |
US20080196000A1 (en) * | 2007-02-14 | 2008-08-14 | Fernandez-Lvern Javier | System and method for software development |
US20080222055A1 (en) * | 2007-03-07 | 2008-09-11 | Hughes John M | System and Method for Creating Musical Works |
US8073792B2 (en) | 2007-03-13 | 2011-12-06 | Topcoder, Inc. | System and method for content development |
US8307341B2 (en) | 2007-04-25 | 2012-11-06 | International Business Machines Corporation | Generating customized documentation for a software product |
CN102006334B (zh) | 2007-06-11 | 2013-01-02 | 华为技术有限公司 | 安装软件组件的方法、系统及装置 |
DE102007028807A1 (de) * | 2007-06-20 | 2008-12-24 | Cebicon Gmbh | Verfahren zur Erstellung eines automatisch verteilbaren Software-Pakets |
US8621434B2 (en) * | 2007-06-26 | 2013-12-31 | Topcoder, Inc. | System and method for distributed software testing |
US8505005B1 (en) * | 2007-07-24 | 2013-08-06 | United Services Automobile Association (Usaa) | Multi-platform network-based software distribution |
US8682706B2 (en) * | 2007-07-31 | 2014-03-25 | Apple Inc. | Techniques for temporarily holding project stages |
US9003399B2 (en) * | 2007-09-11 | 2015-04-07 | International Business Machines Corporation | Methods, systems and computer products for a dynamic repository |
WO2009062033A1 (en) * | 2007-11-09 | 2009-05-14 | Topcoder, Inc. | System and method for software development |
WO2009089447A1 (en) * | 2008-01-11 | 2009-07-16 | Topcoder, Inc. | System and method for conducting competitions |
US8132157B2 (en) * | 2008-01-17 | 2012-03-06 | International Business Machines Corporation | Method of automatic regression testing |
KR101470319B1 (ko) * | 2008-02-15 | 2014-12-08 | 삼성전자주식회사 | 컴포넌트 모델 기반의 가상 소프트웨어 플랫폼을 생성하는방법, 이를 이용하여 소프트웨어 플랫폼 아키텍처를검증하는 방법 및 그 장치 |
US8776020B2 (en) * | 2008-12-11 | 2014-07-08 | Sap Ag | Software configuration control wherein containers are associated with physical storage of software application versions in a software production landscape |
KR20100071483A (ko) * | 2008-12-19 | 2010-06-29 | 한국전자통신연구원 | 묶음 소프트웨어의 배포 방법 및 시스템 |
US8266477B2 (en) | 2009-01-09 | 2012-09-11 | Ca, Inc. | System and method for modifying execution of scripts for a job scheduler using deontic logic |
WO2010082077A1 (en) * | 2009-01-19 | 2010-07-22 | Telefonaktiebolaget L M Ericsson (Publ) | Mobile specialized software code update |
US20100250316A1 (en) * | 2009-03-26 | 2010-09-30 | International Business Machines Corporation | Developing a service oriented architecture shared services portfolio |
CN101667131A (zh) * | 2009-10-14 | 2010-03-10 | 中兴通讯股份有限公司 | 移动终端及其配置信息的更新方法 |
CN102073488B (zh) * | 2009-11-20 | 2014-12-17 | 中兴通讯股份有限公司 | 一种软件集成方法、安装方法及软件集成装置、安装装置 |
US8843904B2 (en) * | 2010-01-26 | 2014-09-23 | International Business Machines Corporation | Automated building and retargeting of architecture-dependent assets |
WO2011155949A1 (en) | 2010-06-11 | 2011-12-15 | Hewlett-Packard Development Company, L.P. | Method and system for defining packaging components using lifecycle analysis |
US9003400B2 (en) * | 2010-11-29 | 2015-04-07 | Red Hat, Inc. | Tracking computing systems utilizing software repositories |
US9959113B2 (en) * | 2011-03-01 | 2018-05-01 | Red Hat, Inc. | Managing versions of software packages |
DE102012103654A1 (de) | 2011-05-17 | 2012-11-22 | International Business Machines Corp. | Installieren und Prüfen einer Anwendung auf einer stark genutzten Computerplattform |
US8839188B2 (en) * | 2011-05-18 | 2014-09-16 | International Business Machines Corporation | Automated build process and root-cause analysis |
US20130055202A1 (en) * | 2011-08-25 | 2013-02-28 | International Business Machines Corporation | Identifying components of a bundled software product |
WO2013160734A2 (en) * | 2012-04-27 | 2013-10-31 | Aselsan Elektronik Sanayi Ve Ticaret Anonim Sirketi | A method for dynamic configuration management and an apparatus thereof |
US9342317B2 (en) * | 2012-08-09 | 2016-05-17 | International Business Machines Corporation | Importing profiles for configuring specific system components into a configuration profile for the system |
US9223592B2 (en) | 2012-08-09 | 2015-12-29 | International Business Machines Corporation | Configuring a system with various system components utilizing a configuration profile |
US9805319B2 (en) * | 2012-09-28 | 2017-10-31 | Bmc Software, Inc. | Application of business process management standards for dynamic information technology management |
EP2720146A1 (en) | 2012-10-11 | 2014-04-16 | Thomson Licensing | Distributed application life-cycle management |
US20140130037A1 (en) * | 2012-11-08 | 2014-05-08 | Gigaspaces Technologies Ltd. | Computer application playlist and player |
US8887128B2 (en) | 2012-12-17 | 2014-11-11 | Sas Institute Inc. | Computer-implemented systems and methods for automated generation of a customized software product |
US9665359B2 (en) | 2013-09-13 | 2017-05-30 | Microsoft Technology Licensing, Llc | Automatically resolving conflicts after installation of selected updates in a computer system |
US10026064B2 (en) * | 2013-09-13 | 2018-07-17 | Microsoft Technology Licensing, Llc | Automatically recommending updates based on stored lifecycle information |
US9626176B2 (en) | 2013-09-13 | 2017-04-18 | Microsoft Technology Licensing, Llc | Update installer with technical impact analysis |
US9830142B2 (en) | 2013-09-13 | 2017-11-28 | Microsoft Technology Licensing, Llc | Automatic installation of selected updates in multiple environments |
US20150082298A1 (en) * | 2013-09-19 | 2015-03-19 | Qiu Shi WANG | Packaging and deploying hybrid applications |
US9367299B2 (en) * | 2013-12-31 | 2016-06-14 | Google Inc. | Preventing application downgrade in an application store |
US9280331B2 (en) * | 2014-05-09 | 2016-03-08 | Sap Se | Hash-based change tracking for software make tools |
US10185559B2 (en) * | 2014-06-25 | 2019-01-22 | Entit Software Llc | Documentation notification |
CN104598384B (zh) * | 2015-02-06 | 2017-11-21 | 中国民生银行股份有限公司 | 代码检测方法及装置 |
US10002071B2 (en) | 2016-03-23 | 2018-06-19 | Wipro Limited | Method and a system for automating test environment operational activities |
CN106227657A (zh) * | 2016-07-18 | 2016-12-14 | 浪潮(北京)电子信息产业有限公司 | 一种虚拟化云系统的持续集成方法和装置 |
US10642583B2 (en) * | 2016-10-28 | 2020-05-05 | International Business Machines Corporation | Development data management for a stream computing environment |
US11916994B1 (en) * | 2016-12-15 | 2024-02-27 | Blue Yonder Group, Inc. | Extending RESTful web service resources in a JAVA-component-driven-architecture application |
US10289409B2 (en) * | 2017-03-29 | 2019-05-14 | The Travelers Indemnity Company | Systems, methods, and apparatus for migrating code to a target environment |
US10318412B1 (en) * | 2018-06-29 | 2019-06-11 | The Travelers Indemnity Company | Systems, methods, and apparatus for dynamic software generation and testing |
CN109240757A (zh) * | 2018-07-23 | 2019-01-18 | 武汉智领云科技有限公司 | 一种大数据组件集中配置管理系统和方法 |
US10929124B2 (en) * | 2018-09-28 | 2021-02-23 | Workday, Inc. | Application release using integration into unified code system |
US20230061121A1 (en) * | 2019-05-15 | 2023-03-02 | The Regents Of The University Of California | Methods concerning ongoing treatment for cancer |
US11222164B2 (en) * | 2019-11-22 | 2022-01-11 | International Business Machines Corporation | Adding custom content to an existing documentation suite |
US11200155B2 (en) | 2020-04-09 | 2021-12-14 | The Toronto-Dominion Bank | System and method for automated application testing |
CN111625326B (zh) * | 2020-05-13 | 2023-06-27 | 北京字节跳动网络技术有限公司 | 任务管线执行方法、装置及电子设备 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4417305A (en) * | 1981-09-08 | 1983-11-22 | International Business Machines Corporation | Method for evaluating boolean expressions |
US5495610A (en) * | 1989-11-30 | 1996-02-27 | Seer Technologies, Inc. | Software distribution system to build and distribute a software release |
US5805897A (en) * | 1992-07-31 | 1998-09-08 | International Business Machines Corporation | System and method for remote software configuration and distribution |
US5845090A (en) * | 1994-02-14 | 1998-12-01 | Platinium Technology, Inc. | System for software distribution in a digital computer network |
US6110228A (en) * | 1994-12-28 | 2000-08-29 | International Business Machines Corporation | Method and apparatus for software maintenance at remote nodes |
US5742829A (en) * | 1995-03-10 | 1998-04-21 | Microsoft Corporation | Automatic software installation on heterogeneous networked client computer systems |
US5974454A (en) * | 1997-11-14 | 1999-10-26 | Microsoft Corporation | Method and system for installing and updating program module components |
US6035423A (en) * | 1997-12-31 | 2000-03-07 | Network Associates, Inc. | Method and system for providing automated updating and upgrading of antivirus applications using a computer network |
US6192518B1 (en) * | 1998-01-22 | 2001-02-20 | Mis Only, Inc. | Method for distributing software over network links via electronic mail |
US6226784B1 (en) * | 1998-10-14 | 2001-05-01 | Mci Communications Corporation | Reliable and repeatable process for specifying developing distributing and monitoring a software system in a dynamic environment |
US6532588B1 (en) | 1998-10-21 | 2003-03-11 | Xoucin, Inc. | User centric program product distribution |
US6427230B1 (en) * | 1998-11-09 | 2002-07-30 | Unisys Corporation | System and method for defining and managing reusable groups software constructs within an object management system |
US6223345B1 (en) * | 1999-08-30 | 2001-04-24 | J.D. Edwards World Source Company | System and method for building client and server application packages |
-
2001
- 2001-08-30 US US09/943,563 patent/US7735080B2/en active Active
-
2002
- 2002-08-13 IL IL16061202A patent/IL160612A0/xx unknown
- 2002-08-13 CN CNB028167430A patent/CN1277189C/zh not_active Expired - Lifetime
- 2002-08-13 CA CA002457439A patent/CA2457439A1/en not_active Abandoned
- 2002-08-13 KR KR1020037017249A patent/KR100702424B1/ko not_active IP Right Cessation
- 2002-08-13 JP JP2003525454A patent/JP2005502118A/ja active Pending
- 2002-08-13 EP EP02772235A patent/EP1421485A1/en not_active Ceased
- 2002-08-13 WO PCT/EP2002/009683 patent/WO2003021432A1/en active Application Filing
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7685594B2 (en) | 2005-07-20 | 2010-03-23 | International Business Machines Corporation | Method and data structure for reconfiguring a software package |
Also Published As
Publication number | Publication date |
---|---|
US7735080B2 (en) | 2010-06-08 |
WO2003021432A1 (en) | 2003-03-13 |
IL160612A0 (en) | 2004-07-25 |
KR100702424B1 (ko) | 2007-04-04 |
EP1421485A1 (en) | 2004-05-26 |
KR20040033288A (ko) | 2004-04-21 |
US20030046681A1 (en) | 2003-03-06 |
CN1547700A (zh) | 2004-11-17 |
CN1277189C (zh) | 2006-09-27 |
CA2457439A1 (en) | 2003-03-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2005502118A (ja) | 完全なエンドツーエンド・ソフトウェア送達プロセス管理のための統合システムおよび方法 | |
US7761851B2 (en) | Computer method and system for integrating software development and deployment | |
EP3769223B1 (en) | Unified test automation system | |
US8037453B1 (en) | System and method for continuous software configuration, test and build management | |
CN110532189B (zh) | 一种持续集成系统、方法及装置 | |
US9063725B2 (en) | Portable management | |
US8447859B2 (en) | Adaptive business resiliency computer system for information technology environments | |
US8037471B2 (en) | Systems and methods for constructing relationship specifications from component interactions | |
US8515799B2 (en) | Constructing change plans from component interactions | |
US8868441B2 (en) | Non-disruptively changing a computing environment | |
EP1497721B1 (en) | A software distribution method and system | |
US6820118B1 (en) | Method and system for providing a linkage between systems management systems and applications | |
US20040060035A1 (en) | Automated method and system for building, deploying and installing software resources across multiple computer systems | |
US20100332535A1 (en) | System to plan, execute, store and query automation tests | |
US20060184933A1 (en) | Integration of software into an existing information technology (IT) infrastructure | |
US8819695B2 (en) | Controlling application landscapes | |
US20030188040A1 (en) | Software agent hosting environment with extensible middleware integration | |
US20090089772A1 (en) | Arrangement for scheduling jobs with rules and events | |
US20060248517A1 (en) | Method and computer system for activation of source files | |
US20100042659A1 (en) | Deployment overview management system, apparatus, and method | |
Kaplan et al. | Implementing SAP Enhancement Packages | |
Edmond et al. | Achieving workflow adaptability by means of reflection | |
KR20210059386A (ko) | 소프트웨어의 효율적인 통합 관리 시스템 | |
AU2002337039A1 (en) | Integrated management system and method for distributing software | |
Popović et al. | A domain-specific language for managing ETL processes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060627 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20060926 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20061003 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061227 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20070130 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070531 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070712 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20070718 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20080201 |