JP2009163566A - Job analysis support apparatus - Google Patents
Job analysis support apparatus Download PDFInfo
- Publication number
- JP2009163566A JP2009163566A JP2008001531A JP2008001531A JP2009163566A JP 2009163566 A JP2009163566 A JP 2009163566A JP 2008001531 A JP2008001531 A JP 2008001531A JP 2008001531 A JP2008001531 A JP 2008001531A JP 2009163566 A JP2009163566 A JP 2009163566A
- Authority
- JP
- Japan
- Prior art keywords
- job
- list
- data
- provisional
- jobs
- 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
Landscapes
- Stored Programmes (AREA)
Abstract
Description
この発明は、業務システムに関連し、特に、業務システムの現状を解析するための技術、に関する。 The present invention relates to a business system, and more particularly to a technique for analyzing the current state of a business system.
企業や公共施設などの運用を支える業務システム、いわゆるエンタープライズシステム(Enterprise System)は、今や、大小さまざまな組織の基盤として導入されている。業務システムは、ノード端末やデータベースから得られるデータを集計、蓄積、解析、加工した上でより付加価値の高い情報を出力する。業務システムは複雑化する組織マネジメントをより効率化するために発展を続けている。 Business systems that support the operation of companies and public facilities, so-called enterprise systems, are now being introduced as the foundations of large and small organizations. The business system aggregates, accumulates, analyzes, and processes data obtained from node terminals and databases, and outputs information with higher added value. Business systems continue to evolve to make more complex organizational management more efficient.
業務システムは、ジョブ(Job)の集合体としてモデリングされることが多い。ジョブとは、データベースの更新処理や、各ノード端末から得られたデータに対する演算処理など、システムにおける基本的な実行単位である。業務システムによっては、ジョブの数は数千から時には数万にも及ぶ。更に、ジョブを構成するプログラムファイルの数に至っては、数十万、時には数百万にも及ぶ。業務システムは、長年にわたって稼働を続けるため、稼働後も、ジョブやプログラムファイル、データ項目等の追加、修正、廃止といったさまざまな保守作業を必要とする。
業務システムの長期運用のためには、業務システムの全体像は常に明快でなければならない。通常、ジョブやプログラムファイル、データ項目等の意味は、設計文書としてドキュメント化される。しかし、設計文書の記載が常に明瞭であるとは限らないし、プログラマが常に設計文書を正しく怠りなく記載するとも限らない。また、設計文書そのものが散逸してしまうこともある。このように設計文書の信頼性は、プログラマの「心がけ」に大きく依存する。いったん業務システムと設計文書が乖離してしまうと、業務システムはブラックボックス化しかねない。 For long-term operation of business systems, the overall picture of the business system must always be clear. Usually, the meanings of jobs, program files, data items, etc. are documented as design documents. However, the description of the design document is not always clear, and the programmer does not always write the design document correctly and without error. In addition, the design document itself may be lost. In this way, the reliability of design documents greatly depends on the programmer's “mind”. Once the business system and the design document deviate, the business system can become a black box.
本発明は、上記課題に基づいて完成された発明であり、その主たる目的は、業務システムの現状を効率的に解析するための技術、を提供することにある。 The present invention has been completed based on the above-mentioned problems, and its main object is to provide a technique for efficiently analyzing the current state of a business system.
本発明のある態様は、ジョブ解析支援装置に関する。
この装置は、複数のジョブの依存関係を示すジョブ関係情報を参照して、複数の先頭ジョブのそれぞれに対応して複数の暫定リストを生成し、対応する暫定リストに先頭ジョブを登録する。次に、先行ジョブの全てがいずれかの暫定リストに登録済であって、自身は暫定リストに未登録のジョブを候補ジョブとして検出し、候補ジョブをその先行ジョブが登録されている暫定リストに追加登録する追加登録処理を、複数のジョブ全てがいずれかの暫定リストに登録されるまで繰り返す。第1の暫定リストに登録されているジョブが第2の暫定リストに登録されているジョブの先行ジョブにあたるときには、第2の暫定リストに登録されているジョブを第1の暫定リストに転記することにより、第1の暫定リストに第2の暫定リストを結合する。複数のジョブを依存関係に基づいて一列に並べたリストとして、複数の暫定リストが結合されたジョブリストを画面表示させる。
One embodiment of the present invention relates to a job analysis support apparatus.
This apparatus refers to job relationship information indicating dependency relationships of a plurality of jobs, generates a plurality of provisional lists corresponding to each of the plurality of head jobs, and registers the head job in the corresponding provisional list. Next, all of the preceding jobs are registered in one of the temporary lists, and themselves detect a job that is not registered in the temporary list as a candidate job, and the candidate job is added to the temporary list in which the preceding job is registered. The additional registration processing for additional registration is repeated until all of a plurality of jobs are registered in any provisional list. When the job registered in the first provisional list corresponds to the preceding job of the job registered in the second provisional list, the job registered in the second provisional list is transferred to the first provisional list. Thus, the second provisional list is combined with the first provisional list. A job list in which a plurality of provisional lists are combined is displayed on a screen as a list in which a plurality of jobs are arranged in a line based on the dependency.
なお、以上に示した構成要素の任意の組合せ、本発明を方法、システム、記録媒体、コンピュータプログラムにより表現したものもまた、本発明の態様として有効である。 It should be noted that any combination of the above-described components, and the present invention expressed by a method, system, recording medium, and computer program are also effective as an aspect of the present invention.
本発明によれば、業務システムの現状を効率的に解析しやすくなる。 According to the present invention, it becomes easy to efficiently analyze the current state of a business system.
図1は、業務システム220のハードウェア構成図である。
業務システム220は、企業や公共施設のような組織の業務を管理するために導入される。業務システム220は、地理的に分散された複数の組織を統合するシステムとして構成されてもよい。
FIG. 1 is a hardware configuration diagram of the
The
本実施例における業務システム220は、ジョブ管理装置230、ジョブ実行装置群200および外部記憶装置210を含む。ジョブ管理装置230、ジョブ実行装置群200および外部記憶装置210は通信ネットワークにより互いに接続されている。
ジョブ管理装置230は、各ジョブの実行条件に基づいて、複数のジョブをジョブ実行装置群200に実行させる。ジョブ実行装置群200は、複数のジョブ実行装置202を含む。各ジョブ実行装置202は、ジョブ管理装置230から割り当てられたジョブを実行する。ジョブ管理装置230は、あらかじめ定められた割当ルールに応じて、いずれかのジョブ実行装置202にジョブを割り当ててもよい。あるいは、各ジョブ実行装置202の処理負荷が分散するように、他のジョブ実行装置202よりも処理負荷が軽い状態にあるジョブ実行装置202に対して優先的にジョブを割り当ててもよい。
ジョブを構成するプログラムはあらかじめジョブ実行装置202が保持しておいてもよい。あるいは、ジョブ実行指示に際してジョブ管理装置230からジョブ実行装置202にプログラムをダウンロードしてもよい。ジョブ実行装置202は、ジョブの実行状態をジョブ管理装置230に通知する。
The
The
The program constituting the job may be held in advance by the
外部記憶装置210は、業務のためのさまざまなデータを保存する。ジョブ実行装置202は、ジョブの実行に際して、外部記憶装置210とデータを送受する。また、ジョブ実行装置202は、外部記憶装置210から取得したデータや図示しない他のデータベース、ノード端末等から取得したデータに基づいてジョブを実行する。
The
まとめると、外部記憶装置210のデータを変数として、ジョブ実行装置202はさまざまなジョブを実行する。ジョブ管理装置230は、各ジョブの実行条件に基づいてジョブの実行タイミングを制御する。このように、外部記憶装置210から得られるデータに基づいて、複数のジョブがスケジュールにしたがって実行されることにより、業務システム220全体の運用がなされている。
In summary, the
ジョブは、実行に際してさまざまなファイルに対する「書き込み」や「読み出し」を実行する。以下、ジョブからアクセス対象となるファイルのことを「データファイル」とよぶ。データファイルの多くは、通常、外部記憶装置210に保持される。業務システム220は、長期、時には、数十年にもわたる稼働を想定して設計される。また、業務システム220を構成するジョブ、プログラム、データファイル等は、組織業務の変化に対応して、適宜、改変される。
ジョブ解析支援装置100は、ジョブ、各ジョブを構成するプログラム、各プログラムからアクセスされるデータファイル等を解析し、業務システム220の現状をユーザにわかりやすい形式にて示すための装置である。
The job executes “write” and “read” with respect to various files during execution. Hereinafter, a file to be accessed from a job is referred to as a “data file”. Many of the data files are normally held in the
The job
図2は、業務システム220の構成図である。
業務システム220の構成は、
A.ジョブ関係:ジョブとジョブの関係
B.ジョブ構造:ジョブとプログラム、プログラムとデータファイルの関係
C.データ構造:データファイルとデータ要素の関係
の3段階に階層化できる。
FIG. 2 is a configuration diagram of the
The configuration of the
A. Job relationship: relationship between jobs. Job structure: relationship between job and program, program and data file Data structure: Hierarchy can be divided into three levels: the relationship between data files and data elements.
A.ジョブ関係:ジョブとジョブの関係
業務システム220には、1以上のフレーム(Frame)が含まれ、フレームには1以上のネット(NET)が含まれる。ネットは1以上のジョブを含む。このように、フレーム、ネット、ジョブの順に業務システム220の処理単位は細分化される。ネットは、所定の処理に関わるジョブをグループ化した概念であり、フレームは、所定の処理に関わるネットをグループ化した概念である。ジョブは、フレームおよびネットにより所属先を特定される。
A. Job Relationship: Job-Job Relationship The
複数のジョブの間には、前段にあたるジョブの実行が完了してから後段にあたるジョブの実行が開始される、という依存関係がある。たとえば、ジョブ1の実行結果に基づいて、ジョブ2とジョブ3が実行されるとする。この場合、ジョブ2やジョブ3はジョブ1の実行が完了しなければ実行できないため、ジョブ1に依存していることになる。一方、ジョブ2とジョブ3の間には依存関係が成立しない。各ジョブの所属や依存関係は「ジョブ関係情報240」として登録されている。ジョブ管理装置230は、ジョブ関係情報240を参照して、各ジョブの実行スケジュールを制御する。ジョブ関係情報240は、ジョブ管理装置230のための情報であって、人間のために可読性を考慮した情報ではない。
There is a dependency relationship between a plurality of jobs, that is, execution of a job in the subsequent stage is started after execution of the job in the previous stage is completed. For example, assume that
そこで、プログラマは、ジョブの追加や削除、依存関係の変更等が発生したときには、適宜、ジョブ関係文書242を更新しておく。ジョブ関係文書242は、人間にわかりやすくジョブ関係を説明するための設計文書である。
Therefore, the programmer updates the job-related
B:ジョブ構造:ジョブとプログラム、プログラムとデータファイルの関係
ジョブは、1以上のプログラムの集合体である。プログラムはさまざまなデータファイルにアクセスする。たとえば、あるプログラムp1がデータファイルd1にデータAを書き込むと、別のプログラムp2はデータファイルd1のデータAに基づいて自処理を実行する。このように、各プログラムはデータファイルを介して連携する。結果として、各ジョブはデータファイルを介して連携することになる。
B: Job structure: relationship between job and program, program and data file A job is an aggregate of one or more programs. The program accesses various data files. For example, when one program p1 writes data A to the data file d1, another program p2 executes its own processing based on the data A of the data file d1. Thus, each program cooperates via a data file. As a result, each job is linked via a data file.
ジョブとプログラム、および、プログラムとデータファイルの関係は「第1ジョブ構造情報244」として登録されている。本実施例の第1ジョブ構造情報244は、ジョブ制御言語(JCL:Job Control Language)によって記述される。第1ジョブ構造情報244は、一のジョブとそのジョブを構成する1以上のプログラム、各プログラムによりアクセスの対象となるデータファイルの関係を示す。同図に示すジョブは、プログラム1〜3の3つのプログラムから構成されていることがわかる。このうち、プログラム3は、データファイル(Dファイル)b、c、e、fの4つのデータファイルをアクセス対象としていることがわかる。第1ジョブ構造情報244については、図12に関連しても後述する。
The relationship between jobs and programs, and programs and data files is registered as “first
本実施例における第1ジョブ構造情報244は、JCLにより記述されるため、人間が第1ジョブ構造情報244を読み下すことは可能である。ただし、JCLはあくまでもプログラミング言語であり、ジョブ、プログラム、データファイルの関係を人間に理解させるために最適な形式ではない。
Since the first
そこで、プログラマは、ジョブやプログラム、データファイルの追加や削除、対応関係の変更等が発生したときには、適宜、ジョブ構造設計文書248を更新しておく。ジョブ構造設計文書248は、人間にわかりやすくジョブ構造を説明するための設計文書である。
Therefore, the programmer updates the job
更に、プログラムとデータファイル、データファイルとレイアウトファイルの関係は「第2ジョブ構造情報246」として登録されている。レイアウトファイルとは、データファイルに含まれる1以上のデータ要素について、データ型とデータ名を宣言するファイルである。本実施例の第2ジョブ構造情報246は、COBOL(COmmon Business Oriented Language)によって記述される。同図に示すプログラム3は、データファイルb、c、e、fの4つのデータファイルをアクセス対象としていることがわかる。このうち、データファイルbに含まれる各データ要素のデータ型やデータ名は、レイアウトファイルbにて宣言されていることがわかる。
Further, the relationship between the program and the data file, and the data file and the layout file are registered as “second
本実施例における第2ジョブ構造情報246は、COBOLにより記述されるため、人間が第2ジョブ構造情報246を読み下すことは可能である。ただし、COBOLもプログラミング言語であり、プログラム、データファイル、レイアウトファイルの関係を人間に理解させる上で最適な形式ではない。
Since the second
そこで、プログラマは、プログラムやデータファイル、レイアウトファイルの追加や削除、対応関係の変更等が発生したときには、適宜、ジョブ構造設計文書248を更新しておく。
Therefore, the programmer updates the job
C:データ構造:データファイルとデータ要素の関係
データ宣言情報250は、データファイルに含まれる1以上のデータ要素のデータ型とデータ名を宣言するレイアウトファイルである。同図に示すデータ宣言情報250は、データ要素1〜4という4つのデータ要素のデータ型とデータ名を宣言している。本実施例におけるデータ宣言情報250も、COBOLにより記述される。データ宣言情報250については、図14に関連しても後述する。
C: Data structure: relationship between data file and data element The
COBOLにより記述されているため、人間がデータ宣言情報250を読み下すことは可能である。通常、プログラマは、データファイルに含まれるデータ要素のデータ型やデータ名を変更するときには、適宜、データ定義文書ファイル252も更新しておく。データ定義文書ファイル252は、業務システム220において使用されるさまざまなデータ要素を説明するための設計文書である。
Since it is described in COBOL, it is possible for a human to read down the
このように、業務システム220は、A.ジョブ関係、B.ジョブ構造、C.データ構造の3段階に階層化される。業務システム220の現状は、ジョブ関係情報240、第1ジョブ構造情報244、第2ジョブ構造情報246、データ宣言情報250(以下、これらを「現状情報」とよぶ)により示される。しかし、人間から見た可読性を必ずしも考慮しないこれらの現状情報から、巨大な業務システム220の全容を把握することは困難である。そこで、各階層に対応して、ジョブ関係文書242、ジョブ構造設計文書248、データ定義文書ファイル252という設計文書(以下、これらを「文書情報」とよぶ)が用意される。
As described above, the
しかし、業務システム220の長年の運用の結果として、徐々に現状情報と文書情報が乖離しやすくなる。いったん文書情報が現状情報から乖離してしまうと、現状情報にアクセスしなければ、業務システム220の現状を正確に把握できなくなってしまう。すなわち、
文書情報:人間にとってわかりやすいが、現状から乖離しやすい。
現状情報:人間にとってわかりにくいが、現状を正しく示している。
といえる。
ジョブ解析支援装置100は、この現状情報に基づいて、業務システム220の正しい現状を解析し、業務システム220のA.ジョブ関係、B.ジョブ構造、C.データ構造をユーザにわかりやすく示すための装置である。以下においては、ジョブ解析支援装置100が現状情報を解析し、ユーザにわかりやすい形式にて現状情報を示すまでの処理過程のことを「現状解析処理」とよぶ。
However, as a result of the long-term operation of the
Document information: easy to understand for humans, but easy to deviate from the current situation.
Current status information: It is difficult for humans to understand, but it shows the current status correctly.
It can be said.
The job
図3は、現状解析処理の処理過程の概略を示す図である。
現状解析処理においては、S10、S12、S14、S16の4つの処理が順次実行される。
1.ジョブの直列化(S10)
ジョブ関係情報240を参照し、ジョブの依存関係を反映させた並び順にて複数のジョブを一列に並べる。一列に並べられたジョブは「ジョブリスト」として画面表示されることになる。ジョブの直列化については、図5、図6、図7(a)、図7(b)、図8(a)、図8(b)、図9(a)、図9(b)に関連して詳述する。
2.ジョブリストの修正(S12)
ジョブ関係情報240等を参照し、各ジョブの属性を示すジョブ属性情報をジョブと対応づけた「ジョブセット」を作成する。ジョブセットがリスト要素となるように、ジョブリストを修正する。ジョブリストの修正については、図10、図11に関連して詳述する。
3.データセットリストの作成(S14)
JCLで記述された第1ジョブ構造情報244やジョブセット等を参照し、データファイル、プログラム、ジョブ、ジョブ属性情報を対応づけた「データセット」を作成する。データセットがリスト要素となる「データセットリスト」が画面表示されることになる。データセットの作成については、図12、図13に関連して詳述する。
4.要素セットリストの作成(S16)
COBOLで記述されたデータ宣言情報250やデータ定義文書ファイル252等を参照し、データ要素ごとにデータの意味、データ名やデータ型を対応づけた「要素セット」を作成する。要素セットをリスト要素とする「要素セットリスト」が画面表示されることになる。要素セットの作成については、図14、図15に関連して詳述する。
FIG. 3 is a diagram showing an outline of the process of the current state analysis process.
In the current state analysis process, four processes S10, S12, S14, and S16 are sequentially executed.
1. Job serialization (S10)
With reference to the
2. Correction of job list (S12)
By referring to the
3. Create data set list (S14)
By referring to the first
4). Creation of element set list (S16)
With reference to the
図4は、ジョブ解析支援装置100の機能ブロック図である。
ここに示す各ブロックは、ハードウェア的には、コンピュータのCPUをはじめとする素子や機械装置で実現でき、ソフトウェア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックはハードウェア、ソフトウェアの組合せによっていろいろなかたちで実現できることは、当業者には理解されるところである。
ここでは、主として各機能ブロックの発揮すべき機能について述べ、その具体的な作用については、図5以降に関連して説明する。
FIG. 4 is a functional block diagram of the job
Each block shown here can be realized in hardware by an element such as a CPU of a computer or a mechanical device, and in software it is realized by a computer program or the like. Draw functional blocks. Therefore, those skilled in the art will understand that these functional blocks can be realized in various forms by a combination of hardware and software.
Here, functions to be exhibited by each functional block will be mainly described, and specific actions will be described with reference to FIG.
ジョブ解析支援装置100は、ユーザインタフェース処理部110、データ処理部140およびデータ保持部160を含む。
ユーザインタフェース処理部110は、ユーザからの入力処理やユーザに対する情報表示のようなユーザインタフェース全般に関する処理を担当する。
データ処理部140は、ユーザインタフェース処理部110から取得されたデータをもとにして各種のデータ処理を実行する。データ処理部140は、ユーザインタフェース処理部110とデータ保持部160の間のインタフェースの役割も果たす。
データ保持部160は、あらかじめ用意された各種の設定データや、データ処理部140から受け取ったデータを格納する。
The job
The user interface processing unit 110 is in charge of processing related to the entire user interface such as input processing from the user and information display for the user.
The
The
ユーザインタフェース処理部110:
ユーザインタフェース処理部110は、入力部112と表示部114を含む。
入力部112は、ユーザからの入力操作を受け付ける。入力部112は、ジョブ関係情報取得部116、ジョブ内容情報取得部118、ジョブ構造情報取得部120、データ宣言情報取得部122およびデータ定義文書取得部124を含む。ジョブ関係情報取得部116は、ジョブ関係情報240を取得する。ジョブ内容情報取得部118は、文書情報の一部として「ジョブ内容情報258」を取得する。ジョブ内容情報258は、ジョブとジョブの属性を示すジョブ属性情報とを対応づけた情報である。ジョブ内容情報258については図10に関連しても後述する。ジョブ構造情報取得部120は、第1ジョブ構造情報244と第2ジョブ構造情報246を取得する。データ宣言情報取得部122は、データ宣言情報250を取得する。データ定義文書取得部124は、データ定義文書ファイル252を取得する。入力部112は、このほかにも、ジョブ関係文書242やジョブ構造設計文書248等の各種情報も取得する。
User interface processing unit 110:
The user interface processing unit 110 includes an
The
表示部114は、ユーザに対して各種情報を表示する。
表示部114は、ジョブリスト表示部126、データセットリスト表示部128および要素セットリスト表示部130を含む。ジョブリスト表示部126は、後の図11に示すジョブリスト画面280にてジョブリストを画面表示させる。データセットリスト表示部128は、後の図13に示すデータセットリスト画面330にてデータセットリストを画面表示させる。要素セットリスト表示部130は、後の図15に示す要素セットリスト画面350にて要素セットリストを画面表示させる。
The
The
データ処理部140:
データ処理部140は、ジョブリスト生成部142、データセット生成部144および要素セット生成部146を含む。ジョブリスト生成部142は、図3に示した現状解析処理過程のうち、「ジョブ直列化(S10)」、「ジョブリスト修正(S12)」を実行する。データセット生成部144は「データセットリスト作成(S14)」、要素セット生成部146は「要素セットリスト作成(S16)」を実行する。
Data processing unit 140:
The
ジョブリスト生成部142は、暫定リスト生成部148、暫定リスト追加部150、暫定リスト結合部152およびジョブリスト更新部154を含む。暫定リスト生成部148、暫定リスト追加部150、暫定リスト結合部152は、「ジョブ直列化(S10)」を実行する。暫定リスト生成部148は、各ジョブの依存関係からジョブリストの元となる「暫定リスト」をメモリ上に生成し、暫定リスト追加部150は、各ジョブをいずれかの暫定リストに追加していく。そして、暫定リスト結合部152は、複数の暫定リストを結合してジョブリストを作成する。ジョブリスト更新部154は、「ジョブリスト修正(S12)」を実行する。
The job
データ保持部160:
データ保持部160は、ジョブ関係情報240を保持するジョブ関係情報保持部162、ジョブ内容情報を保持するジョブ内容情報保持部164、第1ジョブ構造情報244と第2ジョブ構造情報246を保持するジョブ構造情報保持部168、データ宣言情報250を保持するデータ宣言情報保持部170、データ定義文書ファイル252を保持するデータ定義文書保持部172を含む。データ保持部160は、このほかにもさまざまな現状情報、文書情報も保持する。
Data holding unit 160:
The
以下においては、図3に示した現状解析処理のS10、S12、S14、S16の4つの処理内容と各処理に関わるユーザインタフェースについて順次説明する。
[1.ジョブ直列化]
In the following, the four processing contents S10, S12, S14, and S16 of the current state analysis processing shown in FIG. 3 and the user interface related to each processing will be sequentially described.
[1. Job serialization]
図5は、ジョブの依存関係を示す模式図である。
既述の通り、ジョブの依存関係はジョブ関係情報240において設定される。図5は、ジョブA〜Gの7つのジョブの依存関係を視覚的に示している。以下、「ジョブ1の実行完了」を実行開始条件とするジョブ2のことを、ジョブ1の「後行ジョブ」とよぶ。また、ジョブ1のことをジョブ2の「先行ジョブ」とよぶ。同図の場合、ジョブBやジョブDはジョブAの後行ジョブである。ジョブAはジョブBとジョブDにとって先行ジョブである。ジョブCは、直接的にはジョブBの後行ジョブであり、間接的にはジョブAの後行ジョブである。以下、ジョブCに対するジョブBのように、あるジョブに対する直接的な先行ジョブのことを「狭義の先行ジョブ」とよぶ。また、ジョブCに対するジョブAのように、あるジョブに対する間接的な先行ジョブまで含めていうときには「広義の先行ジョブ」とよぶ。本明細書においては、特に断らない限り、単に「先行ジョブ」というときには「狭義の先行ジョブ」を指す。
FIG. 5 is a schematic diagram showing job dependency.
As described above, the job dependency is set in the
ジョブ管理装置230は、ジョブの依存関係とジョブの実行状況に応じて、各ジョブの実行可否を判定しながら、実行可能なジョブをジョブ実行装置202に次々と実行させる。同図によれば、ジョブAとジョブGには、先行ジョブがない。このため、ジョブAとジョブGはいつでも実行開始可能である。以下、このような先行ジョブを持たないジョブのことを「先頭ジョブ」とよぶ。
The
図6は、図5に示したジョブの依存関係を設定するジョブ関係情報240のデータ構造図である。
ジョブ関係情報240は、ジョブの依存関係だけでなく、ジョブの所属等に関する情報も含むが、ここでは、ジョブの依存関係だけを対象として説明する。対象ジョブ欄254は、図5に示したジョブA〜Gの7つのジョブを示す。先行ジョブ欄256は、対象ジョブ欄254に示す各ジョブの先行ジョブを示す。同図によれば、ジョブAの先行ジョブはないが、ジョブBの先行ジョブはジョブAである。また、ジョブFの先行ジョブはジョブC、E、Gの3つである。ジョブ関係情報240においては、このような形式にてジョブ間の依存関係が定義されている。
FIG. 6 is a data structure diagram of the
The
人間にとって、図6のデータ構造形式よりも図5の模式図の方がジョブの依存関係を把握しやすい。このため、ジョブ関係文書242では、図5に示した形式にて、各ジョブの依存関係を図示することが多い。ただし、図5のような形式にてジョブの依存関係を図示する場合、ジョブの依存関係が頻繁に変更されると図そのものが乱雑となりやすい。
そこで、本実施例における「1.ジョブ直列化」処理は、ジョブの依存関係を反映させた並び順にてジョブA〜Fを一列に並べることを目的とする。
For humans, the schematic diagram of FIG. 5 is easier to grasp the job dependency than the data structure format of FIG. For this reason, the
Therefore, the “1. job serialization” processing in the present embodiment aims to arrange the jobs A to F in a line in the arrangement order reflecting the job dependency.
図7(a)は、ジョブの直列化における暫定リスト生成過程を示す模式図である。
同図斜線部は、先行ジョブが設定されていない領域を示す。まず、暫定リスト生成部148は、ジョブ関係情報240を参照して先頭ジョブを検出する。先頭ジョブは、先行ジョブを1つも設定されていないジョブであり、同図においてはジョブAとジョブGが該当する。暫定リスト生成部148は、暫定リストAと暫定リストBを生成する。より具体的には、暫定リスト生成部148はヒープメモリ上に2つの領域を確保し、それぞれを暫定リストA、暫定リストBに対応づける。暫定リスト生成部148は、ジョブAを暫定リストA、ジョブBを暫定リストBに登録する(S1、S2)。より具体的には、暫定リスト生成部148はヒープメモリ上の暫定リストAに対応する領域に、ジョブAのIDを記録し、暫定リストBに対応する領域に、ジョブBのIDを記録する。
FIG. 7A is a schematic diagram showing a provisional list generation process in job serialization.
The hatched portion in the figure indicates an area where no preceding job is set. First, the provisional list generation unit 148 detects the head job with reference to the
図7(b)は、ジョブの直列化における追加登録処理のうち第1過程を示す模式図である。
同図斜線部は、先行ジョブが設定されていない領域と既に暫定リストに登録された先行ジョブに該当する領域を示す。暫定リスト追加部150は、ジョブ関係情報240や各暫定リストの登録内容を参照して、全ての先行ジョブがいずれかの暫定リストに登録され、かつ、自らはいずれの暫定リストにも登録されていないジョブを候補ジョブとして検出する。同図においては、ジョブBとジョブDが該当する。暫定リスト追加部150は、このような候補ジョブをその先行ジョブと同じ暫定リストに登録する。同図の場合、暫定リスト追加部150は、候補ジョブDをその先行ジョブAと同じ暫定リストAに登録する(S3)。このとき、ジョブDは、ジョブAの直後に登録される。暫定リストAにはジョブA、Dが並ぶ。次に、暫定リスト追加部150は、候補ジョブBを、同じくその先行ジョブAと同じ暫定リストAに登録する(S4)。このとき、ジョブBは、ジョブAの直後に登録される。結果として、暫定リストAにはジョブA、B、Dが並ぶ。
なお、先行ジョブが複数あるときには、任意の先行ジョブを選択し、選択した先行ジョブの直後に候補ジョブを登録すればよい。ここでは、ジョブDを暫定リストAに登録してからジョブBを暫定リストAに登録したが、登録順序は逆でもよい。
候補ジョブを特定してから、いずれかの暫定リストに登録する処理のことを「追加登録処理」とよぶ。追加登録処理は候補ジョブが無くなるまで繰り返される。
FIG. 7B is a schematic diagram illustrating a first process in the additional registration process in the serialization of jobs.
The hatched portion in the figure indicates an area where no preceding job is set and an area corresponding to a preceding job already registered in the provisional list. The provisional list adding unit 150 refers to the job-related
When there are a plurality of preceding jobs, an arbitrary preceding job may be selected and a candidate job may be registered immediately after the selected preceding job. Here, job D is registered in provisional list A and then job B is registered in provisional list A, but the registration order may be reversed.
The process of registering a candidate job after specifying a candidate job is called “additional registration process”. The additional registration process is repeated until there are no candidate jobs.
図8(a)は、ジョブの直列化における追加登録処理のうち第2過程を示す模式図である。
暫定リスト追加部150は、次の候補ジョブを検出する。同図においては、ジョブCとジョブEが検出される。暫定リスト追加部150は、候補ジョブEを、その先行ジョブDと同じ暫定リストAに登録する(S5)。このとき、候補ジョブEは、先行ジョブDの直後に登録される。次に、暫定リスト追加部150は、候補ジョブCを、同じくその先行ジョブBと同じ暫定リストAに登録する(S6)。このとき、候補ジョブCは、先行ジョブBの直後に登録される。
結果として、暫定リストAには、ジョブA、B、C、D、Eの順に登録される。
FIG. 8A is a schematic diagram showing a second process in the additional registration process in the serialization of jobs.
The provisional list adding unit 150 detects the next candidate job. In the figure, job C and job E are detected. The provisional list adding unit 150 registers the candidate job E in the same provisional list A as the preceding job D (S5). At this time, the candidate job E is registered immediately after the preceding job D. Next, the temporary list adding unit 150 registers the candidate job C in the same temporary list A as that of the preceding job B (S6). At this time, candidate job C is registered immediately after preceding job B.
As a result, jobs A, B, C, D, and E are registered in the provisional list A in this order.
図8(b)は、ジョブの直列化における追加登録処理のうち第3過程を示す模式図である。
暫定リスト追加部150は、次の候補ジョブを検出する。同図においては、最後の候補ジョブとしてジョブFが検出される。暫定リスト追加部150は、候補ジョブFを、その先行ジョブGと同じ暫定リストBに登録する(S7)。このとき、候補ジョブFは、先行ジョブGの直後に登録される。なお、ジョブGだけでなくジョブCやジョブEもジョブFの先行ジョブであるため、ジョブFは暫定リストAに登録されてもよい。
候補ジョブが無くなったため、追加登録処理は終了する。
FIG. 8B is a schematic diagram showing a third process in the additional registration process in the serialization of jobs.
The provisional list adding unit 150 detects the next candidate job. In the figure, job F is detected as the last candidate job. The temporary list adding unit 150 registers the candidate job F in the same temporary list B as that of the preceding job G (S7). At this time, the candidate job F is registered immediately after the preceding job G. Since job C and job E as well as job G are the preceding jobs of job F, job F may be registered in provisional list A.
Since there are no candidate jobs, the additional registration process ends.
図9(a)は、ジョブの直列化における暫定リスト結合過程を示す模式図である。
暫定リスト結合部152は、暫定リストpのジョブ1が、別の暫定リストqにおけるジョブ2の先行ジョブである場合、暫定リストpの後ろに暫定リストqを結合する。同図の場合、暫定リストAのジョブCやジョブEは、別の暫定リストBにおけるジョブFの先行ジョブとなっている。暫定リスト結合部152は、ジョブ関係情報240や各暫定リストを参照して、ジョブFのように別の暫定リストに先行ジョブを有するようなジョブを検出する。同図の場合、暫定リスト結合部152は、暫定リストAの後ろに暫定リストBを結合する。
FIG. 9A is a schematic diagram illustrating a provisional list combining process in job serialization.
The provisional
図9(b)は、ジョブの直列化完了時のジョブリストを示す模式図である。
暫定リスト結合部152は、複数の暫定リストを一つに結合して「ジョブリスト」を生成する。同図においては、ジョブは、A、B、C、D、E、G、Fの順に一列に並べられる。図5を再び参照すると、ジョブA、B、Cという流れと、D、Eという流れ、G、Fという流れの3つの流れがあることがわかる。したがって、図7(a)から図9(b)にかけて説明したアルゴリズムによれば、複数のジョブをその依存関係を反映した並び順にて一列に並べることができる。
FIG. 9B is a schematic diagram illustrating a job list when job serialization is completed.
The temporary
別例として、仮に、図7(b)において、候補ジョブBを暫定リストAに登録した後、候補ジョブDを暫定リストAに登録したとする。この場合、暫定リストA、Bの登録内容は、
暫定リストA:A、D、B
暫定リストB:G
となる。
As another example, assume that candidate job D is registered in provisional list A after candidate job B is registered in provisional list A in FIG. In this case, the registration contents of the provisional lists A and B are as follows:
Provisional list A: A, D, B
Provisional list B: G
It becomes.
次に、図8(a)において、候補ジョブE、候補ジョブCの順に暫定リストAに登録したとする。この場合、暫定リストA、Bの登録内容は、
暫定リストA:A、D、E、B、C
暫定リストB:G
となる。
Next, in FIG. 8A, it is assumed that the candidate job E and the candidate job C are registered in the temporary list A in this order. In this case, the registration contents of the provisional lists A and B are as follows:
Provisional list A: A, D, E, B, C
Provisional list B: G
It becomes.
次に、図8(b)において、候補ジョブFの先行ジョブをジョブEとし、候補ジョブFを暫定リストAに登録したとする。この場合、暫定リストA、Bの登録内容は、
暫定リストA:A、D、E、F、B、C
暫定リストB:G
となる。
Next, in FIG. 8B, it is assumed that the preceding job of candidate job F is job E and candidate job F is registered in provisional list A. In this case, the registration contents of the provisional lists A and B are as follows:
Provisional list A: A, D, E, F, B, C
Provisional list B: G
It becomes.
ここで、ジョブGは、ジョブFの先行ジョブなので、暫定リストBに対して暫定リストAを結合すると、ジョブリストとして、G、A、D、E、F、B、Cの順にジョブが並ぶことになる。図5を参照すると、ジョブGという流れと、A、D、E、Fという流れ、B、Cという流れの3つの流れがあることがわかる。したがって、図7(a)から図9(b)にかけて説明したアルゴリズムにしたがった上記別例においても、複数のジョブをその依存関係を反映した並び順にて一列に並べることができる。
ここでは、説明を簡単にするためにジョブA〜Gの7つのジョブを例として説明したが、ジョブの数が更に多いときでも、依存関係が更に複雑などきにも、先頭ジョブの数だけ暫定リストを作ることで大きな流れを設定し、各候補ジョブを狭義の先行ジョブの直後に連結していく上記アルゴリズムは有効に機能する。
[2.ジョブリスト修正]
Here, since job G is a preceding job of job F, when provisional list A is combined with provisional list B, jobs are arranged in the order of G, A, D, E, F, B, and C as the job list. become. Referring to FIG. 5, it can be seen that there are three flows: a job G, a flow A, D, E, and F, and a flow B and C. Therefore, even in the above-described another example according to the algorithm described with reference to FIGS. 7A to 9B, a plurality of jobs can be arranged in a line in the arrangement order reflecting the dependency.
Here, in order to simplify the explanation, seven jobs A to G have been described as an example. However, even when the number of jobs is larger, even if the dependency relationship is more complicated, the number of temporary jobs is provisional. The above algorithm that sets a large flow by creating a list and connects each candidate job immediately after a narrowly preceding job works effectively.
[2. Job list modification]
図10は、ジョブセットの生成過程を示す模式図である。
ジョブリスト更新部154は、次に、ジョブとジョブの属性情報を対応づけたジョブセットをジョブごとに生成する。ジョブの属性情報の一部はジョブ関係情報240により定義される。フレーム欄260はフレームを示す。ネットID欄262はネットのIDを示す。ネット名欄264はネットの名称を示す。ジョブID欄266はジョブのIDを示す。このほかにも、ジョブ関係情報240には、図6に示したように各ジョブの先行ジョブも定義されている。ここでは、ジョブの依存関係以外のジョブ属性情報を対象として説明する。
FIG. 10 is a schematic diagram illustrating a job set generation process.
Next, the job list update unit 154 generates a job set in which the job and the job attribute information are associated with each job. A part of job attribute information is defined by
ジョブ内容情報258は、文書情報の一部であって、各ジョブの処理内容を定義した設計文書である。ジョブ内容情報258は、ジョブ関係文書242やジョブ構造設計文書248の一部として提供されてもよい。ジョブID欄268はジョブのIDを示す。ジョブ名欄270はジョブの名称を示す。ジョブ内容欄272はジョブの処理内容を示す。ジョブリスト更新部154は、ジョブ関係情報240のジョブID欄266とジョブ内容情報258のジョブID欄268に登録されているジョブのIDをキーとして、ジョブごとにジョブセット274を生成する。同図に示すジョブセット274は、ジョブID=Bのジョブについて、フレーム、ネットのID、ネットの名称、ジョブのID、ジョブの名称、ジョブの処理内容といった各種ジョブ属性情報を含む。これら以外にも、先行ジョブ等の各種情報が含まれてもよい。
このような処理方法により、ジョブとさまざまなジョブ属性情報を対応づけたジョブセットがジョブごとに生成される。
The
With such a processing method, a job set in which a job is associated with various job attribute information is generated for each job.
図11は、ジョブリスト画面280の画面図である。
ジョブリスト更新部154は、各ジョブにジョブ属性情報を追加し、「1.ジョブ直列化」処理により生成された「ジョブをリスト要素とするジョブリスト」から、「ジョブセットをリスト要素とするジョブリスト」を生成する。いいかえれば、「1.ジョブ直列化」により決定された並び順にてジョブセットを並べたジョブリストを生成する。ジョブリスト表示部126は、ジョブセットをリスト要素とするジョブリストをジョブリスト画面280にて画面表示させる。
FIG. 11 is a screen diagram of the
The job list update unit 154 adds job attribute information to each job, and from the “job list with jobs as list elements” generated by the “1. job serialization” process, “jobs with job sets as list elements” List ". In other words, a job list in which job sets are arranged in the arrangement order determined by “1. Job serialization” is generated. The job
ジョブリスト画面280により、ユーザは、業務システム220に含まれる膨大なジョブのジョブ属性情報をまとめて閲覧できる。各ジョブセットは、ジョブの依存関係を反映したかたちで並べられるため、リスト形式であっても、ユーザはジョブの依存関係を理解しやすくなる。
The
本実施例におけるジョブの名称は、あらかじめ定められた命名規則にしたがって設定される。ジョブは、「1.入力の検出」、「2.外部記憶装置210からのデータの受信」、「3.受信されたデータの処理」、「4.データの外部記憶装置210への記録」のようにその処理内容に応じていくつかの種別に分類される。そして、「1.入力の検出」に分類されるジョブの名称には、サフィックス(接尾辞)として「ST」が設定される。同図においては、ジョブAとジョブGが該当する。
The name of the job in this embodiment is set according to a predetermined naming rule. The jobs are “1. Input detection”, “2. Reception of data from
ジョブリスト表示部126は、サフィックス「ST」が設定されているジョブに関するジョブセットを、他のジョブに関するジョブセットとは視覚的に識別可能な態様にて表示させる。たとえば、ジョブリスト画面280において、サフィックス「ST」が設定されている、すなわち、「1.入力の検出」に関わるジョブのジョブセットを、他のジョブセットとは異なる文字色、背景色、フォント、文字サイズにて表示させてもよい。同様に、「2.外部記憶装置210からのデータの受信」に分類されるジョブの名称には、サフィックス(接尾辞)として「S」が設定される。同図においては、ジョブBとジョブDが該当する。ジョブリスト表示部126は、サフィックス「S」が設定されているジョブに関するジョブセットを、他のジョブに関するジョブセットとは視覚的に識別可能な態様にて表示させる。たとえば、ジョブリスト画面280において、サフィックス「S」が設定されている、すなわち、「2.外部記憶装置210からのデータの受信」に関わるジョブのジョブセットだけを青色表示してもよい。
このような態様によれば、各ジョブの種別や関係をユーザにわかりやすく示すことができる。
The job
According to such an aspect, the type and relationship of each job can be easily shown to the user.
ジョブリストに示されるジョブの処理内容は、文書情報であるジョブ内容情報258に由来する。ユーザは、ジョブリスト画面280を参照することにより、ジョブ内容情報258の記載不備部分を効率的に割り出すことができる。結果として、ジョブリストが文書情報更新の必要性をユーザに認識させることになる。
The processing content of the job shown in the job list is derived from the
ユーザが、いずれかのジョブセットをマウス等の入力デバイスにて選択すると、選択されたジョブに関わるデータセットのリストが画面表示される。データセットリストの画面表示については図13に関連して説明する。
[3.データセットリスト作成]
When the user selects any job set with an input device such as a mouse, a list of data sets related to the selected job is displayed on the screen. The screen display of the data set list will be described with reference to FIG.
[3. Create dataset list]
図12は、データセットの作成過程を示す模式図である。
データセット生成部144は、次に、ジョブ、プログラム、データファイルを対応づけたデータセットを生成する。データセット生成部144は、先ほど生成したジョブリスト284と、JCLで記述された第1ジョブ構造情報244、アサイン情報298から、データファイルごとにデータセット282を生成する。ジョブリスト284において、フレーム欄286はフレーム、ネットID欄288はネットのID、ネット名欄290はネットの名称、ジョブID欄292はジョブのID、ジョブ名欄294はジョブの名称、ジョブ内容欄296はジョブの処理内容を示す。
FIG. 12 is a schematic diagram showing a data set creation process.
Next, the data set
アサイン情報298は、現状情報の一部であって、データファイルの別名(以下、「アサイン(assign)」とよぶ)とレイアウトファイルを対応づける。アサイン欄300はアサインを示す。宣言ファイル欄302は、アサインにて特定されるデータファイルのデータ要素を宣言するレイアウトファイル、すなわち、データ宣言情報250の名前を示す。アサイン情報298は、COBOLにて既述された第2ジョブ構造情報246から抽出されるが、文書情報の一部として提供されてもよい。
The
第1ジョブ構造情報244は、JCLにより既述され、ジョブ、プログラム、データファイルの関係を定義する。同図に示す第1ジョブ構造情報244は、ジョブBに関する。プログラム名領域304には、ジョブBを構成するプログラムの名称が定義される。I/O領域306は、このプログラムがデータファイルを入力元としてアクセスするか(I)、出力先としてアクセスするか(O)といった入出力の別を示す。アサイン領域308は、アクセス対象となるデータファイルのアサインを示す。パス領域310は、アクセス対象となるデータファイルのパスを示す。
The first
データセット生成部144は、ジョブBの第1ジョブ構造情報244と、ジョブリスト284におけるジョブBのジョブセットを参照し、第1ジョブ構造情報244に現れる各データファイルについてデータセットを生成する。同図のデータセット282は、ジョブB、プログラム「SEMP350」のアクセス対象となるアサイン「SYSHDD」のデータファイルに関する。データセット282において、アサイン欄314にはアサイン領域308のアサインがそのまま登録される。データセット名欄312には、パス領域310に示されされるパス付きのデータファイル名が登録される。プログラム欄318は、プログラム名領域304に示されるプログラムの名前「SEMP350」が登録される。I/O欄316には、データファイル「SYSHDD」へのプログラム「SEMP350」のアクセス種別である「I(読み出し)」が登録される。ジョブID欄322とジョブ名欄320は、プログラム「SEMP350」が属するジョブのIDと名称を示す。これらの情報は、ジョブのIDと名称はジョブリスト284から取得される。データセット生成部144は、ジョブのIDや名称をキーとして、ジョブリスト284と第1ジョブ構造情報244から該当情報を抽出してデータセット282を生成する。
The data
更に、データセット生成部144は、アサイン欄314のアサインをキーとして、宣言ファイル欄302に示されるレイアウトファイル名を適切なデータセット282の宣言ファイル欄324に登録する。なお、このほかにもデータファイルの登録内容を説明するため情報をデータセットの一部として、文書情報から抽出してもよい。
Further, the data set
図13は、データセットリスト画面330の画面図である。
図11のジョブリスト画面280において、ユーザがジョブBのジョブセットを選択すると、図13に示すようにジョブBに関わるデータセットがリスト表示される。データセットリスト表示部128は、ジョブBがジョブID欄322に登録されているデータセットを検出し、該当データセットを並べたデータセットリストをデータセットリスト画面330にて表示させる。
FIG. 13 is a screen diagram of the data
When the user selects a job set for job B on the
同図によれば、ジョブBは「SEMP360」という名前のプログラムを含み、このプログラムは「SYS021」というアサインにて指定されるデータファイルからデータを読み出していることがわかる。ただし、データファイル「SYS021」のデータセット名には「&dummy」と指定されている。これは、データファイル「SYS021」が、既に無効であることを示す。プログラム「SEMP360」がアクセス対象とするデータファイルの全てに「&dummy」が指定されていれば、プログラム「SEMP360」は、無効なプログラム(以下、「ダミープログラム」とよぶ)である。この場合、プログラム「SEMP360」をジョブ管理装置230等のディスク上から削除できる。また、ジョブBがアクセス対象とするデータファイルの全てに「&dummy」が指定されていれば、ジョブBは、無効なジョブ(以下、「ダミージョブ」とよぶ)である。この場合、ジョブBそのものをディスク上から削除できる。
According to the figure, it can be seen that job B includes a program named “SEMP360”, and this program reads data from the data file designated by the assignment “SYS021”. However, “& dummy” is specified as the data set name of the data file “SYS021”. This indicates that the data file “SYS021” is already invalid. If “& dummy” is specified in all the data files to be accessed by the program “SEMP360”, the program “SEMP360” is an invalid program (hereinafter referred to as “dummy program”). In this case, the program “SEMP360” can be deleted from the disk such as the
データセットリスト画面330により、ダミープログラムやダミージョブを、データファイルとの関係に基づいて効率的に検出できる。データセット生成部144は、無効なデータファイル、ダミープログラム、ダミージョブを上記アルゴリズムにて自動的に検出し、必要であれば自動的に削除してもよい。
With the data
ユーザが、いずれかのデータセットをマウス等の入力デバイスにて選択すると、選択されたデータセットに関係するデータ要素について、要素セットのリストが画面表示される。要素セットリストの画面表示については図15に関連して説明する。
[4.要素セットリストの作成]
When the user selects any data set with an input device such as a mouse, a list of element sets is displayed on the screen for the data elements related to the selected data set. The screen display of the element set list will be described with reference to FIG.
[4. Create Element Set List]
図14は、要素セットの作成過程を示す模式図である。
要素セット生成部146は、次に、データ宣言情報250とデータ定義文書ファイル252を参照し、データ要素ごとに名称、意味、データ型を対応づけた要素セットを生成する。
FIG. 14 is a schematic diagram illustrating a process of creating an element set.
Next, the element set
データ宣言情報250は、データファイル「SYSHDD」に対応づけられるレイアウトファイルであり、COBOLで記述される。データ宣言情報250を含むレイアウトファイルのファイル名は、「CBL1」である。データファイル「SYSHDD」とレイアウトファイル「CBL1」の対応は、第2ジョブ構造情報246、特に、第2ジョブ構造情報246に由来するアサイン情報298により示される。データ宣言情報250は、データファイル「SYSHDD」に含まれるさまざまなデータ要素(変数等)を宣言するためのファイルである。データ名宣言領域332はデータ要素の名称「HOJIN-CD」、データ型宣言領域334はデータ要素のデータ型(X(2))を示す。
The
データ定義文書ファイル252は、レイアウトファイル「CBL1」において宣言される各データ要素の意味とデータ型を説明するための設計文書である。データ意味定義領域336はデータ要素の意味、データ型定義領域338はデータ型を示す。
The data
要素セット生成部146は、データファイル「SYSHDD」の各データ要素を宣言するデータ宣言情報250(現状情報)と、データファイル「SYSHDD」の各データ要素を説明するデータ宣言情報250(文書情報)を選択し、データ要素ごとに要素セット340を生成する。
The element set
要素セット生成部146は、データ宣言情報250における各データ要素の宣言順と、データ定義文書ファイル252における各データ要素の定義順にしたがって、要素セットを仮生成する。たとえば、データ宣言情報250で最初に宣言されるデータ要素「HOJIN-CD」と、データ定義文書ファイル252で最初に定義されるデータ要素「法人」を同じデータ要素であると仮定して、要素セット340を生成する。ただし、要素セット生成部146は、データ型宣言領域334にて定義されるデータ型とデータ型定義領域338にて定義されるデータ型が一致することを確認し、一致しなければ、同じ要素セット340とはしない。
The element set
通常、データ宣言情報250におけるデータ要素の宣言順と、データ定義文書ファイル252におけるデータ要素の定義順は一致することが多い。一般的傾向として、データ宣言情報250のデータ要素の宣言順と同じ順序にてデータ要素をデータ定義文書ファイル252に定義することが多いためである。要素セット生成部146が要素セットを生成した後も、ユーザが各要素セットの内容を確認し、手動にてこれらの要素セットの内容を修正できることが望ましい。
In general, the declaration order of data elements in the
図15は、要素セットリスト画面350の画面図である。
図13のデータセットリスト画面330において、ユーザがデータファイル「SYSHDD」のデータセットを選択すると、図15に示すようにデータファイル「SYSHDD」に関わる要素セットがリスト表示される。要素セットリスト表示部130は、データファイル「SYSHDD」についての要素セットを検出し、該当要素セットを並べた要素セットリストを要素セットリスト画面350にて表示させる。
FIG. 15 is a screen diagram of the element set
When the user selects a data set of the data file “SYSHDD” on the data
以上、ジョブ解析支援装置100を実施例に基づいて説明した。
一般的には、現状情報と文書情報が乖離してしまうと、業務システム220がブラックボックス化しやすくなる。従来、コーディング・ルールや設計文書の形式の厳格化などにより、現状情報と文書情報の両面から、業務システム220のブラックボックス化を防ぐための努力がなされている。しかし、このような対策は属人的スキルに依存する部分が大きい。
The job
In general, if the current status information and the document information are different from each other, the
ジョブ解析支援装置100は、業務システム220のありのままを示す現状情報に基づきつつ、必要に応じて既存の文書情報を参照しながら、A.ジョブ関係、B.ジョブ構造、C.データ構造という3つの側面をジョブリスト画面280、データセットリスト画面330、要素セットリスト画面350の形態にて、リスト形式にて示す。リスト形式であるため、既存の表計算ソフトウェアによる処理に馴染みやすい。したがって、これらの各種リストから、更に、視覚的にわかりやすい形態にて業務システム220の全容を示しやすくなる。
While the job
ジョブ解析支援装置100は、複雑な依存関係を有するジョブを一列に並べる。[1.ジョブの直列化]に関連して説明したアルゴリズムによれば、ジョブの依存関係を反映させた並び順にてジョブを並べることができる。リスト形式であっても、ユーザはある程度ジョブの依存関係を読み取りやすくなる。
The job
その上で、ジョブ関係情報240とジョブ内容情報258からジョブセットを生成する。ジョブセットリストによれば、ジョブと所属、名称、処理内容等の各種ジョブ属性情報をジョブリスト画面280にてまとめて示すことができる。ジョブの種別に応じてジョブセットの表示態様を変えることにより、ユーザは各ジョブの種別を直感的に理解しやすくなる。
After that, a job set is generated from the
また、ジョブリスト画面280にてジョブが選択されると、選択されたジョブに関わるデータファイルの情報がリスト表示される。データファイルリストによれば、ユーザは、ジョブとプログラム、データファイルの関係をまとめて確認できる。
2007年現在においても、多くの業務システムにおいて、20年以上も昔のCOBOLベースのジョブが稼働している。その一方、保守作業の結果、既に役割を終えたジョブ、いわゆる「ダミージョブ」も多い。本来、ダミージョブはディスクから除去すべきである。しかし、ダミージョブに見えるジョブが実際はダミージョブではない可能性を排除できない場合、除去せずに残しておくことがある。ダミージョブの過度の増加は、いわゆるTCO(Total Cost of Ownership)の悪化につながるため好ましいことではない。ジョブ解析支援装置100によれば、データファイルリストにより、ダミープログラムやダミージョブを効率的に検出しやすくなる。
When a job is selected on the
As of 2007, COBOL-based jobs that are more than 20 years old are still running in many business systems. On the other hand, there are many jobs that have already finished their roles as a result of maintenance work, so-called “dummy jobs”. Originally, dummy jobs should be removed from the disk. However, if the possibility that a job that looks like a dummy job is not actually a dummy job cannot be excluded, it may be left without being removed. An excessive increase in dummy jobs is not preferable because it leads to deterioration of so-called TCO (Total Cost of Ownership). According to the job
更に、データセットリスト画面330にてデータファイルが選択されると、選択されたデータファイルに関わるデータ要素の情報がリスト表示される。要素セットリストによれば、ユーザは、データファイルとデータ要素の関係をまとめて確認できる。
Further, when a data file is selected on the data
このように、ジョブ解析支援装置100によれば、業務システム220の現状情報をユーザにわかりやすく示すことができる。また、適宜、文書情報も取り込んで示すため、文書情報において欠けている部分や古い部分を現状情報との関係から見つけ出しやすくなる。
Thus, according to the job
以上、本発明について実施例をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。 The present invention has been described based on the embodiments. The embodiments are exemplifications, and it will be understood by those skilled in the art that various modifications can be made to combinations of the respective constituent elements and processing processes, and such modifications are within the scope of the present invention. .
100 ジョブ解析支援装置、 110 ユーザインタフェース処理部、 112 入力部、 114 表示部、 116 ジョブ関係情報取得部、 118 ジョブ内容情報取得部、 120 ジョブ構造情報取得部、 122 データ宣言情報取得部、 124 データ定義文書取得部、 126 ジョブリスト表示部、 128 データセットリスト表示部、 130 要素セットリスト表示部、140 データ処理部、 142 ジョブリスト生成部、 144 データセット生成部、 146 要素セット生成部、 148 暫定リスト生成部、 150 暫定リスト追加部、 152 暫定リスト結合部、 154 ジョブリスト更新部、 160 データ保持部、 162 ジョブ関係情報保持部、 164 ジョブ内容情報保持部、 168 ジョブ構造情報保持部、 170 データ宣言情報保持部、 172 データ定義文書保持部、 202 ジョブ実行装置、 200 ジョブ実行装置群、 210 外部記憶装置、 220 業務システム、 230 ジョブ管理装置、 240 ジョブ関係情報、 242 ジョブ関係文書、 244 第1ジョブ構造情報、 246 第2ジョブ構造情報、 248 ジョブ構造設計文書、 250 データ宣言情報、 252 データ定義文書ファイル、 258 ジョブ内容情報、 274 ジョブセット、 280 ジョブリスト画面、 298 アサイン情報、 330 データセットリスト画面、 340 要素セット、 350 要素セットリスト画面。 DESCRIPTION OF SYMBOLS 100 Job analysis support apparatus, 110 User interface processing part, 112 Input part, 114 Display part, 116 Job relation information acquisition part, 118 Job content information acquisition part, 120 Job structure information acquisition part, 122 Data declaration information acquisition part, 124 Data Definition document acquisition unit, 126 Job list display unit, 128 Data set list display unit, 130 Element set list display unit, 140 Data processing unit, 142 Job list generation unit, 144 Data set generation unit, 146 Element set generation unit, 148 Provisional List generation unit, 150 provisional list addition unit, 152 provisional list combination unit, 154 job list update unit, 160 data holding unit, 162 job relation information holding unit, 164 job content information holding unit, 168 job structure information Holding unit, 170 Data declaration information holding unit, 172 Data definition document holding unit, 202 Job execution device, 200 Job execution device group, 210 External storage device, 220 Business system, 230 Job management device, 240 Job relationship information, 242 Job relationship Document, 244 First job structure information, 246 Second job structure information, 248 Job structure design document, 250 Data declaration information, 252 Data definition document file, 258 Job content information, 274 Job set, 280 Job list screen, 298 Assignment information , 330 Data set list screen, 340 element set, 350 element set list screen.
Claims (8)
前記ジョブ関係情報を参照して、先行ジョブを設定されていないジョブを先頭ジョブとして検出し、複数の先頭ジョブのそれぞれに対応してメモリ上に複数の暫定リストを生成し、対応する暫定リストに先頭ジョブを登録する暫定リスト生成部と、
前記ジョブ関係情報および各暫定リストの登録内容を参照し、先行ジョブの全てがいずれかの暫定リストに登録済であって、自身は暫定リストに未登録のジョブを候補ジョブとして検出し、前記候補ジョブをその先行ジョブが登録されている暫定リストに追加登録する追加登録処理を、前記複数のジョブ全てがいずれかの暫定リストに登録されるまで繰り返す暫定リスト追加部と、
前記ジョブ関係情報および各暫定リストの登録内容を参照し、第1の暫定リストに登録されているジョブが第2の暫定リストに登録されているジョブの先行ジョブにあたるときには、前記第2の暫定リストに登録されているジョブを前記第1の暫定リストに転記することにより、前記第1の暫定リストに前記第2の暫定リストを結合する暫定リスト結合部と、
前記複数のジョブを前記依存関係に基づいて一列に並べたリストとして、複数の暫定リストが結合されたジョブリストを画面表示させるジョブリスト表示部と、
を備えることを特徴とするジョブ解析支援装置。 Job relation information indicating the preceding job corresponding to the preceding stage of each job for a plurality of jobs whose dependency is determined so that one or more jobs corresponding to the succeeding stage are executed on condition that one or more jobs corresponding to the preceding stage are executed. A job relation information acquisition unit to be acquired;
Referring to the job-related information, a job for which no preceding job is set is detected as the first job, and a plurality of temporary lists are generated on the memory corresponding to each of the plurality of first jobs, and the corresponding temporary list is created. A provisional list generator for registering the first job;
Referring to the job-related information and the registration contents of each provisional list, all of the preceding jobs are already registered in any provisional list, and themselves detect unregistered jobs in the provisional list as candidate jobs. A provisional list addition unit that repeats additional registration processing for additionally registering a job in a provisional list in which the preceding job is registered until all of the plurality of jobs are registered in any provisional list;
With reference to the job-related information and the registered contents of each provisional list, when the job registered in the first provisional list corresponds to the preceding job of the job registered in the second provisional list, the second provisional list A temporary list combining unit that combines the second temporary list with the first temporary list by transferring the job registered in the first temporary list;
A job list display unit that displays a job list in which a plurality of provisional lists are combined as a list in which the plurality of jobs are arranged in a line based on the dependency relationship;
A job analysis support apparatus comprising:
前記ジョブ内容情報を参照して、前記ジョブリストにおいて一列に並べられた各ジョブにジョブ属性情報を追加することにより、ジョブとジョブ属性情報のセットがリスト要素となるように前記ジョブリストを修正するジョブリスト更新部と、を更に備え、
前記ジョブリスト表示部は、修正後のジョブリストの画面表示により、ジョブとジョブ属性情報のセットを一覧表示させることを特徴とする請求項1に記載のジョブ解析支援装置。 A job content information acquisition unit for acquiring job content information in which each job is associated with job attribute information indicating a job attribute;
By referring to the job content information and adding job attribute information to each job arranged in a line in the job list, the job list is modified so that a set of jobs and job attribute information becomes a list element. A job list update unit,
The job analysis support apparatus according to claim 1, wherein the job list display unit displays a list of jobs and sets of job attribute information on a screen display of the corrected job list.
前記ジョブリスト表示部は、ジョブ名称からジョブの種別を特定し、ジョブの種別に応じてあらかじめ定められた表示態様にて、前記ジョブリストの各リスト要素を画面表示させることを特徴とする請求項3に記載のジョブ解析支援装置。 The job content information acquisition unit acquires a job name of each job set to indicate a job type according to a predetermined naming rule as a part of job attribute information,
The job list display unit identifies a job type from a job name, and displays each list element of the job list on a screen in a display mode predetermined according to the job type. 4. The job analysis support device according to 3.
前記ジョブ内容情報と前記ジョブ構造情報を参照して、データファイルと前記データファイルをアクセス対象とするプログラム、前記プログラムを構成要素とするジョブおよび前記ジョブに対応するジョブ属性情報を対応づけたデータセットを生成するデータセット生成部と、
前記ジョブリストにおいてユーザによりいずれかのジョブが選択されたとき、前記選択されたジョブを含む1以上のデータセットをデータセットリストとして画面表示させるデータセットリスト表示部と、
を更に備えることを特徴とする請求項3に記載のジョブ解析支援装置。 A job structure information acquisition unit for acquiring job structure information indicating one or more programs constituting the job and one or more data files to be accessed by each program;
Referring to the job content information and the job structure information, a data set that associates a data file, a program that accesses the data file, a job that uses the program as a component, and job attribute information that corresponds to the job A data set generation unit for generating
A data set list display unit for displaying one or more data sets including the selected job on the screen as a data set list when any job is selected by the user in the job list;
The job analysis support apparatus according to claim 3, further comprising:
前記データファイルに含まれる1以上のデータ要素の意味とデータ型を示す設計文書であるデータ定義文書ファイルを取得するデータ定義文書取得部と、
前記データ宣言情報と前記データ定義文書ファイルを参照して、データ要素の意味、データ名およびデータ型とを対応づけた要素セットを生成する要素セット生成部と、
前記データセットリストにおいてユーザによりいずれかのデータセットが選択されたとき、前記選択されたデータセットに関連する1以上のデータ要素について、1以上の要素セットを要素セットリストとして画面表示させる要素セットリスト表示部と、
を備えることを特徴とする請求項5に記載のジョブ解析支援装置。 A data declaration information acquisition unit for acquiring data declaration information indicating a data name declaration and a data type declaration of one or more data elements included in the data file;
A data definition document acquisition unit that acquires a data definition document file that is a design document indicating the meaning and data type of one or more data elements included in the data file;
An element set generation unit that generates an element set that associates the meaning, data name, and data type of the data element with reference to the data declaration information and the data definition document file;
An element set list that displays one or more element sets as an element set list on one or more data elements related to the selected data set when one of the data sets is selected by the user in the data set list A display unit;
The job analysis support apparatus according to claim 5, further comprising:
前記ジョブ関係情報を参照して、先行ジョブを設定されていないジョブを先頭ジョブとして検出し、複数の先頭ジョブのそれぞれに対応してメモリ上に複数の暫定リストを生成し、対応する暫定リストに先頭ジョブを登録する機能と、
前記ジョブ関係情報および各暫定リストの登録内容を参照し、先行ジョブの全てがいずれかの暫定リストに登録済であって、自身は暫定リストに未登録のジョブを候補ジョブとして検出し、前記候補ジョブをその先行ジョブが登録されている暫定リストに追加登録する追加登録処理を、前記複数のジョブ全てがいずれかの暫定リストに登録されるまで繰り返す機能と、
前記ジョブ関係情報および各暫定リストの登録内容を参照し、第1の暫定リストに登録されているジョブが第2の暫定リストに登録されているジョブの先行ジョブにあたるときには、前記第2の暫定リストに登録されているジョブを前記第1の暫定リストに転記することにより、前記第1の暫定リストに前記第2の暫定リストを結合する機能と、
前記複数のジョブを前記依存関係に基づいて一列に並べたリストとして、複数の暫定リストが結合されたジョブリストを画面表示させる機能と、
をコンピュータに発揮させることを特徴とするジョブ解析支援プログラム。 Job relation information indicating the preceding job corresponding to the preceding stage of each job for a plurality of jobs whose dependency is determined so that one or more jobs corresponding to the succeeding stage are executed on condition that one or more jobs corresponding to the preceding stage are executed. The ability to get and
Referring to the job-related information, a job for which no preceding job is set is detected as the first job, and a plurality of temporary lists are generated on the memory corresponding to each of the plurality of first jobs, and the corresponding temporary list is created. A function to register the first job,
Referring to the job-related information and the registration contents of each provisional list, all of the preceding jobs are already registered in any provisional list, and themselves detect unregistered jobs in the provisional list as candidate jobs. A function of repeating additional registration processing for additionally registering a job in a provisional list in which the preceding job is registered until all of the plurality of jobs are registered in any one of the provisional lists;
With reference to the job-related information and the registered contents of each provisional list, when the job registered in the first provisional list corresponds to the preceding job of the job registered in the second provisional list, the second provisional list A function of combining the second provisional list with the first provisional list by transferring the job registered in the first provisional list;
A function of displaying a job list in which a plurality of provisional lists are combined as a list in which the plurality of jobs are arranged in a line based on the dependency relationship;
A job analysis support program characterized by causing a computer to perform the job.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008001531A JP2009163566A (en) | 2008-01-08 | 2008-01-08 | Job analysis support apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008001531A JP2009163566A (en) | 2008-01-08 | 2008-01-08 | Job analysis support apparatus |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009163566A true JP2009163566A (en) | 2009-07-23 |
Family
ID=40966101
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008001531A Pending JP2009163566A (en) | 2008-01-08 | 2008-01-08 | Job analysis support apparatus |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009163566A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011118520A (en) * | 2009-12-01 | 2011-06-16 | Nomura Research Institute Ltd | Information management apparatus |
JP2017522630A (en) * | 2014-05-29 | 2017-08-10 | アビニシオ テクノロジー エルエルシー | Workload automation and data lineage analysis |
US10643162B2 (en) | 2015-03-30 | 2020-05-05 | Fujitsu Limited | Method, apparatus, and storage medium |
-
2008
- 2008-01-08 JP JP2008001531A patent/JP2009163566A/en active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011118520A (en) * | 2009-12-01 | 2011-06-16 | Nomura Research Institute Ltd | Information management apparatus |
JP2017522630A (en) * | 2014-05-29 | 2017-08-10 | アビニシオ テクノロジー エルエルシー | Workload automation and data lineage analysis |
US10705877B2 (en) | 2014-05-29 | 2020-07-07 | Ab Initio Technology Llc | Workload automation and data lineage analysis |
US11748165B2 (en) | 2014-05-29 | 2023-09-05 | Ab Initio Technology Llc | Workload automation and data lineage analysis |
US10643162B2 (en) | 2015-03-30 | 2020-05-05 | Fujitsu Limited | Method, apparatus, and storage medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10558642B2 (en) | Mechanism for deprecating object oriented data | |
US20160170719A1 (en) | Software database system and process of building and operating the same | |
JP2022189877A (en) | RPA maintenance support device | |
JPWO2011118003A1 (en) | Web application construction system, web application construction method, web application construction program, and recording medium recording web application construction program | |
US10678864B2 (en) | Analysis model preparing system, programming apparatus, and analysis model preparing method | |
JP6048957B2 (en) | Information processing apparatus, program, and information processing method | |
US10303668B2 (en) | Automatic screen generation device, automatic screen generation program, and automatic screen generation method | |
JP2009163566A (en) | Job analysis support apparatus | |
US10884711B2 (en) | Code management system and code management method using a visual programming tool | |
JP2007164503A (en) | System production method, system and program, and data structure of definition information used in system production | |
JP7381290B2 (en) | Computer system and data management method | |
JP5504212B2 (en) | Test case automatic generation system, test case automatic generation method, and test case automatic generation program | |
US20140006092A1 (en) | Management apparatus and management method | |
JP2009258981A (en) | Project management device, project management method, project management program, and recording medium | |
JP2008165388A (en) | Program update management system, program update management method and computer program | |
JP4683535B2 (en) | Job net management system | |
JP2012164177A (en) | Program automatic generation system | |
US11921496B2 (en) | Information processing apparatus, information processing method and computer readable medium | |
JP2013238976A (en) | Source code generation system | |
JP5502696B2 (en) | Software development support system, software development support program, software development support method | |
JP2007034806A (en) | Information processor and program | |
JP2007034807A (en) | Information processor and program | |
JP2012088933A (en) | Software product line development support device, its method and its program | |
JP5007041B2 (en) | Job management apparatus and job management method | |
JP2008009966A (en) | Device and method for setting business process |