JP2004501436A - ウェブサイト開発及び維持のためのワークフロープロセスを遂行する方法 - Google Patents
ウェブサイト開発及び維持のためのワークフロープロセスを遂行する方法 Download PDFInfo
- Publication number
- JP2004501436A JP2004501436A JP2001585081A JP2001585081A JP2004501436A JP 2004501436 A JP2004501436 A JP 2004501436A JP 2001585081 A JP2001585081 A JP 2001585081A JP 2001585081 A JP2001585081 A JP 2001585081A JP 2004501436 A JP2004501436 A JP 2004501436A
- Authority
- JP
- Japan
- Prior art keywords
- file
- workflow
- website
- task
- job
- 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
- 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
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Entrepreneurship & Innovation (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Operations Research (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Quality & Reliability (AREA)
- Marketing (AREA)
- Economics (AREA)
- General Engineering & Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
ウェブサイト開発及び維持(104)のためのワークフロープロセスを遂行する方法が提供される。ウェブサイトの開発及び維持は、複数の個人(102)の協働した努力を含む。仕事が予想可能で且つ整然とした形態で進行するように、ワークフローに基づいてタスクが指定されそして実行される。ワークフローは、シリアルな順序、互いにパラレル、又はシリアルとパラレルの組み合わせである。特定のワークフローを遂行するために、本発明は、ワークフローに基づいて仕事を強制的に進行させる環境を提供する。「ウェブマスター」のような監督者(120)は、ユーザ(又は貢献者)の努力をいかに進行させるべきか指示するワークフローファイルを開発する。従って、ウェブマスターは、ウェブサイトを開発して更新するプロセスに対して高い制御性を有する。その結果、多数の個人がその努力に含まれる場合でもウェブサイトの開発は効率的に進行する(124)。
Description
【0001】
【関連出願】
本出願は、1999年11月29日に出願された米国プロビジョナル特許出願第60/168,156号の優先権を請求する。本出願は、1999年2月3日に出願された米国特許出願第09/244,333号の一部継続出願である。
【技術分野】
本発明は、ウェブサイト開発及び維持の分野に係る。より詳細には、本発明は、ウェブサイト開発及び維持に使用されるプロセスの制御及び管理に係る。
【0002】
【背景技術】
インターネットは、商取引において大きな役割を演じ、そしてほとんどの会社は、ウェブサイトをもつ傾向にある。多数の貢献者の努力を整合する必要があるために大きなウェブサイトを開発するためのチャレンジがしばしばなされている。更に、多数のウェブサイトをしばしば変更する必要があり、そして貢献者は、通常、それを特別なプロセスで変更する。その結果、ウェブサイトのコンテンツを最新で、正確で且つ良好に一体化された状態に保つ進行中プロセスがしばしば大きなチャレンジとなる。インターネットサイトは、数百に達するチームにより、日、時又は分で更新される。同様に、イントラネットコンテンツの貢献者は、常に新たなコンテンツを提示するか又は既存のコンテンツに変更を行い、そして新たなコンテンツが迅速且つ正確に一体化されない限り、基本的な通信リソースとしてのイントラネットの有用性が制限される。
【0003】
大きなウェブサイトは、ウェブ貢献者の数が指数関数的に増加するにつれて、多数の問題に直面する。これらサイトの量及びコンテンツは、急速に増加しており、従って、サイトのトラフィック及びインターネット商取引が成長するにつれて、サイトをより頻繁に更新しなければならない。貢献者の数、コンテンツの量及び複雑さが増すにつれて、ウェブサイトのマネージャー(ウェブマスター)が各々の変更を監督しそして品質制御を行うことが益々困難になってきている。
ウェブサイトの開発は複雑であるために、中央システムがウェブサイトの開発を管理しそして制御する必要がある。ウェブサイトの開発を管理しそして制御するための既知のシステムは、ソフトウェアコンフィギュレーションマネージメントシステム、ドキュメントマネージメントシステム、及びデータベースパブリッシングシステムを含む。
【0004】
このような既知のウェブサイト開発システムに関連して多数の欠点がある。例えば、ウェブサイトを維持するのに数十又は数百人の人々の努力がしばしば必要であるから、ウェブサイト貢献者を並列に作業させることが望ましい。ソフトウェアコンフィギュレーションマネージメントシステムは、貢献者がウェブサイトの同じエリアに同時に変更を行うのを許さない。更に、既知のシステムは、いずれも、並列に作業する貢献者が、ウェブサイトへの変更を実際に行わずにそれら自身の仕事を個別にテストするのを許さない。従って、矛盾するような変更がウェブサイトに送られて、ウェブサイトを崩壊することがある。
【0005】
貢献者は、他の貢献者と結合されたときにそれらの仕事の影響を個々のレベルで予見できないので、既知のシステムは、ウェブマスターがウェブサイトに送られた全ての変更を一体化しそしてそれらの変更をエラーについてチェックすることに依存している。しかしながら、ウェブマスターは、しばしば、ウェブサイト開発プロセスのボトルネックとなる。というのは、ウェブマスターは、ウェブサイトへの変更の全ての一体化及びテストを行わねばならないからである。多数のユーザの仕事を一体化することは、手で行われそして時間がかかり、バグの固定及び矛盾の分析に多大な時間が浪費され、一方、設計、革新及び戦略にはほとんど時間が費やされない。更に、ウェブマスターは、貢献者がウェブマスターに変更を提示する準備ができるまで、変更に対する貢献者の進行状態を容易に予見できない。従って、ウェブマスターは、エラーを早期に修正することができず、そして貢献者がどれほど進行しているか決定することができない。
【0006】
既知のウェブサイト開発システムの別の欠点は、ウェブマスターが、ウェブサイトの更新に含まれる仕事がいかに進行すべきかを前もって決定し、そしてプランに基づいて仕事を進行させるメカニズムを備えるのを許さないことである。このようなプランニング機能がないと、ウェブマスターは、貢献者の努力に対して制限された制御しか行えず、その結果、低い効率となり、そして貢献者が変更を提示するときに多数の変更を行う必要が生じる。例えば、ウェブサイトの開発又は維持に関する多数の異なるタスクが、異なるワークステーションに各々存在する異なる個人に割り当てられた場合には、それらが組織化されて整合された場合にそれらの努力が最も効率的となる。
それ故、ウェブサイトの開発及び維持を組織化するための技術が要望される。より詳細には、監督者が多数のウェブサイト開発者の努力を制御できるような技術が要望される。
【0007】
【発明の開示】
本発明は、ウェブサイト開発及び維持のためのワークフロープロセスを遂行する方法を提供する。ウェブサイト開発及び維持は、複数の個人の協働した努力を含む。従って、仕事が予想可能で且つ整然とした形態で進行するように、ワークフロー(ここではジョブとも称する)に従ってタスクが指定されて実行される。ワークフロー(即ち、ジョブ)は、実行されるべきタスクの構成体である。この構成体は、シリアルな順序、互いにパラレル、又はシリアルとパラレルの組合せで実行されるタスクを含む。特定のワークフローを実施するために、本発明は、ワークフローに基づいて仕事を強制的に進行させる環境を提供する。
【0008】
各個人は、対応するワークエリアにおいて指定のタスクを実行することによりウェブサイトへ貢献することができる。各タスクは、特定のファイル(1つ又は複数)に含まれたデータに追加、削除又は修正のような変更を行うことを含む。従って、タスクは、既存のファイルを変更することを含むが、新たなファイルを生成することを含んでもよい。ワークエリアは、通常、中央サーバーに存在する。しかしながら、分散型処理環境では、ワークエリアは、指定されたメモリスペースを例えばワークステーションに含む。
【0009】
タスクが完了すると、それにより生じるファイル(1つ又は複数)に対して更なる仕事が行われる前に、その遂行された仕事の承認が1つ以上のエンティティにより要求される。その仕事が拒絶された場合には、更なる変更のためにファイルが返送される。例えば、タスクは、新たなマーケット情報を反映するようにウェブサイトのページを更新することを含む。仕事は、会社の情報システム部門にいるウェブプログラマーのような第1の個人によって行うことができる。新たなマーケット情報がウェブサイトに一体化されるように得られたファイルを配備する前に、その仕事の再調査及び承認が要求される。完了した仕事の再調査及び承認は、会社のマーケッティング部門の代表者のような第2の個人によって行われる。
「ウェブマスター」のような監督者は、ユーザ(又は貢献者)の努力をいかに進行させるべきかを指示するワークフローファイルを開発する。従って、ウェブマスターは、ウェブサイトを開発しそして更新するプロセスに対し高い制御権を有する。その結果、ウェブサイト開発は、多数の個人がその努力に含まれる場合でも効率的に進行する。
【0010】
【発明を実施するための最良の形態】
図1は、ウェブサイト開発のためのコンピュータネットワークシステム100を示す。開発ワークステーション102において、ウェブサイト開発者は、ウェブサイトのためのファイルを追加、除去、編集及び検査することができる。開発ワークステーション102は、従来のパーソナルコンピュータ、UNIX(登録商標)ワークステーション、又はコンテンツを開発するよう構成できる他のワークステーションを含むことができる。開発ワークステーション102は、インターネット又はローカルエリアネットワーク(LAN)のようなコンピュータネットワーク106を経て開発サーバー104に接続される。
開発サーバー104は、ウェブブラウザへコンテンツを供給するためのウェブサーバー108と、ウェブサイトコンテンツのバージョンを記憶するためのバックアップ記憶装置110とを備えている。サーバー108は、ウェブサイトコンテンツ(例えば、ファイル)に対する開発ステーション102からのハイパーテキスト転送プロトコル(HTTP)要求を処理する。ウェブサイトファイルは、例えば、マイクロソフトコーポレーションから商業的に入手できるWindows(登録商標) NTファイルシステムのような従来型のバックアップ記憶装置110に物理的に記憶される。
【0011】
又、開発サーバー104は、従来型メモリ112(例えばRAM)及び従来型プロセッサ114も備え、これは、メモリ112に記憶されたソフトウェア116を実行することにより本発明のウェブサイト開発方法を実施する。ウェブサーバー108が多数のサーバーであるかのように動作するのを許すためにプロセッサ114が実行するHTTPプロトコル視覚化モジュール118も、メモリ112に記憶することができる。
開発サーバー104は、ネットワーク122を経てウェブサイト生成ウェブサーバー120に接続される。ネットワーク122は、ネットワーク106と同じネットワークでもよいし、又は異なるネットワークでもよい。ウェブサーバー120は、インターネット又はイントラネット124にも接続される。ウェブサイトがワールドワイドウェブ又はイントラネットに送られる準備ができると、開発サーバー104は、ウェブサイトのコンテンツを生成ウェブサーバー120へ送信し、該サーバー120は、次いで、ウェブサイトへのインターネット又はイントラネットアクセスを与える。
【0012】
ウェブサイトは、一般に、任意のファイルシステムのコンテンツで構成される。本発明のウェブサイト開発システム100は、ハイアラーキー型ファイルシステムを備えている。本発明のこのようなファイルシステムは、個々のファイルを管理及び操作するための環境を与える。ファイルシステムのウェブサイト開発ソフトウェア116の部分は、実行時に、ファイルを管理及び操作できるようにする。バックアップ記憶装置110には、ファイル及びそれに対応するメタデータ(例えば、所有者の識別、グループ識別、アクセス制御、ファイル名、変更時刻、生成時刻、等)が物理的に記憶される。
本発明のハイアラーキー型ファイルシステムは、「エリア」と称される。ワークエリア、ステージエリア及び編集エリアを含む種々の形式のエリアがある。ワークエリアは、通常、ウェブサイトに最終的に使用されるウェブコンテンツを生成しそして維持する個人により使用される変更可能なファイルシステムである。
【0013】
ステージエリアは、通常、コンテンツが公表される前にそれが組み立てられるエリアである。ワークエリアは、一般に、コンテンツを排他的に生成しそして維持するためのエリアであるから、ステージエリア(及び編集エリア)は、コンテンツの組み立て及び表示のみに制限される。設計により、ステージエリア及び編集エリアは、読み出し専用のファイルシステムとして構成することができる。コンテンツに対する変更は、編集者からワークステーションへ送信され、必要な変更が行われる。従って、コンテンツを変更するタスクは、ステージ又は編集エリアのコンテンツを参照するが、変更は実際にはワークエリアで行われる。これは、コンテンツの完全性を維持しそしてプロセスを簡単化する上で助けとなる。しかしながら、業務上、システム100により柔軟性があって、編集者のような他の人々がコンテンツを公表の前に直接変更できるようにすることが望まれる。従って、ステージ及び編集エリアは、変更可能なファイルシステムとして構成することができる。従って、このような実施形態では、ワークエリアから提出されるコンテンツがステージエリア又は編集エリアにおいて編集される。
【0014】
ワークエリアは、最初に、全ウェブサイトの仮想コピーを含む(既存のウェブサイトがない場合を除いて。その場合には、ワークエリアは空である)。換言すれば、ワークエリアは、最初に、ウェブサイトとして設計されたファイルシステムと同じコンテンツを有する。ワークエリアは、開発者がウェブサイトに貢献するところの開発者個人のウェブサイトビューを与える。例えば、ワークエリアでは、開発者は、ウェブサイトのコンテンツを自由に追加、削除及び修正し、そしてそれらの変更が全ウェブサイトのコンテキストにいかに適合するか見ることができる。ワークエリアにおいて開発者によりなされる変更は、他のワークエリアにおける他の貢献者の仕事又はウェブサイトに影響しないのが好ましい。このため、各ワークエリアは、個別のファイルシステムである。通常、ワークエリアは、ワークステーション102に配置される。
【0015】
開発者は、それらのワークエリアのコンテンツをステージエリアへ提出することによりステージエリアにおいてそれらの仕事を一体化することができる。ステージエリアは、多数の開発者に使用できてウェブサイトの共有ビューを与えるファイルシステムである。従って、ステージエリアは、多数の開発者のワークエリアの集合的な仕事を保持し、開発者がそれらの変更を分担及び一体化できるようにする。ステージエリアでは、開発者は、それらの変更が互いにいかに適合するか見ることができる。ステージエリアは、通常、開発サーバー104に配置される。
コピーは、「仮想」であると言われ、エリアがディレクトリツリーを共有し、ディレクトリツリーを物理的にコピーする必要がない。ステージエリアにおける集合的な仕事は、異なる貢献者がワークエリアから新たなコンテンツを提出するときに変化する。ワークエリアは、ステージエリアにおけるコンテンツ及び他の情報が1つ以上のプライベートワークエリアに仮想的にコピーされて戻されるときに最も効果的である。これは、貢献者が、コンテンツを生成しそして維持するようなウェブサイト関連タスクを実行する間に、個々のワークエリアをステージエリアに対して最新の状態に維持する助けをする。
【0016】
ステージエリアにおける集合的な仕事が終了したと思われるときに、そのコンテンツを公表してウェブサイトの編集を生成することができる。これは、ステージエリアのコンテンツを編集エリアに仮想的にコピーすることにより達成される。編集は、通常、読み出し専用のファイルシステムであるので、これは、全ウェブサイトのコンテンツの凍結スナップショットである。ウェブサイトの開発において逐次のポイントで行われる各編集は、記録保管され、そして全ての開発者にアクセスすることができ、従って、開発者は、ファイル、全ディレクトリを瞬時に呼び出し、又はウェブサイトの過去の全バージョンを再構成することができる。例えば、編集のコンテンツは、ワークエリアに仮想的にコピーされ、ウェブサイトの更なる開発のための基礎として使用することができる。編集エリアは、通常、開発サーバー104に配置される。開発サーバー104のコンテンツ(例えば、編集)は、生成サーバー120へ配備される。
【0017】
ウェブサイトの開発及び維持作業が予想可能な整然とした形態で進行するように、ワークフローコンフィギュレーション(ここでは、ジョブとも称される)に基づいてタスクが割り当てられて実行される。ワークフロー(即ちジョブ)は、実行されるべきタスクの構成体である。この構成体は、シリアルな順序、互いにパラレル、又はシリアルとパラレルの組合せで実行されるタスクを含む。本発明は、ワークフローに基づいて仕事を強制的に進行させる環境を提供する。
ワークフローモデルは、繰り返し使用することのできる一般的なワークフローコンフィギュレーションである。各ワークフローモデルは、ユーザタスク及び種々様々な自動化タスクを含むことのできるプロセスを記述する。ワークフローモデルは、通常、業務管理者により設計され、そしてシステム監督者により構成される。
【0018】
システム100の2つの要素は、本発明に基づいてワークフロー技術を実施することができる。第1に、ウェブサイト生成を制御するためのフレームワークを与えるサーバー側サブシステム(「ワークフローサブシステム」とも称される)は、開発サーバーソフトウェア112に含まれる。第2に、クライアント側ユーザインターフェイスは、ワークステーション102に与えられる。例えば、クライアント側ユーザインターフェイスは、開発者がデータを入力して特定のワークフローアクションを制御できるようにする。クライアント側ユーザインターフェイスは、通常、HTMLで書かれそしてパール(Perl)スクリプトの付いたウェブブラウザのようなウェブベースの共通ゲートウェイインターフェイス(CGI)である。
図2は、簡単な指定−編集−承認ワークフローモデル200を示す。Eメールは、プロセスの各段階において参加者(例えば、著者及び編集者の役割を果たす開発者)へ送信され、そしてその終りに自動化タスクが実行される。
【0019】
1組の相互依存性タスクを「ジョブ」と称する。ジョブの一例は、新製品の着手をサポートするためにマーケッティングウェブサイトにおいて新たなセクションを準備するのに必要な1組のタスクである。ワークフローモデルの記述は、「ジョブ仕様」とも称される。ジョブ仕様ファイルは、単一のジョブを記述し、そしてメモリ112(図1)に記憶される。ジョブ仕様ファイルは、ジョブパラメータの制御を与えるエレメント定義を各々含むセクションのハイアラーキーとして構成されるのが好ましい。最初の「<ワークフロー>」セクションは、ジョブの全特徴を定義する。これは、ジョブの名前、所有者、創作者、及びそのジョブが何を行うかの記述を含む。
タスクとは、単一のユーザ又はプロセスにより実行される仕事の単位である。ジョブにおける各タスクは、特定のエリア(例えばワークエリア)に関連され、そして1組のファイルを保持する。タスクを所有するユーザ又はプロセスは、タスクを変更し、そこにファイルを追加し、又はそこからファイルを除去することができる(タスクが、例えば、コンテンツ承認の場合の読み出し専用タスクでなければ)。
【0020】
ジョブの一部分として生じる特定のタスクを記述する1つ以上のタスクセクションは、ジョブ仕様ファイルの初期<ワークフロー>セクションに従う。ジョブ仕様においてセクションを定義できるエレメントの例示的リストは、次の通りである。<usertask>、<updatetask>、<submittask>、<externaltask>、<endtask>、<grouptask>及び<cgitask>。これらタスクエレメントの各々は、タスクを完了する責任のあるユーザであるタスクの所有者と、ジョブ内のタスクを独特に識別するタスクの名前と、タスクを含むジョブを呼び出す際にタスクがアクティブでなければならないかどうか指定するスタート属性と、タスクが何を行うかの記述と、タスクがアクティブになったときにその関連ファイルに対するロックを得るように試みる(これは、別のタスクがファイルを変更しようとした場合に生じる矛盾を防止する)かどうか指定するロック属性と、ユーザがファイルを追加、除去又は修正するのを制限する読み出し専用属性と、タスクを実行すべきエリアを識別するエリア経路と、タスクを完了するための時間切れ限界(例えば、これを越えると、タスクがデアクチベートされ、そして次のタスクエレメントがアクチベートされる)と、タスクにより影響されるファイルの識別と、タスクをいつアクティブにすべきか(手前のタスクによりシグナリングされるとき)の指示と、タスクをいつインアクティブにすべきか(一般に、各タスクは、次のタスクをシグナリングするときにインアクティブとなるが、多数の再調査者の1人が完了したタスクを拒絶して、他の再調査者が不必要にそれを再調査するのを防止するときのように、他の環境のもとでインアクチベートするのにも必要である)の指示と、タスクをアクチベートする際にリセットされるべき他のタスクの指示(リセット時に、これらのタスクは、別のタスクによってアクチベートされなかった状態にセットされる)と、タスクのアクチベート又はデアクチベートの際に、セット、変更又は削除されるべきタスクに関連したファイルの拡張属性の指示とを含む。
【0021】
上記に加えて、<usertask>エレメントは、特定のユーザのタスクリストに現れるユーザタスクを定義することもできる。<usertask>のサブエレメントは、タスクが完了したときにそれを信号するために、考えられる別の組の後継タスクを特定する(例えば、マーク「done」、拒絶、承認)。<grouptask>エレメントは、特定のユーザグループのタスクリストに現れるユーザタスクを定義する。<grouptask>のサブエレメントは、グループタスクを分担する任意の1組のユーザを特定する。<externaltask>エレメントは、それがアクティブになったときに実行されるべき外部プログラムと、タスクと外部プログラムとの間に通過されるべきアーギュメントとを指定する。ワークフローサブシステムは、外部プログラムが完了したときに通知されるのが好ましい。<submittask>エレメントは、その含まれたファイルに対し(ステージエリアへの)提出オペレーションを実行する。成功の場合には、指定の後継タスクがシグナリングされる。成功でない場合には、ユーザは、何らかの矛盾を分析するように通知される。<updatetask>エレメントは、その関連ファイルの最新のバージョンを得ることができる(例えば、ステージエリア又は別のワークステーションから)。<endtask>エレメントは、ジョブの終りを指示する。<endtask>エレメントがアクティブになると、それを含むジョブが終りとなり、ジョブにより保持された全てのロックが解除される。<cgitask>エレメントは、外部タスクに非常によく似た振舞いをするが、特定の外部プログラムを実行するものではなく、むしろ、ユーザがユーザインターフェイスを経てプログラムを実行することに依存する。従って、<externaltask>と同様に、指定の外部プログラムが完了したときにワークフローサブシステムにそれが通知されるのが好ましい。
【0022】
ジョブ生成は、一般に、2段階プロセスである。第1段階は、例えば、ジョブ仕様をワークフローサブシステムにロードすることによりそれをアクチベートすることである。従って、ジョブ仕様は、「ジョブインスタンス」であると言える。しかしながら、ジョブは、それが呼び出されるまではアクティブでないのが好ましい。従って、第2段階は、ジョブをアクチベートすることである。各ジョブは、ワークフローモデルの特定のインスタンスである。ジョブが生成されるときには、ジョブ生成者は、そのジョブに対する全ての特定情報を供給しなければならない。例えば、図2のワークフローモデルは、図3に示すジョブインスタンス300を生成するように使用される。
ジョブは、その生成時に、所定のワークフローモデルに従う。それ故、タスクを一般に個々のジョブに追加したり又はそこから除去したりすることができない。しかしながら、ジョブ生成時に指定された場合には、ジョブのある属性、例えば、その所有者を、ユーザ又はシステム監督者によって変更することができる。ジョブを指定しそしてそれらを変更するユーザの能力を限定することにより、ウェブサイト監督者は、ウェブサイトの開発を制御し、そしてワークフローモデル及びジョブ仕様によりプロセスを維持する。
【0023】
タスクは、2つの考えられる状態、即ちアクティブと、インアクティブとを有するのが好ましい。タスクは、先行タスクがそれを行うと信号するときにアクティブとなり、即ち先行タスク及びアクチベーションの条件は、ワークフローモデルの一部分として構成することができる。タスクがアクチベートされた後、ユーザ又は外部プログラムがそれに対して作業を行うことができる。例えば、ユーザタスクがアクチベートされた後に、ユーザは、そのタスクに含まれたファイルに対して作業することができる。外部タスクがアクチベートされた後に、そのタスクに含まれたファイルに対して適当な外部プログラムを実行することができる。インアクティブなタスクは、完了したタスク又はまだアクチベートされていないタスクである。又、タスクは、読み出し専用又は編集可能として設計することもできる。読み出し専用タスクは、ユーザが、ファイルを編集、削除、タスクに追加又はタスクから除去できるようにせずに、コンテンツを承認及びコメントできるようにする。
【0024】
ジョブは、2つの方法の一方で生成するのが好ましい。第1に、単一ジョブを定義するジョブ仕様ファイル(例えば、拡張可能なマークアップ言語(XML)ファイル)は、直接編集することができる。或いは又、ワークフローテンプレートファイル(例えば、XMLファイル)に定義されたワークフロールールと、ブラウザインターフェイスからのエンドユーザ入力との結合によってジョブを生成することもできる。この第2の技術では、どんな入力が与えられるかに基づいて相違する多数のジョブを定義するために、単一ワークフローテンプレートファイルを生成することができる。テンプレート及びユーザ入力(例えば、ウェブサイト監督者からの)のワークフロールールは、共通のゲートウェイインターフェイス(CGI)によりジョブ仕様ファイルを動的に生成するように解釈される。これは、上述した「手動」直接編集技術を使用して生成される同じ形式のファイルである。いったん構成されると、この技術は、ジョブを定義するプロセスを簡単化する。というのは、これは、ユーザ入力に対するブラウザインターフェイスを与え、そしてユーザ入力の各個別のセットに対して個別のジョブ仕様ファイルを自動的に発生するからである。
【0025】
ジョブ仕様ファイルを直接編集して単一ジョブを定義するときには、開発サーバー104に配置されたディレクトリにファイルが存在する。ジョブ仕様が生成されると、そのインスタンスをサーバー104において生成することができる(インスタンス生成)。単一ジョブ仕様の多数のインスタンス生成を行うことができる。ジョブの各インスタンスは、終了状態に到達するまでサーバー104において実行される。ジョブを再び実行するために、同じジョブ仕様を再結合して、新たなジョブインスタンスを生成することができる。次いで、新たなジョブインスタンスを呼び出すことができる。
【0026】
ジョブを生成するワークフローテンプレートを設定するために、次の5つの主要素が使用される。
(1)ワークフローテンプレートファイルそれ自体。これは、1組のワークフローマークアップ及び1組の一般的コンフィギュレーション命令によりワークフロールールを定義する。
(2)インスタンチエーターCGI。これは、ワークフロールール及びユーザからのデータを解釈し、ブラウザグラフィック及びプロンプトを形成し、ジョブ仕様を発生し、そしてジョブをインスタンス生成する。
(3)ブラウザベースのグラフィックユーザインターフェイス(GUI)。
(4)インスタンチエーターCGIにより発生できるジョブ使用ファイル。
(5)サーバー側のワークフローサブシステム。
【0027】
図4は、これらの要素と、それらがどのように一緒に作用するかを示す。インスタンチエーターCGI402は、一般に、ワークフローテンプレートファイル404における情報に基づいてワークフロー情報フォームを生成しそして表示する。更に、インスタンチエーターCGI402は、ワークフローテンプレートファイル404におけるワークフロールールに基づいてユーザにより入力されたデータを評価し、そのユーザ入力データを一般的なワークフローコンフィグレーション命令と結合してジョブ使用を生成し、開発サーバー104(図1)においてジョブ仕様をインスタンス生成し、そしてジョブをスタートする(呼び出す)。インスタンチエーターCGI402は、好ましくはサーバー104にある実行可能なファイルである。ユーザは、ブラウザインターフェイスGUI406を使用してワークフローフォームにデータを入力する。
【0028】
ブラウザインターフェイスGUI406では、ユーザが、例えば、「File>New File」、「File>Edit File」、又は「File>Create New Job」メニュー項目からワークフローテンプレートを選択する。これは、図4に矢印408で示されている。インスタンチエーターCGI402は、特定のワークフローテンプレートファイル404へ進み、そしてワークフローマークアップを読み取り、これは、ワークフローテンプレートファイルのテンプレートスクリプトエレメント(「<template_script>」エレメントとも称する)に存在するパール命令より成る。これは、図4に矢印410で示されている。
【0029】
ワークフローマークアップに基づいて、インスタンチエーターCGI402は、1つ以上のワークフローフォームを生成し、ユーザは、ブラウザ406を経てワークフローコンフィギュレーション情報をこれに入力することができる。これは、図4に矢印412で示されている。GUI406を経て作業するユーザは、ワークフローフォームを満たし、そしてそれをインスタンチエーターCGI402へ返送する。これは、図4に矢印414で示されている。
インスタンチエーターCGI402は、ワークフローテンプレートファイル404のワークフローマークアップにおけるルールを調べて、ユーザにより入力されたデータの有効性を照合する。これは、図4に矢印412で示されている。データが必要な全ての基準を満足する場合には、それがインスタンチエーターCGI402によりパーズされる。データが全ての必要な基準を満足しない場合には、インターフェイス406は、データを再入力できるように再びユーザを促す。
【0030】
ワークフローフォームが有効なデータを含むと決定した後に、インスタンチエーターCGI402は、データをワークフローテンプレートファイル404からの一般的な命令と結合し、特定ジョブに対するジョブ仕様418(及び任意であるがジョブ仕様ファイル)を生成する。これは、図4に矢印420で示されている。ジョブ仕様が生成される場合には、上述した手動の直接編集技術を使用して生成されたファイルと同等である。このジョブは、サーバー104(図1)へとインスタンス生成され、そしてサーバー側のワークフローサブシステム422においてスタートされる。これは、図4に矢印424で示されている。これらのアクションは、手動の直接編集技術を使用する場合には、手動で行われる。
【0031】
ジョブ仕様が生成されない(典型的なケース)ときには、インスタンチエーターCGI402は、ジョブ仕様ファイルをディスクに書き込み、そしてジョブインスタンスを生成して呼び出すための命令を呼び出すという同等の機能を実行する。
ワークフローテンプレートファイル404は、ジョブ仕様ファイルにおいて有効であるエレメントのいずれか又は全部を含むXMLファイルであるのが好ましい。これらのエレメントは、図4に示す1組の一般的なワークフローコンフィギュレーション命令を形成する。更に、ワークフローテンプレートファイル404は、図4に示すワークフローマークアップを定義するための1組のディレクティブを含む<templete_script>エレメントを含むことができる。
【0032】
<templete_script>ファイル内に存在する全ての命令は、インスタンチエーターCGI402によりパール(Perl)コードとして解釈される。テンプレートファイルは、有効なXML文書でなければならないので、<templete_script>エレメント内の全てのコンテンツは、XMLパーザーによる解釈からそれを保護するためにCDATAとして宣言されねばならない。ワークフローテンプレートファイルにおける全ての<templete_script>エレメントが一緒に単一のパールプログラムを形成してもよい。ワークフローテンプレートファイルが2つ以上の<templete_script>エレメントを含む場合には、1つのエレメントにおける全ての変数、関数及びライブラリーセットが他のエレメントにも得られるのが好ましい。
【0033】
各<templete_script>エレメントは、次のことを行える任意のパールコードを含むのが好ましい。即ち、ユーザが入力したデータを、ワークフローテンプレートファイルからのハードコード化ワークフローXML及び/又は<templete_script>エレメント内に形成されたプログラムで発生されたワークフローXMLと結合するためにインスタンチエーターCGI402が使用するルールを定義し、ジョブ仕様をプログラムで発生し(及び/又はハードコード化XMLジョブ仕様情報を、プログラムで発生したXMLと共に散在させ)、ジョブ仕様を、ワークフローサブシステムにインスタンス生成するのに加えて又はそれに代わって、ファイルへ任意に送信し(これは、どんなXMLが形成されるかを正確に決定するのに役立つ)、ユーザが入力したデータを妥当性検査するルールを定義し、データの妥当性検査ルールを満足しないときに表示されるべき顧客エラーメッセージを定義し、到来するデータを検査しそしてこのデータに基づいてコード化ルールを実行し(例えば、著者の名前が「Andre」であるときには、3つの承認が必要となるが、著者の名前が「Jon」であるときには、1つの承認しか必要でない)、到来するデータを、ワークフローテンプレートファイルからのハードコード化ワークフローXMLと合併し、そしてワークフローフォームの「ルック・アンド・フィール」を決定する。
【0034】
従って、ディレクティブは、インスタンチエーターCGI402により発生されたワークフローフォームの「ルック・アンド・フィール」を制御し、ワークフローフォームに表示されるデータ収集、妥当性検査及びエラーメッセージを制御し、タグにおいてエレメントの数を返送し、フォームに関連したHTMLエンコードデータをジョブ仕様に挿入し、そしてテキストをジョブ仕様にプログラムで挿入する。
図5は、簡単なワークフローの別の例を示す。図5に示すように、タスクは、ファイル504が変更されるワークエリア502において実行される。ファイル504が変更されると、それらはワークエリア506に与えられる。ワークエリア506では、更に別のタスクがファイル504において実行される。
【0035】
図6は、ワークフローの別の例を示す。タスクは、ワークエリア602においてファイル604に対して実行される。仕事が完了すると、ファイル604がエリア606において再検討される。更に仕事が要求される場合には、拒絶指示がエリア606からエリア602へ送信される。しかしながら、ファイル604がエリア606で承認されたと仮定すれば、ファイル604はワークエリア608へ送信される。エリア608では、リンクチェックが行われて、ワークエリア602で行われた変更がリンク(例えば、ハイパーリンク)に悪影響しないことが保証される。リンクが悪影響を受ける場合には、エリア608からエリア602へ拒絶指示を送信することによりエリア602へファイルが返送される。しかしながら、リンクチェックにより問題がないことが分かると、ファイル604がエリア610、612、614へ送信され、そこで、付加的な仕事がファイルに行われるか、又はファイルの再検討が行われる。ファイルは、エリア610、612、614へ同時に転送されてもよいし、エリア610、612、614において同時に変更又は再検討されてもよい。
【0036】
図7は、ワークフローの更に別の例を示す。ワークエリア702において、ファイル704は、特定タスクの実行により変更される。ファイル704は、次いで、ワークエリア706及び708へ通され、そこで、付加的なタスクが実行される。ファイルは、タスクによって新たなワークエリアにコピーでき、又は同じファイルに対して新たなタスクを実行できることに注意されたい。ワークエリア706及び708において仕事が完了すると、これらのワークエリア706及び708の各々で変更されたファイル704が、更なる処理の前に、ワークエリア710において合併される。タスクは、エリア706及び708においてパラレルに実行されるので、ファイル704は、オリジナルからコピー又は複写されてもよく、そしてコピー704’、704”は、エリア706及び708の各々により異なるやり方で変更されてもよい。従って、各エリア706及び708からのファイル704’、704”が合併され、そしてその相違が、更なるタスクの実行の前に融和される。この合併は、種々のやり方で実行できるが、好ましい実施形態では、コピーされたファイルに対する変更をオリジナルファイルに組み込むオペレーションを実行することにより合併が実行される。合併は、最後の1つのタスクが行われたとき、全てのタスクが行われたとき、又はいずれか1つのタスクが行われたときに行うことができる。コードのコンフィギュレーションは、合併をいつ行うべきか定義することができる。
【0037】
合併の一例として、合併されるべき第1組のファイルがワークエリアにコピーされる。次いで、第2組のファイルがエリアにコピーされる。第2組のファイルをコピーする際に、第2組と第1組との間の矛盾が識別されそして融和される。例えば、第2組のファイルを形成したタスクの所有者は、ユーザインターフェイスを経て融和を実行することができる。
図7を参照すれば、ファイルの合併は、ファイル704’、704”を互いに比較し、同じエレメントを保持し、いずれかのエリア706又は708において削除されたエレメントを削除し、いずれかのエリア706又は708において追加されたエレメントを追加し、そしていずれかのエリア706又は708において変更されたエレメントを変更することを含む。エリア706及び708において同じエレメントが異なるやり方で変更されるような矛盾が存在する場合には、更なる融和が実行される。例えば、これは、ファイルをエリア706及び708へ戻すことを含む。しかしながら、このような矛盾は、パラレルに実行されるタスクを、ファイルの同じエレメントに対して矛盾する変更を生じることがあり得ないタスクに制限することにより、回避される。
【0038】
図8は、ワークフローの更に別の例を示す。ワークエリア802において、ファイル804は、指定されたタスクに基づいて変更される。ファイル804は、次いで、再検討のためにエリア806及び808へ送信される。編集者は、タスクが読み出し専用として設計されているかどうかに基づき、ファイルを再検討するか及び/又はファイルへの変更を行う。ファイル804が両エリア806及び808において承認された場合には、ファイルが、更に別のタスクを実行するためにワークエリア810へ送信される。これは、ファイルに対する変更を、オリジナルファイルに組み込むために公表することを含む。
エリア810においてタスクを実行する前に各エリア806及び808から承認を得るよう確保するために、各エリア806及び808に対応する承認フラグが設けられる。両フラグがセットされると、これは、ファイルがエリア810を進行していることを指示する。或いは、各再検討者による承認を必要とするのではなく、1人の再検討者の承認だけでもよい。この場合には、ファイルをエリア810へ通す前に1つのフラグだけセットすればよい。付加的なエンティティが再検討者であると仮定すれば、再検討者の種々の組合せ、例えば過半数の再検討者の承認が必要とされてもよいし、或いは指定の再検討者の承認が、他の再検討者のグループの1人以上の承認と共に必要とされてもよい。
【0039】
しかしながら、両エリア806及び808において承認が要求され、そしてエリア808においてファイル804が再検討されて承認されると仮定する。この場合には、エリア808に対する承認フラグがセットされる。又、ファイル804がエリア806において再検討されたが、拒絶されたと仮定する。次いで、拒絶指示子がエリア806からエリア802へ送信され、そしてファイル804が更なる変更のためにエリア802へ返送される。この拒絶に応答して、エリア806に対して既にセットされた承認フラグがリセットされるのが好ましい。これは、ワークエリア806において拒絶に応答して変更されたファイル804が、エリア810において更に処理される前に、ワークエリア808において更に再検討されるよう確保する。従って、ファイルに対して行われた仕事に対して多数の承認タスクが要求される場合には、ファイルが承認されたときにフラグがセットされ、そして他のいずれか1つの承認でも拒絶されれば、それがリセットされる。従って、拒絶に応答してファイルが変更される場合には、全ての承認者が、その変更されたファイルを承認しなければならない。このようなフラグが全てセットされたときに、ファイルは、更なる作業のために、例えば、別のワークステーションへ送られる。
【0040】
以上、本発明の特定の実施形態について説明したが、特許請求の範囲によって限定された本発明の精神及び範囲から逸脱せずに、これら実施形態の変更がなされ得ることが当業者に明らかであろう。例えば、本発明は、専用のプロセッサ、ブラウザ要求を受信してルーティングするように構成されたウェブサーバー、アプリケーションサーバー、状態サーバー、及び互いに通信するように構成されそしてローカルエリアネットワーク(LAN)、イントラネット及びインターネットを含む1つ以上のネットワークに接続される他の形式のコンピュータプロセッサを利用することも含む。しかしながら、このような装置及びシステムのこのような実施は、本発明を利用する幾つかの例に過ぎず、本発明は、1つ以上のネットワーク内のデータの効率的なルーティング及び処理が含まれる多数の他の用途にも利用できることが当業者に明らかであろう。このような用途に対し、本発明の精神及び範囲から逸脱せずに、本発明を用いた同等の構造体を構成することができる。この実施形態は、コンピュータシステム又はネットワークのユーザ間でデータを交換するための装置及びシステムに関して図示して説明したが、本発明は、同様の特徴が有用な他の用途にも拡張される。本発明は、パーソナルコンピュータ、アプリケーションサーバー、状態サーバー、又はコンピュータに対して設計及び実施されて他のコンピュータと通信するためにネットワークに接続されて本発明を実施するようなインターネットウェブサーバーを包含する。本発明により動作するように構成されたシステムは、個々のモデム又は他の通信手段、例えば、ワイヤレス通信を経てインターネットに接続された複数のパーソナルコンピュータを含む。
【0041】
又、本発明は、マイクロプロセッサのような1つ以上のコンピュータプロセッサにより実行されるべき多数のファンクションも含む。マイクロプロセッサは、特定のタスクを定義するマシン読み取り可能なソフトウェアコードを実行することにより特定のタスクを実行するよう構成された特殊な又は専用のマイクロプロセッサである。又、マイクロプロセッサは、直接メモリアクセスモジュール、メモリ記憶装置、インターネット関連ハードウェアのような他の装置、並びに本発明によるデータの送信に関連した他の装置と共に動作し且つ通信するように構成することもできる。ソフトウェアコードは、Java(登録商標)、C++、XML(拡張可能なマークアップ言語)、及び本発明に関連した機能的オペレーションを実行するのに必要な装置の動作に関連したファンクションを定義するのに使用できる他の言語のようなソフトウェアフォーマットを使用して構成することができる。コードは、種々のフォーム及びスタイルで書くことができ、その多くは当業者に知られたものである。本発明によるマイクロプロセッサのオペレーションを定義するためのコードを構成するソフトウェアプログラム及び他の手段の異なるコードフォーマット、コードコンフィギュレーション、スタイル及びフォームは、特許請求の範囲により限定された本発明の精神及び範囲から逸脱するものではない。
【0042】
本発明を利用するコンピュータサーバーのような種々の形式のコンピュータ内には、本発明によるファンクションを遂行する間に情報を記憶しそして検索するための種々の形式のメモリ装置が存在する。このようなコンピュータにはキャッシュメモリ装置がしばしば含まれ、頻繁に記憶及び検索される情報のための便利な記憶位置として中央処理ユニットにより使用される。同様に、このようなコンピュータには、キャッシュメモリとは異なり、中央処理ユニットによって頻繁に検索されるが、頻繁に変更されない情報を維持するための永続的メモリもしばしば使用される。又、通常、中央処理ユニットにより実行されるときに、本発明によるファンクションを遂行するように構成されたデータ及びソフトウェアアプリケーションのような多量の情報を記憶及び検索するためにメインメモリも含まれる。これらのメモリ装置は、ランダムアクセスメモリ(RAM)、スタティックランダムアクセスメモリ(SRAM)、ダイナミックランダムアクセスメモリ(DRAM)、フラッシュメモリ、及び情報を記憶及び検索するために中央処理ユニットによりアクセスされる他のメモリ記憶装置として構成することができる。本発明は、特定の形式のメモリ装置に限定されるものではなく、これらのメモリ装置に各々情報を記憶してそこから検索するための通常使用のプロトコルに限定されるものでもない。
【図面の簡単な説明】
【図1】
本発明によるウェブサイト開発のためのコンピュータネットワークシステムを示す図である。
【図2】
本発明による例示的な指定−編集−承認ワークフローモデルを示す図である。
【図3】
図2のワークフローモデルから生成される例示的ジョブインスタンスを示す図である。
【図4】
ジョブを生成するためのワークフローテンプレートを設定するために本発明により使用される5つの主たる要素を示す図である。
【図5】
本発明による例示的なワークフローを示す図である。
【図6】
本発明による例示的なワークフローを示す図である。
【図7】
本発明による例示的なワークフローを示す図である。
【図8】
本発明による例示的なワークフローを示す図である。
【関連出願】
本出願は、1999年11月29日に出願された米国プロビジョナル特許出願第60/168,156号の優先権を請求する。本出願は、1999年2月3日に出願された米国特許出願第09/244,333号の一部継続出願である。
【技術分野】
本発明は、ウェブサイト開発及び維持の分野に係る。より詳細には、本発明は、ウェブサイト開発及び維持に使用されるプロセスの制御及び管理に係る。
【0002】
【背景技術】
インターネットは、商取引において大きな役割を演じ、そしてほとんどの会社は、ウェブサイトをもつ傾向にある。多数の貢献者の努力を整合する必要があるために大きなウェブサイトを開発するためのチャレンジがしばしばなされている。更に、多数のウェブサイトをしばしば変更する必要があり、そして貢献者は、通常、それを特別なプロセスで変更する。その結果、ウェブサイトのコンテンツを最新で、正確で且つ良好に一体化された状態に保つ進行中プロセスがしばしば大きなチャレンジとなる。インターネットサイトは、数百に達するチームにより、日、時又は分で更新される。同様に、イントラネットコンテンツの貢献者は、常に新たなコンテンツを提示するか又は既存のコンテンツに変更を行い、そして新たなコンテンツが迅速且つ正確に一体化されない限り、基本的な通信リソースとしてのイントラネットの有用性が制限される。
【0003】
大きなウェブサイトは、ウェブ貢献者の数が指数関数的に増加するにつれて、多数の問題に直面する。これらサイトの量及びコンテンツは、急速に増加しており、従って、サイトのトラフィック及びインターネット商取引が成長するにつれて、サイトをより頻繁に更新しなければならない。貢献者の数、コンテンツの量及び複雑さが増すにつれて、ウェブサイトのマネージャー(ウェブマスター)が各々の変更を監督しそして品質制御を行うことが益々困難になってきている。
ウェブサイトの開発は複雑であるために、中央システムがウェブサイトの開発を管理しそして制御する必要がある。ウェブサイトの開発を管理しそして制御するための既知のシステムは、ソフトウェアコンフィギュレーションマネージメントシステム、ドキュメントマネージメントシステム、及びデータベースパブリッシングシステムを含む。
【0004】
このような既知のウェブサイト開発システムに関連して多数の欠点がある。例えば、ウェブサイトを維持するのに数十又は数百人の人々の努力がしばしば必要であるから、ウェブサイト貢献者を並列に作業させることが望ましい。ソフトウェアコンフィギュレーションマネージメントシステムは、貢献者がウェブサイトの同じエリアに同時に変更を行うのを許さない。更に、既知のシステムは、いずれも、並列に作業する貢献者が、ウェブサイトへの変更を実際に行わずにそれら自身の仕事を個別にテストするのを許さない。従って、矛盾するような変更がウェブサイトに送られて、ウェブサイトを崩壊することがある。
【0005】
貢献者は、他の貢献者と結合されたときにそれらの仕事の影響を個々のレベルで予見できないので、既知のシステムは、ウェブマスターがウェブサイトに送られた全ての変更を一体化しそしてそれらの変更をエラーについてチェックすることに依存している。しかしながら、ウェブマスターは、しばしば、ウェブサイト開発プロセスのボトルネックとなる。というのは、ウェブマスターは、ウェブサイトへの変更の全ての一体化及びテストを行わねばならないからである。多数のユーザの仕事を一体化することは、手で行われそして時間がかかり、バグの固定及び矛盾の分析に多大な時間が浪費され、一方、設計、革新及び戦略にはほとんど時間が費やされない。更に、ウェブマスターは、貢献者がウェブマスターに変更を提示する準備ができるまで、変更に対する貢献者の進行状態を容易に予見できない。従って、ウェブマスターは、エラーを早期に修正することができず、そして貢献者がどれほど進行しているか決定することができない。
【0006】
既知のウェブサイト開発システムの別の欠点は、ウェブマスターが、ウェブサイトの更新に含まれる仕事がいかに進行すべきかを前もって決定し、そしてプランに基づいて仕事を進行させるメカニズムを備えるのを許さないことである。このようなプランニング機能がないと、ウェブマスターは、貢献者の努力に対して制限された制御しか行えず、その結果、低い効率となり、そして貢献者が変更を提示するときに多数の変更を行う必要が生じる。例えば、ウェブサイトの開発又は維持に関する多数の異なるタスクが、異なるワークステーションに各々存在する異なる個人に割り当てられた場合には、それらが組織化されて整合された場合にそれらの努力が最も効率的となる。
それ故、ウェブサイトの開発及び維持を組織化するための技術が要望される。より詳細には、監督者が多数のウェブサイト開発者の努力を制御できるような技術が要望される。
【0007】
【発明の開示】
本発明は、ウェブサイト開発及び維持のためのワークフロープロセスを遂行する方法を提供する。ウェブサイト開発及び維持は、複数の個人の協働した努力を含む。従って、仕事が予想可能で且つ整然とした形態で進行するように、ワークフロー(ここではジョブとも称する)に従ってタスクが指定されて実行される。ワークフロー(即ち、ジョブ)は、実行されるべきタスクの構成体である。この構成体は、シリアルな順序、互いにパラレル、又はシリアルとパラレルの組合せで実行されるタスクを含む。特定のワークフローを実施するために、本発明は、ワークフローに基づいて仕事を強制的に進行させる環境を提供する。
【0008】
各個人は、対応するワークエリアにおいて指定のタスクを実行することによりウェブサイトへ貢献することができる。各タスクは、特定のファイル(1つ又は複数)に含まれたデータに追加、削除又は修正のような変更を行うことを含む。従って、タスクは、既存のファイルを変更することを含むが、新たなファイルを生成することを含んでもよい。ワークエリアは、通常、中央サーバーに存在する。しかしながら、分散型処理環境では、ワークエリアは、指定されたメモリスペースを例えばワークステーションに含む。
【0009】
タスクが完了すると、それにより生じるファイル(1つ又は複数)に対して更なる仕事が行われる前に、その遂行された仕事の承認が1つ以上のエンティティにより要求される。その仕事が拒絶された場合には、更なる変更のためにファイルが返送される。例えば、タスクは、新たなマーケット情報を反映するようにウェブサイトのページを更新することを含む。仕事は、会社の情報システム部門にいるウェブプログラマーのような第1の個人によって行うことができる。新たなマーケット情報がウェブサイトに一体化されるように得られたファイルを配備する前に、その仕事の再調査及び承認が要求される。完了した仕事の再調査及び承認は、会社のマーケッティング部門の代表者のような第2の個人によって行われる。
「ウェブマスター」のような監督者は、ユーザ(又は貢献者)の努力をいかに進行させるべきかを指示するワークフローファイルを開発する。従って、ウェブマスターは、ウェブサイトを開発しそして更新するプロセスに対し高い制御権を有する。その結果、ウェブサイト開発は、多数の個人がその努力に含まれる場合でも効率的に進行する。
【0010】
【発明を実施するための最良の形態】
図1は、ウェブサイト開発のためのコンピュータネットワークシステム100を示す。開発ワークステーション102において、ウェブサイト開発者は、ウェブサイトのためのファイルを追加、除去、編集及び検査することができる。開発ワークステーション102は、従来のパーソナルコンピュータ、UNIX(登録商標)ワークステーション、又はコンテンツを開発するよう構成できる他のワークステーションを含むことができる。開発ワークステーション102は、インターネット又はローカルエリアネットワーク(LAN)のようなコンピュータネットワーク106を経て開発サーバー104に接続される。
開発サーバー104は、ウェブブラウザへコンテンツを供給するためのウェブサーバー108と、ウェブサイトコンテンツのバージョンを記憶するためのバックアップ記憶装置110とを備えている。サーバー108は、ウェブサイトコンテンツ(例えば、ファイル)に対する開発ステーション102からのハイパーテキスト転送プロトコル(HTTP)要求を処理する。ウェブサイトファイルは、例えば、マイクロソフトコーポレーションから商業的に入手できるWindows(登録商標) NTファイルシステムのような従来型のバックアップ記憶装置110に物理的に記憶される。
【0011】
又、開発サーバー104は、従来型メモリ112(例えばRAM)及び従来型プロセッサ114も備え、これは、メモリ112に記憶されたソフトウェア116を実行することにより本発明のウェブサイト開発方法を実施する。ウェブサーバー108が多数のサーバーであるかのように動作するのを許すためにプロセッサ114が実行するHTTPプロトコル視覚化モジュール118も、メモリ112に記憶することができる。
開発サーバー104は、ネットワーク122を経てウェブサイト生成ウェブサーバー120に接続される。ネットワーク122は、ネットワーク106と同じネットワークでもよいし、又は異なるネットワークでもよい。ウェブサーバー120は、インターネット又はイントラネット124にも接続される。ウェブサイトがワールドワイドウェブ又はイントラネットに送られる準備ができると、開発サーバー104は、ウェブサイトのコンテンツを生成ウェブサーバー120へ送信し、該サーバー120は、次いで、ウェブサイトへのインターネット又はイントラネットアクセスを与える。
【0012】
ウェブサイトは、一般に、任意のファイルシステムのコンテンツで構成される。本発明のウェブサイト開発システム100は、ハイアラーキー型ファイルシステムを備えている。本発明のこのようなファイルシステムは、個々のファイルを管理及び操作するための環境を与える。ファイルシステムのウェブサイト開発ソフトウェア116の部分は、実行時に、ファイルを管理及び操作できるようにする。バックアップ記憶装置110には、ファイル及びそれに対応するメタデータ(例えば、所有者の識別、グループ識別、アクセス制御、ファイル名、変更時刻、生成時刻、等)が物理的に記憶される。
本発明のハイアラーキー型ファイルシステムは、「エリア」と称される。ワークエリア、ステージエリア及び編集エリアを含む種々の形式のエリアがある。ワークエリアは、通常、ウェブサイトに最終的に使用されるウェブコンテンツを生成しそして維持する個人により使用される変更可能なファイルシステムである。
【0013】
ステージエリアは、通常、コンテンツが公表される前にそれが組み立てられるエリアである。ワークエリアは、一般に、コンテンツを排他的に生成しそして維持するためのエリアであるから、ステージエリア(及び編集エリア)は、コンテンツの組み立て及び表示のみに制限される。設計により、ステージエリア及び編集エリアは、読み出し専用のファイルシステムとして構成することができる。コンテンツに対する変更は、編集者からワークステーションへ送信され、必要な変更が行われる。従って、コンテンツを変更するタスクは、ステージ又は編集エリアのコンテンツを参照するが、変更は実際にはワークエリアで行われる。これは、コンテンツの完全性を維持しそしてプロセスを簡単化する上で助けとなる。しかしながら、業務上、システム100により柔軟性があって、編集者のような他の人々がコンテンツを公表の前に直接変更できるようにすることが望まれる。従って、ステージ及び編集エリアは、変更可能なファイルシステムとして構成することができる。従って、このような実施形態では、ワークエリアから提出されるコンテンツがステージエリア又は編集エリアにおいて編集される。
【0014】
ワークエリアは、最初に、全ウェブサイトの仮想コピーを含む(既存のウェブサイトがない場合を除いて。その場合には、ワークエリアは空である)。換言すれば、ワークエリアは、最初に、ウェブサイトとして設計されたファイルシステムと同じコンテンツを有する。ワークエリアは、開発者がウェブサイトに貢献するところの開発者個人のウェブサイトビューを与える。例えば、ワークエリアでは、開発者は、ウェブサイトのコンテンツを自由に追加、削除及び修正し、そしてそれらの変更が全ウェブサイトのコンテキストにいかに適合するか見ることができる。ワークエリアにおいて開発者によりなされる変更は、他のワークエリアにおける他の貢献者の仕事又はウェブサイトに影響しないのが好ましい。このため、各ワークエリアは、個別のファイルシステムである。通常、ワークエリアは、ワークステーション102に配置される。
【0015】
開発者は、それらのワークエリアのコンテンツをステージエリアへ提出することによりステージエリアにおいてそれらの仕事を一体化することができる。ステージエリアは、多数の開発者に使用できてウェブサイトの共有ビューを与えるファイルシステムである。従って、ステージエリアは、多数の開発者のワークエリアの集合的な仕事を保持し、開発者がそれらの変更を分担及び一体化できるようにする。ステージエリアでは、開発者は、それらの変更が互いにいかに適合するか見ることができる。ステージエリアは、通常、開発サーバー104に配置される。
コピーは、「仮想」であると言われ、エリアがディレクトリツリーを共有し、ディレクトリツリーを物理的にコピーする必要がない。ステージエリアにおける集合的な仕事は、異なる貢献者がワークエリアから新たなコンテンツを提出するときに変化する。ワークエリアは、ステージエリアにおけるコンテンツ及び他の情報が1つ以上のプライベートワークエリアに仮想的にコピーされて戻されるときに最も効果的である。これは、貢献者が、コンテンツを生成しそして維持するようなウェブサイト関連タスクを実行する間に、個々のワークエリアをステージエリアに対して最新の状態に維持する助けをする。
【0016】
ステージエリアにおける集合的な仕事が終了したと思われるときに、そのコンテンツを公表してウェブサイトの編集を生成することができる。これは、ステージエリアのコンテンツを編集エリアに仮想的にコピーすることにより達成される。編集は、通常、読み出し専用のファイルシステムであるので、これは、全ウェブサイトのコンテンツの凍結スナップショットである。ウェブサイトの開発において逐次のポイントで行われる各編集は、記録保管され、そして全ての開発者にアクセスすることができ、従って、開発者は、ファイル、全ディレクトリを瞬時に呼び出し、又はウェブサイトの過去の全バージョンを再構成することができる。例えば、編集のコンテンツは、ワークエリアに仮想的にコピーされ、ウェブサイトの更なる開発のための基礎として使用することができる。編集エリアは、通常、開発サーバー104に配置される。開発サーバー104のコンテンツ(例えば、編集)は、生成サーバー120へ配備される。
【0017】
ウェブサイトの開発及び維持作業が予想可能な整然とした形態で進行するように、ワークフローコンフィギュレーション(ここでは、ジョブとも称される)に基づいてタスクが割り当てられて実行される。ワークフロー(即ちジョブ)は、実行されるべきタスクの構成体である。この構成体は、シリアルな順序、互いにパラレル、又はシリアルとパラレルの組合せで実行されるタスクを含む。本発明は、ワークフローに基づいて仕事を強制的に進行させる環境を提供する。
ワークフローモデルは、繰り返し使用することのできる一般的なワークフローコンフィギュレーションである。各ワークフローモデルは、ユーザタスク及び種々様々な自動化タスクを含むことのできるプロセスを記述する。ワークフローモデルは、通常、業務管理者により設計され、そしてシステム監督者により構成される。
【0018】
システム100の2つの要素は、本発明に基づいてワークフロー技術を実施することができる。第1に、ウェブサイト生成を制御するためのフレームワークを与えるサーバー側サブシステム(「ワークフローサブシステム」とも称される)は、開発サーバーソフトウェア112に含まれる。第2に、クライアント側ユーザインターフェイスは、ワークステーション102に与えられる。例えば、クライアント側ユーザインターフェイスは、開発者がデータを入力して特定のワークフローアクションを制御できるようにする。クライアント側ユーザインターフェイスは、通常、HTMLで書かれそしてパール(Perl)スクリプトの付いたウェブブラウザのようなウェブベースの共通ゲートウェイインターフェイス(CGI)である。
図2は、簡単な指定−編集−承認ワークフローモデル200を示す。Eメールは、プロセスの各段階において参加者(例えば、著者及び編集者の役割を果たす開発者)へ送信され、そしてその終りに自動化タスクが実行される。
【0019】
1組の相互依存性タスクを「ジョブ」と称する。ジョブの一例は、新製品の着手をサポートするためにマーケッティングウェブサイトにおいて新たなセクションを準備するのに必要な1組のタスクである。ワークフローモデルの記述は、「ジョブ仕様」とも称される。ジョブ仕様ファイルは、単一のジョブを記述し、そしてメモリ112(図1)に記憶される。ジョブ仕様ファイルは、ジョブパラメータの制御を与えるエレメント定義を各々含むセクションのハイアラーキーとして構成されるのが好ましい。最初の「<ワークフロー>」セクションは、ジョブの全特徴を定義する。これは、ジョブの名前、所有者、創作者、及びそのジョブが何を行うかの記述を含む。
タスクとは、単一のユーザ又はプロセスにより実行される仕事の単位である。ジョブにおける各タスクは、特定のエリア(例えばワークエリア)に関連され、そして1組のファイルを保持する。タスクを所有するユーザ又はプロセスは、タスクを変更し、そこにファイルを追加し、又はそこからファイルを除去することができる(タスクが、例えば、コンテンツ承認の場合の読み出し専用タスクでなければ)。
【0020】
ジョブの一部分として生じる特定のタスクを記述する1つ以上のタスクセクションは、ジョブ仕様ファイルの初期<ワークフロー>セクションに従う。ジョブ仕様においてセクションを定義できるエレメントの例示的リストは、次の通りである。<usertask>、<updatetask>、<submittask>、<externaltask>、<endtask>、<grouptask>及び<cgitask>。これらタスクエレメントの各々は、タスクを完了する責任のあるユーザであるタスクの所有者と、ジョブ内のタスクを独特に識別するタスクの名前と、タスクを含むジョブを呼び出す際にタスクがアクティブでなければならないかどうか指定するスタート属性と、タスクが何を行うかの記述と、タスクがアクティブになったときにその関連ファイルに対するロックを得るように試みる(これは、別のタスクがファイルを変更しようとした場合に生じる矛盾を防止する)かどうか指定するロック属性と、ユーザがファイルを追加、除去又は修正するのを制限する読み出し専用属性と、タスクを実行すべきエリアを識別するエリア経路と、タスクを完了するための時間切れ限界(例えば、これを越えると、タスクがデアクチベートされ、そして次のタスクエレメントがアクチベートされる)と、タスクにより影響されるファイルの識別と、タスクをいつアクティブにすべきか(手前のタスクによりシグナリングされるとき)の指示と、タスクをいつインアクティブにすべきか(一般に、各タスクは、次のタスクをシグナリングするときにインアクティブとなるが、多数の再調査者の1人が完了したタスクを拒絶して、他の再調査者が不必要にそれを再調査するのを防止するときのように、他の環境のもとでインアクチベートするのにも必要である)の指示と、タスクをアクチベートする際にリセットされるべき他のタスクの指示(リセット時に、これらのタスクは、別のタスクによってアクチベートされなかった状態にセットされる)と、タスクのアクチベート又はデアクチベートの際に、セット、変更又は削除されるべきタスクに関連したファイルの拡張属性の指示とを含む。
【0021】
上記に加えて、<usertask>エレメントは、特定のユーザのタスクリストに現れるユーザタスクを定義することもできる。<usertask>のサブエレメントは、タスクが完了したときにそれを信号するために、考えられる別の組の後継タスクを特定する(例えば、マーク「done」、拒絶、承認)。<grouptask>エレメントは、特定のユーザグループのタスクリストに現れるユーザタスクを定義する。<grouptask>のサブエレメントは、グループタスクを分担する任意の1組のユーザを特定する。<externaltask>エレメントは、それがアクティブになったときに実行されるべき外部プログラムと、タスクと外部プログラムとの間に通過されるべきアーギュメントとを指定する。ワークフローサブシステムは、外部プログラムが完了したときに通知されるのが好ましい。<submittask>エレメントは、その含まれたファイルに対し(ステージエリアへの)提出オペレーションを実行する。成功の場合には、指定の後継タスクがシグナリングされる。成功でない場合には、ユーザは、何らかの矛盾を分析するように通知される。<updatetask>エレメントは、その関連ファイルの最新のバージョンを得ることができる(例えば、ステージエリア又は別のワークステーションから)。<endtask>エレメントは、ジョブの終りを指示する。<endtask>エレメントがアクティブになると、それを含むジョブが終りとなり、ジョブにより保持された全てのロックが解除される。<cgitask>エレメントは、外部タスクに非常によく似た振舞いをするが、特定の外部プログラムを実行するものではなく、むしろ、ユーザがユーザインターフェイスを経てプログラムを実行することに依存する。従って、<externaltask>と同様に、指定の外部プログラムが完了したときにワークフローサブシステムにそれが通知されるのが好ましい。
【0022】
ジョブ生成は、一般に、2段階プロセスである。第1段階は、例えば、ジョブ仕様をワークフローサブシステムにロードすることによりそれをアクチベートすることである。従って、ジョブ仕様は、「ジョブインスタンス」であると言える。しかしながら、ジョブは、それが呼び出されるまではアクティブでないのが好ましい。従って、第2段階は、ジョブをアクチベートすることである。各ジョブは、ワークフローモデルの特定のインスタンスである。ジョブが生成されるときには、ジョブ生成者は、そのジョブに対する全ての特定情報を供給しなければならない。例えば、図2のワークフローモデルは、図3に示すジョブインスタンス300を生成するように使用される。
ジョブは、その生成時に、所定のワークフローモデルに従う。それ故、タスクを一般に個々のジョブに追加したり又はそこから除去したりすることができない。しかしながら、ジョブ生成時に指定された場合には、ジョブのある属性、例えば、その所有者を、ユーザ又はシステム監督者によって変更することができる。ジョブを指定しそしてそれらを変更するユーザの能力を限定することにより、ウェブサイト監督者は、ウェブサイトの開発を制御し、そしてワークフローモデル及びジョブ仕様によりプロセスを維持する。
【0023】
タスクは、2つの考えられる状態、即ちアクティブと、インアクティブとを有するのが好ましい。タスクは、先行タスクがそれを行うと信号するときにアクティブとなり、即ち先行タスク及びアクチベーションの条件は、ワークフローモデルの一部分として構成することができる。タスクがアクチベートされた後、ユーザ又は外部プログラムがそれに対して作業を行うことができる。例えば、ユーザタスクがアクチベートされた後に、ユーザは、そのタスクに含まれたファイルに対して作業することができる。外部タスクがアクチベートされた後に、そのタスクに含まれたファイルに対して適当な外部プログラムを実行することができる。インアクティブなタスクは、完了したタスク又はまだアクチベートされていないタスクである。又、タスクは、読み出し専用又は編集可能として設計することもできる。読み出し専用タスクは、ユーザが、ファイルを編集、削除、タスクに追加又はタスクから除去できるようにせずに、コンテンツを承認及びコメントできるようにする。
【0024】
ジョブは、2つの方法の一方で生成するのが好ましい。第1に、単一ジョブを定義するジョブ仕様ファイル(例えば、拡張可能なマークアップ言語(XML)ファイル)は、直接編集することができる。或いは又、ワークフローテンプレートファイル(例えば、XMLファイル)に定義されたワークフロールールと、ブラウザインターフェイスからのエンドユーザ入力との結合によってジョブを生成することもできる。この第2の技術では、どんな入力が与えられるかに基づいて相違する多数のジョブを定義するために、単一ワークフローテンプレートファイルを生成することができる。テンプレート及びユーザ入力(例えば、ウェブサイト監督者からの)のワークフロールールは、共通のゲートウェイインターフェイス(CGI)によりジョブ仕様ファイルを動的に生成するように解釈される。これは、上述した「手動」直接編集技術を使用して生成される同じ形式のファイルである。いったん構成されると、この技術は、ジョブを定義するプロセスを簡単化する。というのは、これは、ユーザ入力に対するブラウザインターフェイスを与え、そしてユーザ入力の各個別のセットに対して個別のジョブ仕様ファイルを自動的に発生するからである。
【0025】
ジョブ仕様ファイルを直接編集して単一ジョブを定義するときには、開発サーバー104に配置されたディレクトリにファイルが存在する。ジョブ仕様が生成されると、そのインスタンスをサーバー104において生成することができる(インスタンス生成)。単一ジョブ仕様の多数のインスタンス生成を行うことができる。ジョブの各インスタンスは、終了状態に到達するまでサーバー104において実行される。ジョブを再び実行するために、同じジョブ仕様を再結合して、新たなジョブインスタンスを生成することができる。次いで、新たなジョブインスタンスを呼び出すことができる。
【0026】
ジョブを生成するワークフローテンプレートを設定するために、次の5つの主要素が使用される。
(1)ワークフローテンプレートファイルそれ自体。これは、1組のワークフローマークアップ及び1組の一般的コンフィギュレーション命令によりワークフロールールを定義する。
(2)インスタンチエーターCGI。これは、ワークフロールール及びユーザからのデータを解釈し、ブラウザグラフィック及びプロンプトを形成し、ジョブ仕様を発生し、そしてジョブをインスタンス生成する。
(3)ブラウザベースのグラフィックユーザインターフェイス(GUI)。
(4)インスタンチエーターCGIにより発生できるジョブ使用ファイル。
(5)サーバー側のワークフローサブシステム。
【0027】
図4は、これらの要素と、それらがどのように一緒に作用するかを示す。インスタンチエーターCGI402は、一般に、ワークフローテンプレートファイル404における情報に基づいてワークフロー情報フォームを生成しそして表示する。更に、インスタンチエーターCGI402は、ワークフローテンプレートファイル404におけるワークフロールールに基づいてユーザにより入力されたデータを評価し、そのユーザ入力データを一般的なワークフローコンフィグレーション命令と結合してジョブ使用を生成し、開発サーバー104(図1)においてジョブ仕様をインスタンス生成し、そしてジョブをスタートする(呼び出す)。インスタンチエーターCGI402は、好ましくはサーバー104にある実行可能なファイルである。ユーザは、ブラウザインターフェイスGUI406を使用してワークフローフォームにデータを入力する。
【0028】
ブラウザインターフェイスGUI406では、ユーザが、例えば、「File>New File」、「File>Edit File」、又は「File>Create New Job」メニュー項目からワークフローテンプレートを選択する。これは、図4に矢印408で示されている。インスタンチエーターCGI402は、特定のワークフローテンプレートファイル404へ進み、そしてワークフローマークアップを読み取り、これは、ワークフローテンプレートファイルのテンプレートスクリプトエレメント(「<template_script>」エレメントとも称する)に存在するパール命令より成る。これは、図4に矢印410で示されている。
【0029】
ワークフローマークアップに基づいて、インスタンチエーターCGI402は、1つ以上のワークフローフォームを生成し、ユーザは、ブラウザ406を経てワークフローコンフィギュレーション情報をこれに入力することができる。これは、図4に矢印412で示されている。GUI406を経て作業するユーザは、ワークフローフォームを満たし、そしてそれをインスタンチエーターCGI402へ返送する。これは、図4に矢印414で示されている。
インスタンチエーターCGI402は、ワークフローテンプレートファイル404のワークフローマークアップにおけるルールを調べて、ユーザにより入力されたデータの有効性を照合する。これは、図4に矢印412で示されている。データが必要な全ての基準を満足する場合には、それがインスタンチエーターCGI402によりパーズされる。データが全ての必要な基準を満足しない場合には、インターフェイス406は、データを再入力できるように再びユーザを促す。
【0030】
ワークフローフォームが有効なデータを含むと決定した後に、インスタンチエーターCGI402は、データをワークフローテンプレートファイル404からの一般的な命令と結合し、特定ジョブに対するジョブ仕様418(及び任意であるがジョブ仕様ファイル)を生成する。これは、図4に矢印420で示されている。ジョブ仕様が生成される場合には、上述した手動の直接編集技術を使用して生成されたファイルと同等である。このジョブは、サーバー104(図1)へとインスタンス生成され、そしてサーバー側のワークフローサブシステム422においてスタートされる。これは、図4に矢印424で示されている。これらのアクションは、手動の直接編集技術を使用する場合には、手動で行われる。
【0031】
ジョブ仕様が生成されない(典型的なケース)ときには、インスタンチエーターCGI402は、ジョブ仕様ファイルをディスクに書き込み、そしてジョブインスタンスを生成して呼び出すための命令を呼び出すという同等の機能を実行する。
ワークフローテンプレートファイル404は、ジョブ仕様ファイルにおいて有効であるエレメントのいずれか又は全部を含むXMLファイルであるのが好ましい。これらのエレメントは、図4に示す1組の一般的なワークフローコンフィギュレーション命令を形成する。更に、ワークフローテンプレートファイル404は、図4に示すワークフローマークアップを定義するための1組のディレクティブを含む<templete_script>エレメントを含むことができる。
【0032】
<templete_script>ファイル内に存在する全ての命令は、インスタンチエーターCGI402によりパール(Perl)コードとして解釈される。テンプレートファイルは、有効なXML文書でなければならないので、<templete_script>エレメント内の全てのコンテンツは、XMLパーザーによる解釈からそれを保護するためにCDATAとして宣言されねばならない。ワークフローテンプレートファイルにおける全ての<templete_script>エレメントが一緒に単一のパールプログラムを形成してもよい。ワークフローテンプレートファイルが2つ以上の<templete_script>エレメントを含む場合には、1つのエレメントにおける全ての変数、関数及びライブラリーセットが他のエレメントにも得られるのが好ましい。
【0033】
各<templete_script>エレメントは、次のことを行える任意のパールコードを含むのが好ましい。即ち、ユーザが入力したデータを、ワークフローテンプレートファイルからのハードコード化ワークフローXML及び/又は<templete_script>エレメント内に形成されたプログラムで発生されたワークフローXMLと結合するためにインスタンチエーターCGI402が使用するルールを定義し、ジョブ仕様をプログラムで発生し(及び/又はハードコード化XMLジョブ仕様情報を、プログラムで発生したXMLと共に散在させ)、ジョブ仕様を、ワークフローサブシステムにインスタンス生成するのに加えて又はそれに代わって、ファイルへ任意に送信し(これは、どんなXMLが形成されるかを正確に決定するのに役立つ)、ユーザが入力したデータを妥当性検査するルールを定義し、データの妥当性検査ルールを満足しないときに表示されるべき顧客エラーメッセージを定義し、到来するデータを検査しそしてこのデータに基づいてコード化ルールを実行し(例えば、著者の名前が「Andre」であるときには、3つの承認が必要となるが、著者の名前が「Jon」であるときには、1つの承認しか必要でない)、到来するデータを、ワークフローテンプレートファイルからのハードコード化ワークフローXMLと合併し、そしてワークフローフォームの「ルック・アンド・フィール」を決定する。
【0034】
従って、ディレクティブは、インスタンチエーターCGI402により発生されたワークフローフォームの「ルック・アンド・フィール」を制御し、ワークフローフォームに表示されるデータ収集、妥当性検査及びエラーメッセージを制御し、タグにおいてエレメントの数を返送し、フォームに関連したHTMLエンコードデータをジョブ仕様に挿入し、そしてテキストをジョブ仕様にプログラムで挿入する。
図5は、簡単なワークフローの別の例を示す。図5に示すように、タスクは、ファイル504が変更されるワークエリア502において実行される。ファイル504が変更されると、それらはワークエリア506に与えられる。ワークエリア506では、更に別のタスクがファイル504において実行される。
【0035】
図6は、ワークフローの別の例を示す。タスクは、ワークエリア602においてファイル604に対して実行される。仕事が完了すると、ファイル604がエリア606において再検討される。更に仕事が要求される場合には、拒絶指示がエリア606からエリア602へ送信される。しかしながら、ファイル604がエリア606で承認されたと仮定すれば、ファイル604はワークエリア608へ送信される。エリア608では、リンクチェックが行われて、ワークエリア602で行われた変更がリンク(例えば、ハイパーリンク)に悪影響しないことが保証される。リンクが悪影響を受ける場合には、エリア608からエリア602へ拒絶指示を送信することによりエリア602へファイルが返送される。しかしながら、リンクチェックにより問題がないことが分かると、ファイル604がエリア610、612、614へ送信され、そこで、付加的な仕事がファイルに行われるか、又はファイルの再検討が行われる。ファイルは、エリア610、612、614へ同時に転送されてもよいし、エリア610、612、614において同時に変更又は再検討されてもよい。
【0036】
図7は、ワークフローの更に別の例を示す。ワークエリア702において、ファイル704は、特定タスクの実行により変更される。ファイル704は、次いで、ワークエリア706及び708へ通され、そこで、付加的なタスクが実行される。ファイルは、タスクによって新たなワークエリアにコピーでき、又は同じファイルに対して新たなタスクを実行できることに注意されたい。ワークエリア706及び708において仕事が完了すると、これらのワークエリア706及び708の各々で変更されたファイル704が、更なる処理の前に、ワークエリア710において合併される。タスクは、エリア706及び708においてパラレルに実行されるので、ファイル704は、オリジナルからコピー又は複写されてもよく、そしてコピー704’、704”は、エリア706及び708の各々により異なるやり方で変更されてもよい。従って、各エリア706及び708からのファイル704’、704”が合併され、そしてその相違が、更なるタスクの実行の前に融和される。この合併は、種々のやり方で実行できるが、好ましい実施形態では、コピーされたファイルに対する変更をオリジナルファイルに組み込むオペレーションを実行することにより合併が実行される。合併は、最後の1つのタスクが行われたとき、全てのタスクが行われたとき、又はいずれか1つのタスクが行われたときに行うことができる。コードのコンフィギュレーションは、合併をいつ行うべきか定義することができる。
【0037】
合併の一例として、合併されるべき第1組のファイルがワークエリアにコピーされる。次いで、第2組のファイルがエリアにコピーされる。第2組のファイルをコピーする際に、第2組と第1組との間の矛盾が識別されそして融和される。例えば、第2組のファイルを形成したタスクの所有者は、ユーザインターフェイスを経て融和を実行することができる。
図7を参照すれば、ファイルの合併は、ファイル704’、704”を互いに比較し、同じエレメントを保持し、いずれかのエリア706又は708において削除されたエレメントを削除し、いずれかのエリア706又は708において追加されたエレメントを追加し、そしていずれかのエリア706又は708において変更されたエレメントを変更することを含む。エリア706及び708において同じエレメントが異なるやり方で変更されるような矛盾が存在する場合には、更なる融和が実行される。例えば、これは、ファイルをエリア706及び708へ戻すことを含む。しかしながら、このような矛盾は、パラレルに実行されるタスクを、ファイルの同じエレメントに対して矛盾する変更を生じることがあり得ないタスクに制限することにより、回避される。
【0038】
図8は、ワークフローの更に別の例を示す。ワークエリア802において、ファイル804は、指定されたタスクに基づいて変更される。ファイル804は、次いで、再検討のためにエリア806及び808へ送信される。編集者は、タスクが読み出し専用として設計されているかどうかに基づき、ファイルを再検討するか及び/又はファイルへの変更を行う。ファイル804が両エリア806及び808において承認された場合には、ファイルが、更に別のタスクを実行するためにワークエリア810へ送信される。これは、ファイルに対する変更を、オリジナルファイルに組み込むために公表することを含む。
エリア810においてタスクを実行する前に各エリア806及び808から承認を得るよう確保するために、各エリア806及び808に対応する承認フラグが設けられる。両フラグがセットされると、これは、ファイルがエリア810を進行していることを指示する。或いは、各再検討者による承認を必要とするのではなく、1人の再検討者の承認だけでもよい。この場合には、ファイルをエリア810へ通す前に1つのフラグだけセットすればよい。付加的なエンティティが再検討者であると仮定すれば、再検討者の種々の組合せ、例えば過半数の再検討者の承認が必要とされてもよいし、或いは指定の再検討者の承認が、他の再検討者のグループの1人以上の承認と共に必要とされてもよい。
【0039】
しかしながら、両エリア806及び808において承認が要求され、そしてエリア808においてファイル804が再検討されて承認されると仮定する。この場合には、エリア808に対する承認フラグがセットされる。又、ファイル804がエリア806において再検討されたが、拒絶されたと仮定する。次いで、拒絶指示子がエリア806からエリア802へ送信され、そしてファイル804が更なる変更のためにエリア802へ返送される。この拒絶に応答して、エリア806に対して既にセットされた承認フラグがリセットされるのが好ましい。これは、ワークエリア806において拒絶に応答して変更されたファイル804が、エリア810において更に処理される前に、ワークエリア808において更に再検討されるよう確保する。従って、ファイルに対して行われた仕事に対して多数の承認タスクが要求される場合には、ファイルが承認されたときにフラグがセットされ、そして他のいずれか1つの承認でも拒絶されれば、それがリセットされる。従って、拒絶に応答してファイルが変更される場合には、全ての承認者が、その変更されたファイルを承認しなければならない。このようなフラグが全てセットされたときに、ファイルは、更なる作業のために、例えば、別のワークステーションへ送られる。
【0040】
以上、本発明の特定の実施形態について説明したが、特許請求の範囲によって限定された本発明の精神及び範囲から逸脱せずに、これら実施形態の変更がなされ得ることが当業者に明らかであろう。例えば、本発明は、専用のプロセッサ、ブラウザ要求を受信してルーティングするように構成されたウェブサーバー、アプリケーションサーバー、状態サーバー、及び互いに通信するように構成されそしてローカルエリアネットワーク(LAN)、イントラネット及びインターネットを含む1つ以上のネットワークに接続される他の形式のコンピュータプロセッサを利用することも含む。しかしながら、このような装置及びシステムのこのような実施は、本発明を利用する幾つかの例に過ぎず、本発明は、1つ以上のネットワーク内のデータの効率的なルーティング及び処理が含まれる多数の他の用途にも利用できることが当業者に明らかであろう。このような用途に対し、本発明の精神及び範囲から逸脱せずに、本発明を用いた同等の構造体を構成することができる。この実施形態は、コンピュータシステム又はネットワークのユーザ間でデータを交換するための装置及びシステムに関して図示して説明したが、本発明は、同様の特徴が有用な他の用途にも拡張される。本発明は、パーソナルコンピュータ、アプリケーションサーバー、状態サーバー、又はコンピュータに対して設計及び実施されて他のコンピュータと通信するためにネットワークに接続されて本発明を実施するようなインターネットウェブサーバーを包含する。本発明により動作するように構成されたシステムは、個々のモデム又は他の通信手段、例えば、ワイヤレス通信を経てインターネットに接続された複数のパーソナルコンピュータを含む。
【0041】
又、本発明は、マイクロプロセッサのような1つ以上のコンピュータプロセッサにより実行されるべき多数のファンクションも含む。マイクロプロセッサは、特定のタスクを定義するマシン読み取り可能なソフトウェアコードを実行することにより特定のタスクを実行するよう構成された特殊な又は専用のマイクロプロセッサである。又、マイクロプロセッサは、直接メモリアクセスモジュール、メモリ記憶装置、インターネット関連ハードウェアのような他の装置、並びに本発明によるデータの送信に関連した他の装置と共に動作し且つ通信するように構成することもできる。ソフトウェアコードは、Java(登録商標)、C++、XML(拡張可能なマークアップ言語)、及び本発明に関連した機能的オペレーションを実行するのに必要な装置の動作に関連したファンクションを定義するのに使用できる他の言語のようなソフトウェアフォーマットを使用して構成することができる。コードは、種々のフォーム及びスタイルで書くことができ、その多くは当業者に知られたものである。本発明によるマイクロプロセッサのオペレーションを定義するためのコードを構成するソフトウェアプログラム及び他の手段の異なるコードフォーマット、コードコンフィギュレーション、スタイル及びフォームは、特許請求の範囲により限定された本発明の精神及び範囲から逸脱するものではない。
【0042】
本発明を利用するコンピュータサーバーのような種々の形式のコンピュータ内には、本発明によるファンクションを遂行する間に情報を記憶しそして検索するための種々の形式のメモリ装置が存在する。このようなコンピュータにはキャッシュメモリ装置がしばしば含まれ、頻繁に記憶及び検索される情報のための便利な記憶位置として中央処理ユニットにより使用される。同様に、このようなコンピュータには、キャッシュメモリとは異なり、中央処理ユニットによって頻繁に検索されるが、頻繁に変更されない情報を維持するための永続的メモリもしばしば使用される。又、通常、中央処理ユニットにより実行されるときに、本発明によるファンクションを遂行するように構成されたデータ及びソフトウェアアプリケーションのような多量の情報を記憶及び検索するためにメインメモリも含まれる。これらのメモリ装置は、ランダムアクセスメモリ(RAM)、スタティックランダムアクセスメモリ(SRAM)、ダイナミックランダムアクセスメモリ(DRAM)、フラッシュメモリ、及び情報を記憶及び検索するために中央処理ユニットによりアクセスされる他のメモリ記憶装置として構成することができる。本発明は、特定の形式のメモリ装置に限定されるものではなく、これらのメモリ装置に各々情報を記憶してそこから検索するための通常使用のプロトコルに限定されるものでもない。
【図面の簡単な説明】
【図1】
本発明によるウェブサイト開発のためのコンピュータネットワークシステムを示す図である。
【図2】
本発明による例示的な指定−編集−承認ワークフローモデルを示す図である。
【図3】
図2のワークフローモデルから生成される例示的ジョブインスタンスを示す図である。
【図4】
ジョブを生成するためのワークフローテンプレートを設定するために本発明により使用される5つの主たる要素を示す図である。
【図5】
本発明による例示的なワークフローを示す図である。
【図6】
本発明による例示的なワークフローを示す図である。
【図7】
本発明による例示的なワークフローを示す図である。
【図8】
本発明による例示的なワークフローを示す図である。
Claims (33)
- ウェブサイト開発のためのワークフローを制御する方法において、
コンピュータ読み取り可能なメモリに記憶された複数のワークフローテンプレートの中からワークフローテンプレートを選択し、このワークフローテンプレートは、タスクの所定構成に基づいてワークを強制的に進行させるルールを有しており、
ワークフローテンプレートに基づいてワークフローフォームを生成し、
ユーザ入力に基づいてワークフローフォームに記入し、
ユーザ入力をワークフローテンプレートファイルと結合して、ジョブ仕様をメモリに形成し、そして
ジョブ仕様に基づいてジョブを実行する、
という段階を備えた方法。 - テンプレートファイルに含まれた特定の妥当性検査ルールを適用することによってユーザ入力の有効性を照合する段階を更に含む請求項1に記載の方法。
- 上記照合は、上記結合の前に実行される請求項2に記載の方法。
- 上記ジョブ仕様は、そのジョブ仕様の特徴を定義する初期セクションと複数のタスクセクションとを含むセクションのハイアラーキーより成り、各タスクセクションは、ジョブに生じる特定タスクを記述する請求項1に記載の方法。
- ワークフローフォームの上記生成は、共通のゲートウェイインターフェイスにより実行される請求項1に記載の方法。
- 上記結合は、共通のゲートウェイインターフェイスによって実行される請求項1に記載の方法。
- ワークフローフォームの上記記入は、ブラウザベースのグラフィックユーザインターフェイスを介して実行される請求項1に記載の方法。
- 上記ワークフローテンプレートは、XMLファイルである請求項1に記載の方法。
- 上記XMLファイルは、実行されるべきタスクを特定するためのパール命令を含み、このパール命令は、CDATAとして宣言される請求項8に記載の方法。
- 上記ジョブの実行は、ユーザがウェブサイトコンテンツファイルを変更することを含む請求項1に記載の方法。
- 少なくとも1つのタスクは、ウェブサイトコンテンツファイルの上記変更に関してユーザの1人へのEメール通知の送信を指定する請求項10に記載の方法。
- 上記変更は、上記ウェブサイトコンテンツファイルをシリアルな順序で変更することを含む請求項10に記載の方法。
- 上記変更は、上記ウェブサイトコンテンツファイルをパラレルに変更することを含む請求項10に記載の方法。
- パラレルに変更された上記ウェブサイトコンテンツファイルを合併することを更に含む請求項12に記載の方法。
- ウェブサイト開発のためのワークフローを制御する方法において、
ウェブサイトのコンテンツを定義するオリジナルファイルからワークファイルをコピーし、
ジョブ仕様に基づいてタスクを実行し、ジョブ仕様は、多数のタスクをパラレルに実行することを含むタスクの所定構成に基づいてワークを強制的に進行させ、そして個々のコピーされたワークファイルは、多数のタスクの各々により変更され、これにより、各タスクに対する変更されたファイルを生成し、そして
多数のタスクにより生成された変更されたファイルを合併して、合併ファイルとし、パラレルになされた変更をオリジナルファイルへ組み込む、
という段階を含む方法。 - 上記合併は、多数のタスクを実行する間に実行される請求項15に記載の方法。
- 上記合併は、多数のタスクの少なくとも1つが完了された後に実行される請求項15に記載の方法。
- 上記合併は、多数のタスクの全部が完了された後に実行される請求項15に記載の方法。
- 上記合併は、上記変更されたファイルを互いに比較し、同様のエレメントを保持し、上記変更されたファイルのいずれかから削除されたエレメントを削除し、上記変更されたファイルのいずれかに追加されたエレメントを追加し、そして上記変更されたファイルのいずれかにおいて変更されたエレメントを変更することを含む請求項15に記載の方法。
- 上記変更されたファイルの1つを生成した後に、上記方法は、更に、オリジナルファイルに対して提案された変更を含む上記変更されたファイルを提出し、1つ以上のエンティティによりその提案された変更を承認することを含む請求項15に記載の方法。
- 提案された変更が1つ以上のエンティティの全部によって承認された場合には、上記方法は、オリジナルファイルに組み込まれるべき変更を公表することを更に含む請求項20に記載の方法。
- 変更が1つ以上のエンティティの過半数によって承認された場合には、上記方法は、オリジナルファイルに組み込まれるべき変更を公表することを更に含む請求項20に記載の方法。
- 上記ワークフローテンプレートは、XMLファイルである請求項15に記載の方法。
- 合併されたファイルをウェブサイトへ配備することを更に含む請求項15に記載の方法。
- ウェブサイト開発のためのワークフローを制御する方法において、
コンピュータ読み取り可能なメモリにジョブ仕様を生成し、このジョブ仕様は、ウェブサイトコンテンツファイルで実行されるべきタスクの構成を特定し、
ウェブサイトコンテンツファイルを変更し、この変更は、タスクの構成に基づいて進行するように強制され、そして
変更されたウェブサイトコンテンツファイルをウェブサイトへ配備する、
という段階を備えた方法。 - 上記ジョブ仕様は、XMLファイルである請求項25に記載の方法。
- XMLファイルを直接的に編集することを更に含む請求項26に記載の方法。
- ワークフローテンプレートを使用してジョブ仕様を生成することを更に含む請求項26に記載の方法。
- 上記ワークフローテンプレートは、XMLファイルである請求項28に記載の方法。
- ユーザが上記変更を行い、そして少なくとも1つのタスクは、少なくとも1つの他のタスクに関してユーザの1人へのEメール通知の送信を特定する請求項25に記載の方法。
- 上記変更は、上記ウェブサイトコンテンツファイルをシリアルな順序で変更することを含む請求項25に記載の方法。
- 上記変更は、上記ウェブサイトコンテンツファイルをパラレルに変更することを含む請求項31に記載の方法。
- パラレルに変更された上記ウェブサイトコンテンツファイルを合併することを更に含む請求項32に記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16815699P | 1999-11-29 | 1999-11-29 | |
PCT/US2000/032540 WO2001088757A1 (en) | 1999-11-29 | 2000-11-29 | Method for enforcing workflow processes for website development and maintenance |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004501436A true JP2004501436A (ja) | 2004-01-15 |
Family
ID=22610352
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001547308A Pending JP2003518295A (ja) | 1999-11-29 | 2000-11-29 | ウェブサイトの開発及び維持のためにデータ行先間にデータを配備する方法及び装置 |
JP2001585081A Pending JP2004501436A (ja) | 1999-11-29 | 2000-11-29 | ウェブサイト開発及び維持のためのワークフロープロセスを遂行する方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001547308A Pending JP2003518295A (ja) | 1999-11-29 | 2000-11-29 | ウェブサイトの開発及び維持のためにデータ行先間にデータを配備する方法及び装置 |
Country Status (5)
Country | Link |
---|---|
EP (2) | EP1342170A4 (ja) |
JP (2) | JP2003518295A (ja) |
AU (2) | AU2051901A (ja) |
CA (2) | CA2389586A1 (ja) |
WO (2) | WO2001088757A1 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009070406A (ja) * | 2008-11-28 | 2009-04-02 | Ricoh Co Ltd | 表示方法、プログラム及び記録媒体 |
JP2010039857A (ja) * | 2008-08-06 | 2010-02-18 | Ricoh Co Ltd | 電子文書管理サーバ、電子文書管理システム及び電子文書更新方法 |
JP2010524125A (ja) * | 2007-04-12 | 2010-07-15 | トムソン ライセンシング | メディアの生成及び分配のための動作管理ソリューション |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7103612B2 (en) * | 2002-08-01 | 2006-09-05 | Oracle International Corporation | Instantiation of objects for information-sharing relationships |
US7076312B2 (en) * | 2002-08-02 | 2006-07-11 | Fisher-Rosemount Systems, Inc. | Integrated electronic signatures for approval of process control and safety system software objects |
GB0219649D0 (en) * | 2002-08-20 | 2002-10-02 | Neobard Timothy J | A method of creating a target computer file and a method of designing a website to be hosted on a user's server |
US9785948B1 (en) * | 2003-07-08 | 2017-10-10 | Ca, Inc. | On-line task advisor |
US8131663B1 (en) | 2007-10-12 | 2012-03-06 | Bonamy Taylor | Apparatus for generating software logic rules by flowchart design |
US9223989B2 (en) | 2013-03-18 | 2015-12-29 | International Business Machines Corporation | Approval of content updates |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0528617B1 (en) * | 1991-08-19 | 1999-12-22 | Sun Microsystems, Inc. | Method and apparatus for change control in multiple development environments. |
US5649200A (en) * | 1993-01-08 | 1997-07-15 | Atria Software, Inc. | Dynamic rule-based version control system |
US5835601A (en) * | 1994-03-15 | 1998-11-10 | Kabushiki Kaisha Toshiba | File editing system and shared file editing system with file content secrecy, file version management, and asynchronous editing |
US5745901A (en) * | 1994-11-08 | 1998-04-28 | Kodak Limited | Workflow initiated by graphical symbols |
CA2137492C (en) * | 1994-12-07 | 1998-07-28 | Lenny Kwok-Ming Hon | System for and method of providing delta-versioning of the contents of pcte file objects |
US5774661A (en) * | 1995-04-18 | 1998-06-30 | Network Imaging Corporation | Rule engine interface for a visual workflow builder |
US5706452A (en) * | 1995-12-06 | 1998-01-06 | Ivanov; Vladimir I. | Method and apparatus for structuring and managing the participatory evaluation of documents by a plurality of reviewers |
US5754857A (en) * | 1995-12-08 | 1998-05-19 | Sun Microsystems, Inc. | Distributed asynchronous workflow on the net |
DE19607149A1 (de) * | 1996-02-26 | 1997-08-28 | Siemens Ag | Verfahren zum rechnergestützten Abgleich mehrerer, in mindestens einem Rechner gespeicherten Dateikopien einer gespeicherten Datei |
US5907705A (en) * | 1996-10-31 | 1999-05-25 | Sun Microsystems, Inc. | Computer implemented request to integrate (RTI) system for managing change control in software release stream |
US6088693A (en) * | 1996-12-06 | 2000-07-11 | International Business Machines Corporation | Data management system for file and database management |
US5953525A (en) * | 1997-03-31 | 1999-09-14 | International Business Machines Corporation | Multi-tier view project window |
US6148311A (en) * | 1997-04-25 | 2000-11-14 | Adobe Systems Incorporation | Web site construction by inferring navigational structure from physical file structure |
EP1057121B1 (en) * | 1998-02-17 | 2006-10-04 | Intergraph Hardware Technologies Company | Apparatus and method for transmitting documents between a server computer and a client computer |
-
2000
- 2000-11-29 AU AU20519/01A patent/AU2051901A/en not_active Abandoned
- 2000-11-29 CA CA002389586A patent/CA2389586A1/en not_active Abandoned
- 2000-11-29 WO PCT/US2000/032540 patent/WO2001088757A1/en not_active Application Discontinuation
- 2000-11-29 AU AU19338/01A patent/AU1933801A/en not_active Abandoned
- 2000-11-29 CA CA002388772A patent/CA2388772A1/en not_active Abandoned
- 2000-11-29 EP EP00983810A patent/EP1342170A4/en not_active Withdrawn
- 2000-11-29 JP JP2001547308A patent/JP2003518295A/ja active Pending
- 2000-11-29 JP JP2001585081A patent/JP2004501436A/ja active Pending
- 2000-11-29 EP EP00982283A patent/EP1234257A4/en not_active Withdrawn
- 2000-11-29 WO PCT/US2000/032538 patent/WO2001046861A1/en not_active Application Discontinuation
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010524125A (ja) * | 2007-04-12 | 2010-07-15 | トムソン ライセンシング | メディアの生成及び分配のための動作管理ソリューション |
US8744246B2 (en) | 2007-04-12 | 2014-06-03 | Gvbb Holdings S.A.R.L. | Operational management solution for media production and distribution |
US9614885B2 (en) | 2007-04-12 | 2017-04-04 | Gvbb Holding S.A.R.L. | Operational management solution for media production and distribution |
JP2010039857A (ja) * | 2008-08-06 | 2010-02-18 | Ricoh Co Ltd | 電子文書管理サーバ、電子文書管理システム及び電子文書更新方法 |
JP2009070406A (ja) * | 2008-11-28 | 2009-04-02 | Ricoh Co Ltd | 表示方法、プログラム及び記録媒体 |
Also Published As
Publication number | Publication date |
---|---|
EP1234257A4 (en) | 2005-11-09 |
CA2388772A1 (en) | 2001-06-28 |
WO2001046861A9 (en) | 2002-07-04 |
EP1234257A1 (en) | 2002-08-28 |
AU1933801A (en) | 2001-11-26 |
EP1342170A4 (en) | 2006-01-25 |
CA2389586A1 (en) | 2001-11-22 |
WO2001088757A1 (en) | 2001-11-22 |
JP2003518295A (ja) | 2003-06-03 |
EP1342170A1 (en) | 2003-09-10 |
AU2051901A (en) | 2001-07-03 |
WO2001046861A1 (en) | 2001-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20010039594A1 (en) | Method for enforcing workflow processes for website development and maintenance | |
US11023834B2 (en) | Collaborative design systems, apparatuses, and methods | |
US8856737B2 (en) | Techniques for displaying customizations for composite applications | |
US8887130B2 (en) | Software design and development in a service oriented environment | |
US9009658B2 (en) | Component based software system | |
US7954107B2 (en) | Method and system for integrating the existing web-based system | |
CA2907890C (en) | Document automation systems | |
US20170147298A1 (en) | Development system with improved methodology for creation and reuse of software assets | |
US20190332982A1 (en) | Supplemental system for business intelligence systems | |
US9772830B2 (en) | System and method for modeling cloud rules for migration to the cloud | |
US20030135584A1 (en) | Method and apparatus creating network services | |
US8826282B2 (en) | Project task management system for managing project schedules over a network | |
US20080263101A1 (en) | Data Processing Device and Data Processing Method | |
EP1873701A1 (en) | Systems and methods for providing a mockup data generator | |
EP1927922A1 (en) | Data managing apparatus, data editing apparatus, data browsing apparatus, data managing method, data editing method, and data browsing method | |
US20070250481A1 (en) | Projected business objects | |
JP2009205677A (ja) | データ処理システム、コンピュータで実行する方法及びコンピュータプログラム | |
JP2009223888A (ja) | データ処理システム、コンピュータで実行する方法及びコンピュータ読取可能な媒体 | |
US20080209572A1 (en) | Data Processing System, Data Processing Method, and Management Server | |
US20020066074A1 (en) | Method and system for developing and executing software applications at an abstract design level | |
US20080256092A1 (en) | Data Processing Device and Data Processing Method | |
Powers et al. | Microsoft visual studio 2008 Unleashed | |
JP2004501436A (ja) | ウェブサイト開発及び維持のためのワークフロープロセスを遂行する方法 | |
Ala-Ilomäki | Application programming interface management for cloud entities of an enterprise resource planning software | |
US20230222421A1 (en) | System and method for dynamic objects and uses for same, including dynamic case model instances in a case management system |