CN101674255B - 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
CN101674255B
CN101674255B CN2008101198616A CN200810119861A CN101674255B CN 101674255 B CN101674255 B CN 101674255B CN 2008101198616 A CN2008101198616 A CN 2008101198616A CN 200810119861 A CN200810119861 A CN 200810119861A CN 101674255 B CN101674255 B CN 101674255B
Authority
CN
China
Prior art keywords
engine
esb
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.)
Active
Application number
CN2008101198616A
Other languages
Chinese (zh)
Other versions
CN101674255A (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 Tongtech Co Ltd
Original Assignee
Beijing Tongtech 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 Tongtech Co Ltd filed Critical Beijing Tongtech 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

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 technical specification 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 a first 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 forwarding or 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, shows as the technological diversity of realizations usually, and the adjustment of the cooperation based on the processing unit of different technologies standard that causes owing to technological diversity, operation flow, a series of complexity such as administers and maintains.ESB then provides the scheme that inserts the processing components technological with managing different realizations with consistent mode; Even the technology that inner realization is relied on is different; These processing components all present unified service outward appearance after inserting ESB, each other promptly can be free mutual through 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 existing business processes parts bus and form the 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 is sent, 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 carry out must carrying out the unified message conversion mutual the time through 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 crucial such as efficient such as the integrated types of business data use.
Summary of the invention
The technical problem that (one) 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 through the ESB core to target; This moment, said ESB core was judged the position and the type of the second access engine that the first corresponding access engine of called side is corresponding with the side of being called automatically; And select different message conversion forms to carry out message conversion and transformation result is sent to said second inserting engine according to judged result, said message conversion form comprises direct forwarding, natural sequenceization and unified message conversion.
In the message forwarding method of above-mentioned ESB, said 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:
Said ESB core judges whether the said position that first, second inserts engine is identical, if, then do not do conversion, directly said call request is forwarded to said second and inserts engine; Otherwise,
Said ESB core judges whether the said type that first, second inserts engine is identical, if then use the natural sequence mode that said call request is carried out message conversion, and the serializing result is forwarded to the said second access engine; Otherwise,
Use preset intermediary's message format to carry out the unified message conversion, and the unified message that obtains is forwarded to the said 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 agreement and carry the intermediate form of transmitting.Corresponding with it unserializing then is that the data transaction with this intermediate form is that original calling asked or return results.The concrete format transformation of the natural sequenceization/unserializing of different realization specification requirements is determined by technical specification separately, possibly 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 said second access engine was received the message of said ESB core forwarding, this method also comprised:
The said 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 said side of being called;
After the said second access engine is received the execution result of the said side of being called, insert engine according to said first and pass through the reverse order that the ESB core is transmitted call request, said execution result is back to said first through the ESB core inserts engine.
In the message forwarding method of above-mentioned ESB, in the position of said first, second access engine of ESB core judgement and the step of type, if said ESB core finds to be not sure of the access style of the said second access engine, then this method also comprises:
Change said 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 said second access engine feedback, then
Change over to said ESB core use intermediary's message format carry out the unified message conversion and with the unified message that obtains be forwarded to said second insert engine step.
In the message forwarding method of above-mentioned ESB; The serializing result is carried out in the step of unserializing if said second inserts engine; Said unserializing is not failed owing to first, second access engine type matches; Then said second insert the engine record this to call state be the unusual retry state of message, and the unusual retry request of message is back to said ESB core;
Unified message is converted in the step that meets self-technique cannonical format message call if said second inserts engine, said unified message convert failed, the then said second access engine termination process also writes down this and calls state for failing.
In the message forwarding method of above-mentioned ESB; Said second inserts engine receives that the said side of being called is finished behind the execution result that returns; Self type information is sent to said ESB core with said execution result carries out type registration; Then in follow-up invoked procedure, said ESB core is carried out message conversion according to the said 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; To said called side corresponding first insert corresponding second the inserting engine and carry out the judgement of position and type in engine and the said side of being called, and according to judged result select to carry out called side through first insert transmit after direct forwarding or the natural sequenceization of call request that engine sends or unified message change after forwarding.
In the forwards server of above-mentioned ESB, said ESB core further comprises:
The message routing unit, the called side call request and said second that the said first access engine is transmitted inserts the side's of being called execution result that engine is transmitted, and carries out the conversion and the forwarding of message;
The position judgment unit is judged the said position that first, second inserts engine, and positional information is provided for the message routing unit; If positional information shows that two access engines are identical, then said 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 said type that first, second inserts engine, and type information is provided for the message routing unit.If it is identical that type information shows type, then said message routing unit can carry out the natural sequence conversion and the forwarding of call request/execution result, otherwise said message routing unit carries out the unified message conversion of call request/execution result and transmits.
In the forwards server of above-mentioned ESB, said ESB core also comprises:
Transmit debugging unit; When said type judging unit can't be judged the type of the said second access engine; Notify said message routing unit at first to carry out said natural sequenceization and forwarding, and behind said natural sequenceization and retransmission failure, carry out said unified message conversion and forwarding again;
The type registering unit; Automatically types of collecting all access engines in the current server are as the message conversion foundation; And when said second inserts the execution result of the engine feedback side of being called; Write down said 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 protocol to link together between these ESB servers; And caller and callee provided the notion of a logic ESB; The ESB of such logic has shielded the technological difference of realizations between caller and the callee concerning inserting caller and callee above that, has 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; To said called side corresponding first insert corresponding second the inserting engine and carry out the judgement of position and type in engine and the said side of being called, and according to judged result select to carry out called side through first insert transmit after direct forwarding or the natural sequenceization of call request that engine sends or unified message change after forwarding;
Transmission part, the function of different agreement connected mode between the back-level server, ESB core can utilize transmission part between the ESB of different server core, to transmit message.
In the message repeater system of above-mentioned ESB, said ESB core further comprises:
The position judgment unit is judged the said position that first, second inserts engine, and positional information is provided for the message routing unit;
The type judging unit is judged the said type that first, second inserts engine, and type information is provided for the message routing unit;
The message routing unit, the called side call request and said second that the said first access engine is transmitted inserts the side's of being called execution result that engine is transmitted, and 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, said ESB core also comprises:
The type debugging unit; When said type judging unit can't be judged the said type that first, second inserts engine; Notify said message routing unit at first to carry out said natural sequenceization and forwarding, and behind said natural sequenceization and retransmission failure, carry out said unified message conversion and forwarding again;
The type registering unit; Automatically types of collecting all access engines in the current server are as the message conversion foundation; And when said second inserts the execution result of the engine feedback side of being called; Write down said 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 to 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 through 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 explain the present invention, but are not used for limiting scope of the present invention.
Fig. 1 is for message forwarding method embodiment one flow chart of ESB of the present invention, and is 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 of sending 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 confirm 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 the access engine with call request;
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 the access processing engines, concrete handling process is seen after and is stated embodiment two.
S104, ESB core judge called side corresponding first insert engine and the side of being called corresponding whether second to insert engine type identical, if otherwise change step S105, then change step S106 if perhaps can't judge;
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 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 that second inserts the flow process that then changes the trial natural sequenceization when engine type is unknown can't be judged over to, otherwise entering unified message transformation flow is specifically of the back.
S105, ESB core use preset 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 is provided with in advance that the unified message conversion is carried out in the request of calling; And to the unified message that obtain be forwarded to second and insert engine and carry out subsequent treatment, concrete processing procedure can referring to after state the 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 can the result of unserializing be forwarded to the side's of being called execution, its concrete processing procedure can with reference to after state the 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 generate the abort response message, and this abort is replied this time pass through the ESB core, 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 the type of the second access engine, and change step S104;
Second insert engine the unserializing failure show that it is different that its type and first inserts engine, therefore need by the ESB core at first to second insert engine type information upgrade, 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 to second of this step process, specifically can referring to after state 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 it is under the called side and the side of the being called situation by same access engine access, and the message conversion flow process of ESB is as shown in the figure, may further comprise the steps:
S201, called side are sent 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 through 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 is sent, and calls forwarding to the ESB core request.
S203, ESB core confirm 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 here, confirm that by the ESB core called side and the side of being called are inserted by same access engine, promptly reality directly gets into the subsequent step of " being " by embodiment one step S102.
S204, ESB core directly are forwarded to the access engine with call request;
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 the access processing engines.
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 through 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 through the ESB core with the result.
Insert and return to called side through 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 returned to called side place engine
S209, access engine will be replied and 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, accomplished 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 is as shown in the figure, may further comprise the steps:
S301, called side are sent 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 confirm 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 gets into the subsequent step of " being " 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 across a networks of equal value, stride the form of protocol transmission.As shown in the figure, its concrete realization is the serializing message transformation interface that is called 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; First insert engine place server the ESB core agreement support function that can use transmission part to provide when transmitting message send a message to second insert engine place server the ESB core, and then forwards to the second is inserted engine by this ESB core.And the present embodiment and the follow-up embodiment of the invention have all been omitted this process and the process of outstanding display message conversion.Because the concrete implementation method that call request is striden the ESB Server Transport through transmission part belongs to the means of prior art, is not essential features of the present invention, so does not all give 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 of receiving, 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 through ESB core, first successively be sent to called side.
The processing procedure of return results is the inverse process that called side is sent 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 redispatched to first and is inserted in the engine, inserts engine by first and carries out the execution result that unserializing obtains unprocessed form and feed back to called side, and so far invoked procedure is accomplished.
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 are sent 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 confirm 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 gets into the subsequent step of " denying " in the step S104 judgement.
S404, ESB core use preset 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 position and the type of engine 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, possibly have the call request that needs to cross over the ESB server here, the corresponding employing transmission assembly that needs transmits.
S405, second inserts engine and converts unified message into meet the self-technique cannonical format call request, and is forwarded to the side of being called;
After the second access engine is received the unified message of intermediary's form, need convert the call request that meets the self-technique standard into, 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 through 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 is sent call request here; 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 redispatched to the first access 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 accomplished.
Fig. 5 is message forwarding method embodiment five flow charts of ESB of the present invention, and it can not confirm 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 is as shown in the figure, may further comprise the steps:
S501, called side are sent 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 confirm 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 ESB core of the second access engine place server to know that just second inserts the type of engine under the initial situation; And first insert engine place server the ESB core be not know that second inserts the type of engine; So when first insert engine place server the ESB core receive and possibly cause the ESB core can't judge that second inserts the situation of the type of engine when inserting the call request of engine second.So when relating in the present embodiment, all need between the ESB of two different servers core, communicate through ESB core forwarding message; And the ESB core of having only the first access engine just can draw second and insert the unknown conclusion of engine type, also has 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 of embodiment one step S102~S104 and has been judged the direct entering 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 through the ESB core after drawing and can not confirming 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: when execution result that will the side of being called is back to the ESB core also will with second insert engine type information return together, and the ESB core can register second insert engine type information with 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 unserializing and handle, 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 insert engine type information, 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 can this unusual retry request message 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 preset 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 said.
S508, second inserts engine and converts unified message into meet the self-technique cannonical format call request, and is forwarded to the side of being called;
After the call request that S509, callee are transmitted according to the second access engine is finished the 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 that callee is corresponding is but switched or is redeployed the situation into the external module of realizing based on other a kind of 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 of the actual use of callee technology 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, then needs other update mechanism, but this update mechanism does not belong within the 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; To called side corresponding first insert 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 through first insert transmit after direct forwarding or the natural sequenceization of call request that engine sends or unified message change 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 the continuous system embodiment of the present invention of specifically seeing after is said.
Wherein, ESB core 62 further comprises: message routing unit 621, and the called side call request and second that the first access engine 611 is transmitted inserts the side's of being called execution result that engine 612 is transmitted, and carries out the conversion and the forwarding of message; Position judgment unit 622 is judged first, second position of inserting engine 611,612, and for message routing unit 621 positional information is provided; 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 the type of the second access engine 612; Notification message routing unit 621 at first carries out natural sequenceization and forwarding, and behind natural sequenceization and retransmission failure, carries out unified message conversion and forwarding again; Type registering unit 625; Automatically types of collecting all access engines in the current server are 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 protocol to link together between these ESB servers 71, and to called side and the side of being called the notion of a logic ESB is provided.The ESB of such logic has shielded the technological difference of realization between the called side and the side of being called concerning inserting called side and the side of being called above that, has 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; To called side corresponding first insert 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 through first insert transmit after direct forwarding or the natural sequenceization of call request that engine sends or unified message change 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 between the ESB of different server core, to transmit message.Insert engine with the first access engine not in same ESB server the time when second; The ESB core of the first access 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.The transmission part of the second access engine place ESB server converts message into 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 obviously expect some identical, replacement schemes, all should fall into the scope of the present invention's protection.

Claims (7)

1. the message forwarding method of an 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 through the ESB core to target; This moment, said ESB core was judged the position and the type of the second access engine that the first corresponding access engine of called side is corresponding with the side of being called automatically; And select different message conversion forms to carry out message conversion and transformation result is sent to said second inserting engine according to judged result, said message conversion form comprises direct forwarding, natural sequenceization and unified message conversion;
Wherein, said 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:
Said ESB core judges whether the said position that first, second inserts engine is identical, if, then do not do conversion, directly said call request is forwarded to said second and inserts engine; Otherwise,
Said ESB core judges whether the said type that first, second inserts engine is identical, if then use the natural sequence mode that said call request is carried out message conversion, and the serializing result is forwarded to the said second access engine; Otherwise,
Use preset intermediary's message format to carry out the unified message conversion, and the unified message that obtains is forwarded to the said second access engine;
Said natural sequence mode is meant according to the best practices mode that inserts the realization demand of technical standard that engine supports carries out conversion to request of calling or return results, and obtaining can across a network, stride agreement carries the intermediate form of transmitting.
2. the message forwarding method of ESB according to claim 1 is characterized in that, said second insert the message that engine receives that said ESB core transmits after, this method also comprises:
The said 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 said side of being called;
After the said second access engine is received the execution result of the said side of being called, insert engine according to said first and pass through the reverse order that the ESB core is transmitted call request, said execution result is back to said first through the ESB core inserts engine.
3. the message forwarding method of ESB according to claim 1; It is characterized in that; In the position of said first, second access engine of ESB core judgement and the step of type, if said ESB core finds to be not sure of the access style of the said second access engine, then this method also comprises:
Change said 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 said second access engine feedback, then
Change over to said ESB core use intermediary's message format carry out the unified message conversion and with the unified message that obtains be forwarded to said second insert engine step.
4. like the message forwarding method of the said ESB of claim 3; It is characterized in that; The serializing result is carried out in the step of unserializing if said second inserts engine; Said unserializing matches and does not fail owing to first, second inserts engine type, then said second insert the engine record this to call state be the unusual retry state of message, and the unusual retry request of message is back to said ESB core;
Unified message is converted in the step that meets self-technique cannonical format message call if said second inserts engine, said unified message convert failed, the then said second access engine termination process also writes down this and calls state for failing.
5. like the message forwarding method of the said ESB of claim 3; It is characterized in that; Said second inserts engine receives that the said side of being called is finished behind the execution result that returns; Self type information is sent to said ESB core with said execution result carries out type registration, then in follow-up invoked procedure, said ESB core is carried out message conversion according to the said type information of record.
6. the forwards server of an 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; To said called side corresponding first insert corresponding second the inserting engine and carry out the judgement of position and type in engine and the said side of being called, and according to judged result select to carry out called side through first insert transmit after direct forwarding or the natural sequenceization of call request that engine sends or unified message change after forwarding;
Wherein, said ESB core further comprises:
The message routing unit, the called side call request and said second that the said first access engine is transmitted inserts the side's of being called execution result that engine is transmitted, and carries out the conversion and the forwarding of message;
The position judgment unit is judged the said position that first, second inserts engine, and positional information is provided for the message routing unit; If positional information shows that two access engines are identical, then said message routing unit can carry out the direct forwarding of call request/execution result, otherwise said message routing unit can carry out the type judgement by the notification type judging unit;
The type judging unit; The said type that first, second inserts engine is judged; And type information is provided for the message routing unit; If it is identical that type information shows type, then said message routing unit can carry out the natural sequence conversion and the forwarding of call request/execution result, otherwise said message routing unit carries out the unified message conversion of call request/execution result and transmits;
Said natural sequence mode is meant according to the best practices mode that inserts the realization demand of technical standard that engine supports carries out conversion to request of calling or return results, and obtaining can across a network, stride agreement carries the intermediate form of transmitting.
7. ESB forwards server as claimed in claim 6 is characterized in that, said ESB core also comprises:
Transmit debugging unit; When said type judging unit can't be judged the type of the said second access engine; Notify said message routing unit at first to carry out said natural sequenceization and forwarding, and behind said natural sequenceization and retransmission failure, carry out said unified message conversion and forwarding again;
The type registering unit; Automatically types of collecting all access engines in the current server are as the message conversion foundation; And when said second inserts the execution result of the engine feedback side of being called; Write down said 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 CN101674255A (en) 2010-03-17
CN101674255B true 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)

Families Citing this family (12)

* 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
CN103136143B (en) * 2011-11-23 2015-12-16 中兴通讯股份有限公司 The method and system of enterprise message bus transfer data
CN104243512B (en) * 2013-06-07 2018-05-04 上海联影医疗科技有限公司 A kind of integrated approach of medical services
CN110086759B (en) * 2013-10-14 2021-11-05 创新先进技术有限公司 Method and device for realizing message transmission between heterogeneous systems
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
CN109697062B (en) * 2019-01-14 2022-04-01 深圳孟德尔软件工程有限公司 Multi-source data exchange system and fusion method
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

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101001189A (en) * 2006-06-30 2007-07-18 华为技术有限公司 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
CN101207517A (en) * 2007-12-12 2008-06-25 浙江大学 Method for reliability maintenance of distributed enterprise service bus node

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101001189A (en) * 2006-06-30 2007-07-18 华为技术有限公司 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
CN101207517A (en) * 2007-12-12 2008-06-25 浙江大学 Method for reliability maintenance of distributed enterprise service bus node

Also Published As

Publication number Publication date
CN101674255A (en) 2010-03-17

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
EP2081336B1 (en) Business message transmission method, system and apparatus
JPH06125347A (en) Exchange method of message
CN111416865B (en) Protocol proxy processing method and system based on mimicry defense
CN101651933A (en) Method, system and device for realizing short message intercommunication among networks under number portable service
CN101771960A (en) Service invoking method for mobile network, and service gateway, service platform and system thereof
RU2283544C2 (en) Method for providing servicing of short messages through mobile intellectual network
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
CA2481099A1 (en) Exchange infrastructure system and method
CN110336844B (en) Method for realizing station end system cooperation mechanism based on service architecture
CN100440872C (en) Method for realizing message-switching in distributed environment and its device
CN105515947A (en) Method, server and system for information intercommunication of heterogeneous terminal based on XMPP (Extensible Messaging and Presence Protocol)
CN115766829A (en) Communication processing method and communication node
CN101668265A (en) Method, system and device for sending short messages
CN101925021B (en) Method/system for processing messages and convergence service system
WO2020230868A1 (en) Message communication device and message communication program
CN110545527B (en) Call forwarding method, video communication server and calling terminal
US10849179B1 (en) Mobile network tool
JP2020188470A (en) Message communication device and message communication program

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