(57)【要約】      （修正有）【課題】プログラムの重複開発を防止して無駄な開発を回避する。【解決手段】ユーザがクライアント３によりサーバ２にアクセスし、所望の業務プログラム９を検索すると、サーバ２は、データベース８に登録されている該当の業務プログラム９を提供する。この場合、該当の業務プログラム９が存在しない場合は、クライアント３が要求する業務プログラム９を構成するのに必要なプログラム部品１０を検索し、その情報をユーザに送信する。ユーザは、クライアント３に表示されたＧＵＩ上で業務プログラム９を構成するのに必要なプログラム部品を選択する。この場合、シミュレーション画面で業務プログラム９の動作を確認することができ、動作がＯＫのときは、業務プログラムをクライアント３を介して携帯型読取情報端末４にダウンロードする。このとき、業務プログラムをサーバ２で公開したときは、ダウンロード料金を割引くことができる。【選択図】図１
2006260529.tif 000002
【特許請求の範囲】
【請求項１】
ユーザが目的とするプログラムが備えるべき要件を入力する入力手段と、
既存のプログラムを記憶する記憶手段と、
前記入力手段により入力された前記要件を満たすプログラムを前記記憶手段より検索する検索手段と、
検索されたプログラムを表示する表示手段と、
この表示手段に表示されたプログラムを取得する取得手段とを備えたプログラム提供システムであって、
ユーザ端末装置は、前記入力手段及び前記表示手段並びに前記取得手段を備え、
サーバは、前記記憶手段及び前記検索手段を備え、
前記ユーザ端末装置と前記サーバは通信網を介して接続されていることを特徴とするプログラム提供システム。
【請求項２】
前記ユーザ端末装置は、前記表示手段に表示されたプログラムの編集操作を実行する操作手段を備え、
前記サーバは、前記操作手段による操作に応じて前記プログラムを編集し、その結果を前記表示手段に表示させる編集手段を備えたことを特徴とする請求項１記載のプログラム提供システム。
【請求項３】
前記ユーザ端末装置は、前記表示手段に表示されたプログラムのシミュレートの実行を指示するシミュレート指示手段を備え、
前記サーバは、前記シミュレート指示手段による指示を受けたときは前記プログラムをシミュレートし、その結果を前記表示手段に表示させるシミュレート手段を備えたことを特徴とする請求項１または２記載のプログラム提供システム。
【請求項４】
前記ユーザ端末装置は、プログラムのダウンロードを指示するダウンロード指示手段を備え、
前記サーバは、前記ダウンロード指示手段の指示を受けたときは、プログラムを前記ユーザ端末装置に送信し、
前記取得手段は、前記サーバから送信されたプログラムを取得することを特徴とする請求項１ないし３のいずれかに記載のプログラム提供システム。
【請求項５】
前記プログラムは、前記ユーザ端末装置により業務を実行するための業務プログラムであることを特徴とする請求項１ないし４の何れかに記載のプログラム提供システム。
【請求項６】
前記プログラムは、前記業務プログラムのプログラム部品として機能する機能プログラムであることを特徴とする請求項５記載のプログラム提供システム。
【請求項７】
業務プログラムを構成する複数のプログラム部品である既存の機能プログラムを記憶する機能プログラム記憶手段を備え、
前記検索手段は、前記入力手段で入力された前記要件を満たす業務プログラムを検索できなかった場合は、前記要件を最も満たす機能プログラムを前記機能プログラム記憶手段より検索することを特徴とする請求項６記載のプログラム提供システム。
【請求項８】
前記表示手段は、前記入力手段から入力した要件を満たすプログラムの候補を列挙して表示することを特徴とする請求項１ないし７の何れかに記載のプログラム提供システム。
【請求項９】
前記シミュレート手段は、前記ユーザ端末装置から修正を指示されたときは、シミュレートを終了し、前記編集手段による編集可能状態に移行することを特徴とする請求項３な
いし８のいずれかに記載のプログラム提供システム。
【請求項１０】
前記サーバは、ユーザが構築したプログラムを公開可能なプログラムとして登録する登録手段を備えたことを特徴とする請求項１ないし９の何れかに記載のプログラム提供システム。
【請求項１１】
前記サーバは、前記登録手段に登録した業務プログラムに対して前記ユーザ端末装置から修正要が指示されたときは、当該業務プログラムを機能プログラムに分解し、前記入力手段から入力された前記要件を満たすために不足する機能プログラムを検索して補い、要件を満たす新たな業務プログラムとして再編集する再編集手段を備えたことを特徴とする請求項５ないし１０の何れかに記載のプログラム提供システム。
【請求項１２】
前記サーバは、前記ユーザ端末装置にダウンロードする業務プログラムの規模に応じて料金を課金する課金手段を備えたことを特徴とする請求項５ないし１１の何れかに記載のプログラム提供システム。
【請求項１３】
前記サーバは、ユーザが構築した業務プログラムを公開可能な業務プログラムとして登録した場合には、所定の料金を割り引く課金手段を備えたことを特徴とする請求項５ないし１１の何れかに記載のプログラム提供システム。
【請求項１４】
前記業務プログラムの規模は、業務プログラムに使用する機能プログラムの数であることを特徴とする請求項１２記載のプログラム提供システム。
【請求項１５】
前記業務プログラムの規模は、業務プログラムに新たに使用する機能プログラムの数であることを特徴とする請求項１２記載のプログラム提供システム。
【請求項１６】
前記ユーザ端末装置は、携帯型読取情報端末であることを特徴とする請求項１ないし１５の何れかに記載のプログラム提供システム。
【請求項１７】
前記ユーザ端末装置は、パーソナルコンピュータと携帯型読取情報端末とから構成され、
前記サーバからダウンロードされた前記業務プログラムは、前記パーソナルコンピュータを介して前記携帯型読取情報端末へダウンロードされることを特徴とする請求項１ないし１５の何れかに記載のプログラム提供システム。
【請求項１８】
前記サーバは、ユーザに提供するプログラム毎に当該プログラムの実行を許可するライセンスキーを設定し、前記プログラムの起動時に前記ライセンスキーの有無を確認する認証動作を実行するように当該プログラムを構成して提供すると共に、前記ライセンスキーを記録したメモリ媒体を発行するライセンスキー発行手段を備え、
前記ユーザ端末装置は、前記メモリ媒体を装着可能なメモリ媒体装着ポートと、
前記取得手段によって取得した前記プログラムを実行するプログラム実行手段とを備え、
前記プログラム実行手段は、前記プログラムを実行する場合に、当該プログラムの実行を許可するライセンスキーが記録されたメモリ媒体が、前記メモリ媒体装着ポートに装着されていることを確認したときは、以降のプログラム実行を継続すると共に、当該プログラムの実行を許可するライセンスキーが記録されたメモリ媒体が、前記メモリ媒体装着ポートに装着されていることが確認できなかったときは、当該プログラムの実行を中止することを特徴とする請求項１ないし１７の何れかに記載のプログラム提供システム。
【請求項１９】
前記メモリ媒体は、内蔵するメモリ領域のうちの少なくとも一部の領域の読出しまたは
書込みがパスワードによって保護されたアクセス保護領域と、
前記パスワードを入力するパスワードレジスタと、
このパスワードレジスタに入力されたパスワードが正規であるかどうかを照合して、当該パスワードが正規であると判断したときは、前記アクセス保護領域に対する読出しまたは書込みを許可するパスワード管理手段とを備え、
前記サーバは、少なくとも前記パスワードを含めて前記ライセンスキーを設定することを特徴とする請求項１８記載のプログラム提供システム。
【請求項２０】
前記プログラム実行手段は、前記プログラムを実行する場合に、当該プログラムに対して設定された前記ライセンスキーに含まれるパスワードを前記メモリ媒体が備える前記パスワードレジスタに対して出力した後、当該メモリ媒体からライセンスキーの読出し操作を実行し、前記メモリ媒体からライセンスキーを読取った場合に、前記プログラムの実行を許可するライセンスキーが記録されたメモリ媒体が前記メモリ媒体装着ポートに装着されていると確認することを特徴とする請求項１９記載のプログラム提供システム。
【請求項２１】
前記サーバは、ユーザに提供するプログラムに含まれる複数の機能、または提供するプロプラムを構成する複数の機能プログラムのそれぞれに対応して、複数のライセンスキーを設定することを特徴とする請求項１８ないし２０の何れかに記載のプログラム提供システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザが通信網を介してサーバにアクセスすることにより所望のプログラムを取得するプログラム提供システムに関する。
【背景技術】
【０００２】
従来、例えばバーコードリーダのような携帯型読取情報端末用の業務プログラムは、特殊な開発環境上で専門的な知識を持った技術者がユーザの要望を聞いて独自に構築するようにしている。
尚、本発明の従来技術は一般的であることから、その先行文献の記載を省略する。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、開発者とユーザとの間で綿密な打ち合わせが必要であり、また、最終的に納品されたアプリケーションが、ユーザの期待通りに動作しなかった場合は、再度やり直しが必要となり、膨大な時間と費用が必要となってしまう。
そこで、出願人は、ユーザがＧＵＩ（Graphical User Interface）環境で容易にアプリケーションを開発可能な開発プログラムを提供するようにしているものの、このような開発環境は、スタンドアロンなパソコンで提供されることから、ユーザがアプリケーションを開発するにしても、そのアプリケーションを他のユーザに提供することはできない。このため、アプリケーションの重複開発が行われ、開発時間或いは開発時間が無駄となるという問題を生じる。
本発明は上記事情に鑑みてなされたもので、その目的は、プログラムの重複開発を防止して無駄な開発を回避することができるプログラム提供システムを提供することにある。
【課題を解決するための手段】
【０００４】
請求項１の発明によれば、ユーザが所望のプログラムを入手したい場合は、通信網を介してサーバにアクセスし、ユーザ端末装置の入力手段からプログラムが備えるべき要件を入力する。すると、サーバが入力された要件を満たすプログラムを記憶手段から検索し、該当するプログラムが記憶されていた場合は、そのプログラムをユーザ端末装置の表示手段に表示するので、ユーザ端末装置の取得手段により取得することができる。従って、ユーザが所望するプログラムがサーバに登録されていた場合は、サーバからユーザ端末装置にプログラムを取得することができるので、プログラムを無駄に開発してしまうことを回避することができる。
【０００５】
請求項２の発明によれば、サーバに所望のプログラムが登録されていなかった場合は、ユーザ端末装置の操作手段を操作すると、サーバにおいてプログラムを編集することができるので、サーバに所望のプログラムが登録されていない場合であっても、プログラムの開発負担を軽減することができる。この場合、サーバにおいてプログラムを編集することができるので、ユーザ端末装置の負担を軽減することができる。
【０００６】
請求項３の発明によれば、ユーザが表示手段に表示されているプログラムをシミュレートしたい場合は、ユーザ端末装置のシミュレート指示手段により指示する。すると、サーバにおいてプログラムがシミュレートされ、そのシミュレート結果が表示手段に表示されるので、シミュレーション結果に基づいてプログラムが適切かを判断することができる。この場合、サーバにおいてプログラムを編集することができるので、ユーザ端末装置の負担を軽減することができる。
【０００７】
請求項４の発明によれば、サーバに登録された所望のプログラム或いは修正したプログラムを所望のタイミングでサーバからユーザ端末装置にダウンロードすることができるので、ユーザは、適切なタイミングでプログラムを取得することができる。
請求項５の発明によれば、ユーザ端末装置による業務を実行するための適切な業務プログラムがサーバに登録されている場合は、その業務プログラムを開発することなくサーバから取得することができる。
【０００８】
請求項６の発明によれば、業務プログラムのプログラム部品として機能する適切な機能プログラムがサーバに登録されている場合は、その業務プログラムを開発することなくサーバから取得することができる。
請求項７の発明によれば、サーバにおいて要件を最も満たす機能プログラムを検索することができるので、要件を満たす業務プログラムがサーバに登録されていない場合であっても、該当する機能プログラムがサーバに登録されている場合は、その機能プログラムを開発することなくサーバから取得することができる。
【０００９】
請求項８の発明によれば、ユーザは、サーバが選択したプログラムを同時に確認することができるので、所望のプログラムを容易に選択することができる。
請求項９の発明によれば、プログラムのシミュレートモードから編集モードに素早く移行することができるので、シミュレート結果に基づいてプログラムを迅速に修正することができる。
【００１０】
請求項１０の発明によれば、ユーザが構築したプログラムを他のユーザに公開することができるので、システムの充実を図ることができる。
請求項１１の発明によれば、サーバにより業務プログラムを最適に修正することができるので、ユーザの負担を軽減することができる。
【００１１】
請求項１２の発明によれば、業務プログラムをダウンロードしたユーザから業務プログラムの規模に応じた適切な料金を徴収することができる。
請求項１３の発明によれば、ユーザが構築した業務プログラムを公開した場合は、所定の料金を割り引くことができるので、業務プログラムの規模に応じた適切な料金をユーザに負担させることができる。
【００１２】
請求項１４の発明によれば、業務プログラムに使用する機能プログラムの数に応じて料金を決定することができる。
請求項１５の発明によれば、業務プログラムに新たに使用する機能プログラムの数に応じて料金を決定することができる。
【００１３】
請求項１６及び１７の発明によれば、本発明を携帯型読取情報端末に適用することができる。
請求項１８の発明によれば、サーバからユーザ端末装置にダウンロードされたプログラムをライセンスキーで認証して動作可能とする場合に、ライセンスキーが記憶されたメモリ媒体がユーザ端末装置のメモリ媒体装着ポートに装着されていることを確認することにより行なうようにしたので、プログラムを使用するユーザ端末装置を変更するにしても、そのユーザ端末装置にライセンスキーが記憶されたメモリ媒体を装着すればよい。従って、ライセンスキーをユーザ端末装置に入力したり、ライセンスキーを示すバーコードを読取ったりする場合に比較して、ユーザ端末装置の変更に容易に対応することができる。
【００１４】
請求項１９の発明によれば、メモリ媒体に記憶されたライセンスキーはパスワードにより外部からのアクセスが保護されたアクセス保護領域に記憶されているので、メモリ媒体の複製を防止することができ、ユーザに供与するライセンスを確実に管理することができ
る。
【００１５】
請求項２０の発明によれば、プログラム実行手段によりパスワードがメモリ媒体のパスワードレジスタに出力されると共に、メモリ媒体から入力したライセンスキーの認証が行なわれるので、プログラムに認証機能を持たせる必要がなく、それだけプログラムの負担を軽減することができる。
請求項２１の発明によれば、プログラムを構成する機能或いは機能プログラムをライセンスで管理することができる。
【発明を実施するための最良の形態】
【００１６】
（第１実施例）
以下、本発明の一実施例について図１ないし図１７を参照して説明する。図２は、本発明のシステム構成を概略的に示している。この図２において、インターネット（通信網に相当）１には、ホスト側としてサーバ２が接続されている。このサーバ２は、例えば携帯型読取情報端末の販売者が設置したもので、ユーザが所有する携帯型読取情報端末に業務プログラムをダウンロードするためのものである。また、インターネット１には、ユーザ側としてパーソナルコンピュータからなるクライアント３が接続されており、そのクライアント３に携帯型読取情報端末４が接続可能となっている。これらのクライアント３及び携帯型読取情報端末４によりユーザ端末装置が構成されている。
【００１７】
図１は、図２に示すシステム構成を機能ブロックで示している。この図１において、サーバ２は、ＷＥＢサーバ（編集手段、登録手段、再編集手段、課金手段に相当）５、サーチエンジン（検索手段に相当）６、プログラムシミュレータ（シミュレート手段に相当）７、データベース（記憶手段、機能プログラム記憶手段に相当）８などから構成されている。データベース８には、業務プログラム９とプログラム部品（機能プログラムに相当）１０が登録されている。
【００１８】
パーソナルコンピュータからなるクライアント３は、一般的なＷＥＢブラウザ（入力手段、表示手段、取得手段、操作手段、シミュレート指示手段、ダウンロード指示手段に相当）１１と携帯型読取情報端末４へファイルを送り込む通信ツール１２とから構成されている。ＧＵＩ（Graphical User Interface）とは、ユーザに対する情報の表示にグラフィックを多用し、大半の基礎的な操作をマウスなどのポインティングデバイスによって行なうことができるユーザインターフェースのことである。通信ツール１２は、予めサーバ２からダウンロードしてクライアント３にインストールするか、ＷＥＢブラウザ１１上で走るＪａｖａ（登録商標）アプレットのようなプログラムからなる。
【００１９】
クライアント３と共にユーザ端末装置を構成する携帯型読取情報端末４は、直接実行が可能なオブジェクト形式の業務プログラム９を受取る場合と、インタープリタ的にパラメータファイルを解読しながら動作させる場合とがある。インタープリタの場合、パラメータファイルを構成するパラメータ（設定）を解釈して実行するオペレーティングシステムが実装される。
【００２０】
図３は、業務プログラム９をサーバ２からクライアント３にダウンロードするまで流れ図を示している。この図３において、ユーザがＷＥＢブラウザ１１によりクライアント３をサーバ２に接続すると、サーバ２のＷＥＢサーバ５が起動し、クライアント３に対して要件入力画面を表示し、要件が入力されるまで待機する（Ｓ１）。
【００２１】
図４は、クライアント３のディスプレイ３ａに表示される要件入力画面の一例を示している。この図４において、要件入力画面には検索キーワード入力部１３が表示されると共に、検索条件が表示される。従って、ユーザは、業務プログラム９を検索する場合は、検
索キーワード入力部１３に業務プログラム９を検索するのに最適なキーワードを入力すると共に、読取機能、ファイル操作機能などの各機能から所望の機能を選択してから、「検索」ボタン１４をクリックする。すると、これらの情報がサーバ２に送信される。図４の例では、検索キーワードとして「棚卸」が設定され、バーコードまたは２次元コードを読取対象とし、マスターファイルを参照することを示している。
【００２２】
サーバ２のサーチエンジン６は、データベース８に登録されている業務プログラム９のうち検索条件を満たす業務プログラム９を検索し、該当業務プログラム９がある場合は、その検索結果をクライアント３に送信する（Ｓ２）。この場合、サーバ２は、要件を満たす業務プログラム９が存在しない場合は、満たさない要件が最も少ない業務プログラム９を検索してクライアント３に送信するようになっている。
【００２３】
図５は、クライアント３の業務プログラム検索結果画面の一例を示している。この図５において、業務プログラム検索結果画面には、検索数と、検索された業務プログラム９の一覧が表示される。図５の例では、プログラム名に「棚卸」というキーワードを含むと共に、検索条件を満たす「固定資産棚卸プログラム」、「書籍棚卸プログラム」、「棚卸データ登録プログラム」などが、それらのプログラムの構成内容と共に表示されている。
【００２４】
ユーザは、要件を満たす業務プログラム９があるかを判断し（Ｓ３）、ある場合は（Ｓ３：ＹＥＳ）、その業務プログラム９を評価する（Ｓ４）。つまり、ＷＥＢサーバ５は、図５に示す業務プログラム検索結果画面において例えば固定資産棚卸プログラムが選択されたときは、データベース８に登録された固定資産棚卸プログラムの構成を示す情報をクライアント３に送信する。
【００２５】
図６は、クライアント３に送信される業務プログラム９のファイル構造を概略的に示している。この図６において、業務プログラム９は、プログラムコードが直接記述されているのではなく、パラメータの集合体のような構造となっている。つまり、業務プログラム９は、サブプログラム（以下、ＳＵＢ）−Ａ，ＳＵＢ−Ｂ，ＳＵＢ−Ｃ，ＳＵＢ−Ｄというプログラム部品１０を繰返して実行する構造をなしており、プログラム部品１０であるＳＵＢ−Ａ，ＳＵＢ−Ｂ，ＳＵＢ−Ｃ，ＳＵＢ−Ｄに対応してプログラム名及びパラメータが設定されている。そして、業務プログラム９は、各プログラム部品１０に対応して設定されたパラメータを参照して動作するようになっている。
尚、図６のバーコード入力の読取コードとして、「Ａ，Ｋ，Ｑ」は、ＡがＪＡＮコード、ＫがＣＯＤＥ１２８、ＱがＱＲコードに対応していることを意味している。
【００２６】
図７は、クライアント３の業務プログラム構成画面の一例を示している。この図７において、プログラム構成画面には、業務プログラム９を構成するプログラム部品１０が表示されると共に、「動作確認」ボタン１５、「ダウンロード」ボタン１６が表示されている。図７の例では、固定資産プログラムは、バーコード入力作業、マスターファイル参照作業、結果表示作業、データ登録作業から構成されていることを示している。つまり、この固定資産棚卸プログラムでは、棚卸対象の棚及び当該棚に収納されている製品或いは部品が１次元コードまたは２次元コード（バーコードと総称）で管理され、棚卸作業を行う際は、携帯型読取情報端末４で棚番号及び製品或いは部品のバーコードを読取り、その読取データに対応する製品名或いは部品名をマスターファイルで参照し、その参照結果を表示してから、データを登録するという作業を繰返すことを示している。
【００２７】
ここで、バーコード入力作業の詳細を確認したい場合は、「バーコード入力」表示部をダブルクリックする。すると、バーコード入力作業の詳細が表示され、読取コードとしてＪＡＮコード、ＣＯＤＥ１２８、ＱＲコード、読取桁数として１０〜２３、データ表示がＯＮであることを確認することができる。これらの詳細内容はパラメータとして記憶され
るもので、バーコード入力作業を実行する際は、図７に示すパラメータを参照して動作することになる。
【００２８】
図７に示すプログラム構成画面において、ユーザは、選択した業務プログラム９を購入するのに先立ってその動作が満たすかを確認したい場合は、画面に表示されている「動作確認」ボタン１５をクリックする。
【００２９】
サーバ２は、「動作確認」ボタン１５がクリックされたときは、プログラムシミュレータを起動する。
図８は、プログラムシミュレータを概念的に示している。この図８において、プログラムシミュレータは、メインプログラム１７を主体としてなり、メインプログラム１７がプログラム部品１０に対応したサブルーチンを順に実行するようになっている。この場合、プログラム部品１０を実行する際にデータを表示するときは、仮想画面１８に表示し、プログラム部品１０がデータを必要とするときは、仮想ファイル１９を参照し、携帯型読取情報端末４からの入力待ちのときは、仮想デバイス２０に対する操作を入力とするようになっている。
【００３０】
図９は、クライアント３のプログラムシミュレータ画面を示している。この図９において、プログラムシミュレータ画面には、仮想携帯型読取情報端末２１が表示されていると共に、この仮想携帯型読取情報端末２１の表示部として仮想画面１８が表示され、さらに操作スイッチとして仮想デバイス２０が表示されている。また、「実行」ボタン２２、「終了」ボタン２３、「業務編集」ボタン２４が表示されていると共に、固定資産棚卸プログラムを構成する各プログラム部品名が表示されている。
【００３１】
さて、ユーザが「実行」ボタン２２をクリックすると、プログラムシミュレータは、図８に示すようにメインプログラム１７でプログラム構造を解釈し、その構造に従って業務プログラム９を構成するプログラム部品１０を読出す。この場合、プログラム部品１０は、図１０に示すようにベーシックを改良したプログラム言語によりサブルーチンの形式で記述されており、それをメインプログラム１７で解読しながら実行するようになっている。プログラム内のパラメータとしては、プログラム部品１０に設定されたパラメータがセットされる。
【００３２】
即ち、プログラムシミュレータは、図６に示す例では、最初に実行する作業はバーコード入力であることから、ユーザが仮想携帯型読取情報端末２１の読取ボタンをクリックすると、仮想ファイル１９から仮想データを入力して仮想画面１８に表示する。この場合、バーコード入力に対応したプログラム部品１０のパラメータとして、図６に示す例では、データ表示が「１」に設定されているので、仮想携帯型読取情報端末２１の仮想画面１８には仮想の読取データが表示されることになる。
【００３３】
次に、プログラムシミュレータは、マスター参照作業を実行する。図６の例では、照合元として「ＭＡＳＴＥＲ．ＤＡＴ」、照合フィールドとして「１」、参照フィールドとして「２」が設定されているので、プログラムシミュレータは、「ＭＡＳＴＥＲ．ＤＡＴ」という名称のマスターファイルの１番目のフィールドを参照し、該当する２番目のフィールドのデータを取出して表示することになる。つまり、マスターファイルは図１１に示す例のようにフィールド１とフィールド２が設定されており、例えば読取データが「９３４８９２３９９」であったときは、それに一致するフィールド２のデータは「ノートパソコン」となり、その「ノートパソコン」が仮想画面１８に表示されることになる。
【００３４】
次に、プログラムシミュレータは、結果表示作業に移行して、結果を仮想画面に表示する。この場合、前画面クリアとして「１」が設定され、クリア範囲として「０」が設定さ
れ、さらに表示位置として「Ｘ：１  Ｙ：４」が設定されているので、前画面が全てクリアされ、仮想画面１８上におけるＸ＝１、Ｙ＝４で示される位置にマスター参照結果である「ノートパソコン」が表示される。
【００３５】
次に、プログラムシミュレータは、データ登録作業を実行する。図６の例では、登録ファイルとして「データ登録」、登録ファイルとして「ＲＳＦＩＬＥ１．ＤＡＴ」、レコード数として１５００、フィールド構造として１０，５，８が設定されているので、「ＲＳＦＩＬＥ１．ＤＡＴ」というデータファイルに、最大１５００のレコードが登録されることになる。ここで、フィールド構造が１０，５，８とは、フィールド１が１０文字、フィールド２が５文字、フィールド３が８文字に区切られた構造をしているファイルであることを示している。つまり、図１２に示すように読取データが「１２３４５６７８９０」の場合は、データファイルのフィールド１に管理番号として「１２３４５６７８９０」が登録され、フィールド２に数量として「００００１」が登録され、フィールド３に登録日として「１９９０２０２」が登録されるもので、レコードとしては「１２３４５６７８９０００００１１９９０２０２」が登録されることになる。尚、数量としてキーボード入力が設定されている場合は、仮想携帯型読取情報端末２１においてクリックされた数値キーが示す数値が設定される。
【００３６】
以上のような動作確認により仮想携帯型読取情報端末２１での動作を確認し、図３において、評価ＯＫの場合は（Ｓ５：ＹＥＳ）、そのままクライアント３にダウンロードすることができる。このとき、業務プログラム９は既に公開されたものであり、公開する必要はないことから（Ｓ６：ＮＯ）、対価として通常代金が課金されてから（Ｓ１３）、業務プログラム９をダウンロードすることができる（Ｓ８）。
【００３７】
一方、検索された業務プログラム９が、要件を満たさないものの、満たさない要件が最少である場合は、新規作成することなく（Ｓ９：ＮＯ）、要件を満たすように業務プログラム９を編集する必要がある（Ｓ１０）。つまり、業務プログラム９は、プログラム部品１０の組合せであるため、既存の業務プログラム９にプログラム部品１０を追加したり、差替えたりすることでも新しい業務プログラム９を構築することが可能となる。
また、全く新規に構築する場合は（Ｓ９：ＹＥＳ）、標準的な雛形業務を選択し（Ｓ１４）、この雛型業務を編集することにより要件を満たすように新しい業務プログラム９を構築することができる（Ｓ１０）。
【００３８】
さて、クライアント３に表示された業務プログラム９が要件を満たさない場合は、図９に示すプログラムシミュレータ画面に表示されている「業務編集」ボタン２４をクリックする。
ＷＥＢサーバ５は、「業務編集」ボタン２４がクリックされたときは、業務プログラムエディタを表示する。
図１３は、クライアント３の業務プログラムエディタ画面の一例を示している。この図１３において、業務プログラムエディタは、クライアント３のＧＵＩ上で動作するようになっており、その画面には、「新規作成」ボタン２５、「業務読込」ボタン２６、「動作確認」ボタン２７、「保存」ボタン２８、「終了」ボタン２９が表示されていると共に、プログラム構造表示部３０及びプログラム部品表示部３１が表示され、さらにそれらの間に「業務追加」ボタン３２、「業務削除」ボタン３３、「詳細設定」ボタン３４が表示されている。
【００３９】
ここで、ユーザが現在の固定資産棚卸プログラムに例えば照合作業を付加したい場合は、図１３に示す業務プログラムエディタ画面のプログラム部品表示部３１に表示されている「照合」オブジェクトをプログラム構造表示部３０にドラッグアンドドロップする。すると、ドラッグアンドドロップしたプログラム部品１０が適正の場合は、当該プログラム
部品１０が図１４に示すように固定資産棚卸プログラムに組込まれる。この場合、照合作業のパラメータは標準値が設定されていることから、要件を満たさない場合は、「詳細設定」ボタン３４に対する操作によりパラメータを変更する。
【００４０】
図１５は、バーコード入力作業の詳細設定画面を示している。この図１５に示す例では、詳細設定画面には、プログラム部品１０の名称に加えて、読取バーコード、桁数、画面表示などのパラメータが設定可能となっており、ＧＵＩ上で入力可能となっている。
上述のように業務プログラム９の編集が終了したときは、図１４に示す「動作確認」ボタン２７をクリックしてその動作をシミュレートすることにより評価する（Ｓ１１）。評価がＯＫの場合に（Ｓ１２：ＹＥＳ）、プログラムを公開するときは（Ｓ６：ＹＥＳ）、割引料金が課金されてから（Ｓ７）、業務プログラム９をダウンロードすることができる（Ｓ８）。
【００４１】
図１６に示す例では、割引料金が課金されてダウンロードする例を示しており、その割引料金は、ユーザが構築したパソコン棚卸プログラムのプログラム部品数及び総プログラム容量により決定される、そして、「ダウンロード」ボタン３５がクリックされる固定資産プログラムがサーバ２からクライアント３にダウンロードされる。
【００４２】
クライアント３にダウンロードされた業務プログラム９は、所定の通信ツール１２を使用して携帯型読取情報端末４へダウンロードすることができる。この場合、携帯型読取情報端末４にダウンロードされる業務プログラム９の形態としては、業務プログラム９がコンパイルされているときは、携帯型読取情報端末４が直接実行可能なプログラムとして記憶されることになる。また、パラメータファイルの場合は、携帯型読取情報端末４がパラメータを解読可能なインタープリタがオペレーティングシステムとして搭載されていることが条件となる。
【００４３】
ここで、出来上がったオリジナルな業務プログラム９をサーバ２からダウンロードする際に、サーバ２へ一般公開可能なプログラムとして登録（アップロード）すると、対価として支払う料金が割引かれるようになっているのは、ユーザが作成した業務プログラム９を一般公開することで、他のユーザがこの業務プログラム９を利用することが可能になるからで、利用者が増えるほど、このシステムは充実したものとなる。
【００４４】
尚、クライアント３からサーバに業務プログラム９を登録する際に、その業務プログラム９が修正要であることを指示すると、サーバ２は、登録された業務プログラム９をプログラム部品１０に分解し、クライアント３から入力された要件を満たすために不足するプログラム部品１０を検索して補い、要件を満たす新たな業務プログラム９として再編集するようにしてもよい。この場合、ユーザは、業務プログラム９を完全なものとして編集する必要がないから、ユーザの負担を大幅に軽減することができる。
【００４５】
また、サーバ２は、業務プログラム９を登録する際に、クライアント３からシミュレーション実施要が指示されたときは、ＧＵＩ上で入力された情報に基づいて業務プログラム９のシミュレーションを実行する。従って、ユーザは、サーバ２に登録する業務プログラム９の動作を確認することができるので、正常に動作する業務プログラム９を確実に登録することができる。
【００４６】
一方、業務の関係上、ユーザが業務プログラム９を公開したくない場合は（Ｓ６：ＮＯ）、業務プログラム９をサーバ２へ登録する必要はなく、この場合は、業務プログラム９のダウンロード対価として規定の料金を支払ってから（Ｓ１３）、業務プログラム９を自分の携帯型読取情報端末４にダウンロードすることになる。
【００４７】
また、業務プログラム９はダウンロードした段階では、試用版という扱いになり、ダウンロードしてから一定期間を経過すると、携帯型読取情報端末４で動作しなくなる。このような場合、ダウンロードした業務プログラム９を継続して利用するためには、別途、試用版制限を解除する解除キーが必要となる。これは、業務プログラム９をダウンロードしても代金が支払われなかった場合などに対応するもので、銀行振込みなどのリアルタイム処理できない代金支払い方法でも、このようなシステムを成立することを可能とすることができる。
【００４８】
解除キーは、ユーザが通知するプログラムＩＤ（携帯型読取情報端末４に表示される）を元に数学的計算を加え、ユニークな値を得たものである。プログラムＩＤは、ダウンロードした個別のプログラム毎に割当てられる番号と、情報端末に登録されているシリアル番号から得たユニークな番号であり、業務プログラム９は、起動時に、解除キーが登録されているかを確認し、プログラムＩＤから計算した結果を照合して一致すれば、業務プログラム９を起動する。一致しない場合は、起動をとりやめる。従って、他ユーザがダウンロードした業務プログラム９を登録したり、他の情報端末へ不正コピーしたりした場合は、プログラムＩＤと解除キーとが一致せず、起動できないので、不正使用を確実に防止することができる。
図１７は、携帯型読取情報端末４の解除キーの入力画面を示しており、携帯型読取情報端末４に表示された解除キーをキー入力することにより試用版を解除することができる。
【００４９】
このような実施例によれば、クライアント３からサーバ２にアクセスして業務プログラム９の要件を入力することによりサーバ２に登録されている既存の業務プログラム９を検索すると共に、その業務プログラム９の情報をクライアント３で表示し、ユーザが業務プログラム９の情報を確認してダウンロードを指示したときは、当該業務プログラム９をサーバ２からクライアント３にダウンロードするようにしたので、所望の業務プログラム９がサーバ２に登録されていた場合は、業務プログラム９の重複開発を防止して無駄な開発を回避することができる。
【００５０】
しかも、既存の業務プログラム９が存在しない場合は、要件を満たすためのプログラム部品１０をＧＵＩ上で表示することにより当該プログラム部品１０をサーバ２で修正可能としたので、要件を満たす業務プログラム９が見つからない場合であっても、要件を満たすためのプログラム部品１０により業務プログラム９を作成することができ、業務プログラム９の作成負担を大幅に軽減することができる。この場合、サーバ２側で業務プログラム９を修正することができるので、クライアント３の負担を軽減することができる。
【００５１】
また、ユーザが業務プログラム９を作成した場合は、その業務プログラム９を他のユーザが使用可能にサーバ２により公開するようにしたので、サーバ２が公開する業務プログラム９の数の増加を図る仕組みを提供することができ、ビジネスモデルとして構築することができる。
【００５２】
さらに、ユーザが選択または編集した業務プログラム９をクライアント３のＧＵＩ上でシミュレートし、その業務プログラム９の良否を確認するようにしたので、業務プログラム９を実際の操作時の環境で判断することができ、業務プログラム９を適正に判断することができる。この場合、サーバ２側で業務プログラム９の動作をシミュレートするようにしたので、クライアント３の負担を軽減することができる。
加えて、業務プログラム９のシミュレートを終了したときは、編集モードに移行するようにしたので、シミュレート結果に基づいて業務プログラム９を迅速に修正することができる。
【００５３】
（第２実施例）
次に、本発明の第２実施例について図１８ないし図２２を参照して説明する。第１実施例では、携帯型読取情報端末４にダウンロードした業務プログラムの試用版を解除キーで解除するようにしたが、本実施例では、ユーザにライセンスを発行し、そのライセンスが認証された場合にダウンロードした業務プログラムを使用可能とするようにした。
【００５４】
ところで、正規のライセンスを受けているユーザが、使用している携帯型読取情報端末４の故障などの理由により、携帯型読取情報端末４を入れ替える場合、ライセンスを認証するための固有のライセンスキーを再度入手する必要がある。つまり、ユーザは、既に正規にプログラムのライセンスを受けており、ライセンスの範囲内での使用にもかかわらず、メーカからライセンスを再度取得しなければならず、ユーザにとっては、非常に煩わしい。
【００５５】
そこで、本実施例では、例えばＳＤメモリカード（登録商標）からなるメモリ媒体にライセンスキーを記憶し、そのメモリ媒体をユーザに対して発行するようにした。つまり、ライセンスキーが記憶されたメモリ媒体を携帯型読取情報端末４のメモリ媒体装着ポートに装着した状態で、携帯型読取情報端末４により後述の認証手続きが行なわれることを条件として、メモリ媒体に記憶されたライセンスキーを取得可能となっている。
【００５６】
図１８は、メモリ媒体のメモリ構成を概略的に示している。この図１８において、メモリ媒体（パスワード管理手段に相当）４１には、パスワードで保護されて読出しまたは書込みが制限されたアクセス保護領域と、読出しが制限されていない通常領域とが設定されている。アクセス保護領域にはライセンスキー４２が記憶されており、パスワードレジスタ４３に書込まれたパスワードが正規である場合に、外部からアクセス保護領域へのアクセスを許可したり、或いは書込みを許可したりする認証機能（パスワード管理手段に相当）を有している。ライセンスキー４２は、サーバ２によりパスワードを含んで作成されるものである。また、通常領域には、ライセンスキー４２の使い方の説明書、ユーザデータ、プログラムなどが記憶される。
【００５７】
本実施例では、サーバ２は、図１９に示すように携帯型読取情報端末４に業務プログラムをダウンロードした際に、携帯型読取情報端末４にパスワードを同時に通知するようになっている。このパスワードは、携帯型読取情報端末４のＯＳ(Operating System、プログラム実行手段に相当)が受取って所定領域に記憶する。サーバ２は、パスワードを携帯型読取情報端末４に通知したときは、当該パスワードを含んでライセンスキー４２を作成するライセンスキー発行手段の機能を有する。ソフト提供者は、サーバ２が作成してパスワードで保護されたライセンスキー４２をメモリ媒体４１のアクセス保護領域に記憶してユーザに配送する。このような機能は、ユーザに提供する業務プログラム毎に当該業務プログラムの実行を許可するライセンスキー４２を設定し、携帯型読取情報端末４がサーバ２から提供された業務プログラムを実行したときに、ライセンスキー４２の有無を確認する認証動作を実行するようにサーバ２が当該業務プログラム９を構成することにより実施されている。尚、プログラム実行手段の機能をドライバに持たせるようにしてもよい。
【００５８】
このようにメモリ媒体４１のアクセス保護領域にライセンスキー４２を記憶することにより、メモリ媒体４１を紛失した場合であっても、第３者にライセンスキー４２を読取られることがないことから、ライセンスが第３者に不正に使用されることを防止できる。
【００５９】
ユーザは、メモリ媒体４１を受取ったときは、業務プログラムがダウンロードされた携帯型読取情報端末４のメモリ媒体装着ポートにメモリ媒体４１を装着する。このようにメモリ媒体４１が携帯型読取情報端末４に装着された状態では、携帯型読取情報端末４のＯＳは、上述のようにサーバ２から通知されて保存しているパスワードをメモリ媒体４１のパスワードレジスタ４３に出力する。
【００６０】
メモリ媒体４１は、パスワードレジスタ４３に出力されたパスワードが正規な場合は、アクセス保護領域に記憶されたライセンスキー４２を出力するので、携帯型読取情報端末４は、メモリ媒体４１のアクセス保護領域に記憶されたライセンスキー４２を読取ることができる。
【００６１】
図２０は、携帯型読取情報端末４によるライセンスキー４２の取得動作の手順を示している。この図２０において、アプリケーションとしての業務プログラムは、ＯＳにより起動操作されたときは、ＯＳ（ドライバが認証機能を有している場合はドライバ）に対してライセンスキーを要求する。
【００６２】
携帯型読取情報端末４のＯＳは、ライセンスキーが要求されたときは、メモリ媒体４１に対してライセンスキーの読出しを要求する。メモリ媒体４１の認証機能は、ライセンスキーの読出しが要求されたときは、携帯型読取情報端末４のＯＳに対して読出しパスワードを要求する。携帯型読取情報端末４のＯＳは、メモリ媒体４１から読出しパスワードが要求されたときは、自己が保有しているパスワードをメモリ媒体４１のパスワードレジスタ４３に出力する。
【００６３】
メモリ媒体４１の認証機能は、パスワードレジスタ４３に入力したパスワードが業務プログラムに対して設定されたライセンスキーと一致したときは、アクセス保護領域へのアクセスを許可するので、メモリ媒体４１のアクセス制御機能は、アクセス保護領域に記憶されたライセンスキー４２を読出して携帯型読取情報端末４のＯＳに与える。
そして、携帯型読取情報端末４のＯＳは、メモリ媒体４１から読取ったライセンスキー４２を業務プログラムに与える。
【００６４】
以上の動作により、業務プログラムは、メモリ媒体４１からライセンスキー４２を受取ることができるので、ライセンスキーを認証することにより動作を継続し、作業者の指示に従って動作する。一方、メモリ媒体４１からライセンスキーを受取ることができなかった場合は、以後の動作を中止する。
【００６５】
さて、使用している携帯型読取情報端末４を故障などで使用することができなくなった場合は、図２１に示すように携帯型読取情報端末４からメモリ媒体４１を抜取り、同一の業務プログラムがダウンロード或いはコピーされた携帯型読取情報端末４のメモリ媒体装着ポートに装着する。これにより、新たな携帯型読取情報端末４は、上述のようにメモリ媒体４１に記憶されたライセンスキー４２を認証することができるので、携帯型読取情報端末４の業務プログラムを動作させて業務を継続することができる。
【００６６】
このような実施例によれば、メモリ媒体４１においてパスワードによる認証機能で保護されたアクセス保護領域にライセンスキー４２を記憶し、携帯型読取情報端末４にメモリ媒体４１が装着された状態で携帯型読取情報端末４からメモリ媒体４１に正規のパスワードが出力された場合のみ、メモリ媒体４１から携帯型読取情報端末４にライセンスキー４２を与えるようにしたので、ライセンスキー４２が外部から見えないメモリ媒体４１の複製を防止することができると共に、ライセンスキー４２の数だけライセンスを供与することができ、ユーザに発行したライセンスを確実に管理することができる。
また、携帯型読取情報端末４のＯＳにメモリ媒体４１のパスワードレジスタ４３に対するパスワードの出力機能及びメモリ媒体４１から受取ったライセンスキー４２の受渡し機能を持たせるようにしたので、業務プログラムの負担を大幅に軽減することができる。
【００６７】
尚、ユーザにライセンスを供与する形態としては、図２２（ａ）に示すようにプログラムに１対１に限定されることはなく、同図（ｂ）に示すようにプログラムの各機能に対応
させるようにしてもよいし、同図（ｃ）に示すようにプログラムの複数の機能に対応させるようにしてもよい。
【００６８】
本発明は、上記実施例に限定されることなく、次のように変形または拡張できる。
クライアント３にＧＵＩ環境を作成する手段としては、Ｊａｖａサーブレット、Ｊａｖａアプレット、Ｊａｖａスクリプト、ＣＧＩ(Common Gateway Interface)などを用いるようにしてもよい。
上述したクライアント３による処理を携帯型読取情報端末４が直接実行するようにしてもよい。
【００６９】
サーバ２から携帯型読取情報端末４に編集された業務プログラムをインストールした場合に、その業務プログラムが適切でない場合は、当該業務プログラムをサーバ２にアップロードし、サーバ２において、アップロードされた業務プログラムを機能プログラムに分解し、要件を満たすように再編集するようにしてもよい。
第２実施例において、メモリ媒体４１に記憶されたライセンスキー４２の認証方法は、パスワード以外の方法を用いるようにしてもよい。
【図面の簡単な説明】
【００７０】
【図１】本発明の第１実施例におけるシステム全体の構成を示す概略
【図２】システム全体を示す概略図
【図３】業務プログラムをダウンロードするまでの流れ図
【図４】業務プログラム検索画面を示す図
【図５】業務プログラム検索結果画面を示す図
【図６】業務プログラムの構造を示す図
【図７】業務プログラム構成画面を示す図
【図８】プログラムシミュレータの構成を示す図
【図９】プログラムシミュレータ画面を示す図
【図１０】プログラム部品をサブルーチンプログラムで表した図
【図１１】マスターファイルのレコード例を示す図
【図１２】データファイルのレコード例を示す図
【図１３】業務プログラムエディタ画面を示す図
【図１４】照合プログラムを加入した状態で示す図１３相当図
【図１５】詳細設定画面を示す図
【図１６】プログラムダウンロード画面を示す図
【図１７】試用期限の警告画面を示す図
【図１８】本発明の第２実施例におけるメモリ媒体のメモリ構成を示す図
【図１９】サーバによるメモリ媒体の発行を説明するための図
【図２０】携帯型読取情報端末によるライセンスキーの取得動作の手順を示す図
【図２１】メモリ媒体の移動によるライセンスキーの認証を説明するための図
【図２２】ライセンスキーの発行態様の変形例を説明するための図
【符号の説明】
【００７１】
図面中、１はインターネット（通信網）、２はサーバ（ライセンスキー発行手段）、３はクライアント（パーソナルコンピュータ、ユーザ端末装置）、４は携帯型読取情報端末（ユーザ端末装置、プログラム実行手段）、５はＷＥＢサーバ（編集手段、登録手段、再編集手段、課金手段）、６はサーチエンジン（検索手段）、７はプログラムシミュレータ（シミュレート手段）、８はデータベース（記憶手段、機能プログラム記憶手段）、９は業務プログラム、１０はプログラム部品（機能プログラム）、１１はＷＥＢブラウザ（入力手段、表示手段、取得手段、操作手段、シミュレート指示手段、ダウンロード指示手段に相当）、４１はメモリ媒体（パスワード管理手段）、４２はライセンスキー、４３はパ
スワードレジスタである。
【図１】
2006260529.tif 000003
【図２】
2006260529.tif 000004
【図３】
2006260529.tif 000005
【図４】
2006260529.tif 000006
【図５】
2006260529.tif 000007
【図６】
2006260529.tif 000008
【図７】
2006260529.tif 000009
【図８】
2006260529.tif 000010
【図９】
2006260529.tif 000011
【図１０】
2006260529.tif 000012
【図１１】
2006260529.tif 000013
【図１２】
2006260529.tif 000014
【図１３】
2006260529.tif 000015
【図１４】
2006260529.tif 000016
【図１５】
2006260529.tif 000017
【図１６】
2006260529.tif 000018
【図１７】
2006260529.tif 000019
【図１８】
2006260529.tif 000020
【図１９】
2006260529.tif 000021
【図２０】
2006260529.tif 000022
【図２１】
2006260529.tif 000023
【図２２】
2006260529.tif 000024