JP7361596B2 - Message processing device, message processing system and message processing program - Google Patents
Message processing device, message processing system and message processing program Download PDFInfo
- Publication number
- JP7361596B2 JP7361596B2 JP2019230583A JP2019230583A JP7361596B2 JP 7361596 B2 JP7361596 B2 JP 7361596B2 JP 2019230583 A JP2019230583 A JP 2019230583A JP 2019230583 A JP2019230583 A JP 2019230583A JP 7361596 B2 JP7361596 B2 JP 7361596B2
- Authority
- JP
- Japan
- Prior art keywords
- message
- instance
- unit
- message processing
- information
- 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.)
- Active
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Description
この発明は、ソフトウェアの開発または運用に関わる複数のインスタンス間におけるメッセージの送受信に関する。 The present invention relates to sending and receiving messages between multiple instances related to software development or operation.
従来、ソフトウェア開発の効率化を目的として、開発者間の情報共有を促進するためのチャットシステム、または開発者が実施すべきタスクの一覧および進行状況を管理するためのタスク管理システムが活用されている。また、従来、ボットを用いて複数のシステムを接続することにより、システム間の連携を容易にすることが行われている。例えば特許文献1では、チャットシステムとSMS(ショットメッセージサービス)システムをボットにより接続することによって、チャットシステムへの入力を用いてショートメッセージを送信可能にすることが記載されている。他にも、ボットがチャットシステムとタスク管理システムを接続することにより、チャットシステムを介してタスク管理システムを操作することが、従来行われている。これにより、情報を操作するために必要なコストが削減される。
Traditionally, chat systems to promote information sharing among developers or task management systems to manage the list of tasks to be performed by developers and their progress have been used to improve the efficiency of software development. There is. Furthermore, conventionally, bots have been used to connect multiple systems to facilitate coordination between systems. For example,
ソフトウェア開発においては、一つの組織(以下、「インスタンス」と称する)だけで開発対象の全コンポーネントの設計、開発、試験および運用といったプロセスを完結させることは難しい。そのため、複数のインスタンスが互いに相手の進捗状況を確認しながら開発を進めることが多い。 In software development, it is difficult for one organization (hereinafter referred to as an "instance") to complete the process of designing, developing, testing, and operating all the components to be developed. Therefore, multiple instances often proceed with development while checking each other's progress.
複数インスタンスにより行われるソフトウェア開発では、インスタンスごとに保有する開発管理システムの種類または情報の開示条件が異なる場合が多い。そのため、開発者はインスタンスを跨いだ情報共有を、メールまたは電話を用いて手動により行っていた。 In software development that is performed using multiple instances, the type of development management system held by each instance or the conditions for disclosing information are often different for each instance. Therefore, developers manually shared information across instances using email or telephone.
変化の激しいビジネス環境において、ソフトウェアに対する要求の変化は激しさを増しているため、要求の変化に追従するとともに新しいビジネス価値を生み出すことが求められる。そのため、ソフトウェアのリリース頻度を上げることが求められており、機能のリリースまでのリードタイムの増加は、信用の失墜または販売機会の損失につながる。ソフトウェア開発において、インスタンス間の情報共有に要する時間は、機能の要件定義からリリースまでのリードタイムに大きな影響を与える。 In a rapidly changing business environment, the requirements for software are changing rapidly, so it is necessary to keep up with these changes and create new business value. Therefore, it is necessary to increase the frequency of software releases, and an increase in the lead time until the release of a function leads to a loss of trust or a loss of sales opportunities. In software development, the time required to share information between instances has a significant impact on the lead time from functional requirements definition to release.
インスタンス間の情報共有を人間による手作業で行うと、時間を要し、相手インスタンスからの返答を待つ間に作業が滞ってしまう。また、手作業で情報共有を行うと手間とミスが生じるため、リアルタイムの情報の伝達頻度が低下したり、共有情報に齟齬が生じるという問題がある。その結果、開発者は他インスタンスの古く不確かな情報に基づいた判断を行うため、タスクの選定など自チームの活動に関する意思決定を正しく行うことができず、インスタンスが提供する価値を最大化することが出来なくなる。 If information is shared between instances manually, it takes time, and work gets delayed while waiting for a response from the other instance. In addition, manual information sharing causes time and effort, leading to problems such as a reduction in the frequency of real-time information transmission and the occurrence of discrepancies in shared information. As a result, developers make decisions based on outdated and uncertain information from other instances, making it difficult to make correct decisions regarding their own team's activities, such as selecting tasks, and making it difficult to maximize the value provided by the instance. becomes impossible.
また、インスタンス間の情報共有をボットにより自動的に行ったとしても、単なる自動化では、メッセージへのアクセス権限が各インスタンスで個別に定められる場合に対応できないという問題があった。 Furthermore, even if information sharing between instances is automatically performed by a bot, there is a problem in that mere automation cannot handle cases where message access privileges are determined individually for each instance.
本発明は、上記の問題点を解決するためになされたものであり、ソフトウェアの開発に関わり、送信メッセージへのアクセス権限が個別に定められた複数のインスタンス間での情報共有を自動的に行うことを目的とする。 The present invention was made to solve the above problems, and involves the development of software to automatically share information between multiple instances in which access rights to transmitted messages are individually determined. The purpose is to
本発明のメッセージ処理装置は、同一ソフトウェアの開発または運用を行い固有の開発管理システムを有する複数のインスタンスの夫々に設けられ複数のインスタンス間でメッセージの送受信を行うメッセージ送受信装置の、メッセージの送受信を制御するメッセージ処理装置であって、メッセージ送受信装置からメッセージを受信するメッセージ管理部と、メッセージの送信元のインスタンスとメッセージへのアクセス権を有するインスタンスとが対応づけられたインスタンス情報を参照し、メッセージ管理部が受信したメッセージの送信元のインスタンスとインスタンス情報とに基づき、複数のインスタンスから対象インスタンスを決定し、対象インスタンスにメッセージ管理部が受信したメッセージを配信するメッセージ配信部と、を備える。 The message processing device of the present invention is capable of transmitting and receiving messages using a message transmitting and receiving device that is installed in each of a plurality of instances that develop or operate the same software and have a unique development management system, and that transmits and receives messages between the multiple instances. A message management unit that is a message processing device to be controlled and that receives messages from a message transmitting/receiving device refers to instance information that associates an instance of a message sender with an instance that has access rights to the message, and processes the message. The message distribution unit determines a target instance from a plurality of instances based on the instance of the transmission source of the message received by the management unit and the instance information, and distributes the message received by the message management unit to the target instance.
本発明のメッセージ処理装置は、インスタンス情報に基づき対象インスタンスを決定するため、送信メッセージに対するアクセス制御規則が各インスタンスで異なる場合に、送信元のインスタンスのアクセス制御規則に応じて、適切なインスタンスへメッセージを配信することができる。 Since the message processing device of the present invention determines the target instance based on the instance information, when the access control rules for sending messages are different for each instance, the message processing device sends the message to the appropriate instance according to the access control rules of the source instance. can be delivered.
<A.実施の形態1>
<A-1.構成>
図1は、実施の形態1のメッセージ処理システム101の構成を示す図である。メッセージ処理システム101は、インスタンスA、インスタンスB、およびメッセージ処理装置30を備えて構成される。
<A.
<A-1. Configuration>
FIG. 1 is a diagram showing the configuration of a
インスタンスAとインスタンスBは、共に同一のソフトウェアの開発または運用を行う組織であり、例えばインスタンスAが開発部門、インスタンスBが運用部門に相当する。インスタンスA,Bは、それぞれ固有の開発管理システム10を有し、さらにメッセージ送信装置41とメッセージ受信装置42とを有している。
Instance A and instance B are both organizations that develop or operate the same software, and for example, instance A corresponds to the development department and instance B corresponds to the operation department. Instances A and B each have their own
開発管理システム10は、例えば、チャットシステム11、タスク管理システム12、ビルド管理システム13、およびバージョン管理システム14を含む。チャットシステム11は、各インスタンス内の作業者同士のコミュニケーションに用いられる。タスク管理システム12は、作業者が実施するタスクを管理する。ビルド管理システム13は、ソフトウェアの自動テストまたは自動ビルドを行う。バージョン管理システム14は、ソフトウェアのバージョンを管理する。インスタンスAとインスタンスBは、それぞれ固有の開発管理システム10を有しているので、例えば、インスタンスAに属する作業者40は、インスタンスA内の開発管理システム10を操作することができるが、インスタンスB内の開発管理システム10を操作することが出来ない。
The
図1の例において、メッセージ処理システム101はインスタンスA,Bを備えている。しかし、メッセージ処理システム101が備えるインスタンスの数は2つに限らない。
In the example of FIG. 1, the
インスタンスA,Bは、メッセージ処理装置30にメッセージを送信するメッセージ送信装置41と、メッセージ処理装置30からメッセージを受信するメッセージ受信装置42を有する。なお、説明の都合上、図1ではインスタンスAにメッセージ送信装置41の構成を示し、インスタンスBにメッセージ受信装置42の構成を示しているが、実際にはインスタンスA,Bはメッセージ送信装置41とメッセージ受信装置42の両方を有する。言い換えれば、インスタンスA,Bは、メッセージの送信と受信を行うメッセージ送受信装置を有する。
Instances A and B have a
メッセージ送信装置41は、イベント検知部15、メッセージ生成部16、およびメッセージ送信部17を備える。イベント検知部15は、開発管理システムが発行するイベントを検知する。メッセージ生成部16は、イベント検知部15が検知したイベントの内容に基づきメッセージを生成する。メッセージ送信部17は、メッセージ生成部16が生成したメッセージをメッセージ処理装置30に送信する。
The
メッセージ受信装置42は、メッセージ受信部18、ジョブ実行部19、およびメッセージ処理データベース(DB)20を備える。メッセージ受信部18は、メッセージ処理装置30からメッセージを受信する。ジョブ実行部19は、メッセージ処理装置30のジョブ生成部36からジョブを受信し、実行する。メッセージ処理DB20には、メッセージ処理情報が格納されている。すなわち、メッセージ処理DB20は、メッセージ処理情報格納部として機能する。メッセージ処理情報は、メッセージの種別と、メッセージ受信装置42が属するインスタンスがメッセージの受信時に実行すべき処理の内容とが対応づけられた情報である。
The
メッセージ処理装置30は、メッセージ管理部31、メッセージデータベース(DB)32、ID生成部33、インスタンスデータベース(DB)34、メッセージ配信部35、およびジョブ生成部36を備えて構成される。メッセージ管理部31は、メッセージ送信装置41のメッセージ送信部17からメッセージを受信し、受信したメッセージをメッセージDB32に格納する。従って、メッセージDB32はメッセージ格納部として機能する。
The
図2は、メッセージDB32に格納されたメッセージのデータ形式を示している。メッセージは、メッセージを一意に識別するためのID(message_id)と、メッセージの種類(message_kind)と、送信元の情報(from)と、メッセージの内容(props)を含んでいる。送信元の情報(from)は、送信元のインスタンスの名称(instance_name)と、送信元の開発管理システムの識別ID(system_id)と、送信元の開発管理システムのシステム内の要素の識別ID(item_id)とを含んでいる。メッセージの内容は、メッセージの種類ごとに異なっている。例えば、ID=1001であり、種類「task」のメッセージの内容は、発生したイベントの種類(event_kind)「新規作成(create)」と、発生したイベントにより実行すべきタスクの名称(task_name)「〇〇の機能を追加する」と、当該タスクの識別ID(task_id)「10」と、報告者の氏名(repoeter_name)「〇〇」とを含んでいる。
FIG. 2 shows the data format of messages stored in the
また、メッセージが一連のメッセージ群の一つである場合、その先頭メッセージの送信元の情報(origin)を含んでいる。先頭メッセージの送信元の情報(origin)の項目は、本メッセージの送信元の情報(from)の項目と同様である。 Additionally, if the message is one of a series of messages, it includes information on the sender (origin) of the first message. The sender information (origin) item of the first message is the same as the sender information (from) item of this message.
図2に示したように、メッセージDB32に格納されるメッセージには、メッセージを一意に識別するためのID(message_id)が付与されている。ID生成部33はこれを基に、まだいずれのメッセージにも付与されていない新しいIDを生成し、メッセージ送信装置41のメッセージ生成部16に提供する。メッセージ生成部16はID生成部33から取得した新しいIDを付加してメッセージを生成する。
As shown in FIG. 2, each message stored in the
インスタンスDB34には、メッセージ処理システム101内のインスタンス、言い換えればメッセージ処理装置30と同一ネットワークに属するインスタンスに関するインスタンス情報が格納されている。すなわち、インスタンスDB34はインスタンス情報格納部として機能する。図3は、インスタンス情報の具体例を示している。図3の例においてインスタンス情報は、インスタンス名、サイト情報、部門情報、所属プロジェクト、アクセス制御の情報を含んでいる。インスタンス名は、開発部門1、開発部門2、運用部門1などである。サイト情報は、インスタンスが所在する場所の情報であり、例えば東京事業所、大阪事業所、兵庫事業所などである。部門種類は、インスタンスの種類であり、開発または運用などである。所属プロジェクトは、プロジェクト1,2などである。アクセス制御は、各インスタンスの送信情報にアクセス可能なインスタンスの情報を含んでいる。このように、インスタンス情報は、メッセージの送信元のインスタンスと、当該インスタンスから送信されたメッセージへのアクセス権を有するインスタンスとが対応づけられた情報である。
The
メッセージ配信部35は、インスタンスDB34を参照し、メッセージ管理部31が受信したメッセージを配信する対象のインスタンス(以下、「対象インスタンス」と称する)を決定し、対象インスタンスにメッセージを配信する。
The
ジョブ生成部36は、対象インスタンスの有するメッセージ処理DB20を参照し、配信するメッセージに対して対象インスタンスが行うべき処理をジョブとして生成し、ジョブを対象インスタンスのジョブ実行部19に送信する。
The
図4は、メッセージ処理DB20に格納されたメッセージ処理情報の具体例を示している。メッセージ処理情報は、受信したメッセージに対して行うべき処理をメッセージの種別ごとに定めた情報である。例えば、図4の例では、メッセージ処理情報において、「新規の不具合についてのメッセージ」に対して、「不具合を修正するタスクをタスク管理システムに追加する」という処理が定められている。また、「自インスタンスに対するチャットメッセージ」に対して、「チャットシステムにメッセージを投稿する」という処理が定められている。
FIG. 4 shows a specific example of message processing information stored in the
<A-2.動作>
図5は、不具合発生時の運用部門と開発部門との間でのメッセージ送受信に関するフローチャートを示している。以下、図5に沿ってメッセージ処理システム101の動作を説明する。以下の説明では、一例として運用部門をインスタンスAの作業者、開発部門をインスタンスBの作業者、運用部門botをインスタンスAのメッセージ送信装置41およびメッセージ受信装置42、開発部門botをインスタンスBのメッセージ送信装置41およびメッセージ受信装置42として扱う。
<A-2. Operation>
FIG. 5 shows a flowchart regarding message transmission and reception between the operation department and the development department when a problem occurs. The operation of the
まず、運用部門が不具合Xを不具合監視システムに登録する(ステップS1)。ここで、不具合監視システムは、インスタンスAの有する開発管理システムの一つである。次に、運用部門botが、開発部門に不具合Xの登録を通知する(ステップS2)。具体的には、イベント検知部15が、不具合Xの登録メッセージの送信というイベントの発生を検知する。そして、不具合Xの登録メッセージがメッセージ生成部16で生成され、メッセージ送信部17によりメッセージ処理装置30へ送信される。不具合Xの登録メッセージとは、運用部門の不具合監視システムに不具合Xが登録されたことを通知するメッセージである。
First, the operation department registers defect X in the defect monitoring system (step S1). Here, the defect monitoring system is one of the development management systems that instance A has. Next, the operation department bot notifies the development department of the registration of defect X (step S2). Specifically, the
メッセージ処理装置30において、メッセージ管理部31が不具合Xの登録メッセージを受信すると、メッセージDB32に保存する。そして、メッセージ配信部35は不具合Xの登録メッセージから、送信元インスタンスが運用部門であることを把握し、インスタンスDB34を参照して運用部門のアクセス制御情報を取得する。そして、メッセージ配信部35は運用部門のアクセス制御情報に従い、不具合Xの登録メッセージの配信先である対象インスタンスを決定する。ここで、運用部門のアクセス制御情報は、不具合の登録メッセージを開発部門が閲覧可能であることを定めているとする。この場合、メッセージ配信部35は開発部門を対象インスタンスに設定し、開発部門に不具合Xの登録メッセージを配信する。こうして、運用部門からメッセージ処理装置30を介して開発部門に不具合Xの登録メッセージが送信される。
In the
開発部門botは、不具合Xの登録メッセージを受信すると、タスク管理システム12に不具合Xに対応するタスクYを登録する(ステップS3)。具体的には、インスタンスBにおいてメッセージ受信部18が不具合Xの登録メッセージを受信し、ジョブ実行部19がメッセージ処理装置30のジョブ生成部36から不具合Xの登録メッセージに対するジョブを取得する。ここで、ジョブ生成部36は、インスタンスBのメッセージ受信装置42のメッセージ処理DBから、不具合Xの登録メッセージに対するインスタンスBの処理内容を取得し、取得した処理内容に基づき、インスタンスBが行うべきジョブを生成する。図4の例では、「新規の不具合についてのメッセージ」に対して、「不具合を修正するタスクをタスク管理システムに追加する」が定められているので、ジョブ生成部36は、「不具合Xを修正するタスクYをタスク管理システム12に登録する」というジョブを生成し、インスタンスBのジョブ実行部19へ送信する。そして、ジョブ実行部19はタスクYをタスク管理システム12に登録する。さらに、ジョブ実行部19は不具合XとタスクYを紐づける(ステップS4)。
When the development department bot receives the registration message for defect X, it registers task Y corresponding to defect X in the task management system 12 (step S3). Specifically, in instance B, the
次に、開発部門の作業者は、タスク管理システム12においてタスクYのステータスを進行中に変更する(ステップS5)。そして、開発部門botは、運用部門へタスクYのステータスの変更を通知する(ステップS6)。具体的には、インスタンスBのメッセージ送信装置41が、メッセージ処理装置30を介してインスタンスAに、不具合Xに対応するタスクYのステータスが進行中に変更したことを通知するメッセージを送信する。
Next, the development department worker changes the status of task Y to in progress in the task management system 12 (step S5). The development department bot then notifies the operation department of the change in the status of task Y (step S6). Specifically, the
運用部門botは、当該メッセージを受信すると、インスタンスAのタスク管理システム12において不具合Xのステータスを進行中に変更する(ステップS7)。そして、運用部門の作業者は、タスク管理システム12において不具合Xの詳細を追記する(ステップS8)。その後、運用部門botは、開発部門に対して不具合Xの詳細を通知する(ステップS9)。具体的には、インスタンスAのメッセージ送信装置41が、メッセージ処理装置30を介してインスタンスBに、不具合Xの詳細を通知するメッセージを送信する。
When the operation department bot receives the message, it changes the status of defect X to in progress in the
開発部門botは、当該メッセージを受信すると、インスタンスBのタスク管理システム12においてタスクYに不具合Xの詳細を追記する(ステップS10)。
When the development department bot receives the message, it adds the details of the defect X to the task Y in the
その後、開発部門の作業者はタスクYを完了すると、インスタンスBのタスク管理システム12においてタスクYのステータスを処置済に変更する(ステップS11)。そして、開発部門botは、運用部門へタスクYのステータスの変更を通知する(ステップS12)。具体的には、インスタンスBのメッセージ送信装置41が、メッセージ処理装置30を介してインスタンスAに、不具合Xに対応するタスクYのステータスが処置済に変更したことを通知するメッセージを送信する。
Thereafter, when the development department worker completes task Y, he changes the status of task Y to completed in the
運用部門botは、当該メッセージを受信すると、インスタンスAのタスク管理システム12において不具合Xのステータスを処置済に変更する(ステップS13)。その後、運用部門の作業者は、不具合Xが修正されていることを確認した上で、インスタンスAのタスク管理システム12において不具合Xのステータスを完了に変更する(ステップS14)。そして、運用部門botは、開発部門へ不具合Xのステータスの変更を通知する(ステップS15)。具体的には、インスタンスAのメッセージ送信装置41が、メッセージ処理装置30を介してインスタンスBに、不具合Xのステータスが完了に変更したことを通知するメッセージを送信する。
When the operation department bot receives the message, it changes the status of defect X to treated in the
開発部門botは、当該メッセージを受信すると、インスタンスBのタスク管理システム12においてタスクYのステータスを完了に変更する(ステップS16)。
When the development department bot receives the message, it changes the status of task Y to completed in the
<A-3.ハードウェア構成>
上述したメッセージ送信装置41、メッセージ受信装置42、およびメッセージ処理装置30の各構成は、図6に示す処理回路81により実現される。すなわち、処理回路81は、イベント検知部15、メッセージ生成部16、メッセージ送信部17、メッセージ受信部18、ジョブ実行部19、メッセージ処理DB20、メッセージ管理部31、メッセージDB32、ID生成部33、インスタンスDB34、メッセージ配信部35、およびジョブ生成部36(以下、「メッセージ配信部35等」と称する)を備える。処理回路81には、専用のハードウェアが適用されても良いし、メモリに格納されるプログラムを実行するプロセッサが適用されても良い。プロセッサは、例えば中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、DSP(Digital Signal Processor)等である。
<A-3. Hardware configuration>
The configurations of the
処理回路81が専用のハードウェアである場合、処理回路81は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)、またはこれらを組み合わせたものが該当する。~部等の各部の機能それぞれは、複数の処理回路81で実現されてもよいし、各部の機能をまとめて一つの処理回路で実現されてもよい。
When the
処理回路81がプロセッサである場合、メッセージ配信部35等の機能は、ソフトウェア等(ソフトウェア、ファームウェアまたはソフトウェアとファームウェア)との組み合わせにより実現される。ソフトウェア等はプログラムとして記述され、メモリに格納される。図7に示すように、処理回路81に適用されるプロセッサ82は、メモリ83に記憶されたプログラムを読み出して実行することにより、各部の機能を実現する。すなわち、メッセージ処理装置30は、メッセージ送信装置41からメッセージを受信するステップと、メッセージの送信元のインスタンスとメッセージへのアクセス権を有するインスタンスとが対応づけられたインスタンス情報を参照し、受信したメッセージの送信元のインスタンスとインスタンス情報とに基づき、複数のインスタンスから対象インスタンスを決定するステップと、対象インスタンスに受信したメッセージを配信するステップと、が結果的に実行されることになるプログラムを格納するためのメモリ83を備える。換言すれば、このプログラムは、メッセージ配信部35等の手順または方法をコンピュータに実行させるものであるともいえる。ここで、メモリ83には、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ、EPROM(Erasable Programmable Read Only Memory)、EEPROM(Electrically Erasable Programmable Read Only Memory)などの、不揮発性または揮発性の半導体メモリ、HDD(Hard Disk Drive)、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD(Digital Versatile Disk)及びそのドライブ装置等、または、今後使用されるあらゆる記憶媒体であってもよい。
When the
以上、メッセージ配信部35等の各機能が、ハードウェア及びソフトウェア等のいずれか一方で実現される構成について説明した。しかしこれに限ったものではなく、メッセージ管理部31等の一部を専用のハードウェアで実現し、別の一部をソフトウェア等で実現する構成であってもよい。例えばメッセージ生成部16については専用のハードウェアとしての処理回路でその機能を実現し、それ以外についてはプロセッサ82としての処理回路81がメモリ83に格納されたプログラムを読み出して実行することによってその機能を実現することが可能である。
The above has described a configuration in which each function of the
以上のように、処理回路は、ハードウェア、ソフトウェア等、またはこれらの組み合わせによって、上述の各機能を実現することができる。なお、メッセージ処理DB20、メッセージDB32、およびインスタンスDB34は、メモリ83から構成されるが、それらは単一のメモリ83から構成されてもよいし、それぞれが個別のメモリから構成されてもよい。
As described above, the processing circuit can realize each of the above functions using hardware, software, etc., or a combination thereof. Note that the
メッセージ処理装置30とインスタンスは、1対1である必要はない。botネットワークを構成するメッセージ処理装置30、メッセージ送信装置41、およびメッセージ受信装置42の構成は、ネットワークセグメントまたはサーバなどの配置に依存しない。例えば、図8に示すように、インスタンスA、インスタンスB、およびメッセージ処理装置30は、それぞれ異なるネットワークセグメントA,B,Cに設置されていても良い。あるいは、図9に示すように、インスタンスAとメッセージ処理装置30が同じネットワークセグメントAに設置され、インスタンスBが他のネットワークセグメントBに設置されていても良い。あるいは、図10に示すように、インスタンスA、インスタンスB、およびメッセージ処理装置30は、同じネットワークセグメントAに設置されていても良い。
There is no need for a one-to-one relationship between the
図9および図10に示すように、メッセージ処理装置30がインスタンスAと同じネットワークセグメントAに設定されていれば、ネットワークセグメントAがホストのような役割を担う拠点となることで、他のネットワークセグメントにメッセージ処理装置30が設けられなくても、開発環境またはプロトコルなどのインスタンス間のギャップを気にすることなく、遠隔地において共同でソフトウェアの開発を進めることが可能となる。また、図8に示すように、メッセージ処理装置30がインスタンスのないネットワークセグメントBに設置されている場合でも、ネットワークセグメントBがホストのような役割を担う拠点となることで、上記と同様の効果が得られる。
As shown in FIGS. 9 and 10, if the
<A-4.効果>
実施の形態1のメッセージ処理装置30は、同一ソフトウェアの開発または運用を行い固有の開発管理システム10を有する複数のインスタンスA,Bの夫々に設けられ複数のインスタンスA,B間でメッセージの送受信を行うメッセージ送受信装置の、メッセージの送受信を制御する。メッセージ処理装置30は、メッセージ送受信装置からメッセージを受信するメッセージ管理部31と、メッセージの送信元のインスタンスとメッセージへのアクセス権を有するインスタンスとが対応づけられたインスタンス情報を参照し、メッセージ管理部31が受信したメッセージの送信元のインスタンスとインスタンス情報とに基づき、複数のインスタンスから対象インスタンスを決定し、対象インスタンスにメッセージ管理部31が受信したメッセージを配信するメッセージ配信部35と、を備える。従って、メッセージ処理装置30によれば、送信メッセージに対するアクセス制御規則が各インスタンスで異なる場合に、送信元のインスタンスのアクセス制御規則に応じて、適切なインスタンスへメッセージを配信することができる。
<A-4. Effect>
The
また、メッセージ処理装置30は、メッセージの種別とメッセージの受信時に実行すべき処理の内容とが対応づけられたメッセージ処理情報を、対象インスタンスから取得し、メッセージ配信部35が配信するメッセージの種別とメッセージ処理情報とに基づき、対象インスタンスが実行すべきジョブを生成し、対象インスタンスに送信するジョブ生成部36と、を備えていても良い。この場合、メッセージ処理装置30によれば、受信メッセージに対する処理規則が各インスタンスで異なる場合に、対象インスタンスの処理規則に応じた適切なジョブを指示することができる。
The
また、メッセージ処理装置30は、インスタンス情報を格納するインスタンス情報格納部であるインスタンスDB34をさらに備えても良い。この場合、メッセージ処理装置30は、インスタンス情報の追加または削除を容易に行うことができる。
Furthermore, the
実施の形態1のメッセージ処理システム101は、同一ソフトウェアの開発または運用を行い固有の開発管理システムを有する複数のインスタンスの夫々に設けられ、複数のインスタンス間でメッセージの送受信を行うメッセージ送受信装置と、メッセージ送受信装置によるメッセージの送受信を制御するメッセージ処理装置30と、を備える。各メッセージ送受信装置は、自インスタンスの開発管理システムで発生したイベントを検知するイベント検知部15と、イベント検知部15が検知したイベントに基づきメッセージを生成するメッセージ生成部16と、メッセージ生成部16が生成したメッセージをメッセージ処理装置に送信するメッセージ送信部17と、を備える。メッセージ処理装置30は、メッセージ送受信装置のメッセージ送信部17からメッセージを受信するメッセージ管理部31と、メッセージの送信元のインスタンスとメッセージへのアクセス権を有するインスタンスとが対応づけられたインスタンス情報を参照し、メッセージ管理部31が受信したメッセージの送信元のインスタンスとインスタンス情報とに基づき、複数のインスタンスから対象インスタンスを決定し、対象インスタンスにメッセージ管理部31が受信したメッセージを配信するメッセージ配信部35と、を備える。各メッセージ送受信装置は、メッセージ処理装置30のメッセージ配信部35からメッセージを受信するメッセージ受信部18と、メッセージ受信部18が受信したメッセージに応じたジョブを自インスタンスの開発管理システム10に対して実行するジョブ実行部19と、を備える。従って、メッセージ処理システム101によれば、自インスタンスから送信したメッセージに対するアクセス制御規則が各インスタンスで異なる場合に、送信元のインスタンスのアクセス制御規則に応じて、適切なインスタンスへメッセージを配信することができる。
The
また、メッセージ処理システム101において、メッセージ処理装置30は、メッセージの種別とメッセージの受信時に実行すべき処理の内容とが対応づけられたメッセージ処理情報を、対象インスタンスから取得し、メッセージ配信部が配信するメッセージの種別とメッセージ処理情報とに基づき、対象インスタンスが実行すべきジョブを生成し、対象インスタンスに送信するジョブ生成部36を備え、ジョブ実行部19は、メッセージ処理装置30のジョブ生成部36からジョブを受信し、ジョブを自インスタンスの開発管理システム10に対して実行し、メッセージ送受信装置は、メッセージ処理情報を格納するメッセージ処理情報格納部であるメッセージ処理DBを備える。従って、メッセージ処理システム101によれば、受信メッセージに対する処理規則が各インスタンスで異なる場合に、対象インスタンスの処理規則に応じた適切なジョブを対象インスタンスで実行することができる。
Further, in the
なお、本発明は、その発明の範囲内において、各実施の形態を自由に組み合わせたり、各実施の形態を適宜、変形、省略したりすることが可能である。 Note that within the scope of the invention, the embodiments of the present invention can be freely combined, and the embodiments can be modified or omitted as appropriate.
10 開発管理システム、11 チャットシステム、12 タスク管理システム、13 ビルド管理システム、14 バージョン管理システム、15 イベント検知部、16 メッセージ生成部、17 メッセージ送信部、18 メッセージ受信部、19 ジョブ実行部、20 メッセージ処理DB、30 メッセージ処理装置、31 メッセージ管理部、32 メッセージDB、33 ID生成部、34 インスタンスDB、35 メッセージ配信部、36 ジョブ生成部、40 作業者、41 メッセージ送信装置、42 メッセージ受信装置、81 処理回路、82 プロセッサ、83 メモリ、101 メッセージ処理システム。 10 Development management system, 11 Chat system, 12 Task management system, 13 Build management system, 14 Version control system, 15 Event detection unit, 16 Message generation unit, 17 Message transmission unit, 18 Message reception unit, 19 Job execution unit, 20 Message processing DB, 30 Message processing device, 31 Message management unit, 32 Message DB, 33 ID generation unit, 34 Instance DB, 35 Message distribution unit, 36 Job generation unit, 40 Operator, 41 Message transmission device, 42 Message reception device , 81 processing circuit, 82 processor, 83 memory, 101 message processing system.
Claims (6)
前記メッセージ送受信装置から前記メッセージを受信するメッセージ管理部と、
前記メッセージの送信元の前記インスタンスと前記メッセージへのアクセス権を有する前記インスタンスとが対応づけられたインスタンス情報を参照し、前記メッセージ管理部が受信した前記メッセージの送信元の前記インスタンスと前記インスタンス情報とに基づき、前記複数のインスタンスから対象インスタンスを決定し、前記対象インスタンスに前記メッセージ管理部が受信した前記メッセージを配信するメッセージ配信部と、を備える、
メッセージ処理装置。 A message processing device that controls the sending and receiving of messages of a message sending and receiving device that is installed in each of a plurality of instances that develop or operate the same software and has a unique development management system, and that sends and receives messages between the plurality of instances. There it is,
a message management unit that receives the message from the message transmitting/receiving device;
The instance of the sender of the message and the instance information received by the message management unit refer to the instance information in which the instance of the sender of the message is associated with the instance that has access rights to the message. a message distribution unit that determines a target instance from the plurality of instances based on the above, and distributes the message received by the message management unit to the target instance,
Message processing device.
請求項1に記載のメッセージ処理装置。 Message processing information in which the type of the message is associated with the content of the process to be executed when receiving the message is acquired from the target instance, and the type of the message and the message processing information to be distributed by the message distribution unit are obtained. further comprising a job generation unit that generates a job to be executed by the target instance based on the above, and transmits the job to the target instance.
Message processing device according to claim 1.
請求項1または請求項2に記載のメッセージ処理装置。 further comprising an instance information storage unit that stores the instance information;
A message processing device according to claim 1 or claim 2.
前記メッセージ送受信装置による前記メッセージの送受信を制御するメッセージ処理装置と、
を備えるメッセージ処理システムであって、
各前記メッセージ送受信装置は、
自インスタンスの前記開発管理システムで発生したイベントを検知するイベント検知部と、
前記イベント検知部が検知した前記イベントに基づき前記メッセージを生成するメッセージ生成部と、
前記メッセージ生成部が生成した前記メッセージを前記メッセージ処理装置に送信するメッセージ送信部と、を備え、
前記メッセージ処理装置は、
前記メッセージ送受信装置の前記メッセージ送信部から前記メッセージを受信するメッセージ管理部と、
前記メッセージの送信元の前記インスタンスと前記メッセージへのアクセス権を有する前記インスタンスとが対応づけられたインスタンス情報を参照し、前記メッセージ管理部が受信した前記メッセージの送信元の前記インスタンスと前記インスタンス情報とに基づき、前記複数のインスタンスから対象インスタンスを決定し、前記対象インスタンスに前記メッセージ管理部が受信した前記メッセージを配信するメッセージ配信部と、を備え、
各前記メッセージ送受信装置は、
前記メッセージ処理装置の前記メッセージ配信部から前記メッセージを受信するメッセージ受信部と、
前記メッセージ受信部が受信した前記メッセージに応じたジョブを自インスタンスの前記開発管理システムに対して実行するジョブ実行部と、を備える、
メッセージ処理システム。 a message transmitting/receiving device that is provided in each of a plurality of instances that develop or operate the same software and has a unique development management system, and that transmits and receives messages between the plurality of instances;
a message processing device that controls transmission and reception of the message by the message transmission and reception device;
A message processing system comprising:
Each of the message transmitting and receiving devices includes:
an event detection unit that detects an event occurring in the development management system of its own instance;
a message generation unit that generates the message based on the event detected by the event detection unit;
a message transmitting unit that transmits the message generated by the message generating unit to the message processing device,
The message processing device includes:
a message management unit that receives the message from the message transmission unit of the message transmission/reception device;
The instance of the sender of the message and the instance information received by the message management unit refer to the instance information in which the instance of the sender of the message is associated with the instance that has access rights to the message. a message distribution unit that determines a target instance from the plurality of instances based on the above, and distributes the message received by the message management unit to the target instance,
Each of the message transmitting and receiving devices includes:
a message receiving unit that receives the message from the message distribution unit of the message processing device;
a job execution unit that executes a job on the development management system of its own instance according to the message received by the message reception unit;
Message processing system.
前記メッセージの種別と前記メッセージの受信時に実行すべき処理の内容とが対応づけられたメッセージ処理情報を、前記対象インスタンスから取得し、前記メッセージ配信部が配信する前記メッセージの種別と前記メッセージ処理情報とに基づき、前記対象インスタンスが実行すべき前記ジョブを生成し、前記対象インスタンスに送信するジョブ生成部をさらに備え、
前記ジョブ実行部は、前記メッセージ処理装置の前記ジョブ生成部から前記ジョブを受信し、前記ジョブを自インスタンスの前記開発管理システムに対して実行し、
前記メッセージ送受信装置は、前記メッセージ処理情報を格納するメッセージ処理情報格納部をさらに備える、
請求項4に記載のメッセージ処理システム。 The message processing device includes:
Message processing information in which the type of the message is associated with the content of the process to be executed when receiving the message is acquired from the target instance, and the type of the message and the message processing information to be distributed by the message distribution unit are obtained. further comprising a job generation unit that generates the job to be executed by the target instance based on the above, and transmits the job to the target instance,
The job execution unit receives the job from the job generation unit of the message processing device, and executes the job on the development management system of its own instance,
The message transmitting/receiving device further includes a message processing information storage unit that stores the message processing information.
5. The message processing system according to claim 4.
同一ソフトウェアの開発または運用を行い固有の開発管理システムを有する複数のインスタンスの夫々に設けられ前記複数のインスタンス間でメッセージの送受信を行うメッセージ送受信装置の、前記メッセージの送受信を制御するメッセージ処理装置であって、
前記メッセージ送受信装置から前記メッセージを受信するメッセージ管理部と、
前記メッセージの送信元の前記インスタンスと前記メッセージへのアクセス権を有する前記インスタンスとが対応づけられたインスタンス情報を参照し、前記メッセージ管理部が受信した前記メッセージの送信元の前記インスタンスと前記インスタンス情報とに基づき、前記複数のインスタンスから対象インスタンスを決定し、前記対象インスタンスに前記メッセージ管理部が受信した前記メッセージを配信するメッセージ配信部として動作させるための、
メッセージ処理プログラム。 computer,
A message processing device that controls the sending and receiving of messages of a message sending and receiving device that is installed in each of a plurality of instances that develop or operate the same software and has a unique development management system, and that sends and receives messages between the plurality of instances. There it is,
a message management unit that receives the message from the message transmitting/receiving device;
The instance of the sender of the message and the instance information received by the message management unit refer to the instance information in which the instance of the sender of the message is associated with the instance that has access rights to the message. to operate as a message distribution unit that determines a target instance from the plurality of instances based on the above, and distributes the message received by the message management unit to the target instance;
Message processing program.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019230583A JP7361596B2 (en) | 2019-12-20 | 2019-12-20 | Message processing device, message processing system and message processing program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019230583A JP7361596B2 (en) | 2019-12-20 | 2019-12-20 | Message processing device, message processing system and message processing program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021099619A JP2021099619A (en) | 2021-07-01 |
JP7361596B2 true JP7361596B2 (en) | 2023-10-16 |
Family
ID=76541249
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019230583A Active JP7361596B2 (en) | 2019-12-20 | 2019-12-20 | Message processing device, message processing system and message processing program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7361596B2 (en) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001290853A (en) | 2000-04-05 | 2001-10-19 | Nec Corp | Developing method, developemnt assistance system, and storage medium stored with program |
JP2003114812A (en) | 2001-10-04 | 2003-04-18 | Nec Corp | Method, system and program for web page operation monitoring |
JP2004171086A (en) | 2002-11-18 | 2004-06-17 | Net Dreamers Co Ltd | Operation/updating business management system of digital contents, its method and program |
JP2010257018A (en) | 2009-04-22 | 2010-11-11 | Nec Corp | Information storage system, maintenance system, information storage method, information storage program, and information storage apparatus |
US20120011406A1 (en) | 2010-07-09 | 2012-01-12 | Salesforce.Com, Inc. | Techniques for distributing information in a computer network related to a software anomaly |
JP2017211777A (en) | 2016-05-24 | 2017-11-30 | 株式会社リコー | Information processing device, information processing program, and information processing system |
JP2018018501A (en) | 2016-07-14 | 2018-02-01 | 株式会社リコー | Information processing system, information processing device, information processing method, and information processing program |
JP2021128385A (en) | 2020-02-10 | 2021-09-02 | 株式会社リコー | Information processing system, system, and usage restriction method |
-
2019
- 2019-12-20 JP JP2019230583A patent/JP7361596B2/en active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001290853A (en) | 2000-04-05 | 2001-10-19 | Nec Corp | Developing method, developemnt assistance system, and storage medium stored with program |
JP2003114812A (en) | 2001-10-04 | 2003-04-18 | Nec Corp | Method, system and program for web page operation monitoring |
JP2004171086A (en) | 2002-11-18 | 2004-06-17 | Net Dreamers Co Ltd | Operation/updating business management system of digital contents, its method and program |
JP2010257018A (en) | 2009-04-22 | 2010-11-11 | Nec Corp | Information storage system, maintenance system, information storage method, information storage program, and information storage apparatus |
US20120011406A1 (en) | 2010-07-09 | 2012-01-12 | Salesforce.Com, Inc. | Techniques for distributing information in a computer network related to a software anomaly |
JP2017211777A (en) | 2016-05-24 | 2017-11-30 | 株式会社リコー | Information processing device, information processing program, and information processing system |
JP2018018501A (en) | 2016-07-14 | 2018-02-01 | 株式会社リコー | Information processing system, information processing device, information processing method, and information processing program |
JP2021128385A (en) | 2020-02-10 | 2021-09-02 | 株式会社リコー | Information processing system, system, and usage restriction method |
Also Published As
Publication number | Publication date |
---|---|
JP2021099619A (en) | 2021-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11943312B2 (en) | Custom reference tag for versioning | |
CN102202078B (en) | The method and system of a kind of multiple foreign peoples roles for configuration server field | |
CN102195807B (en) | Device management apparatus, device management system, information management method, information management program and recording medium | |
US8495182B1 (en) | Scalable systems management abstraction framework | |
JP2009277081A (en) | Computer system for managing password for detecting information about component arranged on network, its method, and computer program | |
EP2302550A2 (en) | System, method and computer-readable storage medium for managing licenses of multi-function peripherals | |
US20110161931A1 (en) | Automated stream-based change flows within a software configuration management system | |
US11367027B2 (en) | Titanium task-engine system | |
JP2018072948A (en) | Information processing system, update method, information processor, and program | |
EP4033467A1 (en) | Instructions and method for commissioning a fire system | |
US20090260020A1 (en) | Automated Scripting Methods and Media | |
CN113407973B (en) | Software function authority management method, system, server and storage medium | |
JP7361596B2 (en) | Message processing device, message processing system and message processing program | |
JP2018055571A (en) | Application development environment providing system, application development environment providing method, application development environment providing program, and terminal device | |
JP2009169724A (en) | Maintenance support device | |
WO2016080268A1 (en) | Processing condition management system and production system | |
CN110447018B (en) | Operation management server, development operation support system, method thereof, and non-transitory computer-readable medium storing program thereof | |
US20170078509A1 (en) | Information processing system and information processing method | |
JP2006331202A (en) | Management system | |
JP2009169793A (en) | Service management method, system, and program | |
CN113918525A (en) | Data exchange scheduling method, system, electronic device, medium, and program product | |
JP2004310742A (en) | Service processing method and device | |
JP6677345B2 (en) | Development operation support system, development management server, operation management server, their methods and programs | |
JP6753524B2 (en) | Distribution history management system, distribution history management device, method and program | |
US9672489B1 (en) | Inventory validator with notification manager |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220913 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20230707 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20230905 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20231003 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7361596 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |