CN101674255A - Method, server and system for forwarding messages of enterprise service bus - Google Patents

Method, server and system for forwarding messages of enterprise service bus Download PDF

Info

Publication number
CN101674255A
CN101674255A CN200810119861A CN200810119861A CN101674255A CN 101674255 A CN101674255 A CN 101674255A CN 200810119861 A CN200810119861 A CN 200810119861A CN 200810119861 A CN200810119861 A CN 200810119861A CN 101674255 A CN101674255 A CN 101674255A
Authority
CN
China
Prior art keywords
esb
engine
message
core
called
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.)
Granted
Application number
CN200810119861A
Other languages
Chinese (zh)
Other versions
CN101674255B (en
Inventor
徐洪波
代卫兴
付东普
邓鹏飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BEIJING DONGFANGTONG SCIENCE & TECHNOLOGY DEVELOPMENT Co Ltd
Beijing Tongtech Co Ltd
Original Assignee
BEIJING DONGFANGTONG SCIENCE & TECHNOLOGY DEVELOPMENT Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by BEIJING DONGFANGTONG SCIENCE & TECHNOLOGY DEVELOPMENT Co Ltd filed Critical BEIJING DONGFANGTONG SCIENCE & TECHNOLOGY DEVELOPMENT Co Ltd
Priority to CN2008101198616A priority Critical patent/CN101674255B/en
Publication of CN101674255A publication Critical patent/CN101674255A/en
Application granted granted Critical
Publication of CN101674255B publication Critical patent/CN101674255B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Telephonic Communication Services (AREA)

Abstract

The invention relates to a system for forwarding messages of an ESB. The system comprises an access engine and an ESB kernel, wherein the access engine provides access support of respective technicalspecification for a caller party and a callee party, and forwards a call request of the caller party or an execution result of the callee party; and the ESB kernel determines positions and types of afirst access engine corresponding to the caller party and a second access engine corresponding to the callee party, and selects direct forwarding, forwarding after natural serialization or forwardingor after unified message conversion of the call request transmitted by the caller party through the first access engine according to a determination result. The invention also relates to an ESB message forwarding method and a server which correspond to the system. The method and the system thereof perform message conversion of different strategies aiming at different conditions on comparison of the access engine types on the ESB, execute direct forwarding, natural serialization or unified message conversion of the messages according to different priorities, and achieve the aims of reducing message conversion times and improving the performance through optimization.

Description

A kind of message forwarding method of ESB, server and system thereof
Technical field
The present invention relates to areas of information technology, relate in particular to message forwarding method, server and the system thereof of a kind of ESB (Enterprise ServiceBus, ESB).
Background technology
The enterprises information technology environment is very complicated, is usually expressed as the diversity of realization technology, and the adjustment of the cooperation based on the processing unit of different technologies standard that causes owing to the technology diversity, operation flow, a series of complexity such as administers and maintains.ESB then provides in consistent mode and has inserted scheme with the processing components of managing different realization technology, even the technology difference that inner realization is relied on, these processing components all present unified service outward appearance after inserting ESB, each other promptly can be free mutual by ESB.On this basis, can use uniform way to come composite services, layout and adjustment operation flow increase infrastructure service strategy or the like.
At SOA (Service Oriented Architecture, Enterprise SOA) under the application scenarios, the user can insert bus to existing business processes parts and form service on the bus, perhaps creates the new service on the ESB, and then it is carried out the structure and the transformation of flow process.In order to connect the assembly that uses different outside technical standards to realize, ESB need use a kind of unified message to represent that mode is used as intermediary.Specifically, ESB need become unified message with the message conversion that called side sends, and when unified message sent to the side of being called, ESB also will be responsible for unified message is converted into the desired message format of realization technology that satisfies the side of being called.This just means that two services are undertaken must carrying out the unified message conversion mutual the time by ESB, and this conversion is unnecessary for using the assembly of realizing with a kind of technical specification, can cause extra efficient expense.And this efficient expense is unallowed in some SOA such as efficient keys such as the integrated types of business data use.
Summary of the invention
(1) technical problem that will solve
The message forwarding method, server and the system thereof that the purpose of this invention is to provide a kind of ESB adopt unified intermediary's form to carry out message conversion and the problem of the additional efficiency expense that causes to solve ESB in the prior art.
(2) technical scheme
In order to achieve the above object, the present invention takes following scheme:
The message forwarding method of a kind of ESB comprises:
Insert engine and intercept the call request that the call direction side of being called sends, mode with message is transmitted request by the ESB core to target, this moment, described ESB core judged that automatically first of called side correspondence inserts the position and the type of the engine second access engine corresponding with the side of being called, and select different message conversion forms to carry out message conversion and transformation result is sent to described second inserting engine according to judged result, described message conversion form comprises direct forwarding, natural sequenceization and unified message conversion.
In the message forwarding method of above-mentioned ESB, described ESB core is judged position that first, second inserts engine and type and is specifically comprised according to the step that judged result is carried out message conversion:
Described ESB core judges whether the described position that first, second inserts engine is identical, if, then do not do conversion, directly described call request is forwarded to described second and inserts engine; Otherwise,
Described ESB core judges whether the described type that first, second inserts engine is identical, if then use the natural sequence mode that described call request is carried out message conversion, and the serializing result is forwarded to the described second access engine; Otherwise,
Use default intermediary's message format to carry out the unified message conversion, and the unified message that obtains is forwarded to the described second access engine.
Here the natural sequence mode of indication is meant according to the best practices mode that inserts the realization demand of technical standard that engine supports conversion is carried out in request of calling or return results, the purpose of conversion be for obtain a kind of can across a network, stride the intermediate form that the agreement carrying is transmitted.Dui Ying unserializing then is that data with this intermediate form are converted to original calling and ask or return results with it.The concrete format transformation of the natural sequenceization/unserializing of different realization specification requirements is determined by technical specification separately, may differ from one another, but usually all can be higher or identical at least than the efficient of carrying out the unified message conversion with intermediary's form.
In the message forwarding method of above-mentioned ESB, after the described second access engine was received the message of described ESB core forwarding, this method also comprised:
The described second access engine carries out inverse conversion according to the selected message conversion form of ESB core and obtains the original call request, and is transmitted to the execution of the described side of being called;
After the described second access engine is received the execution result of the described side of being called, insert engine according to described first and pass through the reverse order that the ESB core is transmitted call request, described execution result is back to described first by the ESB core inserts engine.
In the message forwarding method of above-mentioned ESB, described ESB core judges that if described ESB core finds can not determine that described second inserts the access style of engine, then this method also comprises in the step of position that first, second inserts engine and type:
Change described ESB core over to and use the natural sequence mode to carry out message conversion and the serializing result is forwarded to second inserting the step of engine, if obtain the unusual retry request of message of the described second access engine feedback, then
Change the step that described ESB core is used intermediary's message format to carry out the unified message conversion and the unified message that obtains is forwarded to the described second access engine over to.
In the message forwarding method of above-mentioned ESB, the serializing result is carried out in the step of unserializing if described second inserts engine, described unserializing is not failed owing to first, second access engine type matches, then described second inserts engine writes down this to call state is the unusual retry state of message, and the unusual retry request of message is back to described ESB core;
Unified message is converted in the step that meets self-technique cannonical format message call if described second inserts engine, described unified message convert failed, the then described second access engine termination process also writes down this and calls state for failing.
In the message forwarding method of above-mentioned ESB, described second inserts engine receives that the described side of being called is finished behind the execution result that returns, self type information is sent to described ESB core with described execution result carries out type registration, then in follow-up invoked procedure, described ESB core is carried out message conversion according to the described type information of record.
Technical scheme of the present invention also proposes the forwards server of a kind of ESB, and this server comprises:
Insert engine,, and the call request of called side or the execution result of the side of being called are transmitted for called side and the side of being called provide the access support of technical specification separately;
The ESB core, first of described called side correspondence is inserted corresponding second the inserting engine and carry out the judgement of position and type in engine and the described side of being called, and according to judged result select to carry out called side by first insert transmit after the direct forwarding of call request that engine sends or the natural sequenceization or the unified message conversion after forwarding.
In the forwards server of above-mentioned ESB, described ESB core further comprises:
The message routing unit inserts the side's of being called execution result that engine is transmitted to the described first called side call request and described second that inserts the engine forwarding, carries out the conversion and the forwarding of message;
The position judgment unit is judged the described position that first, second inserts engine, and provides positional information for the message routing unit; If positional information shows that two access engines are identical, then described message routing unit can carry out the direct forwarding of call request/execution result, otherwise the message routing unit can carry out the type judgement by the notification type judging unit;
The type judging unit is judged the described type that first, second inserts engine, and provides type information for the message routing unit.If it is identical that type information shows type, then described message routing unit can carry out the natural sequence conversion and the forwarding of call request/execution result, otherwise described message routing unit carries out the unified message conversion of call request/execution result and transmits.
In the forwards server of above-mentioned ESB, described ESB core also comprises:
Transmit debugging unit, when described type judging unit can't be judged described second type that inserts engine, notify described message routing unit at first to carry out described natural sequenceization and forwarding, and behind described natural sequenceization and retransmission failure, carry out described unified message conversion and forwarding again;
The type registering unit, automatically the type of collecting all access engines in the current server is as the message conversion foundation, and when described second inserts the execution result of the engine feedback side of being called, write down described second and insert the type information of engine and register, as the message conversion foundation of subsequent calls process.
Technical scheme of the present invention continues to propose the message repeater system of a kind of ESB, and this system comprises:
A plurality of ESB servers, can use different agreements to link together between these ESB servers, and caller and callee are provided the notion of a logic ESB, concerning insert thereon caller and callee the ESB of such logic shielded the difference of realization technology between caller and the callee, also shielded the difference of different agreement connected mode between the different ESB servers;
Each ESB server further comprises:
Insert engine, for called side and the side of being called provide the access support of technical specification separately, an access engine only provides a kind of support of technical specification, and the call request of called side or the execution result of the side of being called transmitted, and the basic support of the message transformation of institute's supporting technology standard;
The ESB core, first of described called side correspondence is inserted corresponding second the inserting engine and carry out the judgement of position and type in engine and the described side of being called, and according to judged result select to carry out called side by first insert transmit after the direct forwarding of call request that engine sends or the natural sequenceization or the unified message conversion after forwarding;
Transmission part, the function of different agreement connected mode between the back-level server, ESB core can utilize transmission part to transmit message between the ESB of different server core.
In the message repeater system of above-mentioned ESB, described ESB core further comprises:
The position judgment unit is judged the described position that first, second inserts engine, and provides positional information for the message routing unit;
The type judging unit is judged the described type that first, second inserts engine, and provides type information for the message routing unit;
The message routing unit inserts the side's of being called execution result that engine is transmitted to the described first called side call request and described second that inserts the engine forwarding, carries out the conversion and the forwarding of message; Can judge by the use location judging unit during message conversion, to insert engines identical then do not carry out message conversion if the positional information that obtains shows first and second, if difference then continue the type of service judging unit and judge, and carry out corresponding conversion according to the type information that obtains; When the message after the conversion is transmitted, the positional information that meeting use location judging unit obtains:, then can use transmission unit with the ESB core of transmission of messages to destination server if be positioned at different server if the first and second access engines are positioned at same server then directly transmit.
In the message repeater system of above-mentioned ESB, described ESB core also comprises:
The type debugging unit, when described type judging unit can't be judged the described type that first, second inserts engine, notify described message routing unit at first to carry out described natural sequenceization and forwarding, and behind described natural sequenceization and retransmission failure, carry out described unified message conversion and forwarding again;
The type registering unit, automatically the type of collecting all access engines in the current server is as the message conversion foundation, and when described second inserts the execution result of the engine feedback side of being called, write down described second and insert the type information of engine and register, as the message conversion foundation of subsequent calls process.
(3) beneficial effect
The technical scheme of the message forwarding method of ESB of the present invention, server and system thereof, carry out the message conversion of Different Strategies at the different situations that insert the engine type comparison, press different priorities and carry out the direct forwarding of message, natural sequenceization or unified message conversion, reach the purpose that reduces the message transformation number of times, improves performance by optimization.
Description of drawings
Fig. 1 is message forwarding method embodiment one flow chart of ESB of the present invention;
Fig. 2 is message forwarding method embodiment two flow charts of ESB of the present invention;
Fig. 3 is message forwarding method embodiment three flow charts of ESB of the present invention;
Fig. 4 is message forwarding method embodiment four flow charts of ESB of the present invention;
Fig. 5 is message forwarding method embodiment five flow charts of ESB of the present invention;
Fig. 6 is the forwards server implementation example structure chart of ESB of the present invention;
Fig. 7 is the message repeater system example structure figure of ESB of the present invention.
Embodiment
Following examples are used to illustrate the present invention, but are not used for limiting the scope of the invention.
Fig. 1 is message forwarding method embodiment one flow chart of ESB of the present invention, as shown in the figure, may further comprise the steps:
S101, access engine are tackled the call request that the call direction side of being called sends, and are called forwarding to the ESB core request;
When called side was called the service that the side of being called provides, the call request that sends to the side of being called can the corresponding access engine interception in the side of being called, and called forwarding with the form of message to the ESB core request by the access engine.
S102, ESB core judge according to the request of calling forwarding whether the called side and the side of being called are inserted by same access engine, if then change step S103, otherwise change step S104;
The ESB core receive insert engine call the request of forwarding after, need at first to determine the position of the called side and the side of being called, judge whether both sides are inserted by identical access engine, and according to the different message conversion strategy of judged result execution.
S103, ESB core directly are forwarded to call request the access engine;
If draw called side and the side of being called is inserted by same access engine by above-mentioned steps S102, then need not to carry out the conversion of message, by the ESB core call request directly is forwarded to and inserts engine and handle, concrete handling process is seen below and is stated embodiment two.
S104, ESB core judge first of called side correspondence insert engine and the side of being called corresponding whether second to insert engine type identical, if otherwise commentaries on classics step S105, if or can't judge and then change step S106;
Different with the position of the side of being called in called side, under the situation by different access engine accesses, the ESB core also needs further to judge whether the type of two access engines is identical, and carry out the adjustment of message conversion strategy according to judged result respectively.If or find then to change the flow process of attempting natural sequenceization over to when second access engine type the unknown can't be judged, otherwise enter the unified message transformation flow, specifically as described later.
S105, ESB core use default intermediary's message format to carry out the unified message conversion, and the unified message that obtains is forwarded to the second access engine;
If first, second type that inserts engine differs from one another, then the ESB core need use the intermediary's message format that sets in advance that the unified message conversion is carried out in the request of calling, and the unified message that obtains will be forwarded to second and insert engine and carry out subsequent treatment, concrete processing procedure can be referring to the aftermentioned embodiment of the invention four.
The natural sequence mode of S106, use message object is carried out message conversion, and the serializing result is forwarded to the second access engine;
If first, second type that inserts engine is identical, then the ESB core needs carry out the natural sequence processing to the request of calling, and the serializing result is forwarded to second inserts engine and carry out subsequent treatment.
S107, second inserts engine and judges whether the message unserializing is successful, if then change step S109, otherwise changes step S108;
Second insert the serializing result that engine receives that the ESB core sends after, need to attempt carrying out the unserializing of message, if success then the result of unserializing can be forwarded to the side's of being called execution, its concrete processing procedure can be with reference to the aftermentioned embodiment of the invention three; If do not lead to the failure because type does not match during the unserializing of the second access engine, then need change step S108 and carry out subsequent treatment.
Even type matching may appear in practical application, but still can be uncertain former thereby cause the situation of unserializing failure because of some, can cause flow process failure and end this moment, and generation abort response message, this abort is replied this by the ESB core, and first inserts engine returns to the caller reporting errors.This flow process is as fault-tolerant processing flow process necessary in the practical application, but do not belong to patent content, so describe in detail on stream.
S108, ESB core are upgraded second type that inserts engine, and change step S104;
The second unserializing failure that inserts engine shows that it is different that its type and first inserts engine, therefore need at first be upgraded second type information that inserts engine by the ESB core, and then commentaries on classics step S104 is judged as the flow path switch that carries out unified message after the failure.Insert the engine type condition of unknown at second of this step process, specifically can be referring to aftermentioned embodiment five.
S109, second inserts engine and gives the side's of being called processing with forwards;
S110, judge that whether known ESB core second insert engine type, if, then upgrade the second engine type information by the ESB core for not.
Fig. 2 is message forwarding method embodiment two flow charts of ESB of the present invention, and under situation by same access engine access, the message conversion flow process of ESB as shown in the figure, may further comprise the steps for the called side and the side of being called for it:
S201, called side send call request according to the implementation of oneself to the side of being called;
The service of called side invocation target need not to be concerned about the technical specification of destination service, only needs to send call request by ESB to the side of being called according to the implementation of oneself.
S202, access engine are intercepted call request, call forwarding to the ESB core request;
The access engine of ESB is tackled the call request that called side sends, and calls forwarding to the ESB core request.
S203, ESB core determine that the called side and the side of being called are inserted by same access engine;
Omit the position judgment of step S102 among the invention described above embodiment one herein, determine that by the ESB core called side and the side of being called are inserted by same access engine, promptly reality directly enters the subsequent step of "Yes" by embodiment one step S102.
S204, ESB core directly are forwarded to call request the access engine;
Identical with the step S103 of embodiment one, the ESB core is received the conversion that need not to carry out message after the request of calling forwarding, directly is forwarded to insert engine and handle.
S205, access engine are sent to the side of being called with the call request of receiving;
After the access engine is received the call request of ESB core forwarding, also need not to carry out message conversion, directly be sent to the side of being called.
After S206, the side of being called are finished the result is back to the access engine;
After the call request that the root that is called sends by ESB core, access engine according to called side is finished, the result who carries out is returned to the access engine.
S207, access engine are back to called side by the ESB core with the result.
Insert and return to called side by the ESB core again after engine is received the execution result of the side of being called, also need not to carry out the conversion of message in this step.
S208, ESB core will be replied and be returned to called side place engine
S209, access engine will be replied and be returned to called side
Insert engine and receive, this is replied directly return to called side from after the replying of ESB core.So far, finished the complete procedure of once calling from the angle of called side---from issuing a request to return results.
Fig. 3 is message forwarding method embodiment three flow charts of ESB of the present invention, and it is that the called side and the side of being called insert the engine access by difference, but inserts under the identical situation of engine type, and the message conversion flow process of ESB as shown in the figure, may further comprise the steps:
S301, called side send call request according to the implementation of oneself to the side of being called;
S302, access engine are intercepted call request, call forwarding to the ESB core request;
Step S301~S302 step S201~S202 with the foregoing description two respectively is identical.
S303, ESB core determine that according to the request of calling forwarding called side is inserted by different access engines with the side of being called, and each self-corresponding first, second access engine type is identical.
Similar with the step S203 of embodiment two, this step has been omitted position and the type judgement of embodiment one step S102~S104, directly enters the subsequent step of "Yes" in the step S104 judgement.
The natural sequence mode of S304, use message object is carried out message conversion, and the serializing result is forwarded to the second access engine;
Identical with the step S105 of embodiment one, the ESB core is called the natural sequence interface that inserts the agency and is obtained the serializing result, but the serializing result who returns must be byte stream or other equivalences across a network, stride the form of protocol transmission.As shown in the figure, its specific implementation is to be called the serializing message transformation interface of the first access engine by the ESB core, obtains serializing message.
Need to prove in addition, insert engine and second and insert engine not in same ESB server the time when first, the agreement support function that can use transmission part to provide when the first ESB core that inserts engine place server is transmitted message sends a message to the ESB core of the second access engine place server, and then by this ESB core forwards to the second is inserted engine.And the present embodiment and the follow-up embodiment of the invention have all been omitted this process and highlight the process of message transformation.Because the specific implementation method that call request is striden the ESB Server Transport by transmission part belongs to the means of prior art, is not essential features of the present invention, so is not all given unnecessary details among present embodiment and other embodiment.
S305, the second access engine carry out unserializing and obtain call request, and be forwarded to the side of being called;
Second inserts engine carries out the call request that unserializing obtains unprocessed form with the call request of the natural sequence form received, is forwarded to the side of being called.
After S306, the side of being called are finished the result is back to second and inserts engine;
S307, second inserts the reverse order of engine according to the receiving sequence result, the result is inserted engine by ESB core, first successively be sent to called side.
The processing procedure of return results is the inverse process that called side sends call request, after the second access engine is received the execution result of the side of being called, promptly be forwarded in the ESB core and carry out natural sequenceization, the execution result of serializing is sent to first again and inserts in the engine, insert engine by first and carry out the execution result that unserializing obtains unprocessed form and feed back to called side, so far invoked procedure is finished.
Fig. 4 is message forwarding method embodiment four flow charts of ESB of the present invention, and it inserts for called side and the side of being called insert engine by difference, and under the type of the access engine situation also inequality, the message conversion flow process of ESB as shown in the figure, may further comprise the steps:
S401, called side send call request according to the implementation of oneself to the side of being called;
S402, access engine are intercepted call request, call forwarding to the ESB core request;
Step S401~S402 step S201~S202 with the foregoing description two respectively is identical.
S403, ESB core determine that according to the request of calling forwarding called side is inserted by different access engines with the side of being called, and each self-corresponding first, second access engine type is also inequality.
Similar with the step S203 of embodiment two, this step has been omitted position and the type judgement of embodiment one step S102~S104, directly enters the subsequent step of "No" in the step S104 judgement.
S404, ESB core use default intermediary's message format to carry out the unified message conversion, and the unified message that obtains is forwarded to the second access engine.
ESB does not distinguish and inserts engine position and type to carry out the processing of message conversion similar in present embodiment and the prior art, different is, present embodiment is first, second to be inserted that the position of engine and type be whether identical to be judged in the ESB core, and all draw under the prerequisite of negative decision, carry out intermediary's format conversion of message again by the ESB core.The ESB core is called the unified message that the unified message conversion interface that inserts the agency obtains intermediary's form, and unified message is transmitted to the second corresponding access engine of the side of being called.Similar with embodiment three, may have the call request that needs to cross over the ESB server herein, the corresponding employing transmission assembly that needs transmits.
S405, second inserts engine unified message is converted to the call request that meets the self-technique cannonical format, and is forwarded to the side of being called;
After the second access engine is received the unified message of intermediary's form, need be converted to the call request that meets the self-technique standard, and be transmitted to the side of being called.
After S406, the root that is called are finished according to call request the result is back to second and inserts engine;
S407, second inserts engine according to the reverse order that receives unified message, the result is inserted engine by ESB core, first successively be sent to called side.
Three step S307 are similar with the foregoing description, the processing procedure of return results is the inverse process that called side sends call request herein, after the second access engine is received the execution result of the side of being called, promptly be forwarded to the message conversion of carrying out intermediary's form in the ESB core, the execution result of the unified message form that obtains is sent to first again and inserts in the engine, the execution result that is converted to unprocessed form by the first access engine feeds back to called side, and so far the invoked procedure of present embodiment is finished.
Fig. 5 is message forwarding method embodiment five flow charts of ESB of the present invention, and it can not determine that the called side and the side of being called insert under the situation of engine type in the very first time for the ESB core, and the message conversion flow process of ESB as shown in the figure, may further comprise the steps:
S501, called side send call request according to the implementation of oneself to the side of being called;
S502, access engine are intercepted call request, call forwarding to the ESB core request;
Step S501~S502 step S201~S202 with the foregoing description two respectively is identical.
S503, ESB core determine that called side is inserted by different access engines with the side of being called, and second inserts engine type the unknown;
When first when inserting engine and second and insert engine and be positioned at different ESB servers, have only the second ESB core that inserts engine place server to know that just second inserts the type of engine under the initial situation, and the first ESB core that inserts engine place server is not know that second inserts the type of engine, so receive when the first ESB core that inserts engine place server and may cause the ESB core can't judge that second inserts the situation of the type of engine when inserting the call request of engine to second.So when relating in the present embodiment, all need between the ESB of two different servers core, communicate by ESB core forwarding message; And have only the first ESB core that inserts engine just can draw the conclusion of second access engine type the unknown, also have only this ESB core need upgrade the type information of the second access engine.
Similar with the step S203 of embodiment two, this step has been omitted position and the type judgement of embodiment one step S102~S104, directly enters the subsequent step that discovery can't be judged in type is judged.
S504, use the natural sequence mode to carry out message conversion, and the serializing result is forwarded to second inserts engine and carry out subsequent treatment;
The ESB core is preferentially used the mode of natural sequenceization to carry out message conversion, and the serializing result is forwarded to the second access engine by the ESB core after drawing and can not determining the conclusion of the second access engine type in the very first time.
After the second access engine is received the message of natural sequence form, can attempt carrying out unserializing, if unserializing does not lead to the failure because type does not match, then generate unusual retry request message, and this message is returned to the ESB core.If unserializing success, then follow-up handling process and embodiment three are similar, unique difference is: also second type information that inserts engine will be returned together when execution result that will the side of being called is back to the ESB core, and the ESB core can be registered second and inserts the type information of engine with the type basis for estimation as the subsequent message conversion.
Even type matching may appear in practical application, but still can be uncertain former thereby cause the situation of unserializing failure, can cause the flow process failure this moment and end and, but not require the ESB core to carry out unusual retry to the caller reporting errors because of some.This part belongs to the fault-tolerant processing of normal technology implementation, does not belong to patent content, so do not describe on stream.
If S505 ESB core obtains the unusual retry request of message of the second access engine feedback, then change step S506 over to, otherwise change step S508 over to;
The call request message that is obtained by S504 is the result of serializing, second inserts engine need carry out the unserializing processing, if unserializing is not failed because type does not match, then writing down this, to call state be the unusual retry state of message, generate unusual retry request message, and this message returned to the ESB core, and in the unusual retry request of message, carry second type information that inserts engine, change step S506 afterwards over to.
S506, ESB core are upgraded the type of the second access engine
Need in the ESB core, upgrade the type of the second access engine,, avoid meaningless message conversion retry with type basis for estimation as the subsequent calls request.
S507, use intermediary's message format to carry out the unified message conversion, and the unified message that obtains is forwarded to second inserts engine and carry out subsequent treatment;
The ESB core is after the unusual retry request of message of receiving the second access engine feedback, insert the type of engine except upgrading second, also this unusual retry request message can be transmitted to first and insert engine, require the first access engine to resend call request, promptly adopt the handling process of similar embodiment four afterwards, use default intermediary's form to carry out the unified message conversion, and the unified message that obtains is forwarded to second inserts engine and carry out subsequent treatment, concrete follow-up processing flow sees that promptly embodiment four is described.
S508, second inserts engine unified message is converted to the call request that meets the self-technique cannonical format, and is forwarded to the side of being called;
After S509, callee are finished according to second call request that inserts the engine forwarding result is returned to second and insert engine;
The foregoing description five inserts the message conversion flow process of ESB under the unascertainable situation of engine type for the side of being called.Need to prove, also can occur caller callee target designation pointed in the practical application does not change, but the external service of callee correspondence is but switched or is redeployed situation into the external module of realizing based on another technical specification, if this moment the ESB core according to the history type Information Selection natural sequence mode change, then handling process should be identical with embodiment five.Be that the ESB core adopts the mode of natural sequenceization to carry out message conversion, and after the unusual retry request of message that obtains the second access engine feedback, re-use the unified message conversion of intermediary's form, and upgrade new type information again.If instead according to the history type Information Selection unified message form, and the realization technology of the actual use of callee is identical with caller, then cause being in a kind of unoptimizable transmission of messages mode, will revert to the transmission of messages mode of optimization this moment, the update mechanism that then needs other, but this update mechanism does not belong within this patent scope and is not described in detail.
Fig. 6 is the forwards server implementation example structure chart of ESB of the present invention, as shown in the figure, the server of present embodiment comprises: insert engine 611~612, for called side and the side of being called provide the access support of technical specification separately, and the call request of called side or the execution result of the side of being called are transmitted; ESB core 62, first of called side correspondence is inserted corresponding second the inserting engine 612 and carry out the judgement of position and type in engine 611 and the side of being called, and according to judged result select to carry out called side by first insert transmit after the direct forwarding of call request that engine sends or the natural sequenceization or the unified message conversion after forwarding.First, second inserts the ESB core that engine is connected to same server in the present embodiment, is not limited in this in the practical application, and first, second inserts the ESB core that engine can be connected to different server, and it is described specifically to see below continuous system embodiment of the present invention.
Wherein, ESB core 62 further comprises: message routing unit 621, the first called side call request and second that inserts engine 611 forwardings is inserted the side's of being called execution result that engine 612 is transmitted, and carry out the conversion and the forwarding of message; Position judgment unit 622 is judged first, second position of inserting engine 611,612, and provides positional information for message routing unit 621; Type judging unit 623 is judged first, second type that inserts engine 611,612, and judges information for message routing unit 621 provides type.
In the present embodiment, ESB core 62 also can comprise: transmit debugging unit 624, when type judging unit 623 can't be judged second type that inserts engine 612, notification message routing unit 621 at first carries out natural sequenceization and forwarding, and carries out unified message conversion and forwarding behind natural sequenceization and retransmission failure again; Type registering unit 625, automatically the type of collecting all access engines in the current server is as the message conversion foundation, and when second inserts the execution result of the engine 612 feedback sides of being called, record second inserts the type information of engine 612 and registers, as the message conversion foundation of subsequent calls process.
Fig. 7 is the message repeater system example structure figure of ESB of the present invention, as shown in the figure, the system of present embodiment comprises: a plurality of ESB servers 71, can use different agreements to link together between these ESB servers 71, and called side and the side of being called be provided the notion of a logic ESB.Concerning insert thereon called side and the side of being called the ESB of such logic shielded the difference of realization technology between the called side and the side of being called, also shielded the difference of different agreement connected mode between the different ESB servers.
Each ESB server 71 further comprises: insert engine 711, for called side and the side of being called provide the access support of technical specification separately, an access engine only provides the support of technical specification of the same race, and the call request of called side or the execution result of the side of being called transmitted, and the basic support of the message transformation algorithm of institute's supporting technology standard.When transmitting conversion, the ESB core can select form automatically, and the basic support of calling the message transformation algorithm that inserts the engine realization, carry out actual conversion.
ESB core 712, first of called side correspondence is inserted corresponding second the inserting engine and carry out the judgement of position and type in engine and the side of being called, and according to judged result select to carry out called side by first insert transmit after the direct forwarding of call request that engine sends or the natural sequenceization or the unified message conversion after forwarding.
Transmission part 713, the function of the different agreement connected mode between the server of being used to provide support, ESB core 712 can utilize transmission part to transmit message between the ESB of different server core.Insert engine with the first access engine not in same ESB server the time when second, the first ESB core that inserts engine can judge that second inserts the position of engine place ESB server, and utilizes the agreement support function of transmission unit to send a message to the second access engine place ESB server.Second transmission part that inserts engine place ESB server is converted to message and gives local ESB core with message after receiving protocol data.The similar just reversed in order of the transmission course of return messages.
More than be preferred forms of the present invention, according to content disclosed by the invention, those of ordinary skill in the art can expect some identical, replacement schemes apparently, all should fall into the scope of protection of the invention.

Claims (9)

1, the message forwarding method of a kind of ESB is characterized in that, this method may further comprise the steps:
Insert engine and intercept the call request that the call direction side of being called sends, mode with message is transmitted request by the ESB core to target, this moment, described ESB core judged that automatically first of called side correspondence inserts the position and the type of the engine second access engine corresponding with the side of being called, and select different message conversion forms to carry out message conversion and transformation result is sent to described second inserting engine according to judged result, described message conversion form comprises direct forwarding, natural sequenceization and unified message conversion.
2, the message forwarding method of ESB according to claim 1 is characterized in that, described ESB core is judged position that first, second inserts engine and type and specifically comprised according to the step that judged result is carried out message conversion:
Described ESB core judges whether the described position that first, second inserts engine is identical, if, then do not do conversion, directly described call request is forwarded to described second and inserts engine; Otherwise,
Described ESB core judges whether the described type that first, second inserts engine is identical, if then use the natural sequence mode that described call request is carried out message conversion, and the serializing result is forwarded to the described second access engine; Otherwise,
Use default intermediary's message format to carry out the unified message conversion, and the unified message that obtains is forwarded to the described second access engine.
3, the message forwarding method of ESB as claimed in claim 1 or 2 is characterized in that, described second insert the message that engine receives that described ESB core transmits after, this method also comprises:
The described second access engine carries out inverse conversion according to the selected message conversion form of ESB core and obtains the original call request, and is transmitted to the execution of the described side of being called;
After the described second access engine is received the execution result of the described side of being called, insert engine according to described first and pass through the reverse order that the ESB core is transmitted call request, described execution result is back to described first by the ESB core inserts engine.
4, as the message forwarding method of ESB as described in the claim 2, it is characterized in that, described ESB core judges that if described ESB core finds can not determine that described second inserts the access style of engine, then this method also comprises in the step of position that first, second inserts engine and type:
Change described ESB core over to and use the natural sequence mode to carry out message conversion and the serializing result is forwarded to second inserting the step of engine, if obtain the unusual retry request of message of the described second access engine feedback, then
Change the step that described ESB core is used intermediary's message format to carry out the unified message conversion and the unified message that obtains is forwarded to the described second access engine over to.
5, as the message forwarding method of ESB as described in the claim 4, it is characterized in that, the serializing result is carried out in the step of unserializing if described second inserts engine, described unserializing is not failed owing to first, second access engine type matches, then described second inserts engine writes down this to call state is the unusual retry state of message, and the unusual retry request of message is back to described ESB core;
Unified message is converted in the step that meets self-technique cannonical format message call if described second inserts engine, described unified message convert failed, the then described second access engine termination process also writes down this and calls state for failing.
6, as the message forwarding method of ESB as described in the claim 4, it is characterized in that, described second inserts engine receives that the described side of being called is finished behind the execution result that returns, self type information is sent to described ESB core with described execution result carries out type registration, then in follow-up invoked procedure, described ESB core is carried out message conversion according to the described type information of record.
7, the forwards server of a kind of ESB is characterized in that, this server comprises:
Insert engine,, and the call request of called side or the execution result of the side of being called are transmitted for called side and the side of being called provide the access support of technical specification separately;
The ESB core, first of described called side correspondence is inserted corresponding second the inserting engine and carry out the judgement of position and type in engine and the described side of being called, and according to judged result select to carry out called side by first insert transmit after the direct forwarding of call request that engine sends or the natural sequenceization or the unified message conversion after forwarding.
8, ESB forwards server as claimed in claim 7 is characterized in that, described ESB core further comprises:
The message routing unit inserts the side's of being called execution result that engine is transmitted to the described first called side call request and described second that inserts the engine forwarding, carries out the conversion and the forwarding of message;
The position judgment unit is judged the described position that first, second inserts engine, and provides positional information for the message routing unit; If positional information shows that two access engines are identical, then described message routing unit can carry out the direct forwarding of call request/execution result, otherwise described message routing unit can carry out the type judgement by the notification type judging unit;
The type judging unit, the described type that first, second inserts engine is judged, and provide type information for the message routing unit, if it is identical that type information shows type, then described message routing unit can carry out the natural sequence conversion and the forwarding of call request/execution result, otherwise described message routing unit carries out the unified message conversion of call request/execution result and transmits.
9, as claim 7 or 8 described ESB forwards servers, it is characterized in that described ESB core also comprises:
Transmit debugging unit, when described type judging unit can't be judged described second type that inserts engine, notify described message routing unit at first to carry out described natural sequenceization and forwarding, and behind described natural sequenceization and retransmission failure, carry out described unified message conversion and forwarding again;
The type registering unit, automatically the type of collecting all access engines in the current server is as the message conversion foundation, and when described second inserts the execution result of the engine feedback side of being called, write down described second and insert the type information of engine and register, as the message conversion foundation of subsequent calls process.
CN2008101198616A 2008-09-12 2008-09-12 Method, server and system for forwarding messages of enterprise service bus Active CN101674255B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008101198616A CN101674255B (en) 2008-09-12 2008-09-12 Method, server and system for forwarding messages of enterprise service bus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008101198616A CN101674255B (en) 2008-09-12 2008-09-12 Method, server and system for forwarding messages of enterprise service bus

Publications (2)

Publication Number Publication Date
CN101674255A true CN101674255A (en) 2010-03-17
CN101674255B CN101674255B (en) 2012-01-11

Family

ID=42021249

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008101198616A Active CN101674255B (en) 2008-09-12 2008-09-12 Method, server and system for forwarding messages of enterprise service bus

Country Status (1)

Country Link
CN (1) CN101674255B (en)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102790684A (en) * 2011-05-16 2012-11-21 中国移动通信集团北京有限公司 Service information invocation method and system and enterprise service bus server
CN103136143A (en) * 2011-11-23 2013-06-05 中兴通讯股份有限公司 Enterprise message bus data transmission method and enterprise message bus data transmission system
CN104243512A (en) * 2013-06-07 2014-12-24 上海联影医疗科技有限公司 Method for integrating medical services
CN104580073A (en) * 2013-10-14 2015-04-29 阿里巴巴集团控股有限公司 Method and device for transmitting messages between heterogeneous systems
CN107172113A (en) * 2016-03-08 2017-09-15 阿里巴巴集团控股有限公司 Treating method and apparatus when service call is abnormal
CN107977200A (en) * 2017-12-18 2018-05-01 广东阿拉丁网络科技服务有限公司 A kind of software development system and program creating method
CN108062659A (en) * 2017-12-11 2018-05-22 安徽科大国创云网科技有限公司 It is a kind of to throw the abnormal method quickly compensated of the service of realization again automatically based on service call state
CN108074076A (en) * 2017-12-08 2018-05-25 上海壹账通金融科技有限公司 Service providing method, device, equipment and readable storage medium storing program for executing based on ESB
CN109660606A (en) * 2018-12-05 2019-04-19 新华三大数据技术有限公司 Internet message Proxy Method, apparatus and system
CN109697062A (en) * 2019-01-14 2019-04-30 深圳孟德尔软件工程有限公司 A kind of multi-source data exchange system and fusion method
CN111245965A (en) * 2020-04-26 2020-06-05 智博云信息科技(广州)有限公司 Data synchronization method and system
CN115442403A (en) * 2022-08-31 2022-12-06 重庆长安汽车股份有限公司 SOA-based vehicle GPS data transmission system and method

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100459551C (en) * 2006-06-30 2009-02-04 华为技术有限公司 System and method for lowering load of enterprise service bus
CN101184056A (en) * 2007-12-04 2008-05-21 浙江大学 Distributed enterprise service bus message switching method
CN101207517B (en) * 2007-12-12 2010-06-02 浙江大学 Method for reliability maintenance of distributed enterprise service bus node

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102790684B (en) * 2011-05-16 2015-03-11 中国移动通信集团北京有限公司 Service information invocation method and system and enterprise service bus server
CN102790684A (en) * 2011-05-16 2012-11-21 中国移动通信集团北京有限公司 Service information invocation method and system and enterprise service bus server
CN103136143A (en) * 2011-11-23 2013-06-05 中兴通讯股份有限公司 Enterprise message bus data transmission method and enterprise message bus data transmission system
CN103136143B (en) * 2011-11-23 2015-12-16 中兴通讯股份有限公司 The method and system of enterprise message bus transfer data
CN104243512A (en) * 2013-06-07 2014-12-24 上海联影医疗科技有限公司 Method for integrating medical services
CN104243512B (en) * 2013-06-07 2018-05-04 上海联影医疗科技有限公司 A kind of integrated approach of medical services
CN110086759A (en) * 2013-10-14 2019-08-02 阿里巴巴集团控股有限公司 A kind of method and apparatus for realizing message transmission between heterogeneous system
CN104580073A (en) * 2013-10-14 2015-04-29 阿里巴巴集团控股有限公司 Method and device for transmitting messages between heterogeneous systems
CN110086759B (en) * 2013-10-14 2021-11-05 创新先进技术有限公司 Method and device for realizing message transmission between heterogeneous systems
CN104580073B (en) * 2013-10-14 2018-11-13 阿里巴巴集团控股有限公司 A kind of method and apparatus for realizing message transmission between heterogeneous system
CN107172113A (en) * 2016-03-08 2017-09-15 阿里巴巴集团控股有限公司 Treating method and apparatus when service call is abnormal
CN107172113B (en) * 2016-03-08 2020-06-12 阿里巴巴集团控股有限公司 Processing method and device in abnormal service call
CN108074076A (en) * 2017-12-08 2018-05-25 上海壹账通金融科技有限公司 Service providing method, device, equipment and readable storage medium storing program for executing based on ESB
CN108062659A (en) * 2017-12-11 2018-05-22 安徽科大国创云网科技有限公司 It is a kind of to throw the abnormal method quickly compensated of the service of realization again automatically based on service call state
CN107977200A (en) * 2017-12-18 2018-05-01 广东阿拉丁网络科技服务有限公司 A kind of software development system and program creating method
CN109660606A (en) * 2018-12-05 2019-04-19 新华三大数据技术有限公司 Internet message Proxy Method, apparatus and system
CN109697062A (en) * 2019-01-14 2019-04-30 深圳孟德尔软件工程有限公司 A kind of multi-source data exchange system and fusion method
CN111245965A (en) * 2020-04-26 2020-06-05 智博云信息科技(广州)有限公司 Data synchronization method and system
CN111245965B (en) * 2020-04-26 2020-07-24 智博云信息科技(广州)有限公司 Data synchronization method and system
CN115442403A (en) * 2022-08-31 2022-12-06 重庆长安汽车股份有限公司 SOA-based vehicle GPS data transmission system and method

Also Published As

Publication number Publication date
CN101674255B (en) 2012-01-11

Similar Documents

Publication Publication Date Title
CN101674255B (en) Method, server and system for forwarding messages of enterprise service bus
CN102339234B (en) Device for operating protocol stack and method
US7986678B2 (en) System and method for implementing local base stations
US20080025307A1 (en) System and method for pushing information from a source device to an available destination device
CN101651933A (en) Method, system and device for realizing short message intercommunication among networks under number portable service
EP2081336A1 (en) Business message transmission method, system and apparatus
CN101771960A (en) Service invoking method for mobile network, and service gateway, service platform and system thereof
CN101631127A (en) File transfer method and clients
EP2439881B1 (en) Cluster system and request message distribution method for processing multi-node transaction
CN101171851B (en) A method for receiving/sending short message by a G net short message center for a CDMA user and the short message gateway thereof
CN102158926B (en) Method and device for processing SDP (Session Description Protocol) request in media path optimizing process
CN101388854A (en) Method, system and gateway for multimedia message transmission
EP2493135B1 (en) Short-message transfer method, subsystem and system
CA2481099A1 (en) Exchange infrastructure system and method
CN105515947A (en) Method, server and system for information intercommunication of heterogeneous terminal based on XMPP (Extensible Messaging and Presence Protocol)
WO2020230868A1 (en) Message communication device and message communication program
CN101668265A (en) Method, system and device for sending short messages
CN101925021B (en) Method/system for processing messages and convergence service system
CN103944875A (en) Data exchanging method and data exchanging system
US10849179B1 (en) Mobile network tool
CN110545527B (en) Call forwarding method, video communication server and calling terminal
JP2020188470A (en) Message communication device and message communication program
KR100694871B1 (en) Gateway system for mobile services on the open cellular network, and service method thereof
JP6736102B1 (en) Message communication device and message communication program
WO2012083599A1 (en) Method, gateway and system for arrearages control

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant