CN103942055A - Development system and method for fusion network mixing service process programming language - Google Patents

Development system and method for fusion network mixing service process programming language Download PDF

Info

Publication number
CN103942055A
CN103942055A CN201410181352.1A CN201410181352A CN103942055A CN 103942055 A CN103942055 A CN 103942055A CN 201410181352 A CN201410181352 A CN 201410181352A CN 103942055 A CN103942055 A CN 103942055A
Authority
CN
China
Prior art keywords
service
business
message
module
label
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201410181352.1A
Other languages
Chinese (zh)
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 University of Posts and Telecommunications
Original Assignee
Beijing University of Posts and Telecommunications
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 University of Posts and Telecommunications filed Critical Beijing University of Posts and Telecommunications
Priority to CN201410181352.1A priority Critical patent/CN103942055A/en
Publication of CN103942055A publication Critical patent/CN103942055A/en
Pending legal-status Critical Current

Links

Abstract

The invention discloses a development system and method for the fusion network mixing service process programming language. The development system mainly comprises a service plane, a script describing plane of a service process, an executable code plane and a webpage service interface plane. The service plane is used for determining whether current service demands are suitable for service generating system generating or not. A service generating system is good in expandability, and the capacity of the service generating system is improved to meet the service demands by adding XPL labels and newly developing corresponding members. The script describing plane of the service process is mainly used for finishing service development work. After the service demands of the service plane are determined, the service logic is described with the XPL. The executable code plane is used in codes which are generated in the described service process and can be deployed. The webpage service interface plane is used for providing the service capability needed for developing the service for the service generating system. According to the development system and method, the XPL can be utilized for building a network value-added service platform, and all service capabilities needed by the new-generation network service are provided.

Description

Development system and the method for oriented integration network mixture of networks service procedure establishment language
Technical field
The present invention relates to develop computer software technology and next generation network (NGN) technology, relate in particular to development system and the method for oriented integration network mixture of networks service procedure establishment language.
Background technology
Along with communication network and internet are to the direction evolution of next generation network, how the novel value-added service of the exploitation abundant species of fast and flexible is the major issue that field of telecommunications and computer realm face.
The business development of next generation network (NGN), a basic problem is how to describe business demand.Extending mark language (XML) is easy to the understanding of people and machine owing to having, with bottom layer realization language independent, be easy to the advantages such as graph-based and become one of important development direction of business description language.Language based on XML can be divided into universal language and towards two types of the professional languages of specific area.Wherein, as representative, it is mainly for the control of general flow process taking the BPEL (Business Process Execution Language, BPEL) of IBM for universal language, close to the level of higher level lanquage, become the industrial standard in workflow field.In field of telecommunications, have much towards the professional language of specific area, wherein the representative language of call-oriented flow process control has call processing language (the Calling Process Language of IETF, CPL), the calling control extend markup language (CCXML) of W3C and the Services Composition management language of JAIN forum (Service Composition Management Language, SCML) etc., its language element itself is exactly abstract to the height of call treatment, and these professional languages or have become international standard.
Comparatively speaking, universal language has widely applicable advantage, and shortcoming is language complexity, and development efficiency is low, to developer require high.And that the advantage of professional language is language is simple, development efficiency is high, to developer require lowly, but the business beyond specific area can not be described.Business development fast, deployment business are one of keys of enterprise's maintenance competitive power, so professional language has suitable researching value.Under UNE condition the feature of communication class business should be class of business various, abundant in content, there is personalization, CPL, CCXML, SCML are substantially for traditional call treatment business, the data services such as note, multimedia message, database manipulation can not be described, and can not carry out the operations such as concurrent, circulation, the limitation being subject to is larger, thereby is unfavorable for the business development of next generation network.
Summary of the invention
In view of this, fundamental purpose of the present invention is to provide a kind of development system and method for oriented integration network mixture of networks service procedure establishment language, utilize the service description language (sdl) (ICSDL) towards integrated communication, as expand call processing language (Extended-Calling Process Language, XPL), the means of communication such as rich call, note, multimedia message, web webpage, Email, build a network value added service platform, can provide next generation network service required whole professional abilities, and can realize more complicated database manipulation.
Another object of the present invention is to, be XPL by utilizing the described professional language towards integrated communication service, and the concurrent and cycling being restricted can also be provided, and guarantees there will not be deadlock and endless loop.
For achieving the above object, technical scheme of the present invention is achieved in that
Oriented integration network mixture of networks service procedure is worked out the development system of language, comprises script describing plane, executable code plane and the web service interface plane of service plane, operation flow; Wherein:
Service plane, for determining whether current business demand is applicable to business generation system and generates; Described business generation system is with good expansibility, and by increasing the label of XPL and the member of correspondence newly developed, the ability of the generation system of activating business meets the demand of business;
The script describing plane of operation flow, is mainly used in the development of finishing service; After the business demand of service plane is determined, use XPL to describe service logic;
Executable code plane is corresponding to the script describing plane of described operation flow, for the code that can dispose operation of the operation flow generation from describing;
Web service interface plane, mainly comprises the web service interface of Parlay web service interface and other types; Described web service interface plane is for providing exploitation business required professional ability to business generation system.
The development approach of oriented integration network mixture of networks service procedure establishment language, is characterized in that, comprising:
A, employing service plane determine whether current business demand is applicable to business generation system and generates; Described business generation system is with good expansibility, and by increasing the label of XPL and the member of correspondence newly developed, the ability of the generation system of activating business meets the demand of business;
B, utilize the script describing plane of operation flow, the development of finishing service; After the business demand of service plane is determined, use XPL to describe service logic;
C, then utilize the executable code plane corresponding to the script describing plane of described operation flow, the code that can dispose operation generating from the operation flow of describing;
D, finally provide exploitation business required professional ability by web service interface plane to business generation system; Described web service interface plane, mainly comprises the web service interface of Parlay web service interface and other types.
A network value added service platform that comprises the development system of oriented integration network mixture of networks service procedure establishment language, comprises CPL service scenario, OAM module and protocol gateway layer; It is characterized in that, its transaction processing system also comprises business translater and message distributing system; Wherein:
Business translater, for expansion CPL service scenario is resolved, obtains meeting the java code of EJB specification, then generates java file, and obtains file bag;
Message distributing system, for receiving the message of Web client submission and the message that protocol gateway layer reports, judges and is distributed to the srvice instance of correspondence in operation layer; Message distributing system also receives the message sending from srvice instance in addition, judges and is forwarded to protocol gateway module.
Development system and the method for oriented integration network mixture of networks service procedure establishment language provided by the present invention, have the following advantages:
The first, the present invention, by CPL language is expanded, comprises the expansion to the phraseological expansion of CPL itself and CPL additional function: 1) increase label message-switch.When making script carry out this point, block, wait for that external information reports, in the time that external information arrives, carry out branch process according to the type of message of stating in its subordinate's label.2) increase type messageType and 3) increase various message label.4) statement of increase ability member label.5) label of increase and OAM module interface.Making the CPL of expansion is XPL support: need to carry out mutual comparatively complicated service logic with user; The multiple entry of business; Comprise the service of the data services such as location, transmission note, transmission multimedia message and GIS; To the access of database; And the initiatively business of initiation of business self.
The second, the present invention adopts translater pattern to resolve expansion CPL script, and the script of XML form is divided into front end to the translation process of syntax tree, and syntax tree is divided into rear end to the process of target Java code (until EJB).Need to do some large variation, translate the language outside CPL as required, need so the part of amendment to only have front end, rear end substantially can be motionless.Conversely, need to be the language outside Java language if generate object code, so also only need to revise rear end code generating portion, just can achieve the goal, thereby reduce the possibility of pulling one hair and move the whole body the largelyst.
The 3rd, the present invention has also designed a set of based on contextual component model with for script conversion---the bonding algorithm of member of this model, this algorithm produces " glue code " according to service scenario, by " glue code ", member is glued together, and carrys out the execution of control member.Thisly based on contextual member composition mechanism, member itself is simplified, in form more regular, make and also become easily, be conducive to expand new member.Although component assembly method is presented as a kind of algorithm and compares complexity with the pure component assembly method based on interface, is transparent to service developer, and relatively stable, can carry out fully multiplexing.This component reusage model is the component reusage model that is applicable to a kind of higher abstraction hierarchy of XPL.
The 4th, the message distributing system that development system of the present invention adopts, receives the message that in service platform system, other modules are sent, and message is judged, processed, and is distributed in the module of corresponding operation layer and goes.Meanwhile, also receive the message that sends to other modules in plateform system from operation layer internal module, after message is processed accordingly and judged, send a message in corresponding module and go.Message distributing system receives the message of Web client submission and the message that protocol gateway layer reports, and judges and be distributed to the srvice instance of correspondence in operation layer; Message distribution subsystem also receives the message sending from srvice instance in addition, judges and is forwarded to protocol gateway module.Its inner message distribution module should process message that business logic modules issues to gateway again processing gateway to the message of sending out in business logic modules.Directly in the corresponding interface of message transmission submodule, call the interface that lower floor's gateway side provides for issuing message.
The 5th, take the operation system of above the first~four advantage, compared with the platform of the professional languages such as current use CPL, take the operation system of XPL to have advantages of that domain-oriented scope is large, can be applicable to compared with complicated business, more can be applicable to next generation network (NGN) the communication class business under UNE condition.
Brief description of the drawings
Fig. 1 is the general structure schematic diagram of UNE value-added service platform of the present invention;
Fig. 2 is the model schematic diagram of business generation system of the present invention;
Fig. 3 is the functional block diagram of business translater/module of the present invention;
Fig. 4 is the task process schematic diagram that business translater of the present invention is realized;
Fig. 4 a is the tree construction schematic diagram that script generates.
Fig. 5 is professional ability element structure schematic diagram;
Fig. 6 is that the interface of protocol gateway and business is described schematic diagram;
Fig. 7 is the type of message schematic diagram of protocol gateway and business;
Fig. 8 is the structural representation of message distributing system of the present invention;
Fig. 9 a is the collaboration diagram that service logic sends message;
Fig. 9 b is the sequence chart that service logic sends message;
Figure 10 is the Application Example of the development system of oriented integration network mixture of networks service procedure establishment language;
Figure 11 is the schematic diagram of agent logs script login.xml;
Figure 12 is the schematic diagram of agency service script service.xml.
Embodiment
Below in conjunction with accompanying drawing and embodiments of the invention, development system and the method for oriented integration network mixture of networks service procedure establishment language of the present invention are described in further detail.
Fig. 1 is the general structure schematic diagram of UNE value-added service platform of the present invention.As shown in Figure 1, described platform mainly comprises CPL service scenario processing module, business generation system, protocol gateway layer and Operations,Administration And Maintenance (OAM) system.Wherein, described operation system further comprises business translater, business EJB(Enterprise Java Beans), service operation environment, member (storehouse) and message distributing system.The present invention will describe respectively above-mentioned various piece.
Fig. 2 is the model schematic diagram of business generation system of the present invention.As shown in Figure 2, for the ease of the business generation system based on XPL is hereinafter introduced, set up the conceptual model of business generation system.Described whole business generation system is divided into substantially four planes by we: i.e. the script describing plane of service plane, operation flow, EJB plane and Web Services interface plane.Wherein:
Described service plane, is the angle from service-user and service supplier, determines whether current business demand is applicable to this business generation system and generates.Business generation system is with good expansibility, if current business generation system can not satisfy the demands completely, can consider to increase the label of XPL and the member of correspondence newly developed, and the ability of the generation system of activating business meets the demand of business.
The script describing plane of described operation flow, the development of main finishing service.After the business demand of service plane is determined, service logic is described with XPL.Service developer can directly be used XPL to describe operation flow, also can in patterned development interface, carry out exploitation business by the patterned label control of drag and drop, is the business development pattern of a kind of " What You See Is What You Get ".
Described executable code plane, corresponding to the script describing plane of operation flow, is the code that can dispose operation that the operation flow from describing generates.So-called business generation technique, the essence of its implementation is exactly the software reuse technology of certain form.In software repeated usage field, the multiplex technique based on member is current study hotspot.Substantially each label of XPL corresponding member on code is realized, business generation system is ready in advance in XPL all members of using and leaves in member (storehouse).Business generation system is according to by the described service logic of XPL, member involved in operation flow being assembled, and is packaged into EJB, the business that formation can actual deployment operation.
Web service (Web Services) interface plane, mainly comprises the Web Services interface of Parlay Web Services interface and other types.Web Services interface plane is responsible for providing exploitation business required professional ability to business generation system.
Above-described business generation system, the i.e. development system of oriented integration network mixture of networks service procedure establishment language of the present invention.It is XPL that the present invention has designed and Implemented a kind of professional language towards integrated communication service, by using described XPL, the means of communication such as rich call, note, multimedia message, web webpage, Email, build a network value added service platform as shown in Figure 1, to provide next generation network (NGN) business required whole professional abilities.
One, the lower face-to-face work of the service description language (sdl) (ICSDL) to integrated communication one briefly introduces.
1.1 service description language (sdl)s towards integrated communication (ICSDL):
CPL is a kind of call control language based on XML that IETF proposes.It is designed to carry out respectively or simultaneously at server end or user side for controlling IP phone class business.That CPL has is powerful, resource consumption is few, efficient work, easily realize, be easy to inspection, security of operation, conveniently write and process, be independent of operating system/Network Control Protocol, feature that extensibility is good.But for the purpose of safety, in CPL language, do not provide the characteristic such as variable, circulation, do not allow at server end working procedure yet, thereby ensure that CPL can move at server end safely.The object that CPL releases is to offer service provider, third party's business development business and terminal user as convenient business development means, be used for carrying out service definition and use, it is the call processing language using in network system H.323/SIP that IPTEL recommends.The function of CPL comprises support function designated call control mode, indicating call operation and to non-calling action.
But CPL language, due to the simplicity of himself and the object of itself, cannot be supported following several situations at present: (1) need to carry out mutual comparatively complicated service logic with user; (2) multiple entry of business; (3) comprise location, send note, send the service of the data services such as multimedia message and GIS; (4) access to database; (5) business that business self is initiatively initiated.
Therefore, need to carry out certain expansion to CPL language, comprise at present the expansion of two aspects---the expansion of the phraseological expansion of CPL itself and CPL additional function, expanding policy is as follows:
(1) increase label message-switch.This label is switchType type.When script is carried out this point, block, wait for that external information reports, in the time that external information arrives, carry out branch process according to the type of message of stating in its subordinate's label.
(2) increase type messageType;
(3) increase various message label.These labels are messageType type.
(4) increase ability member label and statement thereof.The content of label comprises: the title of member, the title of parameter and type, whether have the title of rreturn value, rreturn value, throw exception, synchronous or asynchronous to calling of member whether.These contents are in expansion CPL schema the inside statement.The member label increasing at present comprises location, transmission note, sends multimedia message, GIS service etc.
(5) label of increase and OAM module interface, for example charging.
1.1.1 ICSDL Message-switch label is introduced with Incoming label is semantic and is expanded.
If be that the business that XPL realizes can trigger with multiple triggering mode with expansion CPL, class of business will be rolled up so, and the rich of business also will greatly be improved.We continue to use former incoming entrance, and expand its semanteme, enable to accept the triggering message except calling out reporting message.Can continue preferably single entry-type business trigger mechanism of CPL, for service developer, do not need the too many new concept of study, only need to know: at this incoming entrance, except can call accepted reporting message, can also accept such as web page click message, note triggers message, geographic position change reporting message etc. type of message.Therefore for service developer, take the CPL that expands the semantic mode of incoming to there is milder learning curve.
But the problem that expansion incoming semanteme brings is: actually or while judging the business of other message trigger of message related to calls, obviously need the such branch's arbitration functions statement of string-switch in a kind of CPL of being similar to.In CPL, the statement of switch type has following several: string-switch(judges character string content), address-switch(judges all of call address or part), language-switch(to session use language form judge), priority-switch(judges the priority of session) and time-switch(to call out arrive moment judge).In these switch, do not do large variation if utilize substantially existing basis, so most possible candidate is exactly string-switch.Only need to be after incoming a string-switch immediately, and the treatment scheme to the string-switch that is in this position is done some special processings, make it to be different from the string-switch in primitive meaning, and can judge the type of message just passable.Problem is, it is type of message to be judged needing at first that business has more than.In the process that this language of CPL is analyzed itself, can find, the place that occurs business " time-out " is proxy.For example, in the time calling out certain business of triggering, through a series of other treatment schemees, service logic determines to want replay call, so there is proxy label here.At this time, the labels such as the busy/noanswer following after proxy, are all a kind of promptings, that is: proxy issues action the send person of call proceeding message to protocol gateway, enters afterwards " wait ", namely " business time-out " state.The continuation of business is carried out, and is controlled by protocol gateway: or return to the successfully instruction that continues, or return to the various failure instructions that continue.After receiving these instructions, the follow-up label of proxy will be gone on along corresponding branch.Typical " business time-out " case that Here it is.In actual business, be not only that proxy place just needs such time-out.Suppose that such business demand has occurred, original CPL cannot meet the demands.Therefore, reach our requirement, need to after proxy, introduce a kind of " business time-out " mechanism, business can be taken time out in this point of enabling " business time-out ", the generation of waiting event, thus judge according to the type of event (the namely type of message) how branch down carries out again.In this business, can imagine, after proxy, can start timer timing 15 minutes, informing business logic when the time arrives; Be exactly business breakpoint afterwards, can follow the labels such as timeout label (newly introduce, represent that overtime event arrives), onhook label (newly introduce, represent correspondent on-hook) after it.After timer expiry, service logic will be carried out business breakpoint, and judgement is timeout event, so carry out timeout branch, service logic below just can at random be called out control and Subscriber Alerting Signal has operated.Visible, introduce business breakpoint, accomplish the thing that former CPL can not accomplish, improve well the interactivity of business.And taking ultimate searching service as research case, it is exactly that the web interface button of waiting for seat is clicked that maximum situations is applied in business breakpoint, these clicks also can be handed down to service logic as message, therefore catch these click event with business breakpoint and fit like a glove.For clear, and for the purpose of unified with original CPL structure, the form in business breakpoint is also defined as to " message-switch ".
Definition: in the time that message-switch immediately occurs after incoming, this message-switch thinks to occur as asynchronous form, its effect is exactly to judge that the message of triggering business is message related to calls or other message, afterwards with message label, for dividing different branches.In the time that message-switch appears at other parts of service logic, this message-switch thinks synchronously, and namely it need to wait for that extraneous message trigger can continue down to carry out.
This label represents that in script script just blocks after running to this point, until arrive and just continue down operation by extraneous message, the various type of messages of the message of receiving and the definition of message-switch label subordinate are compared, if find the message label of coupling, just carry out the action that corresponding message label is specified below.If do not find coupling message, default treatment is exactly winding-up.So business author will consider the complete message that may receive at this point in the business of writing.In addition, also can consider provides " default " label, represent the default treatment to can not find coupling message.Depending on the demand in exploitation.
1.1.2 the introducing of ICSDL intermediate variable label variables.
In the middle of the implementation of service logic, ability member can produce some data results, and input message also can be carried data, and the ability member that these data often can be moved below uses.Such as in a service logic, may first call and obtain the position that the capabilities element of positional information is obtained user, the member that then generates map picture need to use this positional information to remove to generate corresponding picture.This data are called as intermediate data in service logic descriptive language.Intermediate data can be kept in external memory (as, database), then obtains intermediate data by the capabilities element that access external memory is provided.If but the use of intermediate data is more frequent, will certainly reduce the travelling speed of business.Therefore be necessary these data to be kept in internal memory with the form of intermediate data, and provide a kind of suitable mode to conduct interviews to the intermediate data in internal memory.
1.1.3 the expansion of the messaging capability to be entered such as ICSDL.
Although some labels can provide the ability waiting for the arrival of news in CPL language, as proxy label, but these labels are all functional labels, relevant to concrete application, cannot meet the demand of business versatility, therefore expand specially label---the recvMessage of the message to be entered such as general.In the ordinary course of things, recvMessage need to wait for extraneous input, then proceeds to different branches according to the message of input.If but recvMessage appears in the situation of incoming element and then, because business now must be received a message that triggers business, so recvMessage does not just need to wait for extraneous input again, and directly judge the title of the message of this triggering business, that is to say that and then the recvMessage element of incoming does not need to wait for extraneous input.
Because the message of at a time waiting for may have multiplely, therefore under this label, just may have multiple information nodes, each information node represents a kind of message of receiving.This and proxy are a bit similar, but different, the message of waiting for after proxy is fixed, can in schema, clearly define, the message that recvMessage waits for is different along with the difference of business, and therefore in schema, its child node just cannot directly be write as the title of message.In order to address this problem, the unified label message that uses of the child node of recvMessage, this label has an attribute name to represent the title of the message of receiving.In this way, service developer just can dynamically write according to the demand of own service the schema that needs the message name of waiting for and observed script.
Once mentioned above, the message of receiving likely needs the parameter of being carried to be assigned to some intermediate variables in script.In fact Message label is exactly information node, therefore, in the time of needs assignment, needs to increase parameters and parameter two Seed labels below message, and the mode of interpolation, with identical above, does not repeat them here.
1.1.4 the cycle control Goto label of ICSDL.
Except expanding member, message-switch, also needing syntactic structure to increase loop statement is exactly goto.CPL was originally designed with sub label, it can be understood as function call, can be invoked at the action stating before it, and in fact also can be understood as a kind of special goto, be only unidirectional goto, be namely merely able to jump to before sub statement.In order to improve the efficiency of program, the simultaneously satisfactory texture of Rogue program not again, controlledly uses some goto statements to be necessary.In practical business scene, the redirect situation the most often running into is exactly that loop playback collects the digits, and this is the type goto that inevitably knock-ons.For ultimate searching service, it is also in the whole conversation procedure after the login of this seat that seat is constantly answered new user's calling---in the process that namely seat script is carried out---the cyclic process of rebound type.Another kind is the redirect of non-rebound type, for example from waiting status according to user's input or similarly external condition repeatedly jump to different action(and for example cyclically send note, email etc.) then rebound waiting status again---this can clearly find out the Mobile Telephone Gps business of today.If therefore continue to continue to use the pure linear precedence execution mechanism of CPL, so these users experience abundant characteristic service all will become impossible.Consider compatibility and functional, determine to add goto label in expansion CPL.So both retain the definition of original sub statement, met again new redirect requirement.The use-pattern of goto label and sub label is basic identical, difference be its semanteme be to jump to the subaction of statement anywhere.
1.1.5 the expansion of ICSDL professional ability member label.
Script will comprise the professional ability label that many and concrete application is relevant, such as call capabilities label, SMS capability label, GIS ability label etc., these labels are not only the simple expression of network capabilities in script, and some labels can have some simple logicalities.Software component technology has improved the reusability ability of code, therefore function corresponding these ability labels can be realized by software component technology, is called as professional ability member (abbreviation member) in service scenario.Member is relevant to concrete application, and along with the increase of later applied environment and network capabilities, the quantity of member also can increase thereupon.Professional ability member is a comparatively complicated technology, will provide below the comparatively detailed design of member herein.In script schema, member label is all inherited the type from Node.
1.1.6 ICSDL extended capability label description document.
ICSDL extended capability label refers to the ability label of calling control ability and other supporting network abilities etc. for representing communication network support.Do not causing under the prerequisite of obscuring, described ability label also can be described as member.The built-in ability label of system comprises note sending/receiving ability, calls out control ability, station-keeping ability etc. at present.Along with the continuous expansion of network capabilities and abundant, there will be more network capabilities, at this time just can be by increase the function of business with expansion capacity label in service scenario.When expansion capacity label, require to follow extension syntax, and ability supplier to provide the corresponding java class that can call.Normalized written: referring to ability label expansion schema.
1.1.7 ICSDL supports this mutual extension tag of multiway.
Complicated business needs multiple scripts to describe multiple independent subservice flow processs, need to be undertaken by message queue alternately between these scripts.Script illustrates and oneself used which message queue by the title of specify message queue, and each script was write message in message queue in the past, also can from message queue, cancel breath, also can not only read but also write.By participating in deciding through consultation the title that needs the message queue using in mutual each script, just can realize multiway between this alternately.
For this reason, introduce notify_message and pick_message label, add a record to the character string chained list of bufferName by name, this label is synchronous.Set corresponding character string chained list to this script and search the record of Satisfying Matching Conditions, this label is synchronous.
1.1.8 ICSDL database access syntactic element.
For can in service logic descriptive language, can access with Update Table storehouse in data, in service logic descriptive language, defined specially the member of corresponding operating, comprise at present the most frequently used interpolation, deletion, inquiry and renewal operation.These functions can provide with the form of member.
1.1.9 other expansions of ICSDL.
CPL is in order to support powerful service logic capabilities in expansion, needs in script, to embed expression formula, to obtain and process various data in the time of operation.For this reason, regulation is the origin identification as expression formula with " $ ", after this symbol, and the immediately content of expression formula, can be various arithmetic, logical operation expression formula, can be also to see below literary composition from service operation context ServiceContext() extract the content row operation of going forward side by side.In the time that the parameter of member is array (being mainly the parameter in database query operations), can be with " ~ ~ " in script the separator as each element of array, the value of each element is separated, thereby an array can be placed in an attribute of XML label.
Two, we describe design and the implementation procedure of the I-VASDL resolver based on member below.
According to aforementioned content, we adopt translater pattern to carry out the parsing of CPL script.While facing the CPL script occurring with XML form, the required work of doing is that XML document is resolved to tree, is mapped to translation class syntax tree more afterwards by certain mode, finally carries out code generation.Like this, XML script can be divided into front end to the translation process of syntax tree, syntax tree is divided into rear end to the process of target Java code (until EJB).The advantage of dividing is like this: if when doing some large variation, for example, if require the language outside translation CPL, need so the part of amendment to only have front end, rear end substantially can be motionless.Conversely, need to be the language (as the reason such as selection or policy due to technology requires to use the technology beyond EJB) outside Java language if generate object code, so also only need to revise rear end code generating portion, just can achieve the goal, thereby reduce the possibility of pulling one hair and move the whole body the largelyst.
Concrete front end chief component comprises: DOM(Document Object Model) resolver and Converter class group.Rear end chief component is CodeGenerator class group.Front end becomes dom tree object after XML text is resolved through DOM engine, each node is just mapped as Element object one by one, afterwards by a core classes that is called ConverterFactory, Element tree is mapped to Converter tree (having used translater pattern here No. a time), is so far front end.Rear end is from Converter tree, (said exactly by each Converter class, each subclass of the Converter of Converter) again oneself is mapped as to CodeGenerator tree, each CodeGenerator subclass carries out actual contextual analysis and final Java code generates.Till CodeGenerator, the work that translater does has completed the conversion work from CPL script to Java main code, become the EJB module that finally can move, also needs to depend on the periphery work of quite a few.These work mainly comprise that the packing of generation, business EJB of final generation, the EJB configuration file of java class is (if use database, the configuration file that also needs to relate to database EJB generates and EJB packing), operation relies on the packing that the generation in storehouse, final EAR are wrapped, so far, the EJB module that can move accomplishes.A complete business as shown in Figure 3, comprises CPL script, business datum description document and business configuration file, and they provide by service developer.
Fig. 3 is the functional block diagram of business translater/module of the present invention.As shown in Figure 3, this business translation module, mainly comprises:
CPL script: defined the flow process of business, comprised transmitting-receiving and processing etc. to the calling of each building blocks of function, message.
CPL script administration module: to the physical location of lower module shielding CPL script, no matter CPL script is to exist with physical file form or with database list item or other form, this module can both be treated respectively, and the content of CPL script is indistinguishably provided to lower module.
Tree construction generation module: the CPL script passing into according to upper layer module, the tree that generation script is corresponding.So that lower module is resolved, is translated it.
CPL parsing module: be the core of business translation module.The tree construction that it generates according to tree construction generation module, carries out semantic analysis to it, and in conjunction with context, generates corresponding Java code (in detail translation algorithm referring to hereinafter).Several large data structure that it will be used comprises: expansion CPL Schema, service operation context (Service Context), symbol table.
Here, expansion CPL Schema is the Schema after this business platform is expanded basic CPL Schema.Service operation context (Service Context), the environmental objects of the content such as storage of variables and context interactive information while being the operation of certain specific service instances.Service Context is for storage service runtime data.Along with the difference of business, when their operations, the data of required maintenance are also different, for example, attribute in the extraneous message such as calling/web message, and the rreturn value of component invoking etc.These data need to be stored in business EJB.Because the type of these data is different, therefore store relatively good by unified name-value to mapping.Name-value is like this safeguarded by Service Context mapping.Symbol table, is used for preserving the symbol of identifying in resolving, is convenient to follow-up code and generates.
Java code generation module: the result of resolving according to CPL parsing module, and above-mentioned several large data structure, carry out suitably comprehensively, code writes, the Java code that final generation can compile.
Here, business datum description document, has described database table and corresponding program language data structure thereof that this business uses.Business configuration file, description business some configuration items in the time disposing.
Profile management module: the physical location that lower module is shielded to above-mentioned two class service related information files.
Configuration module: according to configuration information, in conjunction with Java code, generate the deployment configuration file being consistent with it.
Translater is mainly realized the service logic description document of XML form and business datum description document is converted to and follow java file and the deployment descriptor file of EJB specification and finally compile, be packaged into the ear file that can dispose in Enterprise Java Bean container.
Translation process has multiple subtasks to complete, and as shown in Figure 4, has shown these subtasks (due to identical with the subtask of business datum data description file to service logic description document, therefore no longer single area separates) here.Wherein:
Subtask one: script checking.This step is mainly that script file is verified, prepares in the subtask that generates if the verification passes a dom tree and be below.
Subtask two: code generates.For service logic description document, each DOM node of the dom tree that this step traversal back obtains, translate according to the type of the member of DOM node representative, generation meets the java code of EJB specification, comprise the code of Home interface, Remote interface and Bean file, and subordinate's descriptor file.For data description file, this step is also the dom tree node that traversal back obtains, and generates LocalHome file, Local file, Bean file, PK file and the deployment descriptor file of entity bean according to the title of node.
Subtask three: file generated.This step is that the java code of previous step generation and the content of subordinate's descriptor file are write in the middle of corresponding file.
Subtask four: compiling, packing.This step is that the java file that previous step is generated compiles generation class file, then class file and deployment descriptor file are broken into jar bag, finally will get in ear bag according to the jar bag of service logic file generated with according to the jar bag of business datum file generated again.
2.1 ICSDI service scenario checkings.
Because grammer checking can directly be verified by schema, therefore here repeat no more.
Data query operation is returned results to be assigned to the checking of intermediate variable also more special, cannot define owing to returning results in member configuration file, therefore need data query description document, obtain the information of result name and result type, then verify.
2.2 ICSDL business translation rules.
2.2.1 the design of service logic description document translation.Service logic description document will be translated into the Session Bean of state, and how mutual with the external world file translating need to be considered, how the problem such as state of maintenance service example.
2.2.2 build the translation of label.Each member label will first generate a function in the time of translation, and the code of component invoking is all in this function scope.In order to make function name unique, all nodenames on can the path using root node from script to this label node are combined as function name.
Each member can have a member class, in the time running into the label that represents member, adds the statement of component invoking interface function in interpreter code.Because member is stateless, therefore interface function can be designed to static function.The parameter of interface function is divided into two kinds: a kind of is built-in parameter, represents that the assignment of this parameter is taken from the built-in intermediate variable of script automatically; The parameter that right and wrong are built-in, represents that the assignment of this parameter is specified in script by service developer.In translation member, the member of every type all can have fixing interpretation method.The information translation device of type, title and the interface function of member can obtain by the attribute configuration file of reading element.
2.2.3 produce the translation of conditional branching label.Owing to not specifying in script and must write default logic output node in schema, therefore in the time not occurring giving tacit consent to node in conditional branching, need to add acquiescence child node, and can judge acquiescence node according to the meaning of acquiescence node and should go to explain as last conditional branching node, that is in preorder traversal, give tacit consent to child node and should be added to the rightmost child node of label node that produces conditional branching.
Automatically after the acquiescence node adding, there is no child node, its semantic expressiveness is taked the default action of script design, in translation, can return to the example of default message DefaultRetMessage.Message distribution layer converts suitable message to receiving after this message, such as srvice instance is receiving that the message of returning after a message related to calls is DefaultRetMessage.Message distribution layer should return to a message that allows called gateways call out by oneself below.
In the time of translation logic output branch node, except acquiescence node, each branch node will generate an if action scope, and acquiescence node should generate an else action scope.If but only had acquiescence node as logic output node, in translation, would not do not need to add else action scope.These action scopes are included in the function scope that produces the generation of conditional branching label node.In each action scope, to add the statement that the next title of processing function in this branch's logic is set.
2.2.4 the translation of label node waits for the arrival of news.These nodes need to wait for extraneous input message after executing, and therefore service logic should finish after this node to carry out executing, and wait is until new message input.Therefore, this node should produce two functions, comprises the code that calls the type node in first function, second function comprises the code waiting for the arrival of news, and second function is follow-up as first function, and second function can be called call back function, ends up with " Callback ".
The child node of the type node must be message branch node, thereby code in call back function will adopt and produce conditional branching action scope, is equal to the interpretation method of conditional branching action scope.
2.2.5 the translation of leaf label node.For the label node (being included in the acquiescence node default or the otherwise that add in translation process) that there is no child node, it is leaf label node, except sub and goto, other node is all illustrated in after the function that executes this node representative, and script logic is through with.Therefore, the title of the next one being processed to function in the function scope generating at this node is arranged to null character string, also need return messages mark to become the last item message, represent that service logic executed is complete, for the life cycle of message distribution module maintenance service example.
2.2.2.6 translation rule.Because script in Universal Service Platform will be translated into EJB program, therefore translater will be to translate into EJB program as describing basis here.
For Home interface document, Remote interface document and subordinate's descriptor file, because the content of their the insides is more fixing, there is no too large contact with title and the content of concrete script, thus can directly generate, and need not travel through script file.And for Bean file, its content and script file are closely connected, therefore, only traveling through ability spanned file content after script file, will introduce the translation rule that generates Bean file content below.
2.2.7 the optimization that code generates.Analyzing the translation rule of all kinds labels can find, the label of every type all needs some information in the process being translated, and such as synchronous and without the member label of logic output type, only need to know the parameter of component interface function; Asynchronous type member label, also needs to know below it have which message branch; And recvMessage label also needs to know that recvMessage label is whether under incoming label.Need which information to fix the label of every type, but these information with which kind of syntax format are expressed and may be changed along with the variation of script schema in script.In order to reduce the impact of syntax format on translation rule, code can be generated to subtask and be divided into two stages: the conversion of translation information and the enforcement of translation rule.
The conversion of translation information: resolve the dom tree node that script generates, obtain corresponding types label needed information of when translation, the concrete syntax form of this stage and script has closely and contacts;
The enforcement of translation rule: implement concrete translation according to the information of obtaining previous stage, this stage and concrete syntax form do not contact.
The division in two stages, can bring two benefits: one, if there is afterwards variation in the syntax format of script, such as component interface function parameter assignment in script, take member label child node form express, only need to change the method for obtaining function parameter assignment in the first stage, and do not need to change concrete translation algorithm, reduce the change amount of translater.Its two, realize the translation to other language if need to expand translater, because translater is subject to the impact of language syntax form less, thereby the change amount of translater has also just reduced.Such as realizing the situation of translater of XTML language.Function in XTML language is also to provide by the mode of member, and its member also can be divided the type of member in cost script completely, and therefore XTML language translator can adopt the translation rule of member label completely.
Three, ICSDL business component design.
Professional ability member (hereinafter to be referred as member) is the code segment of realizing certain function, and it is the further encapsulation to network capabilities API.In the time that operation flow is carried out certain member, member can be realized logic function from extraneous obtaining information, and to extraneous return data result; In addition, member may produce multiple result branch after complete, makes logic flow occur branch.According to the description to member function above, the structure of member as shown in Figure 5.Mainly comprise:
Logic load module: each member is invoked at and shows as a label node in script, adopt tree structure according to description service logic descriptive language above, therefore each business component can have a logic input, and presentation logic has proceeded to the execution of this member.
Logic module output: the execution of member service logic after executing will forward other business component to, the next member that will carry out has been pointed in logic output.The logic output of a member is exactly the logic input of the next member in its logical execution flow.Some members may have the output of multiple logics after executing, and some members may not have logic output, and member executes rear operation flow and finishes immediately.Logic output is expressed as the child node of component node in script.
Data input module: each member may obtain from the external world some information in operation, and external information can be the constant that service developer is used in script can be also the srvice instance intermediate data that the custom variable in script is preserved.
Data outputting module: member may need to produce some data after executing, these data can be used by later member, and member can be assigned to these data the custom variable in script.
Member function is realized module: this is the place of realizing of member function logic.
Script needs the interpreter analysis that makes an explanation, the dynamic increase of member can bring a problem to script interpreter: if the concrete meaning of the syntax format of member and member is associated together, interpreter just need to identify the concrete meaning of member so, then makes an explanation.Like this, member of every increase, just need to change interpreter one time.In order can newly-increased member to be added in script in the situation that not needing to change script interpreter, just needing script is the form that member defines standard on syntax format, member is deferred to these forms and is dissolved in script, and interpreter only needs the form that can correctly explain these standards just can explain all members.This relation object is similar to the relation of socket and plug-in unit, the standard interface that script provides is exactly socket, and member is exactly plug-in unit, member is inserted in script by these sockets, even if increased new plug-in unit later, as long as these new plug-in units are deferred to existing jack interface, these plug-in units still can be inserted in script by socket.Different members often has different speciality, and such as some member may have Output rusults, some member does not just have; Some member only has success and failure completing the result producing after function, and some member may have more Output rusults; Some member is carried out immediately the component node below it after executing, and some member may need to wait for the component node of extraneous message below carrying out again after executing.Can carry out inducing classification by these speciality to member, the member of every type has fixing syntax format, and for convenience of the translation of member label, the member in this script is divided into following several types:
Synchronous and without logic output type member: this member does not need after executing to wait for that extraneous input can directly carry out next member, simultaneously this member can produce output result, as success, failure etc., that is the node of this member does not have Output rusults child node.Such as original redirect in CPL language and reject member just belong to this type because they can not follow child node below.
Synchronous and have a logic output type member: this member does not need after executing to wait for that extraneous input can directly carry out next member, this member can produce multiple Output rusults simultaneously, as success, failure etc., that is the child node of this member must be Output rusults child node, otherwise the node of this member can not be with child node.Such as sending note member, its Output rusults child node can be success, failure.Only just can be with other component node below Output rusults child node.
Asynchronous type member: such member refers to after this member is finished, and need to wait for extraneous input, continues to carry out logic below according to extraneous input.The node of this member comprises message child node, if do not specify any Output rusults child node in script, has the default child node of an acquiescence as output node, and carries out the operation of acquiescence.Proxy member in CPL is exactly such member, and proxy, after the action that executes forwarded calls, waits for the message that forward is returned.
Selective type member: this type of member is the member that title represents as the node of ending taking " switch ", it represents to carry out match selection according to the value of some intermediate data, produces conditional branching.Its branch's child node is called as selection descendant node in this article.
Different from other nodes that produce conditional branching, select descendant node will carry out member action.Taking string-switch as example, string-switch represents character string to compare, and real comparison to be it select that descendant node---string node completes, specifically with which parameter comparison, be that exact matching or fuzzy matching etc. are all completed by string node.Therefore, only in the time running into selection descendant node, just really carry out member, then whether should go on along the branch of corresponding selection descendant node according to the logic output decision logic of member.Here can specify to carry out this branch in the time that the logic output of the member of selecting descendant node to represent is success, other any logic is exported all presentation logics and is not walked this selection descendant node branch, but this logic output is not expressed in script.Under selection descendant node, directly follow other component node.After Selective type member executes, do not need to wait for extraneous input yet, but directly can move logic below.
Asynchronous: calling after the API of this member, service logic need to be blocked and waited for the arrival of news;
Here, message refers to the message that service logic example obtains from gateway or web client, allows service developer oneself to define; Switch type, it is the condition judgment type in script, the for example <message-switch> of original switch type and expansion in cpl, the label of switch type does not have corresponding member, and its attribute is using the part as the follow-up tag attributes of switch; Swich is follow-up, for example <string>, the <time><addressGr eatT.GreaT.GT<priority> in cpl and the <message> of expansion, they,, except comprising the attribute of oneself, also comprise the attribute of the switch label at place.
Under normal circumstances, script interpreter needs some information in the process of implementation, comprising: the type of member; The data result of member output; The parameter type of calling interface in member realization.But the schema of script cannot provide these information, therefore need to specify these information for configuration file of member specialized designs, interpreter can obtain type and the call parameters of member by the information in reading element property file.
Here main illustrative system core component is the main implementation technique that business generates engine.The essence of business generation technique is exactly the software reuse technology of certain form.Software repeated usage based on member is the emphasis of research at present and application.The current component assembly method based on interface is discussed morely, and the interface (or calling by so-called connexon) that this method relies on member directly to call other member completes the assembling of member.The member assembling of this application scenario of XPL is with the difference of member assembling in general sense:
1) service developer is described operation flow with XPL, does not directly carry out member assembling, and member assembling need be completed by system, and system needs unified method automatically to realize in the realization of member assembling;
2) if continue to use the member assembly model based on interface, also must be implemented in so the inside of member as flow operations such as order execution, selections, member meeting more complicated, can consider the thing of the general character such as flow process control in member to peel off away from member, system adds the thing of these general character in the process that completes conversion from XPL to executable code again.
Based on this, we have designed a set of based on contextual component model with for script conversion---the bonding algorithm of member of this model, this algorithm produces " glue code " according to service scenario, by " glue code ", member is glued together, and carrys out the execution of control member.
The label of XPL is the description unit of demand, and it is member that corresponding ability realizes unit.Each member has specific precondition key P and postcondition key E(P and E also to can be sky).Member is first written into from the context precondition, the backward context write-back of end of run postcondition before operation.Member is a class, must realize 4 methods:
void loadContext (): :=< is from the corresponding information > of upper lower loading P.
boolean willBeTrigered (): :=< judges whether this label meets the condition of operation, realizes the selection operation > of XPL.
void process (): :=< realizes the main business logic > of this label.
void fillContext ():: label operation result is written to the corresponding local > of E in context by=<.
Employing script conversion---the bonding algorithm of member:
1) by definition 2, XPL script file is splitted into the tree tree that many traffic segment form, every corresponding EJB business affairs method of tree, the method will be used for responding Event event.Because meet between each method by the order of network call, method name is decided to be the character string from the root of Flow to the title composition of the label that root passes through of tree.
2) <subaction> is carried out to the processing same with responsive tags, the script subtree that is <subaction> definition also splits into service logic fragment, with step 1 difference be that corresponding EJB method is called by business oneself, therefore a corresponding EJB private method, the value of method <subaction> attribute id by name.
3) in step 1), 2) in all traffic segment trees of forming carry out a kind of special preorder traversal, in the process of traversal, member corresponding label is glued together with " glue code ", the code in EJB method corresponding to formation traffic segment.As shown in following pseudo-code.
Italicized item is " glue code " that form in EJB method, and recordRunTimeLogicTrace is a householder method, and effect coordinates the title of EJB business affairs method, and system just can be called traffic segment by selecting properly in response Event event.
Thisly based on contextual member composition mechanism, member itself is simplified, in form more regular, make and also become easily, be conducive to expand new member.Although component assembly method is presented as a kind of algorithm and compares complexity with the pure component assembly method based on interface, is transparent to service developer, and relatively stable, can carry out fully multiplexing.This component reusage model is the component reusage model that is applicable to a kind of higher abstraction hierarchy of XPL.
Four, the realization of message distributor message distributing system when ICSDL service operation.
When the business executable file that CPL translater generates is deployed in and moves in Universal Service Platform, need to introduce message distributing system and support the operation of the business generating.Be analyzed as follows:
1) in Universal Service Platform system, the interface of the reporting message that underlying protocol gateway module is realized is the Parlay X interface based on Web Service, and the business executable file generating externally provides the remote interface of EJB.In the time that two kinds of different interfaces are wanted interaction message, need a middle layer to carry out the conversion between interface interchange.The interface that is illustrated in figure 6 protocol gateway and business is described schematic diagram.
Because Parlay X specification is according to the difference of used network capabilities, the protocol gateway layer of definition is also just different from the interface between application layer.Protocol gateway layer is in the time of reporting message, and the interface calling not is unified, also ununified form of the message of simultaneously transmitting.And the business generating all has unified interface, unified entrance outlet message, the unified method of operation.Therefore when business reports at Treated Base protocol gateway message, a subsystem be need between business executable file and protocol gateway, increase, the mapping of docking port, the conversion of message completed.Be illustrated in figure 7 the type of message schematic diagram of protocol gateway and business.
Fig. 8 is the structural representation of message distributing system of the present invention.The position of message distributing system is as shown in Figure 8 known, message distribution module is one of key modules of operation layer, its receives the message that other modules are sent in service platform system, and message is judged, processed, and is distributed in the module of corresponding operation layer and goes.Meanwhile, it also receives the message that sends to other modules in plateform system from operation layer internal module, after message is processed accordingly and judged, sends a message in corresponding module and goes.Specifically: message distributing system receives the message of Web client submission and the message that protocol gateway layer reports, judge and be distributed to the srvice instance of correspondence in operation layer; Message distribution subsystem also receives the message sending from srvice instance in addition, judges and is forwarded to protocol gateway module.Message distribution module should process message that business logic modules issues to gateway again processing gateway to the message of sending out in business logic modules.Directly in the corresponding interface of message transmission submodule, call the interface that lower floor's gateway side provides for issuing message; And comparatively complicated for upper Message Processing, should be able to judge whether need to set up service operation example according to the information reporting, issue which service operation example etc.
Message distribution module, for the treatment of the interactive information between Web client and business logic modules, gateway and business logic modules.Web client or gateway are during to business logic modules reported event, all need to be undertaken by message distribution module, message distribution module is according to the information such as type of message, parameter, create or find corresponding srvice instance to process, and the result of business logic processing is returned to Web client/gateway.In addition, in the time that business logic modules will be used network capabilities, also need to be undertaken by message distribution module, message distribution module realizes particularly in the calling of network capabilities calling bottom gateway, also preserve some information relevant to service operation, so that after this when gateway reporting message, can find corresponding srvice instance.
The interface that 4.1 message distributing systems are supported.Different according to the interface realizing method mutual from message distribution subsystem, interface module, are divided into protocol gateway reporting message interface, Web client submits to message interface and business to send message interface.
4.2 protocol gateway reporting message interfaces.Protocol gateway reporting message interface by protocol gateway initiate, to the Web Service interface of message distributing system, the measured Parlay X of this interface specification, Parlay X interface specification is done to suitable expansion simultaneously, adapted to the demand of Universal Service Platform to professional ability.
4.3 Web clients are submitted message interface to.This class interface is the interface between Web client and message distribution subsystem.As, procWebMsg:Web client is submitted information to business.
4.4 business send message interface.Business send message interface by business initiate, to the Web Service interface of message distributing system: as, makeACall: business makes a call; GetCallInformation: this interface of calling service obtains the information of a calling etc.
The structural representation of message distributing system of the present invention as shown in Figure 8.According to the difference of completed function, message distribution module wherein further comprises four submodules: message sends submodule, message sink submodule, service management submodule and srvice instance management submodule.Wherein:
Srvice instance management submodule, for establishment, maintenance and the delete function of finishing service example.The object that designs this module is, in the time that operation layer creates or searches the rule change of srvice instance, only change the realization of srvice instance manager, and need not revise the realization of each interface of processing messages, reduced the coupling between messaging interface and srvice instance management.For example, when message sink module reports in processing gateway message, need to find or the srvice instance of newly-built this message of processing, the interface that message sink module only need be called corresponding srvice instance manager obtains srvice instance, create a srvice instance or search and decided by srvice instance manager in the srvice instance having created, message receiver module has been shielded to the details that realizes that srvice instance searches.
Message sends submodule and message sink submodule, be used for the difference of the direction of the message receiving according to message distributing system, the module of the message of processing protocol gateway module, Web client is become to message sink module, and the module of the message of processing srvice instance module is become to message transmission module.The function that two modules complete is exactly to realize the external message and the mutual mapping of operation layer inside story that receive, the shielding of realization to external message.Like this in the time that outside interface changes, for example, when the interface of protocol gateway module and business module changes, just can only revise the realization of message sink inside modules, realize the mapping of protocol gateway message to inside story, the interface of message distribution subsystem inside does not need to change.
Service management submodule, the object that designs this service management submodule is the extensibility in order to improve system.This service management submodule, for carrying out interacting message with OAM module, once change with the interface of OAM, only need to revise service management submodule, and need not change other modules.
Wherein: service management submodule, for realizing and the function of management service relevant information, comprising:
1) service inquiry.2) service configuration information inquiry.3) professional ability authentication.4) business validation verification.5) heartbeat detection.6) process the notice that business information changes.
4.4 service logics send the process of message to network capabilities Web Services.
Please refer to Fig. 8, send the collaboration diagram of message, send the sequence chart of message as Fig. 9 b is depicted as service logic as Fig. 9 a is depicted as service logic.The process that this service logic sends message mainly comprises:
Step 1: business logic modules message call sending module sends message to network capabilities module.The interface of the transmission message providing for each network capabilities, message transmission module also provides identical interface to application.Why using network capabilities by message transmission module, is in order to preserve the information relevant to srvice instance by srvice instance administration module in sending message, as quoting srvice instance.
Step 2: the interface that message transmission module is called network capabilities module sends message.
Step 3: send message call complete, network capabilities module is to message transmission module rreturn value.
Step 4: message transmission module, according to rreturn value, is called the relevant information of some service operations of service management module records.
Step 5: service management module is called srvice instance administration module and preserved the relevant information of service operation.
Step 6: rreturn value is returned to business logic modules by message transmission module.
Five, specific implementation example.
Figure 10 is the Application Example of the development system of oriented integration network mixture of networks service procedure establishment language of the present invention.As shown in figure 10, this system comprises system main-control module (Controller), configuration module (developenviroment), translation top control module (interpretation), business authentication module (validation), business translation module (enception), file generating module (filegeneraion), collector (compliation).Wherein:
System main-control module creation configuration module and translation top control module; Configuration module is obtained the configuration informations such as script path for translation module; Translation top control module is the core of dispatching services authentication module, business translation module, file generating module, collector; Rear four modules, according to the product process of business, are the relation of front-end and back-end in turn, and the former output is as the latter's input.
System main-control module, is responsible for creating configuration module and translation top control module, obtains configuration information and translates.
Configuration module, by modes such as configuration files, obtains and deposits about script that path is deposited in path, classes of messages, member class is deposited the information such as path, for translation/collector.
Translation top control module, dispatches 4 modules of its subordinate, carries out translation.
Business authentication module, uses the specifications such as expansion CPL schema, and the service scenario that service developer is provided carries out the verifications such as morphology and grammer.
Business translation module, the information that comprehensive miscellaneous service description document provides, is compiled into executable EJB code by service scenario.
File generating module, the code that integrated service translation module generates and the information of service scenario, generate complete EJB Java file.
Collector, for compiling EJB Java file, the jar/ear bag that generation can be disposed.
Six, Application Scenarios-Example.
6.1 Click To Dial.
This example is fairly simple, provides complete service scenario below.Business scenario is: user initiates a Click To Dial from web page, attempt to set up main side and callee's call, if unsuccessful, send a SMS notification to calling party and callee, if success, send a multimedia messaging service business card to calling party and callee, for the purpose of description is convenient, the specified URL on multimedia messaging service business card Adoption Network.This srvice instance has comprised note and multimedia message operation, and CPL, CCXML, SCML all cannot describe.
Merely business accompanied in 6.2 voice.
Business scenario is: accompany and merely act on behalf of many people, agency uses mobile phone, and with the mode informing business of note, it is started working, and starts to accept client's telephone counseling; Client dials special service number, and agency of traffic assignments is for he serves.This business is made up of two scripts, and script login.xml is used for processing agency by log in/cancellation of note system, and script service.xml is used for processing user's calling.This service integration has used the basic capacities such as calling, playback, note, database manipulation, and circulation, the flow process control device such as concurrent, and having realized agency and client's queuing, CPL, CCXML, SCML cannot complete such logic complexity, abundant in content business.
Figure 11 is the schematic diagram of agent logs script login.xml, and Figure 12 is the schematic diagram of agency service script service.xml.The present invention as space is limited, does not accompany voice merely business XPL describe its complete operation flow and the explanation of operation flow is write as to XML form.
Message queue data structure show: Q_Name=" agent ", S number is 1, is worth for acting on behalf of cell-phone number; Q_Name=" counting ", S number is 1, is worth for fixed character string " counting ", this queue represents the current number of acting on behalf of of serving as counter; Q_Name=" user ", S number is 1, is worth the cell-phone number for client.
With reference to Figure 11, script login.xml process description: agency sends identifying code note to shortcode, if 1. existing this act on behalf of cell-phone number in queue agent, complete logout flow path, otherwise in database, search corresponding identifying code and verify 2. (for the purpose of simple, omitting the script that CMP and EJB_QL write), 3. the unsuccessful agency of giving sends short message prompt, if successfully put into queue agent 4. by acting on behalf of cell-phone number, 5. the current number of acting on behalf of of serving adds 1, and 6. short message prompt logs in successfully.
With reference to Figure 12, script service.xml process description: client dials special service number connecting system, entering user queue 1. queues up, 2. whether client ranked first position, no, and 3. words allow client wait for to client's playback, <run_UI> is segmentation label, network reports playback End Event <ui_End> to drive <goto> to enter loop body wait_in_line_1, 4. overtime <timeout> or user's onhook event <calleronhook> occur removes this user and winding-up from queue user.If client ranked first position and checks currently whether have the agency that can serve 5., if there is no playback waits for, act on behalf of cell-phone number as the destination address of call forwarding 6. and start along exhaling 7. if having using all in agent, the agency of off-hook connects at first, act on behalf of on-hook 8., 9. counter counting is added to 1, and the multimedia messaging service business card (simple for the purpose of access multimedia message picture by URL) that sends agency to user 10..Agency freely uses mobile phone during operation, inevitable 7. likely unsuccessful, and business can be sent out the agency who ranked first in a note instruction agent to agency and wire back to user after a while.
The above, be only preferred embodiment of the present invention, is not intended to limit protection scope of the present invention.

Claims (10)

1. the development system of oriented integration network mixture of networks service procedure establishment language, is characterized in that, comprises script describing plane, executable code plane and the web service interface plane of service plane, operation flow; Wherein:
Service plane, for determining whether current business demand is applicable to business generation system and generates; Described business generation system is with good expansibility, and by increasing the label of XPL and the member of correspondence newly developed, the ability of the generation system of activating business meets the demand of business;
The script describing plane of operation flow, is mainly used in the development of finishing service; After the business demand of service plane is determined, use XPL to describe service logic;
Executable code plane is corresponding to the script describing plane of described operation flow, for the code that can dispose operation of the operation flow generation from describing;
Web service interface plane, mainly comprises the web service interface of Parlay web service interface and other types; Described web service interface plane is for providing exploitation business required professional ability to business generation system.
2. the development system of oriented integration network mixture of networks service procedure establishment language according to claim 1, is characterized in that, the label of described increase XPL and the member of correspondence newly developed comprise:
The label of switchType type, the label of messageType type and various message label; The statement of increase ability member label, the content of described label comprises: the title of member, the title of parameter and type, whether have the title of rreturn value, rreturn value, throw exception, synchronous or asynchronous to calling of member whether; And the label of increase and OAM module interface.
3. the development system of oriented integration network mixture of networks service procedure establishment language according to claim 2, is characterized in that, the label of described increase XPL and the member of correspondence newly developed, further comprise:
The semantic Incoming label expanding, intermediate variable label variables, cycle control Goto label, professional ability member label expansion schema and this mutual extension tag notify_message and pick_message label of support multiway.
4. according to the development system of the arbitrary described oriented integration network mixture of networks service procedure establishment language of claims 1 to 3, it is characterized in that, the label of described increase XPL and the member of correspondence newly developed, be mainly used in:
Need to carry out mutual complicated business logic with user;
The multiple entry of business, comprises the service of the data services such as location, transmission note, transmission multimedia message and GIS;
To the access of database; And
The business that business self is initiatively initiated.
5. the development system of oriented integration network mixture of networks service procedure establishment language according to claim 1, it is characterized in that, described executable code plane is by use business generation technique, the each label that makes XPL is corresponding a member on code is realized, and business generation system is ready in advance in XPL all members of using and leaves in component base; Described business generation system is according to by the described service logic of XPL, member involved in operation flow being assembled, and is packaged into EJB, the business that formation can actual deployment operation.
6. the development approach of oriented integration network mixture of networks service procedure establishment language, is characterized in that, comprising:
A, employing service plane determine whether current business demand is applicable to business generation system and generates; Described business generation system is with good expansibility, and by increasing the label of XPL and the member of correspondence newly developed, the ability of the generation system of activating business meets the demand of business;
B, utilize the script describing plane of operation flow, the development of finishing service; After the business demand of service plane is determined, use XPL to describe service logic;
C, then utilize the executable code plane corresponding to the script describing plane of described operation flow, the code that can dispose operation generating from the operation flow of describing;
D, finally provide exploitation business required professional ability by web service interface plane to business generation system; Described web service interface plane, mainly comprises the web service interface of Parlay web service interface and other types.
7. a network value added service platform that comprises the development system of oriented integration network mixture of networks service procedure establishment language, comprises CPL service scenario, OAM module and protocol gateway layer; It is characterized in that, its transaction processing system also comprises business translater and message distributing system; Wherein:
Business translater, for expansion CPL service scenario is resolved, obtains meeting the java code of EJB specification, then generates java file, and obtains file bag;
Message distributing system, for receiving the message of Web client submission and the message that protocol gateway layer reports, judges and is distributed to the srvice instance of correspondence in operation layer; Message distributing system also receives the message sending from srvice instance in addition, judges and is forwarded to protocol gateway module.
8. network value added service platform according to claim 7, is characterized in that, described business translater mainly comprises:
CPL script administration module, for the physical location to lower module shielding CPL script, no matter CPL script is to exist with physical file form or with database list item or other form, and this module can both be treated respectively, and the content of CPL script is indistinguishably provided to lower module;
Tree construction generation module, for the CPL script passing into according to upper layer module, the tree that generation script is corresponding, so that lower module is resolved, is translated it;
CPL parsing module, for the tree construction generating according to tree construction generation module, carries out semantic analysis to it, and in conjunction with context, generates corresponding Java code;
Java code generation module, for result and the corresponding data structure of resolving according to CPL parsing module, carries out comprehensive, code and writes, the Java code that final generation can compile.
9. network value added service platform according to claim 7, it is characterized in that, described message distributing system comprises message distribution module, and it further comprises that message sends submodule, message sink submodule, service management submodule and srvice instance management submodule; Wherein:
Message sends submodule and message sink submodule, be used for the difference of the direction of the message receiving according to message distributing system, the module of the message of processing protocol gateway module, Web client is become to message sink module, and the module of the message of processing srvice instance module is become to message transmission module; The function that described two submodules complete is to realize the external message that receives and the mutual mapping of operation layer inside story, the shielding of realization to external message;
Service management submodule, for carrying out interacting message with OAM module, the function of realization and management service relevant information, the extensibility of raising system;
Srvice instance management submodule, for the function that completes establishment, preserves, searches, deletes srvice instance.
10. network value added service platform according to claim 7, is characterized in that, the development system of the oriented integration network mixture of networks service procedure establishment language in described service platform further comprises professional ability member, and it mainly comprises:
Logic load module, each member is invoked at and in script, shows as a label node, adopt tree structure according to description service logic descriptive language above, therefore each business component can have a logic input, and presentation logic has proceeded to the execution of this member;
Logic module output, the execution of member service logic after executing will forward other business component to, and the next member that will carry out has been pointed in logic output;
Data input module, each member may obtain some information in operation from the external world, and external information is the constant using in script from service developer, or the srvice instance intermediate data preserved of custom variable in script;
Data outputting module, member may need to produce some data after executing, and described data can be used by later member, and described data are assigned to the custom variable in script by member;
Member function is realized module, is the place of realizing of member function logic.
CN201410181352.1A 2014-04-30 2014-04-30 Development system and method for fusion network mixing service process programming language Pending CN103942055A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410181352.1A CN103942055A (en) 2014-04-30 2014-04-30 Development system and method for fusion network mixing service process programming language

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410181352.1A CN103942055A (en) 2014-04-30 2014-04-30 Development system and method for fusion network mixing service process programming language

Publications (1)

Publication Number Publication Date
CN103942055A true CN103942055A (en) 2014-07-23

Family

ID=51189732

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410181352.1A Pending CN103942055A (en) 2014-04-30 2014-04-30 Development system and method for fusion network mixing service process programming language

Country Status (1)

Country Link
CN (1) CN103942055A (en)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106557307A (en) * 2015-09-29 2017-04-05 腾讯科技(深圳)有限公司 The processing method and processing system of business datum
CN108304462A (en) * 2017-12-26 2018-07-20 江苏润和软件股份有限公司 EasyAdaptor conventional data switching planes
CN108804120A (en) * 2018-05-23 2018-11-13 北京五八信息技术有限公司 A kind of page makeup method, apparatus, equipment and storage medium
CN109510906A (en) * 2017-09-15 2019-03-22 中国移动通信集团公司 Internet business implementation method, device, system, entity, server and storage medium
CN110674645A (en) * 2019-09-30 2020-01-10 安徽淘云科技有限公司 Information communication method for converting Chinese and English languages and electronic equipment
CN111597022A (en) * 2020-05-12 2020-08-28 国电南瑞科技股份有限公司 Fusion system and fusion method for automatically fusing multi-professional service functions
CN111798216A (en) * 2020-07-14 2020-10-20 上海智子信息科技股份有限公司 Robot process automation multi-tool integration method and system
CN112433700A (en) * 2020-11-16 2021-03-02 中国建设银行股份有限公司 Robot application development and operation method and device, electronic equipment and medium
CN112783497A (en) * 2019-11-04 2021-05-11 中国移动通信集团陕西有限公司 New service generation method and device and computing equipment
CN112965794A (en) * 2021-02-19 2021-06-15 西安智周深鉴信息科技集团有限公司 Algorithm calling method, electronic device and storage medium
CN112988116A (en) * 2019-12-02 2021-06-18 广州小圳科技有限公司 System and method for centralized operation and operation of target operating system IT application
WO2022237334A1 (en) * 2021-05-12 2022-11-17 华为技术有限公司 Knowledge representation and deduction method and apparatus for service logic
CN115935012A (en) * 2023-02-21 2023-04-07 云筑信息科技(成都)有限公司 Service processing method of process visualization markup language based on xml
CN117193225A (en) * 2023-11-07 2023-12-08 北京珂阳科技有限公司 Wafer manufacturing process flow control method and system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1972296A (en) * 2006-12-05 2007-05-30 北京邮电大学 Method for generating service combined with various communication means based on XPL and its system
CN101068243A (en) * 2007-04-12 2007-11-07 北京邮电大学 Interactive system for processing gateway level and service layer information and transmitting and receiving method
CN101106604A (en) * 2007-05-09 2008-01-16 北京邮电大学 Translator and system and method for processing multiple services based on translator
CN101237333A (en) * 2007-01-31 2008-08-06 北京邮电大学 An universal service platform for supporting multiple services based on multi-network fusion

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1972296A (en) * 2006-12-05 2007-05-30 北京邮电大学 Method for generating service combined with various communication means based on XPL and its system
CN101237333A (en) * 2007-01-31 2008-08-06 北京邮电大学 An universal service platform for supporting multiple services based on multi-network fusion
CN101068243A (en) * 2007-04-12 2007-11-07 北京邮电大学 Interactive system for processing gateway level and service layer information and transmitting and receiving method
CN101106604A (en) * 2007-05-09 2008-01-16 北京邮电大学 Translator and system and method for processing multiple services based on translator

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
杨骎 等: "基于SOA的电信业务生成技术研究", 《现代电信科技》 *
杨骎 等: "扩展呼叫处理语言:一种面向综合通信服务的语言", 《软件学报》 *
杨骎: "基于SOA的电信领域业务生成若干关键技术研究与实现", 《中国博士学位论文全文数据库信息科技辑》 *

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106557307B (en) * 2015-09-29 2021-06-11 腾讯科技(深圳)有限公司 Service data processing method and system
CN106557307A (en) * 2015-09-29 2017-04-05 腾讯科技(深圳)有限公司 The processing method and processing system of business datum
CN109510906B (en) * 2017-09-15 2020-12-01 中国移动通信集团公司 Method, device, system and storage medium for realizing internet access service
CN109510906A (en) * 2017-09-15 2019-03-22 中国移动通信集团公司 Internet business implementation method, device, system, entity, server and storage medium
CN108304462A (en) * 2017-12-26 2018-07-20 江苏润和软件股份有限公司 EasyAdaptor conventional data switching planes
CN108804120A (en) * 2018-05-23 2018-11-13 北京五八信息技术有限公司 A kind of page makeup method, apparatus, equipment and storage medium
CN110674645A (en) * 2019-09-30 2020-01-10 安徽淘云科技有限公司 Information communication method for converting Chinese and English languages and electronic equipment
CN110674645B (en) * 2019-09-30 2020-07-31 安徽淘云科技有限公司 Information communication method for converting Chinese and English languages and electronic equipment
CN112783497A (en) * 2019-11-04 2021-05-11 中国移动通信集团陕西有限公司 New service generation method and device and computing equipment
CN112988116B (en) * 2019-12-02 2024-03-08 广州小圳科技有限公司 System and method for centralizing operation and operating target operating system IT application
CN112988116A (en) * 2019-12-02 2021-06-18 广州小圳科技有限公司 System and method for centralized operation and operation of target operating system IT application
CN111597022A (en) * 2020-05-12 2020-08-28 国电南瑞科技股份有限公司 Fusion system and fusion method for automatically fusing multi-professional service functions
CN111597022B (en) * 2020-05-12 2022-09-23 国电南瑞科技股份有限公司 Fusion system and fusion method for automatically fusing multi-professional service functions
CN111798216A (en) * 2020-07-14 2020-10-20 上海智子信息科技股份有限公司 Robot process automation multi-tool integration method and system
CN112433700A (en) * 2020-11-16 2021-03-02 中国建设银行股份有限公司 Robot application development and operation method and device, electronic equipment and medium
CN112433700B (en) * 2020-11-16 2024-03-29 中国建设银行股份有限公司 Development and operation method and device of robot application, electronic equipment and medium
CN112965794A (en) * 2021-02-19 2021-06-15 西安智周深鉴信息科技集团有限公司 Algorithm calling method, electronic device and storage medium
CN112965794B (en) * 2021-02-19 2024-03-22 西安智周深鉴信息科技集团有限公司 Algorithm calling method, electronic equipment and storage medium
WO2022237334A1 (en) * 2021-05-12 2022-11-17 华为技术有限公司 Knowledge representation and deduction method and apparatus for service logic
CN115935012A (en) * 2023-02-21 2023-04-07 云筑信息科技(成都)有限公司 Service processing method of process visualization markup language based on xml
CN117193225B (en) * 2023-11-07 2024-01-02 北京珂阳科技有限公司 Wafer manufacturing process flow control method and system
CN117193225A (en) * 2023-11-07 2023-12-08 北京珂阳科技有限公司 Wafer manufacturing process flow control method and system

Similar Documents

Publication Publication Date Title
CN103942055A (en) Development system and method for fusion network mixing service process programming language
EP1526457B1 (en) Context-aware automatic service discovery and execution engine in mobile ad-hoc networks
CN108563425B (en) A kind of event driven multipaths coprocessing system
CN101287040B (en) Action prediction based on interactive history and context between sender and recipient
CN1879082B (en) Method and apparatus for composing software
CN101146106B (en) Concatenation discovery web service
US20090276764A1 (en) High-level hypermedia synthesis for adaptive web
CN100444108C (en) System and method for executing wireless applications using common UI components from a UI repository
KR20100048571A (en) Method, apparatus and system for providing muti user-multi service
CN107463434B (en) Distributed task processing method and device
CN1972296A (en) Method for generating service combined with various communication means based on XPL and its system
CN101146105A (en) Discovery web service
CN103297475A (en) Mock service system and processing method of Mock service
CN101185303A (en) System and method for creating a mapping document for binding messages between an application and an associated backend server
US7519972B2 (en) Real-time multi-modal business transformation interaction
CN101202792B (en) Method and apparatus for processing messages based on relationship between sender and recipient
CN109189502A (en) A kind of message treatment method and relevant device based on instant messaging public platform
Mokhtar et al. Ad hoc composition of user tasks in pervasive computing environments
CN100596139C (en) System and method for building component applications using metadata defined mapping between message and data domains
CN114416075A (en) Service processing method and device
Tsai et al. Service-oriented user interface modeling and composition
CN100583926C (en) Telecommunication traffic forming method and system facing position service
Petriu et al. Software performance models from system scenarios
CN113626128B (en) Audio-visual media micro-service third-party module access method, system and electronic equipment
CN101599010A (en) Flow path processing method and device

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20140723