(57)【要約】【課題】  ネットワークを介して時間／経費情報を取り込み、この情報をプロジェクト会計システムにおいて処理するためのシステムを提供する。【解決手段】  本システムは、プロジェクトに関連する時間／経費データを記憶するように適合されたプロジェクト会計システムを有する。ユーザＩＦは、ユーザがネットワーク２１０を介してブラウザ２０４によってアクセス可能なフォーム２１２を提供する。フォーム２１２は、ユーザによるデータ入力のためのフィールドと、フォームを電子的に提出するためのボタンを備える。サービスＡＰＩは、提出されたフォームが含むデータに基づきプロジェクト会計システムとのトランザクションを呼び出すように適合される。【選択図】  図２
2005276195.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介してコスト情報を取り込むための、および、該情報をプロジェクト会計システムにおいて処理するためのシステムであって、
プロジェクトに関連する時間／経費データを記憶するように適合されたプロジェクト会計システムと、
ネットワークを介してユーザがブラウザでアクセス可能なフォームで提供されるユーザインタフェースであって、前記フォームが、前記ユーザによるデータ入力のためのフィールドと、前記フォームを電子的に提出するためのボタンを備えるユーザインタフェースと、
提出されたフォームに含まれるデータに基づいて前記プロジェクト会計システムとのトランザクションを呼び出すように適合されたサービスＡＰＩと
を備えることを特徴とするシステム。
【請求項２】
前記フォームをホストし、および、前記フォームをマネージコードで書かれたビジネスルールに従ってユーザにサービスするように適合されたサーバをさらに備える、請求項１のシステム。
【請求項３】
前記サーバがアクティブサーバページのサーバであり、前記フォームがアクティブサーバページのフォームである、請求項２のシステム。
【請求項４】
ウェブベースの前記フォームが前記サービスＡＰＩへのコールを備える、請求項１のシステム。
【請求項５】
前記サーバがＭｉｃｒｏｓｏｆｔ  Ｂｕｓｉｎｅｓｓ  Ｓｏｌｕｔｉｏｎｓ  Ｂｕｓｉｎｅｓｓ  Ｐｏｒｔａｌである、請求項２のシステム。
【請求項６】
前記サービスＡＰＩが．ＮＥＴ  Ｗｅｂサービスを使用してコールされる、請求項１のシステム。
【請求項７】
前記サービスＡＰＩがリモーティングを使用してコールされる、請求項１のシステム。
【請求項８】
前記フォームがさらに、ウェブベースの提出されたフォームに含まれるデータを処理するためのビジネスルールを呼び出すように適合された組込みサービスＡＰＩコールを備える、請求項１のシステム。
【請求項９】
前記プロジェクト会計システムがＧｒｅａｔ  Ｐｌａｉｎｓ  Ｐｒｏｊｅｃｔ  Ａｃｃｏｕｎｔｉｎｇシステムである、請求項１のシステム。
【請求項１０】
時間／経費データをフォームを介して会計データベースに取り込む方法であって、
ネットワークを介してユーザがブラウザでアクセス可能なフォームをサーバ上でホストするステップであって、各フォームが、
ユーザデータ入力のためのデータフィールドと、
ユーザによって該フォームが記入されると該フォームを提出するように適合されたオブジェクトと、
前記ユーザからの提出時に、マネージコードで書かれたビジネスルールを呼び出すように適合された組込みサーバコントロールと
を有するステップと、
提出されたフォームを、呼び出された前記ビジネスルールに従ってサービスＡＰＩによって処理するステップとを含み、
前記サービスＡＰＩは、前記提出されたフォームに含まれるデータを前記会計データベース中のエンティティに関連付ける、
ことを特徴とする方法。
【請求項１１】
前記マネージコードが共通言語ランタイム環境に向けて書かれる、請求項１０の方法。
【請求項１２】
前記ホストするステップが、
少なくとも１つの勤務時間記録表フォームを含む複数のウェブフォームをウェブサーバに記憶するステップと、
前記複数のフォームのうちの少なくとも１つを、前記ブラウザのウィンドウに表示されるように前記ネットワークを介して前記ユーザに提供するステップと
を含む、請求項１０の方法。
【請求項１３】
前記処理するステップが、
前記提出されたフォームに含まれるデータを前記ビジネスルールに従って処理するステップと、
該処理されたデータおよび前記ビジネスルールに従って、前記会計データベースと対話するステップと
を含む、請求項１０の方法。
【請求項１４】
前記対話するステップが、データを前記会計データベースに記憶するステップを含む、請求項１３の方法。
【請求項１５】
前記対話するステップが、
前記処理されたデータに従って前記会計データベースに照会するステップを含む、請求項１３の方法。
【請求項１６】
前記照会するステップでは、前記ブラウザのウィンドウ内のフォームに表示されるように値を返す、請求項１５の方法。
【請求項１７】
ネットワークを介して時間／経費情報を取り込むための、および、該情報を会計システムにおいて処理するためのシステムであって、
時間／経費情報を記憶するように適合された会計システムと、
ネットワークを介してユーザによりブラウザで入力されるように適合された複数のウェブパートフォームと、
マネージコードで書かれたビジネスルールを実施および順序付けして、該ユーザ入力を前記会計システムにおいて処理するように適合されたサービスＡＰＩと
を備えることを特徴とするシステム。
【請求項１８】
前記複数のウェブパートフォームをホストし、および、該フォームを要求に応じてユーザにサービスするように適合されたサーバをさらに備える、請求項１７のシステム。
【請求項１９】
前記サービスＡＰＩが前記会計システムとのトランザクションを呼び出す、請求項１７のシステム。
【請求項２０】
前記ビジネスルールが承認プロセスにおけるステップを含む、請求項１７のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般に、ユーザインタフェースとオフィスシステムとの間にブリッジを提供するように適合されたシステムに関する。より詳細には、本発明は、プロジェクトに関係する時間／経費データをプロジェクト会計システムに取り込むように適合されたシステムに関する。
【背景技術】
【０００２】
１９８０年代および１９９０年代のビジネスアプリケーションは主に、内部の、事務管理（back-office）に限定した機能のビジネスプロセス自動化に焦点を合わせていた。内部効率性は重要だが、現在の傾向は、ビジネスの顧客、供給業者、パートナー、融資家、従業員である、ビジネスの内部と外部の個人およびビジネスとの関係の有効性を最適化することに向かっている。通常、関係の有効性の最適化は、セルフサービスの増加、およびターゲットをより絞ったサービス提供に向かう傾向があった。本明細書では、用語「セルフサービス」は、他者からの対話を必要とすることなく機能および／または所望の情報をユーザに提供するように適合された、対話式ユーザインタフェースおよびプレゼンテーションインタフェースを指す。
【０００３】
多くのビジネスは、そのビジネス業務をサポートするための現場アプリケーションを利用しており、これらには会計ソフトウェアアプリケーションや時間記録ソフトウェアアプリケーションなどが含まれる。このようなアプリケーションは、統合されていないことが多い。さらに、セルフサービス提供を実現するには、ウェブベースのサービスがしばしば必要である。このようなウェブベースのサービスを使用して、関連のないビジネスアプリケーションが相互接続されることが多い。残念ながら、このような相互接続はしばしば場当たり的である。すなわち、これらは１つまたは複数のウェブサービス、および／あるいは１つまたは複数のウェブアプリケーションまたは従来のソフトウェアアプリケーションを使用して、継ぎ合わせられたものである場合がある。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
会社が効率的にその顧客に課金し、そのコストを理解し、その従業員に払い戻すには、会社はすべてのプロジェクト関連コストおよび時間入力を取り込まなければならない。通常、従業員は自分の時間および経費を記録し、この時間／経費データは会計システムに入力される。このようなシステムがこのデータを受け取って正確に記録することに重要な意味がある。
【０００５】
様々な会社が、時間／経費機能をプロジェクト会計システムに統合してきた。しかし、このようなシステムはしばしば、多くの組織にとっては高価すぎる場合のある企業ソリューションである。
【課題を解決するための手段】
【０００６】
ネットワークを介してコスト情報を取り込み、この情報をプロジェクト会計システムにおいて処理するためのシステムは、会計システムと、ユーザインタフェースと、サービスＡＰＩとを備える。プロジェクト会計システムは、プロジェクトに関連する時間／経費データを記憶するように適合される。ユーザインタフェースは、ユーザがネットワークを介してブラウザによってアクセス可能なフォームを提供する。このフォームは、ユーザによるデータ入力のためのフィールドと、フォームを電子的に提出する（submit）ためのボタンとを備える。サービスＡＰＩは、提出されたフォームに含まれるデータに基づいてプロジェクト会計システムとのトランザクションを呼び出す（invoke）ように適合される。
【０００７】
別の実施形態では、本発明の一実施形態により、フォームを介して時間／経費データを会計データベースに取り込む方法が提供される。フォームはウェブサーバ上でホストされる。各フォームは、ユーザからネットワークを介してブラウザによってアクセス可能である。各フォームは、ユーザデータ入力のためのデータフィールドと、ウェブフォームがユーザによって記入されるとウェブフォームを提出するように適合されたオブジェクトと、ユーザからの提出時にビジネスルールを呼び出すように適合された組込みサーバコントロールとを備える。ビジネスルールはマネージコード（managed code）で書かれる。提出されたフォームは、呼び出されたビジネスルールに従って、サービスＡＰＩを使用して処理される。サービスＡＰＩは、フォームに含まれるデータを会計データベース内のエンティティにリンクする。
【０００８】
別の実施形態では、ネットワークを介して時間／経費情報を取り込み、この情報を会計システムにおいて処理するためのシステムは、会計システムと、ウェブパートと、サービスＡＰＩとを備える。会計システムは、時間／経費情報を記憶するように適合される。複数のウェブパートフォームが、ユーザからネットワークを介してブラウザによって入力されるように適合される。サービスＡＰＩは、マネージコードで書かれたビジネスルールを実施および順序付けして、ユーザ入力を会計システムにおいて処理するように適合される。
【発明を実施するための最良の形態】
【０００９】
本発明について詳細に述べる前に、本発明を使用することのできる環境の一実施形態について述べる。図１に、本発明を実施することのできる適したコンピューティングシステム環境の例１００を示す。コンピューティングシステム環境１００は、適したコンピューティング環境の一例にすぎず、本発明の使用または機能の範囲についてどんな制限を意味するものでもない。またコンピューティング環境１００は、この例示的な動作環境１００に示すコンポーネントのいずれか１つまたは組合せに関してどんな依存や要件を有するものとも解釈すべきではない。
【００１０】
本発明は、その他多くの汎用または専用コンピューティングシステム環境または構成でも機能する。本発明で使用するのに適するであろう周知のコンピューティングシステム、環境、および／または構成の例には、限定しないがパーソナルコンピュータ、サーバコンピュータ、ハンドヘルドデバイスまたはラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラム可能な民生用電子機器、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、電話システムや、これらのシステムまたはデバイスのいずれかを含む分散コンピューティング環境などが含まれる。
【００１１】
本発明は、プログラムモジュールなど、コンピュータによって実行されるコンピュータ実行可能命令の一般的なコンテキストで述べることができる。一般に、プログラムモジュールは、特定のタスクを実施するか特定の抽象データ型を実現するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。本発明は分散コンピューティング環境で実施することもでき、その場合、タスクは通信ネットワークを介してリンクされたリモート処理デバイスによって実施される。分散コンピューティング環境では、プログラムモジュールは、メモリ記憶デバイスを含めたローカルとリモートの両方のコンピュータ記憶メディアに位置することができる。
【００１２】
図１を参照すると、本発明を実施するための例示的なシステムは、コンピュータシステム１１０の形の汎用コンピューティングデバイスを含む。コンピュータ１１０のコンポーネントには、限定しないが処理ユニット１２０と、システムメモリ１３０と、システムメモリを含めた様々なシステムコンポーネントを処理ユニット１２０に結合するシステムバス１２１とを含めることができる。システムバス１２１は、様々なバスアーキテクチャのいずれかを用いた、メモリバスまたはメモリコントローラ、周辺バス、ローカルバスを含めて、いくつかのタイプのバス構造のいずれかとすることができる。限定ではなく一例として、このようなアーキテクチャには、ＩＳＡ（Industry Standard Architecture）バス、ＭＣＡ（Micro Channel Architecture）バス、ＥＩＳＡ（Enhanced ISA）バス、ＶＥＳＡ（Video Electronics Standards Association）ローカルバス、ＰＣＩ（Peripheral Component Interconnect）バス（メザニンバスとも呼ばれる）が含まれる。
【００１３】
コンピュータ１１０は通常、様々なコンピュータ可読メディアを備える。コンピュータ可読メディアは、コンピュータ１１０からアクセスできる任意の利用可能なメディアとすることができ、揮発性と不揮発性のメディア、取外し可能と取外し不可能のメディアの両方が含まれる。限定ではなく一例として、コンピュータ可読メディアには、コンピュータ記憶メディアおよび通信メディアを含めることができる。コンピュータ記憶メディアには、コンピュータ可読命令、データ構造、プログラムモジュール、その他のデータなどの情報を記憶するための任意の方法または技術で実現された、揮発性と不揮発性、取外し可能と取外し不可能の両方のメディアが含まれる。コンピュータ記憶メディアには、限定しないがＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリまたはその他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）またはその他の光ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置またはその他の磁気記憶デバイスが含まれ、あるいは、所望の情報を記憶するのに使用できコンピュータ１１０からアクセスできるその他の任意のメディアが含まれる。通信メディアは通常、搬送波やその他のトランスポート機構などの被変調データ信号中に、コンピュータ可読命令、データ構造、プログラムモジュール、またはその他のデータを組み入れるものであり、任意の情報送達メディアが含まれる。用語「被変調データ信号」は、信号中の情報が符号化される形で１つまたは複数の特性が設定または変更される信号を意味する。限定ではなく一例として、通信メディアには、有線ネットワークや直接有線接続などの有線メディアと、音響、無線周波数、赤外線、その他の無線メディアなどの無線メディアとが含まれる。以上の任意の組合せもコンピュータ可読メディアの範囲に含めるべきである。
【００１４】
システムメモリ１３０は、読取り専用メモリ（ＲＯＭ）１３１やランダムアクセスメモリ（ＲＡＭ）１３２など、揮発性および／または不揮発性メモリの形のコンピュータ記憶メディアを含む。ＲＯＭ１３１には通常、起動中などにコンピュータ１１０内の要素間で情報を転送するのを助ける基本ルーチンを含むＢＩＯＳ（basic input/output system）１３３が記憶されている。ＲＡＭ１３２は通常、処理ユニット１２０がすぐにアクセス可能な、かつ／または処理ユニット１２０が現在作用している、データおよび／またはプログラムモジュールを含む。限定ではなく一例として、図１には、オペレーティングシステム１３４、アプリケーションプログラム１３５、その他のプログラムモジュール１３６、プログラムデータ１３７を示す。
【００１５】
コンピュータ１１０は、その他の取外し可能／取外し不可能、揮発性／不揮発性コンピュータ記憶メディアを備えることもできる。一例にすぎないが図１には、取外し不可能な不揮発性の磁気メディアに対して読み書きするハードディスクドライブ１４１と、取外し可能な不揮発性の磁気ディスク１５２に対して読み書きする磁気ディスクドライブ１５１と、ＣＤ  ＲＯＭやその他の光メディアなど取外し可能な不揮発性の光ディスク１５６に対して読み書きする光ディスクドライブ１５５を示す。この例示的な動作環境で使用できるその他の取外し可能／取外し不可能、揮発性／不揮発性コンピュータ記憶メディアには、限定しないが磁気テープカセット、フラッシュメモリカード、デジタル多用途ディスク、デジタルビデオテープ、固体ＲＡＭ、固体ＲＯＭなどが含まれる。ハードディスクドライブ１４１は通常、インタフェース１４０などの取外し不可能メモリインタフェースを介してシステムバス１２１に接続され、磁気ディスクドライブ１５１および光ディスクドライブ１５５は通常、インタフェース１５０などの取外し可能メモリインタフェースでシステムバス１２１に接続される。
【００１６】
以上に論じ、図１に示したドライブおよびそれらに関連するコンピュータ記憶メディアは、コンピュータ可読命令、データ構造、プログラムモジュール、その他のデータの記憶域をコンピュータ１１０に提供する。例えば図１には、ハードディスクドライブ１４１がオペレーティングシステム１４４、アプリケーションプログラム１４５、その他のプログラムモジュール１４６、プログラムデータ１４７を記憶しているのが示されている。これらのコンポーネントは、オペレーティングシステム１３４、アプリケーションプログラム１３５、その他のプログラムモジュール１３６、プログラムデータ１３７と同じものとすることもでき、異なるものとすることもできることに留意されたい。ここでは、オペレーティングシステム１４４、アプリケーションプログラム１４５、その他のプログラムモジュール１４６、プログラムデータ１４７が少なくとも異なるコピーであることを示すために、異なる番号を付けてある。
【００１７】
ユーザは、キーボード１６２、マイクロホン１６３、マウスやトラックボールやタッチパッド等のポインティングデバイス１６１などの入力デバイスを介して、コンピュータ１１０にコマンドおよび情報を入力することができる。その他の入力デバイス（図示せず）には、ジョイスティック、ゲームパッド、衛星受信アンテナ、スキャナなどを含めることができる。これらおよびその他の入力デバイスは、システムバスに結合されたユーザ入力インタフェース１６０を介して処理ユニット１２０に接続されることが多いが、パラレルポート、ゲームポート、ユニバーサルシリアルバス（「ＵＳＢ」）など、その他のインタフェースおよびバス構造で接続されてもよい。モニタ１９１または他のタイプの表示デバイスも、ビデオインタフェース１９０などのインタフェースを介してシステムバス１２１に接続される。モニタに加えて、コンピュータは通常、スピーカ１９７やプリンタ１９６など、その他の周辺出力デバイスも備えることができ、これらは出力周辺インタフェース１９０を介して接続することができる。
【００１８】
コンピュータ１１０は、リモートコンピュータ１８０など１つまたは複数のリモートコンピュータへの論理接続を用いて、ネットワーク化された環境で動作することができる。リモートコンピュータ１８０は、パーソナルコンピュータ、ハンドヘルドデバイス、サーバ、ルータ、ネットワークＰＣ、ピアデバイス、またはその他の一般的なネットワークノードとすることができ、通常はパーソナルコンピュータ１１０に関して上述した要素の多くまたはすべてを備える。図１に示す論理接続は、ローカルエリアネットワーク（ＬＡＮ）１７１およびワイドエリアネットワーク（ＷＡＮ）１７３を含むが、その他のネットワークを含むこともできる。このようなネットワーキング環境は、オフィス、企業全体のコンピュータネットワーク、イントラネット、インターネットでよくみられる。
【００１９】
ＬＡＮネットワーキング環境で使用されるときは、コンピュータ１１０は、ネットワークインタフェースまたはアダプタ１７０を介してＬＡＮ１７１に接続される。ＷＡＮネットワーキング環境で使用されるときは、コンピュータ１１０は通常、インターネットなどのＷＡＮ１７３を介した通信を確立するためのモデム１７２または他の手段を備える。モデム１７２は内蔵でも外付けでもよく、ユーザ入力インタフェース１６０または他の適切な機構を介してシステムバス１２１に接続することができる。ネットワーク化された環境では、コンピュータ１１０に関して示したプログラムモジュールまたはその一部をリモートのメモリ記憶デバイスに記憶することができる。限定ではなく一例として、図１には、リモートアプリケーションプログラム１８５がリモートコンピュータ１８０上にあるものとして示す。図示のネットワーク接続は例示的なものであり、コンピュータ間で通信リンクを確立するための他の手段を使用してもよいことは理解されるであろう。
【００２０】
図２は、本発明の一実施形態による時間／経費システム２００を示す図である。ウェブパートフォーム２０２が、ウェブサーバ２０４内に展開される。サービスアプリケーションプログラムインタフェース（ＡＰＩ）２０６が、マネージコードで書かれたビジネスルールを実施および順序付けする。必要に応じて、サービスＡＰＩ２０６は、データベース２０８とのトランザクションおよび／またはクエリを呼び出す（invoke）。フォーム２０２は、ネットワーク２１０を介してユーザインタフェース２１２内でユーザに対して表示される。
【００２１】
一般に、サービスＡＰＩ２０６は、アプリケーションプログラムが他の何らかの（通常はより低レベルの）モジュールによって提供されるサービスにアクセスするために使用するインタフェース（または関数コール規定のセット）である。この例では、サービスＡＰＩ２０６を使用して、マネージコードで書かれたビジネスルールを処理し、任意選択で、データベース２０８によって提供されるサービスにアクセスする。
【００２２】
用語「マネージコード（managed code）」は、ランタイムをターゲットとする言語コンパイラで開発されるコードを指す。マネージコードは、アセンブリモジュール中で符号化されたメソッドを突き止めること、セキュリティ情報を記憶し取り出すこと、例外を処理することなどをランタイムができるようにするための情報（「メタデータ」と呼ばれることもある）を提供する。一般に、マネージコードは、ランタイムをターゲットとするコードである。ランタイムはコードを実行時に管理し、メモリ管理やスレッド管理やリモーティング（モジュールがシステム境界を越えて通信できるようにするＡＰＩ）などのコアサービスを提供するとともに、コード内の厳密なタイプの安全性も実施する。
【００２３】
マネージコード実行環境内でのプログラミングは、当技術分野で知られている。知られているマネージコードの一例は、共通言語ランタイム（ＣＬＲ）をターゲットとするものである。コンパイラおよびツールが、ランタイムの機能を公開し、マネージコード実行からの利益を得られるコードを開発者が書けるようにする。マネージコードは、言語間の統合、言語間の例外処理、向上したセキュリティ、バージョニングおよび展開サポートなどの機能からの利益を得る。また、マネージコードは、コンポーネント対話のための簡略化されたモデル、ならびにデバッグサービスおよびプロファイリングサービスを提供する。
【００２４】
ネットワーク２１０は、データ伝送をサポートすることのできる任意のタイプのネットワークとすることができ、公衆交換電話ネットワーク、ローカルエリアネットワーク、ワイドエリアネットワーク（インターネットを含む）、セルラーまたはデジタル無線ネットワーク、またはその他任意のタイプのネットワークが含まれる。伝送メディアがデータ伝送をサポートするという条件で、本発明は伝送メディアから独立している。
【００２５】
一般に、ユーザインタフェース２１２は、ネットワーク２１０を介してフォーム２０２をユーザに対して表示するためのプレゼンテーションインタフェースを提供する。例示的な一実施形態では、ユーザインタフェース２１２は、インターネットブラウザアプリケーションのブラウザウィンドウ内のページとして表示される。ユーザは、ユーザインタフェース２１２内でフォーム２０２に記入して、ネットワーク２１０を介してフォーム２０２をウェブサーバ２０４に提出する。フォーム２０２はサービスＡＰＩ２０６をコールする。コールされたサービスＡＰＩ２０６は呼び出され、ユーザからフォーム２０２のうちの１つによって提出されたデータをマネージコードに従って処理する。必要に応じて、サービスＡＰＩ２０６はデータベース２０８と対話して、例えば従業員からの時間入力を記憶する。
【００２６】
一般に、サービスＡＰＩ２０６は、マネージコードで書かれたビジネスルールを処理する。ビジネスルールは、承認プロセスのステップを含むことができる。したがって、ビジネスルールは、ワークフロープロセスを定義することができる。一般に、サービスＡＰＩ２０６は、例えば会計サブシステムが時間／経費トランザクションを受け取り、時間／経費データを処理して送り状生成、支払い取込み、従業員給与支払名簿、経費払戻しを完了するのに必要な、クリティカルなリンクを完成させる。
【００２７】
一般に、承認プロセスは、任意の数の方法で実施することができる。一実施形態では、承認プロセスは、自動化されたワークフローの一部である。サービスＡＰＩ２０６は、ウェブフォームに記憶されたデータに対してビジネスルールを処理する。管理者がシステムにログインすると、管理者は、自分が監督役割を担う時間／経費フォームがポストされたことのアラートを受けることができる。次いで管理者は、これらのフォームを見て、フォームを受け入れるか、終了するか、さらに処理するために従業員に返すかのいずれかを行うことができる。従業員ユーザがシステムにログインすると、従業員ユーザは、修正の必要なフォームにアクセスすること、保留中のフォームを修正すること、新しいフォームを作成して提出することなどができる。システムは、システム内における各ユーザの「認証された役割」に従って、各ユーザに関連するフォームへのアクセスを許可することができる。例えば、１人の従業員が組織内で複数の役割を有することができる。１人の従業員が、ある従業員に対しては監督者（supervisor）、別の従業員に対しては管理者（manager）などであってよい。
【００２８】
図３に、コンポーネント要素に基づくビジネスアプリケーションフレームワーク３００を示す。一般に、ビジネスアプリケーションフレームワーク３００は、データを処理、記憶、表示するためのアプリケーションサービスのセットを提供する。ビジネスアプリケーションフレームワーク３００は、セキュリティ、データアクセス、メッセージング、ワークフロー、イベント仲介などのためのサポートを提供する。
【００２９】
ビジネスアプリケーションフレームワーク３００は、ユーザインタフェース（ＵＩ）３０２を備え、ＵＩ３０２は、エンティティ３０４およびプロセス３０６と対話する。ＵＩ３０２は、データの入力、タスクの実施、情報の展開／報告のためのインタフェースを提供する。エンティティ３０４は、データの基本ユニットであり、これはビジネスデータとデータ統合ルールの両方を含む。プロセス３０６は、ビジネスロジックの基本ユニットである。
【００３０】
ポリシー３０８は、セキュリティ、データアクセス、ワークフロー、イベント仲介を提供するための、ビジネスルールカスタマイズポイントのセットである。ポリシー３０８は、エンティティ３０４およびプロセス３０６と直接に対話して、ＵＩ３０２に表示されるデータを管理する。Ｂａｃｋ  Ｏｆｆｉｃｅ  アプリケーションは、フレームワーク３００の多くの動作に対する焦点である。
【００３１】
一般に、ビジネスアプリケーションフレームワーク３００はコンポーネントに基づく。各コンポーネントは、０個またはそれ以上のエンティティと、０個またはそれ以上のプロセスからなる。コンポーネントは、クラスのセットに対するインタフェースを提供する。コンポーネントのパブリックインタフェースの全部または一部を発行することによって、拡張可能マークアップ言語（ＸＭＬ）ウェブサービスが生み出される。
【００３２】
図４Ａおよび４Ｂに、勤務時間記録表（time sheet）および経費報告（expense report）の処理フローをそれぞれ示す。この実施形態では、２つのフローは、ＵＩ中で提示されるオプションを介してユーザからアクセス可能であり、これらのフロー両方とも、課金機能にデータをポストする。したがって、２つのフローは関係しており、共通の要素を共有する。別の実施形態では、２つのフローは別々であってもよく、追加のワークフロープロセスを利用して、処理済みの勤務時間記録表／経費報告データを総勘定元帳にポストすることができる。
【００３３】
図４Ａに、本発明の一実施形態による勤務時間記録表処理フローを簡略化した流れ図を示す。ユーザはウェブブラウザを使用してインタフェースにアクセスし、インタフェースはウェブベースのフォームとして表示される。ユーザインタフェース４０２は、３つの基本的な勤務時間記録表オプション、すなわち勤務時間記録表の作成４０４、勤務時間記録表の削除４０６、既存の勤務時間記録表の修正４０８を、ユーザに提供する。
【００３４】
ユーザがＵＩ４０２を介して勤務時間記録表の作成４０４のオプションを選択したときは、勤務時間記録表フォームがブラウザウィンドウ内に表示される。ユーザは、勤務時間記録表フォームに記入し、記入した勤務時間記録表を提出する（４１０）。サービスＡＰＩはビジネスルールを処理し、ビジネスルールは承認プロセスを開始する（４１２）。前に論じたように、ビジネスルールは、承認を得るために勤務時間記録表を監督者に提示するなどの許可ステップを含むワークフロープロセスを含むことができる。次いで監督者は、勤務時間記録表を承認するか（４１４）、勤務時間記録表を終了するか（４１６）、勤務時間記録表を修正のためにユーザに返すか（４１８）のいずれかを行うことができる。勤務時間記録表がユーザに返された場合は（４１８）、次いでユーザは既存の勤務時間記録表を修正し（４０８）、修正した勤務時間記録表を提出する（４１０）ことができる。
【００３５】
監督者が勤務時間記録表を承認した場合は（４１４）、勤務時間記録表データはプロジェクト会計システムに転送され（４２０）、給与支払名簿システムに転送される（４２２）。次いで、会計システムおよび給与支払名簿システムからの勤務時間記録表データは、総勘定元帳にポストされ（４２４）、課金機能にポストされる（４２６）。
【００３６】
ＵＩ４０２からのユーザまたは承認プロセス４１２からの監督者が、勤務時間記録表の終了４１６を選択した場合は、勤務時間記録表データは削除される。
【００３７】
課金機能４２６は、課金プリントアウトまたは電子請求書フォームを直接に生成することができ、あるいは顧客ごとの請求書情報をＢａｃｋ  Ｏｆｆｉｃｅ  アプリケーションにポストすることができる。
【００３８】
図４Ｂに、本発明の一実施形態による経費報告処理フロー４３０を示す。ＵＩ４０２から、ユーザは３つのオプション、すなわち経費報告の作成４３２、経費報告の削除４３４、経費報告の修正４３６の間で選択する。
【００３９】
ユーザがＵＩ４０２を介して経費報告の作成４３２のオプションを選択した場合は、経費報告フォームがブラウザウィンドウ内に表示される。ユーザは、経費報告フォームに記入し、記入した経費報告を提出する（４３８）。サービスＡＰＩはビジネスルールを処理し、ビジネスルールは承認プロセスを開始する（４４０）（図４Ａのビジネスルール４１２とは別個のビジネスルールのセットである場合もある）。前に論じたように、ビジネスルールは、承認を得るために経費報告を監督者に提示するなどの許可ステップを含むワークフロープロセスを含むことができる。次いで監督者は、経費報告を承認するか（４４２）、経費報告を終了するか（４４４）、経費報告を修正（４３６）のためにユーザに返すか（４４６）のいずれかを行うことができる。経費報告がユーザに返された場合は（４４６）、次いでユーザは経費報告を修正し（４３６）、修正した勤務時間記録表を提出する（４３８）ことができる。
【００４０】
監督者が経費報告を承認した場合は（４４２）、経費報告データはプロジェクト会計システムに転送される（４４８）。次いで、会計システムからの経費報告データは、総勘定元帳にポストされ（４５０）、課金機能にポストされる（４２６）。
【００４１】
ＵＩ４０２からのユーザまたは承認プロセス４４０中の監督者が、経費報告の終了４４４を選択した場合は、経費報告データは削除される。
【００４２】
課金機能４２６は、課金プリントアウトまたは電子請求書フォームを直接に生成することができ、あるいは顧客ごとの請求書情報をＢａｃｋ  Ｏｆｆｉｃｅ  アプリケーションにポストすることができる。
【００４３】
一般に、ユーザは、ウェブサーバを介して勤務時間記録表フォームおよび経費報告フォームにアクセスすることができる。ユーザはウェブブラウザウィンドウ内のフォームに記入し、フォームを提出する。フォームはサービスＡＰＩをコールし、サービスＡＰＩは、マネージコードで書かれたビジネスルールを実施および順序付けして、フォームに含まれるデータを処理する。最終的にデータは、正確な財務データの生成維持のために記憶および／または利用される。
【００４４】
本発明によって提供される時間／経費機能は、すべてのプロジェクト関連コストを取り込み、それにより会社は効率的に、また適時かつ正確にその顧客に課金することができる。また、会社は、正確かつ効率的に経費データを取り込んで、プロジェクトにかかった経費をその従業員に払い戻すことができる。時間は、プロジェクト目的とプロジェクト以外の目的の両方から取り込まれ、従業員が支払いを受けられるように給与支払名簿（payroll）に送られる。本明細書で述べる時間／経費機能は、多くのウェブサーバおよび実装形態で利用できるセルフサービスのウェブアプリケーションを提供する。例示的な一実施形態では、フォームはＡＳＰ．Ｎｅｔウェブパートフォームとすることができ、これはＡＳＰ．ＮＥＴサーバコントロールを含む。ウェブパートフォームは、Ｍｉｃｒｏｓｏｆｔ（登録商標）ＳｈａｒｅＰｏｉｎｔ（登録商標）製品および技術に関連するページとすることができる。用語「ＭＩＣＲＯＳＯＦＴ」および「ＳＨＡＲＥＰＯＩＮＴ」は、ワシントン州レドモンドのＭｉｃｒｏｓｏｆｔ（登録商標）Ｃｏｒｐｏｒａｔｉｏｎが所有する登録商標である。ウェブパートは、設計時にプログラマによってウェブフォームページに加えられる標準的なＡＳＰ．ＮＥＴコントロールとは異なり、ランタイムにユーザによってウェブパートページ上のウェブパートゾーンに加えられるように意図されている。ユーザに割り当てられた権限許可に応じて、ユーザは、ウェブパートおよびウェブパートページを修正する自由を様々なレベルで有することができる。他の実施形態では、フォームは他のタイプのフォームであってもよい。
【００４５】
本発明は、例えばＭｉｃｒｏｓｏｆｔ（登録商標）Ｂｕｓｉｎｅｓｓ  Ｓｏｌｕｔｉｏｎｓ  Ｂｕｓｉｎｅｓｓ  Ｐｏｒｔａｌを利用して、ＡＳＰ．ＮＥＴサービスおよびＧｒｅａｔ  Ｐｌａｉｎｓ  Ａｃｃｏｕｎｔｉｎｇバックエンドシステムで実施することができる。他の実施形態では、ＡＳＰフォームと、ビジネスルールを提供および処理するためならびにデータベースと対話するための関連するサービスＡＰＩとが、ＡＳＰサーバに備わっていてもよい。
【００４６】
一般に本発明は、一度だけ入力される時間／経費データによって、かかったプロジェクトコストを取り込み、従業員に払い戻し、顧客に送り状を送るクリティカルなリンクを、エンドツーエンドビジネスプロセスにおいて提供する。本発明の大きな利点は、顧客に送り状を送ってそれにより支払いを受け取るのにかかる時間を短縮することができる点である。このことは、会社のキャッシュフローを改善する可能性を有する。また、自動化されていないまたは統合されていない時間／経費取込みシステムまたはアプリケーションと比較して、従業員はより迅速に自費での経費の払戻しを受けることができる。
【００４７】
図４Ａおよび４Ｂでは、承認プロセスに管理者が関与するものとして述べたが、承認プロセスは、いくつかの支出および／または時間入力については自動化することもできることを当業者は理解されたい。したがっていくつかの例では、データは、マネージコードで実現されるビジネスルールに従って、プログラムに基づいて監督者の関与なしに処理および承認することができる。
【００４８】
図５に、本発明の一実施形態による、統一モデリング言語（ＵＭＬ）を使用したエンティティモデルを示す。一般に、図中で白抜きの矢じりを有する矢印は、ベースクラスに対する関係を示し、細い矢印はベースクラス以外の関係を示す。細い矢印の横の数字は、オブジェクトを含まなければならないか、それともオプションかを示す。矢印の隣に「１」の指示がある場合、これはオブジェクトを含まなければならないことを意味する。「０．．１」の指示は、０個または１個のオブジェクトを含むことができることを示す。「０．．ｎ」は、０個またはそれ以上のオブジェクトを含むことができることを理論的に示す。
【００４９】
図示のように、ＵＭＬビジネスエンティティモデル（business entity model）５００は、ｅｘｐｅｎｓｅ  ｈｅａｄｅｒ  ｂａｓｅ５０２およびｔｉｍｅｓｈｅｅｔ  ｈｅａｄｅｒ  ｂａｓｅ５０４を有する。図示のように、ｅｘｐｅｎｓｅ  ｌｉｎｅ５０６は、その構造をｅｘｐｅｎｓｅ  ｌｉｎｅ  ｂａｓｅクラス５０８から継承する。各ｅｘｐｅｎｓｅ  ｌｉｎｅ５０６はｅｘｐｅｎｓｅ  ｈｅａｄｅｒ５１０を有さなければならず、ｅｘｐｅｎｓｅ  ｈｅａｄｅｒ５１０は、その構造をｅｘｐｅｎｓｅ  ｈｅａｄｅｒ  ｂａｓｅ５０２から継承する。ｅｘｐｅｎｓｅ  ｈｅａｄｅｒ５１０は、少なくともｅｍｐｌｏｙｅｅオブジェクト５１２を含まなければならない。ｅｍｐｌｏｙｅｅオブジェクト５１２は、会社の従業員を表す。ヘッダは任意選択で、従業員の管理者および／または監督者を含むこともでき、これらもまたｅｍｐｌｏｙｅｅオブジェクトである。
【００５０】
ｅｘｐｅｎｓｅ  ｌｉｎｅオブジェクト５０６は任意選択で、ｐｒｏｊｅｃｔオブジェクト５１４およびｃｏｓｔ  ｃａｔｅｇｏｒｙ５１６を含むことができる。このように、ＵＭＬは、システムの構造のオブジェクトベース表現を定義する。各要素は、システム内のソフトウェアクラスと考えることができ、クラスのインスタンス化は、オブジェクトがそのプロパティを継承する継承元オブジェクトに対するベースコンストラクタを必要とする。
【００５１】
ビジネス経費と同様、ｔｉｍｅｓｈｅｅｔ  ｌｉｎｅ５１８も、その構造をｔｉｍｅｓｈｅｅｔ  ｌｉｎｅ  ｂａｓｅ５２０から継承する。ｔｉｍｅｓｈｅｅｔ  ｌｉｎｅ５１８はｔｉｍｅｓｈｅｅｔ  ｈｅａｄｅｒ５２２を含まなければならず、ｔｉｍｅｓｈｅｅｔ  ｈｅａｄｅｒ５２２は、その構造をｔｉｍｅｓｈｅｅｔ  ｈｅａｄｅｒ  ｂａｓｅ５０４から継承する。ｅｘｐｅｎｓｅ  ｈｅａｄｅｒ５１０と同様、ｔｉｍｅｓｈｅｅｔ  ｈｅａｄｅｒ５２２も、ｅｍｐｌｏｙｅｅオブジェクト５１２を含まなければならず、ｅｍｌｏｙｅｅオブジェクト５１２に関連する管理者および監督者オブジェクトを含むことができる。
【００５２】
ｔｉｍｅｓｈｅｅｔ  ｌｉｎｅ５１８は任意選択で、ｐｒｏｊｅｃｔオブジェクト５１４およびｃｏｓｔ  ｃａｔｅｇｏｒｙオブジェクト５１６を含むことができる。したがって、ｔｉｍｅｓｈｅｅｔ  ｌｉｎｅオブジェクト５１８は、会計データベースに含まれる勤務時間記録表データに関係する要素で構築される。特定の実装形態に応じて、特定の構成に合うようにその他のオブジェクトおよび関係を定義することもできる。
【００５３】
一般に、サービスＡＰＩは、データベースとの間のデータトランザクションを呼び出す。サービスＡＰＩは、クエリトランザクションを呼び出すこと、ビジネスエンティティをデータベースに保存することなどができる。ビジネスエンティティは、データベースに記憶された情報にオブジェクト指向の手法を用いてアクセスするのに使用される抽象概念である。
【００５４】
特定の実施形態を参照して本発明を述べたが、本発明の趣旨および範囲を逸脱することなく形式および詳細に変更を加えることもできることは、当業者なら理解するであろう。
【図面の簡単な説明】
【００５５】
【図１】本発明の実施形態を実施することのできるコンピューティングシステム環境の図である。
【図２】本発明の一実施形態による時間／経費システムを簡略化したブロック図である。
【図３】本発明の一実施形態による、セキュリティ、データアクセス、ワークフロープロセスを提供するビジネスアプリケーションフレームワークを簡略化したブロック図である。
【図４Ａ】本発明の一実施形態による勤務時間記録表処理を簡略化した流れ図である。
【図４Ｂ】本発明の一実施形態による経費報告処理を簡略化した流れ図である。
【図５】本発明の一実施形態による、統一モデリング言語の図表記法によるエンティティモデルの簡略図である。
【符号の説明】
【００５６】
１２０  処理ユニット
１３０  システムメモリ
１３４，１４４  オペレーティングシステム
１３５，１４５  アプリケーションプログラム
１３６，１４６  その他のプログラムモジュール
１３７，１４７  プログラムデータ
１４０  取外し不可能な不揮発性メモリインタフェース
１５０  取外し可能な不揮発性メモリインタフェース
１６０  ユーザ入力インタフェース
１６１  ポインティングデバイス
１６２  キーボード
１６３  マイクロホン
１７０  ネットワークインタフェース
１７１  ローカルエリアネットワーク
１７２  モデム
１７３  ワイドエリアネットワーク
１８０  リモートコンピュータ
１８５  リモートアプリケーションプログラム
１９０  ビデオインタフェース
１９１  モニタ
１９５  出力周辺インタフェース
１９６  プリンタ
１９７  スピーカ
２０２  フォーム
２０４  ウェブサーバ
２０６  サービスＡＰＩ
２０８  データベース
２１０  ネットワーク
２１２  フォーム
３０２  ユーザインタフェース
３０４  エンティティ
３０６  プロセス
３０８  ポリシー
【図１】
2005276195.tif 000003
【図２】
2005276195.tif 000004
【図３】
2005276195.tif 000005
【図４Ａ】
2005276195.tif 000006
【図４Ｂ】
2005276195.tif 000007
【図５】
2005276195.tif 000008
【外国語明細書】
2005276195000001.pdf