CN101256492A - Software development method and system for executing model drive structure - Google Patents
Software development method and system for executing model drive structure Download PDFInfo
- Publication number
- CN101256492A CN101256492A CNA2008101030672A CN200810103067A CN101256492A CN 101256492 A CN101256492 A CN 101256492A CN A2008101030672 A CNA2008101030672 A CN A2008101030672A CN 200810103067 A CN200810103067 A CN 200810103067A CN 101256492 A CN101256492 A CN 101256492A
- Authority
- CN
- China
- Prior art keywords
- node
- file
- variable
- attribute
- code
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
The invention discloses a software development method for performing model driven architecture and the system thereof, belonging to the field of computer software. The method comprising the following steps: abstracting a business flow process into node elements, customizing a node business flow description file from control flow, core business flow and page flow three levels, customizing a data model file, and inputting the business flow file and the data model file into a parser to generate target frame codes. The invention also provides an attribute file of business flow graphical layout for WYSIWYG customizing the attribute information of the node elements; the system consists of a microkernel, a plug-in, a tools integration, an application server integration and a knowledge library. The invention can quickly respond to business requirement change and technical change, support highly modularized and highly integrated software system, has wide application and provides a solid foundation for further development of computer software technology.
Description
Technical field
The present invention relates to a kind of software development methodology and system thereof, relate in particular to a kind of software development methodology and system thereof that carries out executing model drive structure, belong to computer software fields.
Background technology
The ultimate challenge that Chinese Enterprise faces in the construction of current I T application system adapts to the continuous change of business demand, original system is constantly integrated or expansion, control cost, the update of adaptive technique, and manage numerous software systems and developer, these are ultimate challenges that the Chinese Enterprise investigated faces in the construction of current I T application system.Can help Chinese Enterprise to overcome these difficulties, make the IT architecture of enterprise more flexible, thus the continuous variation of calm reply market environment; Make between the existing IT system of enterprise and fully integrate, thereby make each business department and link better collaborative; By service particle and loose couplings, the reusability of enterprise's IT system is improved, thereby effectively reduce the IT cost; These all are the problems that present software industry will urgently solve.The Chinese Enterprise of nearly 40% acceptance investigation thinks that the continuous change that adapts to business demand is the ultimate challenge that the construction of Chinese Enterprise IT system faces.Being growing more intense of rapid economic development of China and competition makes a lot of enterprises have to keep lasting competitive power by continuous variation and business innovation.The relative stiffness of existing IT system make a lot of CIO when changing, have difficulty in walking in the face of frequent business, agonizing.From technological layer, many software systems adopt the mode of manual coding fully, and the shortage of general frame design but is doomed the demand that adaptive system demand comprehensively changes.Though being arranged now, a lot of enterprises attempt to utilize the development approach of componentization to adapt to the demand of continuous variation, but but exist the technology of this certain degree to rely on, only under a certain particular environment, just can use the problem that this does not have the diversity of technical solution to bring for the software development industry to a certain extent.
Summary of the invention
In order to solve demand and the continuous change technique framework that constantly changes in enterprise's application and development, the invention provides a kind of software development methodology and system thereof that carries out executing model drive structure, it is by providing a kind of novel business process definition language BPDL (Business Process Definition Language), this language becomes different node elements to each procedural abstraction in the operation flow, and the attribute of node has been expressed the business information and the technology relevant information of this node.This language can be used as the intermediate file of operation flow and concrete technological frame system, and this document breaks away from concrete ins and outs, only is concerned about service logic is expressed itself.The invention provides a kind of intuitively relation of effective representation system each several part flow process node element and the visual development instrument of internal schedule flow process simultaneously, be used to improve development efficiency, reduce development and maintenance cost, raising system portability and extensibility.For service logic and concrete technology are drawn close, the invention provides the rule that a code generates engine and code generation engine policy library, generate engine according to code and the operation flow statement file of customization can be input to the code that generates the framework of appointment in the code engine.Accomplish really that according to this invention operation flow once customizes the target that a plurality of frame systems use simultaneously, visual developing instrument has changed the development mode of original hand-coding code simultaneously, improved the software development ability widely, also greatly reduce developer's technical requirement, use scene very extensive.
It is of the present invention that to carry out the method and the SDK (Software Development Kit) use of MDA exploitation based on BPDL as follows:
(A) BPDL (Business Process Definition Language) operation flow definitional language is a kind of form specification language of robotization operation flow.The operation flow procedural abstraction is become node elements commonly used, come the logic of expression node inside and the related information between the node, obtain operation flow statement file by the attribute information that customizes node elements.This language is a kind of self-described language based on XML, can describe the service logic relation of operation flow.Node in this language and nodal community have comprehensively been expressed the information that business procedure is concerned about.
(B) express by three aspects for enterprise application system.Control fluid layer face is used for organizational scheduling core business process and node element; Core business fluid layer face is used for enterprise application system core data processing procedure; Page fluid layer face is used for the application system page info and explains the mutual of file with the control operation flow.The corresponding different employed node elements of aspect is distinguished to some extent, and the file extent title of the BPDL of different aspects is also inequality simultaneously.The file extension of control stream statement file is called CFL, and the file extension of core business process statement file is called BFL, and the file extension of page flow process statement file is called PFL.
(C) except expressing the node elements in the operation flow, also have the property file of the graphical layout of flow process to describe graphical information.The topology file extension name of control stream is called VCFL, and the topology file name of Business Stream is called VBFL, and the topology file name of page stream is called VPFL.
(D) need partly customize for the data model of operation system for the customization that cooperates operation flow statement file, partly adopted the ECORE model that meets industrywide standard XMI as agent model at data model, on this model basis, carry out some expansions, obtained data pattern file.
(E) exist one be the developing instrument on basis, flow process, the node element on the flow process and the various attribute informations of node element (shown in figure one) that this developing instrument is can be above the graphical customization of What You See Is What You Get affiliated based on the Eclipse development platform.Can generate the operation flow statement file of different aspects at last.The business personnel who so no matter to be program development personnel technology still in the fog can customize out actual operation flow, has significantly reduced the wide gap between the realization of user's request and technology like this.
(F) comprise the resolver framework that a code generates.This framework can expand that code generates template base below customization different language and the different language framework.The user can just can generate the various files that satisfy the BPDL standard target framework code of selection as the input file of resolver after having selected different language frameworks.Good BPDL file can use in the multilingual to make a customization.Really accomplish once to customize the various ways operation.
(G) according to the expression emphasis of BPDL three different aspects, the template employment mechanism of different aspects file is provided, the user can generate corresponding file independently fast.
(H) comprise an operation flow template and use framework.Under the similar just local different situation of main body operation flow, developing instrument can only need the information of some variations of input in guide just can generate each operation flow that meets the BPDL standard apace by template applications guide and explain fileinfo.
Technical scheme of the present invention can be summarized as follows:
A kind of software development methodology that carries out executing model drive structure the steps include:
1) the operation flow procedural abstraction is become node elements, and the operation flow statement file of customization node; Described operation flow comprises control flow, core business process, page flow process;
2) data pattern file of custom-built system;
3) operation flow is explained file and data pattern file and be input to generation target framework code in the resolver.
Described node elements comprises operation flow base node element, flow process container node elements, base node element, and described operation flow statement file is the XML form, is used to customize the attribute information of described node elements.
Described operation flow base node element comprises a Process root node, and the attribute information of described Process root node comprises: the page info that the method name of the class title of the corresponding generating code of operation flow statement file, the corresponding generating code of operation flow statement file, title, the business flow processing of operation flow statement file are returned after finishing.
Described flow process container node elements comprises: the Sequence node is used to be provided with the execution sequence of described node elements; The While node is used to be provided with the condition of cycle criterion; The Switch node is used for terms of settlement and shifts branch; The Switch node is used to select case node or otherwise node, and wherein the case node comprises the condition attribute, is used for illustrating the condition of carrying out this case container.
Described base node element comprises: the id attribute is used for the uniqueness of identification nodes; The porttype attribute is used for the port type of identification nodes; Described operation flow statement file comprises page flow process statement file, control flow statement file, core business process statement file.
Base node element in described control flow or the core business process statement file comprises: receive variable node, be used for receiving the context variable information that definition different business flowchart process is received; Return variable node, be used for defining the context variable information that different operation flow processes is returned other call flow; The variable distribution node is used for defining the assign operation of operation flow variable; Core business process calls node, is used for expressing calling core business process; Assembly method calls node, is used to define operation flow and calls and develop method or the function of finishing; Manual node element is used to import specific manual code; The abnormality processing node is used for handling the abnormal conditions that whole flow process occurs; The base node element of described page flow process statement file comprises page node, is used for page essential information in the customized web page flow process; Event node is used for the control flow information quoted in the customized web page flow process; Described core business process statement file also comprises the database manipulation node, is used for the abstract of operating database model.
Described reception variable node or the root node that returns variable node are respectively variable collector node a: variableCollection, are used for defining the variable set that will receive; Described variable collector node comprises one group of variable variable nodal information, and the attribute information of described variable node comprises: whether the class title of variable, variable are that index number in the variable set of the descriptor, variable of class title, variable in array type, the variable array, variable are in the type of service of flow process, the expression formula information of variable.
The root node of described database manipulation node is designerDBOperationModelDetail, and described root node comprises the condition node set conditionCollection of database manipulation and the attribute node set propertyCollection of database manipulation; The attribute information of described database manipulation node comprises: the class title of database manipulation, the variable description of database manipulation, the name variable of database manipulation, the type of database manipulation.
The condition node attribute information of described condition node set conditionCollection comprises: the left column table name of the left column row title of condition, the left column Property Name of condition, condition claims, relation, condition left column and the logical relation of right row, the right row row title of condition, the right List name of condition, the right column data type of condition, the right row actual value of condition in the left column attribute type of condition, set of circumstances between condition and the condition; The attribute information of the attribute node of the attribute node set propertyCollection of described database manipulation comprises: the table name of the title of the descriptor of the class title of attribute, the row title of attribute, attribute, the descriptor of attribute, attribute, the actual value of attribute, attribute correspondence claims, the table name of attribute correspondence claims.
The root node that described assembly method calls node is invokeDetail, and the attribute information of described root node comprises: whether the class title of call function, the function name of call function, sign call function are the class title returned of static method, function call, the variable description that function call is returned, the name variable that function call is returned; Described root node comprises the parameter information node of one group of call function, and its attribute information comprises: the array indexing of the class title of parameter, the descriptor of parameter, parameter, the input and output type of parameter, the title of parameter, the context actual value of parameter reality.
Customize the data pattern file of described system in the described method by the Ecore model of expansion XMI standard, the Ecore model of described expansion XMI standard comprises the expansion of business object part and the expansion of business object attribute section; The expansion of described business object part comprises: the table name of describing information, the identification service object correspondence of business object claims, whether the class title of identification service object correspondence, identification service object are whether value object, identification service object can change; The expansion of described business object attribute section comprises: the descriptor of attribute, the row title of identity property and the field name in the correspondence database, the row length of identity property and the row length in the correspondence database, Liejing's degree of identity property and the Liejing's degree in the correspondence database, whether identity property is major key information, whether identity property can be sky, identify the corresponding business object class of this attribute title, identifying the corresponding business object table name of this attribute claims, identify the corresponding business object Property Name of this attribute, identify this attribute respective column data type.
Described resolver comprises a code generation strategy storehouse, and described code generation strategy storehouse is divided into different subcode generation strategy storehouses according to the framework type of code generation strategy; Described subcode generation strategy storehouse comprises: base of applications makes up catalogue; The configuration file catalogue is used to store the configuration file of expanding other framework and designing; Dispose catalogue, be used for storage and issue the needed support file of deployment; Template directory is used to store the template file relevant with operation flow; Third party's class bag catalogue is used to store the applied third party's class libraries of different frames.
Described base of applications makes up under the catalogue and comprises a Code Template sub-directory, the Code Template that is used to store file to be generated; Described Code Template sub-directory comprises: flow process element catalogue, and the code generation template that is used to store described node elements, wherein template file adopts the file layout of Velocity; The business object catalogue is used for the relevant file of storage service object model; Macrodirectory is used to store other code of support and generates the macro document of being stated; Attribute catalogue catalogue is used to store the template relevant with property file; Page directory is used to store the Code Template file relevant with page view.
The method that described resolver generates the target framework code is:
1) macro document in the code parser loading code policy library;
2) described operation flow is explained file load in code parser;
3) resolve node element according to described node element type;
4) prepare context data according to the variable contextual information in the described operation flow statement file for the Code Template file;
5) according to Code Template in the different node element match code policy librarys;
6) generate the code snippet of this node element correspondence according to the contextual information in Code Template file and the resolver;
7) with the code snippet storehouse of the node element that generates in code parser;
8) repeating step 5)-7) link after having traveled through all node elements, organize code file in the storehouse according to the sequencing between the node element and call relation;
9) file that has generated and the file that is generating are carried out differential analysis, make that the difference part in the old and new's file can be carried out compatibility;
10) optimize generating code, unify to generate for the operation flow statement file that class title same procedure title is different.
Further, set up the property file of the graphical layout of an operation flow in the described method, be used for the attribute information of the described node element of the graphical customization in What You See Is What You Get ground.
Further, set up a main boot files in the described method, defined in the described main boot files need in the operation flow template name variable that exists and this variable when the operation flow template is carried out the function that will pass through come based on contextual information to generate the constraint information of replacing this variable; Described operation flow template is described page flow process statement file, control flow statement file, the core business process statement file according to the business demand combination.
A kind of software development system that carries out executing model drive structure, it comprises micro-kernel, plug-in unit is integrated, instrument is integrated, application server is integrated and knowledge base; Wherein
Described micro-kernel is responsible for coordinating and management described plug-in unit, instrument and application server, guarantees can to communicate by letter smoothly and cooperate between each ingredient;
The expansion of the integrated responsible systemic-function of described plug-in unit;
Described instrument is integrated is responsible for providing project management, quality assurance and quality management;
Described application server is responsible for being used for supporting the operation of the integrated application program of the integrated and/or described plug-in unit of described instrument;
Described knowledge base is responsible for the automatic generation of code.
Described micro-kernel is IDE Eclipse; Described plug-in unit is integrated to be comprised: object modeling plug-in unit, flow process modeling plug-in unit, application deployment plug-in unit, page customization plug-in unit, code generate plug-in unit, masterplate customization plug-in unit, probe card; Described instrument is integrated to be comprised: project management tool, quality assurance instrument, configuration management tool; Described server is integrated to be comprised: weblogic server, WebSphere server, JBoss server; Described knowledge base comprises: organizational structure, rights management, represent assembly, business rule, represent template, Code Template, rule template.
Good effect of the present invention is:
The software systems that make up graphically of the present invention have been adopted, owing to used extending mark language (XML) or other standard unit's language mechanism (XMI MetaData), and combine visual developing instrument the internal operation logic between operation flow and the flow process element is carried out the branch layer building according to the certain standard form, and specifically be divided into page stream file, the control stream file, three parts of Business Stream file, be directed to when exploitation simultaneously and when moving the different characteristicss of demand of two different phases divide respectively, thereby make the XPDL effectively relation and the inner working flow process of representation system each several part not only can What You See Is What You Get ground directly perceived, reduce the cost of development and maintenance, crossed over the wide gap that business demand and technology realize simultaneously; System's portability and extensibility have been strengthened simultaneously; Moreover, this method can also be responded the variation and the technique variation of business demand fast, can support the software systems of setting up high modularization and highly integrating again, the scope of application is comparatively extensive, for further developing of computer software technology lays a solid foundation.
Description of drawings
Fig. 1: graphically customize the BPDL example;
Fig. 2: system's middle frame code engine policy library structure;
Fig. 3: the generation strategy of code engine;
Fig. 4: code parser processing procedure;
Fig. 5: system chart of the present invention.
Embodiment
Describe the logical organization of operation system in order more clearly to express the BPEL language three different aspects, now according to following main process concrete embodiment is described respectively.
One, BPDL definition procedure and attribute specification;
Two, code generates the scheduling process of engine and code library;
Three, the developing instrument that graphically customizes BPDL uses flow process;
Four, the use principle of operation flow template;
Five, system introduction.
One: BPDL definition procedure and attribute specification, promptly set up operation flow statement file:
1. customize flow process base node and attribute information thereof:
● the Process node is the root node of file
● the Process node comprises following attribute:
1.className the class title of the corresponding generating code of identification service flow process statement file.
2.functionName the method name of the corresponding generating code of identification service flow process statement file.
3.name the title of identification service flow process statement file
4.responsePage identify the page info that returns after this flow processing is finished.
As follows:
<process?className=″TestClassName″
functionName=″TestFunctionName″
Name=" the request query composition page "
responsePage=″Test.jsp″>
</process>
2. customize flow process container node and attribute information thereof
● Sequence, While, Switch, Case, Otherwise node are flow process container node.Sequence is used for being provided with the execution sequence of the abstract node elements that comes out of flow process, and the While node carries out the point that cycling condition judges at those and is provided with, and the Switch node designs for terms of settlement shifts branch.All containers can be preserved base node information, can nestedly preserve other Container Type node simultaneously.
● can only comprise case node or otherwise node below the Switch node.Wherein the case node must define the condition attribute, and this attribute is used for illustrating the condition of carrying out this case container.
● there is a condition attribute in the While node, the condition that this attribute definition circulation is withdrawed from.
3. define base node and attribute information thereof
Base node be can not be mutually nested node, these nodes can not independently exist in the container that only is placed on formulation just can have practical meaning.All base node have all comprised id attribute and porttype attribute, and this attribute is used for the uniqueness of identification nodes and the port type of node.
● it is to be used for being defined in the context variable information that is received in the different operation flow processes that Receive receives variable node, is applied in control flow and the core business process statement file.The root node of this node is variable set: variableCollection, is used for defining the variable set that will receive.The variable collector node has comprised one group of variable declarations: the variable nodal information.All variable are the set of separate orderly arrangement.The Variable node comprises following attribute information:
1.className the class title of marking variable.
2.isArray whether identify this variable is array type
3.classNameInContainer variable if array type so this attribute be used for expressing class title in this variable array.
4.description the descriptor of marking variable
5.index identify the index number of this variable in the variable set, this attribute mainly is to solve different variablees order successively.
6.useType this attribute-bit variable is at the type of service of flow process.The type of using can be expanded according to different framework types.
7.expression node is used for describing the expression formula information of variable.
<receive?id=″120407441700006115″portType=″(none)″>
<variableCollection>
<variable
className=″String″
classNameInContainer=″″
description=″TestDescription″
index=″3″
isArray=″false″
name=″opname″
useType=″Expression″>
<expression>TestExpression</expression>
</variable>
</variableCollection>
</receive>
● it is to be used for being defined in the context variable information of returning other call flow in the different operation flow processes that Reply returns variable node.The structure of this node is identical with the Receive node, no longer statement.This node is applied in control flow and core business process statement file.
● DBOperation database manipulation node is to be used for the abstract of operating database model, is applied in the core business process statement file.This node comprises following attribute information:
1.classNameInContainer the class title of identification database operation
2.returnVariableDesc the variable description of identification database operation
3.returnVariableName the name variable of identification database operation
4.useType the identification database operation types, the type can customize according to different frameworks.
Root node among the DBOperation is designerDBOperationModelDetail,
The designerDBOperationModelDetail node comprises propertyCollection, two kinds of collector nodes of conditionCollection.Wherein conditionCollection is the condition node set of database manipulation,
PropertyCollection is the attribute node set of database manipulation.
Wherein propertyCollection comprises many property nodes, and the property node comprises following attribute information:
1.className the class title of identity property
2.columnName the row title of identity property
3.desc the descriptor of identity property
4.length the length information of identity property
5.name the title of identity property
6.propertyValue the actual value of identity property
7.tableName the table name of identity property correspondence claims
8.type the data type of identity property.
Wherein conditionCollection comprises many condition nodes, and the condition node comprises following attribute information:
1.leftColumnName the left column row title of identification condition
2.leftName the left column Property Name of identification condition
3.leftTableName the left column table name of identification condition claims
4.leftType the left column attribute type of identification condition
5.logic the relation in the identification condition set between condition and the condition.This attribute value is and, or.
6.operator identification condition left column and the right logical relation that is listed as.This attribute value is=,<,,<=,=,!=.
7.rightColumnName the right row row title of identification condition
8.rightTableName the right List name of identification condition
9.rightType the right column data type of identification condition
10.value the right row actual value of identification condition
<dboperation
classNameInContainer=″com.cs3.test.model.TestClass″
ReturnVariableDesc=" test description "
returnVariableName=″testVariable″
useType=″QueryByEQL″>
<designerDBOperationModelDetail>
<sqlContent?byUser=″false″>
TestSQLContent
</sqlContent>
<propertyCollection>
<property
className=″com.cs3.test.model.TestClass″
columnName=″TestColumn″
Desc=" recording status "
length=″″
name=″recsts″
propertyValue=″″
tableName=″TestTableName″
type=″java.lang.String″/>
<property/>
<property/>
</propertyCollection>
<conditionCollection>
<condition
leftColumnName=″CODE″
leftName=″code″
leftTableName=″TestTahleName″
leftType=″java.lang.String″
logic=″or″
operator=″<;″
rightColumnName=″CODE″
rightTableName=″TestTableName″
rightType=″java.lang.String″
value=″code″/>
<condition/>
</conditionCollection>
</designerDBOperationModelDetail>
</dboperation>
● it is to be used for defining operation flow to call and develop method or the function of finishing that the Invoke assembly method calls node, is applied in control flow and the core business process statement file; The root node of this node is invokeDetail.This node has following attribute information.
1.className the class title of sign call function
2.functionName the function name of sign call function
3.isStatic whether the sign call function is static method
4.returnClassName the class title that the sign function call is returned
5.returnVariableDesc the variable description that the sign function call is returned
6.returnVariableName the name variable that the sign function call is returned.
Comprised the constructor node below the invokeDetail node, this node is used for described function and calls constructed fuction information.This node of invokeDetail comprises many parameter nodes, and the parameter node is used for identifying the parameter information of call function, and the parameter node comprises following attribute.
1.className the class title of identification parameter
2.desc the descriptor of identification parameter
3.index the array indexing of identification parameter
4.inout the input and output type of identification parameter
5.name the title of identification parameter
6.value the context actual value of identification parameter reality.
<invoke?id=″120427112460920531″
name=″Test″portType=″(none)″>
<invokeDetail
assignVariableName=″this″
className=″″
functionName=″logYZS″
isAssign=″true″
isStatic=″false″
returnClassName=″void″
returnVariableDesc=″″
returnVariableName=″″>
<constructor?name=″″/>
<parameter
className=″String″
desc=″parameter?l″
index=″1″
inout=″in″
name=″jlzt″
value=″SC_A″/>
<parameter
className=″String″
desc=″parameter2″
index=″2″
inout=″in″
name=″czbj″
value=″";1";″/>
</invokeDetail>
</invoke>
● assign variable distribution node is the assign operation that is used for defining the operation flow variable.Be applied in control flow and the core business process statement file.
Forming of this node by a plurality of copy nodes.Come source node and comprised the from variable below the copy node, and to variable destination node.Be that variable comes source node or the variable destination node all includes following attribute information.
1.propertyName the Property Name of sign performance variable
2.variable the name variable of sign operation
<assign?id=″120659982993700537″>
<copy>
<from property=" title-mc " propertyName=" title-mc "
variable=″testFrom″>
<expression/>
</from>
<to property=" title-mc " propertyName=" mc " variable=" testFrom " 〉
<expression/>
</to>
</copy>
</assign>
● it is to be used for expressing calling core business process that the BizInvoke core business process calls node.Be applied in control flow and the core business process statement file.Comprise following attribute information below this node.
1.refBizLogic be used for identifying the file name of the core business process that calls
2.refFileName be used for identifying file name with reference to quoting
● Page Element page elements node, be used for page essential information in the customized web page flow process, this node element only uses in page flow process statement file.This node element comprises following attribute information.
1.pagePath be used for identifying the pagefile title that page flow process is quoted
2.refFileName be used for identifying file name with reference to quoting
3.name be used for identifying the title of this pagefile
● Action Element incident node element is to be used for the control flow information quoted in the customized web page flow process, and this node element only uses in page flow process.This node element comprises following attribute information.
1.description being used for control flow that the identified event element quoted describes the file name of operation flow
2.refFileName be used for identifying file name with reference to quoting
3.controlFlowFile be used for identifying the title of this control flow file
● Manual Element is manual node element, can import specific manual code in this node.Only comprise the mannualCode node in this node, described the code information of manual input in this node.This node is applied in control flow and the core business process statement file.
● Catch Element is the abnormality processing node, defines in the whole flow process if how this handles unusually.It is applied in control flow and the core business process statement file.
Two: code generates the scheduling process of engine and code library:
1. the code generation strategy storehouse in the customization different frames, all strategies are divided according to the type of framework, are kept in the systemtemplate catalogue in the developing instrument.Shown in figure two.If increasing new framework type, just directly to add new catalogue in systemtemplate just passable.Comprise following catalogue in the code policy library of each framework type:
● Aib (Application Infrastructure Builder) base of applications makes up catalogue, and CodeTemplate has stored the Code Template of file to be generated in this catalogue.Five following parts have been divided according to using the scene difference to have.
(1) FlowElement flow process element catalogue: this catalogue is preserved is that code in the BPDL element generates template, and wherein template file has adopted the file layout of the more common Velocity of industry.File is respectively assign.vm, bizinvoke.vm, cflclass.vm, dboperation.vm, invoke.vm, receive.vm, files such as reply.vm.Now to lift the part example as follows for the content of file for clarity:
#foreach($designerAssignVariableDetail?in$flowElementModel.getDetails())
#set($variableClassName=$designerAssignVariableDetail.getVariableClassName())
#set($isFromRelated=$designerAssignVariableDetail.isFromBLH())
#set($userType=$designerAssignVariableDetail.getVariableUseType())
#if($variableClassName.equals(″int″))
#set($variableClassName=″Int″)
#end##if($variableClassName.equals(″int″))
// return variable: $designerAssignVariableDetail.getVariableDesc ()
#if($isForBizFlow==true)
#if($userType==″Expression″)
response.add$variableClassName(″$designerAssignVariableDetail.getVariableName()″,$designerAssignVariableDetail.getVariableExpression());#end
##foreach($designerAssignVariableDetail?in$flowElementModel.getDetails())
(2) bizobject catalogue: store the file relevant with the business object business object model.
(3) macros macrodirectory.Preserved in this catalogue in order to support other code and generated the macro document of being stated.System at first can load all macro documents in this catalogue in the generating code process.
(4) properties attribute catalogue: store the template directory relevant with property file.
(5) page page directory: store the Code Template file relevant with page view.
● config configuration file catalogue: this catalogue is the configuration file that designs in order to expand other framework
● deploy disposes catalogue: this catalogue has been preserved to issue and has been disposed needed support file, because the framework type difference, the structure below this catalogue is also different
● template template directory: preserved the template file relevant with operation flow
● thirdlib third party's class bag catalogue: preserved the applied third party's class libraries of different frames
2. code generating solution parser framework flow process and principle: shown in figure three, the file that the resolver framework will meet the BPDL standard generates the code file of different frames according to different skeleton code policy librarys as input.Its idiographic flow is following with reference to figure four:
11) macro document in the code parser loading code policy library;
12) operation flow of selecting according to the user that meets the BPDL standard is explained file load in code parser;
13) resolve node element according to the node element type among the BPDL
(Receive, Reply, DBOperation, Invoke, BizInvoke or the like);
14) come to prepare context data according to the variable contextual information in the operation flow statement file for the Code Template file;
15) according to different node elements match code template in the code policy library;
16) generate the code snippet of this node element correspondence according to the contextual information in Code Template file and the resolver;
17) with the code snippet storehouse of the node element that generates in code parser;
18) link that repeats 5-7 is organized code file in the storehouse according to the sequencing between the node element and call relation after having traveled through all node elements;
19) file that has generated and the file that is generating are carried out differential analysis, make that the difference part in the old and new's file can be carried out compatibility;
20) optimize generating code, unify to generate for the operation flow statement file that class title same procedure title is different.
Three: the developing instrument that graphically customizes BPDL uses flow process:
1. establishment engineering information: create cuit title, application framework type, application server type, application server path, author, Business Name, item description essential information in the guide in the developing instrument engineering.
2. newly-built pack arrangement information.Bag is the file of files in different types, and each engineering comprises a plurality of pack arrangements, the following information such as control stream, Business Stream, page stream, model file, pagefile of creating respectively according to business need of each bag.There is the description document of an expansion .sde by name below each bag, comprised SDEDescription in this document, nodeType, three main information of componentType.Wherein nodeType is the following file type that is comprised of this bag, for example nodeType=31 illustrates that this bag is to preserve miscellaneous service flow process statement file, and the value of componentType to be for example com.cs3.designer.bizflow that is used for distinguishing dissimilar files illustrate that this bag preserves below is that operation flow is explained file.What com.cs3.designer.pageflow illustrated that this bag preserves below is page flow process statement file.What com.cs3.designer.controlflow illustrated that this bag preserves below is control flow statement file.What com.cs3.designer.model illustrated that this bag preserves below is data pattern file.
3. customization data model file.Such as basic operation (D) description, data model is an Ecore model of having followed industry XMI standard, simultaneously in order to cooperate customization graphically and to have carried out business object expansion and the expansion of business object attribute for multilingual support with user-friendly spy.
Business object is partly expanded:
<eAnnotations?source=″extendAttribute″>
<details key=" description " value=" guarantor prison Sort Code table "/〉
<details?key=″tableName″value=″TBLBJQFLDMB″/>
<details?key=″className″value=″TblbjqfldmbBO″/>
<details?key=″isCollapsed″value=″false″/>
<details?key=″isVO″value=″false″/>
<details?key=″isMutable″value=″false″/>
</eAnnotations>
● description is used for describing the information of business object
● tableName is used for the table name of identification service object correspondence and claims
● className is used for the class title of identification service object correspondence
● whether isVO is used for the identification service object is value object
● whether isMutable is used for the identification service object can change
The expansion of business object attribute section
<eAnnotations?source=″extendAttribute″>
<details key=" description " value==" title "/〉
<details?key=″columnName″value=″MC″/>
<details?key=″columnLength″value=″255″/>
<details?key=″columnScale″value=″0″/>
<details?key=″isKey″value=″false″/>
<details?key=″isNull″value=″true″/>
<details?key=″isTransient″value=″false″/>
<details?key=″referBOClassName″value=″″/>
<details?key=″referTableName″value=″″/>
<details?key=″referPropertyName″value=″″/>
<details?key=″columnDataType″value=″VARCHAR2″/>
</eAnnotations>
● description is used for the descriptor of identity property
● columnName is used for the row title of identity property, the field name in the correspondence database
● columnLength is used for the row length of identity property, the row length in the correspondence database
● columnScale is used for Liejing's degree of identity property, the Liejing's degree in the correspondence database
● whether isKey is used for identity property is major key information
● isNull is used for identity property and whether can be sky
● referBOClassName is used for identifying the corresponding business object class of this attribute title
● referTableName is used for identifying the corresponding business object table name of this attribute and claims
● referPropertyName is used for identifying the corresponding business object Property Name of this attribute
● columnDataType is used for identifying this attribute respective column data type.
A data model file can comprise a plurality of business object information, and each business object information can comprise a plurality of attribute informations.Concern that for interrelated between the business object strictness follows the Ecore model and retrain.
4. design page flow process: drag the page elements node and the incident node element carries out the design of page flow process.
5. design control flow: drag container node and base node and graphically customize control flow.
6. design operation flow: drag container node and base node and carry out graphical custom service flow process.
7. generic frame code: choosing above-mentioned operation flow statement file or model file, a mouse click right button is selected in the menu of the generating code that ejects.System will carry out the generation of code according to file of selecting and corresponding framework type.
Issue with dispose: need to select the module of issue in the guide that issue is disposed, selected type of server can be created and server path information will generate back and compiled file packing and issuing according to engineering by system.
Four: the use principle of operation flow template:
Roughly the same for operation flow, be that the local vicissitudinous operation flow principle of having introduced the operation flow code generates operation flow statement file fast.Concrete steps are as follows:
1) utilizes developing instrument custom service flow process statement file
2) carry out the statement of " template variable " for the part that may change.
Its form is template_AAA, and template_BBB is AAA wherein, and BBB is actual name variable, and it is the template correlated variables that prefix template is used for identifying this variable.
3) the template variable with all extractions is organized into template variable declarations file, and the name of this document is called templatevardesc.xml, and this document is the root node of file by template.Comprise a desc node and a plurality of var node under the root node, wherein the desc node is used for describing the essential information of this template.And the var node is used for the title of description template variable and template engine in the principle information of replacing the template variable, and the attribute information of var node is as follows:
1.name template name variable
2.alias the another name of template variable
3.index the template variable is numbered in the statement file
4.placetype the template variable is the rule type of replacing in operation
The var node comprises simultaneously as lower node:
The descriptor of desc node identification template variable
The list information of other template variable of reflist node identification template variable reference
The func node identification is the method that the template variable is replaced in the template engine operation.The attribute information of Func node is as follows:
1.class replace the employed class title of variable
2.funcname replace the employed method name of variable
3.servicetype replace variable institute application service type
Character string after can calling the class of appointment in the func node and method according to the variable information that the user imports generate replacement when template engine moves in template wizard according to top last node, template engine all can replace to character string after the generation with template variablees all in the service template.
Five: system introduction
Fast development system by the IDE micro-kernel, plug-in unit is integrated, instrument is integrated, application server is integrated and knowledge base five parts are formed, it adopts the micro-kernel architecture, can can not destroy the globality of platform because of adding new function easily for development platform increases new function.With reference to figure 5.
IDE Eclipse micro-kernel is the heart of quick development platform, and the basic function of platform is provided, and be responsible for to coordinate and each plug-in unit of management, integrated instrument and application server, guarantees can to communicate by letter smoothly and cooperate between each ingredient.
The architecture system that makes based on plug-in unit has good extended capability, system provides plug-in units such as object modeling, flow process modeling, application deployment, page customization, code generation, masterplate customization, test, the developer also can be under the situation of deferring to development interface that platform provides and development specifications, develop the customization plug-in unit of oneself, meet individual requirements.The object modeling plug-in unit is based on the modeling tool of UML language, it can create business object, the attribute and the field of editor's business object, various incidence relations between the definition business object, can generate simultaneously the source code file of specifying framework type, and the database physics list structure of support generation business object correspondence, when having database table structure, this plug-in unit support exports as business object model with list structure.Flow process modeling plug-in unit provides the graphical editting function to page flow process, control flow and operation flow, can adopt each node in the pulling mode definition flow process, mode with figure gives expression to the page circulation that flow process is represented, control flow and practical business implication clearly.The function of deployment tool plug-in unit is with the system resource of appointment, comprises class file, the relevant configuration file, and packing and issuing such as pagefile have been removed complicated configuration file from and have been write and document copying work to specifying in the application server.The page customization plug-in unit provides the customization function of the visual Web page, adopt the mode of What You See Is What You Get, because this plug-in unit has comprised basic html tag assembly, page assembly with specific frame, the developer develops the Web page in the mode that pulls, and has simplified page development greatly, has improved development efficiency, this plug-in unit also provides page code edit mode simultaneously, supports directly to write page code.The function that code generates plug-in unit is the information of importing in XML metadata mode, in conjunction with the Velocity template, after overmatching and replacing, generates the required source code and the page.The model customization plug-in unit comes out the extracting section that wherein changes with the relevant template file of visual means custom service, as replaceable variable, and saves as service template.The testing tool plug-in unit can generate the test code of specifying framework, finishes the unit testing function.
Platform can seamless integrated project management tool commonly used, quality assurance instrument, test and defective trace tool, project manager, Design ﹠ Analysis of System personnel, developer, tester, QA quality assurance, configuration management personnel etc. pass through uniform platform, system development task is finished in cooperation quickly and easily mutually.The present invention is integrated into this tool set with the project management tool under the Eclipse platform, and the basic function of project management is provided, as, demand management, progress control, resource management, task management etc.Quality assurance is the basic demand of enterprise exploitation, thus this tool set integrated general quality assurance instrument, support bug to submit to, bug follows the tracks of, automatic test makes calling program be incorporated into formal version or the quality of paying before the test is guaranteed.Software configuration management mainly is to the various work-in-processes in the life cycle process and final products develop and the management of change, and it is the important component part of software quality management.Tool set is integrated in the industry cycle widely used configuration management tool is better finished software configuration management.
Server is integrated to be comprised: weblogic server, WebSphere server, JBoss server, system's integrated by with application server, in conjunction with various tests and deployment plug-in unit, platform can generate the deployment configuration file of various application servers automatically, automatically to packing of application system and deployment.The application developer does not need to understand the different application server in exploitation and the difference of disposing, and has alleviated developer's workload.
Knowledge base comprises in the system development assembly and masterplate commonly used, and for the automatic generation of code provides support, application developer or system manager can customize oneself masterplate and assembly as required, and add in the knowledge base.General purpose module that knowledge base provides and masterplate have improved the development efficiency of application system greatly.
Claims (11)
1. a software development methodology that carries out executing model drive structure the steps include:
1) the operation flow procedural abstraction is become node elements, and the operation flow statement file of customization node; Described operation flow comprises control flow, core business process, page flow process;
2) data pattern file of custom-built system;
3) operation flow is explained file and data pattern file and be input to generation target framework code in the resolver.
2. the method for claim 1, it is characterized in that described node elements comprises operation flow base node element, flow process container node elements, base node element, described operation flow statement file is the XML form, is used to customize the attribute information of described node elements; Described operation flow statement file comprises page flow process statement file, control flow statement file, core business process statement file.
3. method as claimed in claim 2, it is characterized in that described operation flow base node element comprises a Process root node, the attribute information of described Process root node comprises: the page info that the method name of the class title of the corresponding generating code of operation flow statement file, the corresponding generating code of operation flow statement file, title, the business flow processing of operation flow statement file are returned after finishing.
4. method as claimed in claim 2 is characterized in that described flow process container node elements comprises: the Sequence node is used to be provided with the execution sequence of described node elements; The While node is used to be provided with the condition of cycle criterion; The Switch node is used for terms of settlement and shifts branch; The Switch node is used to select case node or otherwise node, and wherein the case node comprises the condition attribute, is used for illustrating the condition of carrying out this case container.
5. method as claimed in claim 2 is characterized in that described base node element comprises: the id attribute is used for the uniqueness of identification nodes; The porttype attribute is used for the port type of identification nodes;
Base node element in described control flow or the core business process statement file comprises: receive variable node, be used for receiving the context variable information that definition different business flowchart process is received; Return variable node, be used for defining the context variable information that different operation flow processes is returned other call flow; The variable distribution node is used for defining the assign operation of operation flow variable; Core business process calls node, is used for expressing calling core business process; Assembly method calls node, is used to define operation flow and calls and develop method or the function of finishing; Manual node element is used to import specific manual code; The abnormality processing node is used for handling the abnormal conditions that whole flow process occurs; The base node element of described page flow process statement file comprises page node, is used for page essential information in the customized web page flow process; Event node is used for the control flow information quoted in the customized web page flow process; Described core business process statement file also comprises the database manipulation node, is used for the abstract of operating database model;
Described reception variable node or the root node that returns variable node are respectively variable collector node a: variableCollection, are used for defining the variable set that will receive; Described variable collector node comprises one group of variable variable nodal information, and the attribute information of described variable node comprises: whether the class title of variable, variable are that index number in the variable set of the descriptor, variable of class title, variable in array type, the variable array, variable are in the type of service of flow process, the expression formula information of variable;
The root node of described database manipulation node is designerDBOperationModelDetail, and described root node comprises the condition node set conditionCollection of database manipulation and the attribute node set propertyCollection of database manipulation; The attribute information of described database manipulation node comprises: the class title of database manipulation, the variable description of database manipulation, the name variable of database manipulation, the type of database manipulation;
The condition node attribute information of described condition node set conditionCollection comprises: the left column table name of the left column row title of condition, the left column Property Name of condition, condition claims, relation, condition left column and the logical relation of right row, the right row row title of condition, the right List name of condition, the right column data type of condition, the right row actual value of condition in the left column attribute type of condition, set of circumstances between condition and the condition; The attribute information of the attribute node of the attribute node set propertyCollection of described database manipulation comprises: the table name of the title of the descriptor of the class title of attribute, the row title of attribute, attribute, the descriptor of attribute, attribute, the actual value of attribute, attribute correspondence claims, the table name of attribute correspondence claims;
The root node that described assembly method calls node is invokeDetail, and the attribute information of described root node comprises: whether the class title of call function, the function name of call function, sign call function are the class title returned of static method, function call, the variable description that function call is returned, the name variable that function call is returned; Described root node comprises the parameter information node of one group of call function, and its attribute information comprises: the array indexing of the class title of parameter, the descriptor of parameter, parameter, the input and output type of parameter, the title of parameter, the context actual value of parameter reality.
6. the method for claim 1, it is characterized in that the Ecore model by expansion XMI standard customizes the data pattern file of described system, the Ecore model of described expansion XMI standard comprises the expansion of business object part and the expansion of business object attribute section; The expansion of described business object part comprises: the table name of describing information, the identification service object correspondence of business object claims, whether the class title of identification service object correspondence, identification service object are whether value object, identification service object can change; The expansion of described business object attribute section comprises: the descriptor of attribute, the row title of identity property and the field name in the correspondence database, the row length of identity property and the row length in the correspondence database, Liejing's degree of identity property and the Liejing's degree in the correspondence database, whether identity property is major key information, whether identity property can be sky, identify the corresponding business object class of this attribute title, identifying the corresponding business object table name of this attribute claims, identify the corresponding business object Property Name of this attribute, identify this attribute respective column data type.
7. the method for claim 1 is characterized in that described resolver comprises a code generation strategy storehouse, and described code generation strategy storehouse is divided into different subcode generation strategy storehouses according to the framework type of code generation strategy; Described subcode generation strategy storehouse comprises: base of applications makes up catalogue; The configuration file catalogue is used to store the configuration file of expanding other framework and designing; Dispose catalogue, be used for storage and issue the needed support file of deployment; Template directory is used to store the template file relevant with operation flow; Third party's class bag catalogue is used to store the applied third party's class libraries of different frames; Described base of applications makes up under the catalogue and comprises a Code Template sub-directory, the Code Template that is used to store file to be generated; Described Code Template sub-directory comprises: flow process element catalogue, and the code generation template that is used to store described node elements, wherein template file adopts the file layout of Velocity; The business object catalogue is used for the relevant file of storage service object model; Macrodirectory is used to store other code of support and generates the macro document of being stated; Attribute catalogue catalogue is used to store the template relevant with property file; Page directory is used to store the Code Template file relevant with page view.
8. method as claimed in claim 7 is characterized in that the method for described resolver generation target framework code is:
1) macro document in the code parser loading code policy library;
2) described operation flow is explained file load in code parser;
3) resolve node element according to described node element type;
4) prepare context data according to the variable contextual information in the described operation flow statement file for the Code Template file;
5) according to Code Template in the different node element match code policy librarys;
6) generate the code snippet of this node element correspondence according to the contextual information in Code Template file and the resolver;
7) with the code snippet storehouse of the node element that generates in code parser;
8) repeating step 5)-7) link after having traveled through all node elements, organize code file in the storehouse according to the sequencing between the node element and call relation;
9) file that has generated and the file that is generating are carried out differential analysis, make that the difference part in the old and new's file can be carried out compatibility;
10) optimize generating code, unify to generate for the operation flow statement file that class title same procedure title is different.
9. the method for claim 1 is characterized in that setting up the property file and a main boot files of the graphical layout of an operation flow; Described property file is used for the attribute information of the described node element of the graphical customization in What You See Is What You Get ground; Defined in the described main boot files need in the operation flow template name variable that exists and this variable when the operation flow template is carried out the function that will pass through come based on contextual information to generate the constraint information of replacing this variable; Described operation flow template is described page flow process statement file, control flow statement file, the core business process statement file according to the business demand combination.
10. software development system that carries out executing model drive structure, it comprises micro-kernel, plug-in unit is integrated, instrument is integrated, application server is integrated and knowledge base; Wherein
Described micro-kernel is responsible for coordinating and management described plug-in unit, instrument and application server, guarantees can to communicate by letter smoothly and cooperate between each ingredient;
The expansion of the integrated responsible systemic-function of described plug-in unit;
Described instrument is integrated is responsible for providing project management, quality assurance and quality management;
Described application server is responsible for being used for supporting the operation of the integrated application program of the integrated and/or described plug-in unit of described instrument;
Described knowledge base is responsible for the automatic generation of code.
11. system as claimed in claim 10 is characterized in that described micro-kernel is IDE Eclipse; Described plug-in unit is integrated to be comprised: object modeling plug-in unit, flow process modeling plug-in unit, application deployment plug-in unit, page customization plug-in unit, code generate plug-in unit, masterplate customization plug-in unit, probe card; Described instrument is integrated to be comprised: project management tool, quality assurance instrument, configuration management tool; Described server is integrated to be comprised: weblogic server, WebSphere server, JBoss server; Described knowledge base comprises: organizational structure, rights management, represent assembly, business rule, represent template, Code Template, rule template.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2008101030672A CN101256492A (en) | 2008-03-31 | 2008-03-31 | Software development method and system for executing model drive structure |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2008101030672A CN101256492A (en) | 2008-03-31 | 2008-03-31 | Software development method and system for executing model drive structure |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101256492A true CN101256492A (en) | 2008-09-03 |
Family
ID=39891339
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2008101030672A Pending CN101256492A (en) | 2008-03-31 | 2008-03-31 | Software development method and system for executing model drive structure |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101256492A (en) |
Cited By (67)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101727533A (en) * | 2008-10-30 | 2010-06-09 | 新奥特硅谷视频技术有限责任公司 | Automatic BUG distribution method capable of adaptive parameter regulation |
CN102208081A (en) * | 2010-03-31 | 2011-10-05 | 国际商业机器公司 | Method for making business process management (BPM) application to be suitable for being used by multi-tenancy (MT) usages and apparatus thereof |
CN102214091A (en) * | 2010-04-09 | 2011-10-12 | 株式会社日立制作所 | Method and system for positioning required change influence range during software development |
CN102222110A (en) * | 2011-06-28 | 2011-10-19 | 用友软件股份有限公司 | Data processing device and method |
CN102306102A (en) * | 2011-08-25 | 2012-01-04 | 中兴通讯股份有限公司 | Method and device for automatically generating program file |
CN102368216A (en) * | 2011-10-20 | 2012-03-07 | 北京金和软件股份有限公司 | Process implementation method based on automatic project building |
CN102508672A (en) * | 2011-12-02 | 2012-06-20 | 方正国际软件有限公司 | Method for graphical configuration and execution of java |
CN102591654A (en) * | 2011-12-28 | 2012-07-18 | 方正国际软件有限公司 | Code generator based on SSH (secure shell) architecture and method |
CN102750597A (en) * | 2011-04-22 | 2012-10-24 | 国际商业机器公司 | Achieving method and achieving device of computer for integrating isomerism business processes |
CN102929646A (en) * | 2011-12-09 | 2013-02-13 | 江西省电力公司信息通信中心 | Application program production method and device |
CN103425692A (en) * | 2012-05-22 | 2013-12-04 | 阿里巴巴集团控股有限公司 | Data exporting method and data exporting device |
CN103513976A (en) * | 2012-06-29 | 2014-01-15 | 中兴通讯股份有限公司 | Service process modeling method and device |
CN103729171A (en) * | 2012-10-11 | 2014-04-16 | 三亚中兴软件有限责任公司 | Generating method and device of service workflow codes |
CN103777931A (en) * | 2012-10-22 | 2014-05-07 | 北大方正集团有限公司 | Dynamic page generation method and system with loose relation to business logic |
CN104239052A (en) * | 2014-09-12 | 2014-12-24 | 浙江宇视科技有限公司 | Business flow generation method and business flow generation device |
CN104317590A (en) * | 2014-10-22 | 2015-01-28 | 中国建设银行股份有限公司 | Embedded configuration system and embedded review process configuration method |
CN104360842A (en) * | 2014-10-23 | 2015-02-18 | 桂林电子科技大学 | Service dynamic process arrangement method based on JBPM (Java business process management) |
CN104424615A (en) * | 2013-09-09 | 2015-03-18 | 北大方正集团有限公司 | Call center business development method and device for newspaper industry |
CN104484192A (en) * | 2015-01-07 | 2015-04-01 | 南威软件股份有限公司 | Automatic generating method for complex multiple-branching structure code |
CN104866298A (en) * | 2014-02-26 | 2015-08-26 | 阿里巴巴集团控股有限公司 | Flow chart based process business implementing method and device |
CN104951285A (en) * | 2014-03-24 | 2015-09-30 | 钱静 | Method and system obtaining calculation result by algorithm calling and coordinating |
CN105242914A (en) * | 2015-09-06 | 2016-01-13 | 江苏马上游科技股份有限公司 | Model driven code generation method and system |
CN105376087A (en) * | 2014-08-14 | 2016-03-02 | 瞻博网络公司 | Transaction integrity for network services configuration |
CN105893062A (en) * | 2016-06-16 | 2016-08-24 | 南京国通智能科技有限公司 | Operation method of novel production mode |
CN105988815A (en) * | 2015-03-04 | 2016-10-05 | 银联商务有限公司 | Business process development method and system |
CN106201480A (en) * | 2016-06-30 | 2016-12-07 | 中国航空无线电电子研究所 | A kind of cockpit display Control System Software architecture management platform |
CN106354492A (en) * | 2016-08-23 | 2017-01-25 | 深圳Tcl智能家庭科技有限公司 | Automatic code generation method and system capable of rapidly adjusting transaction process connection |
CN106682869A (en) * | 2015-11-05 | 2017-05-17 | 财团法人资讯工业策进会 | Variable definition changing device and method for flow model integration system |
CN106845744A (en) * | 2015-12-04 | 2017-06-13 | 北大医疗信息技术有限公司 | The generation method and generating means of operation flow template |
CN106933563A (en) * | 2015-12-31 | 2017-07-07 | 远光软件股份有限公司 | A kind of page flow editing machine |
CN107066248A (en) * | 2016-12-29 | 2017-08-18 | 北京五八信息技术有限公司 | Processing model determines method and device |
CN107133049A (en) * | 2017-05-23 | 2017-09-05 | 中国联合网络通信集团有限公司 | The treating method and apparatus of service based on communication |
CN107273117A (en) * | 2017-05-25 | 2017-10-20 | 深圳市彬讯科技有限公司 | A kind of quick Code automatic build system for programming friendly |
CN107273122A (en) * | 2017-06-07 | 2017-10-20 | 深圳市卓讯信息技术有限公司 | Based on decoupling mechanism can iteration set up operation system method and its terminal |
CN107291450A (en) * | 2017-05-25 | 2017-10-24 | 深圳市彬讯科技有限公司 | A kind of quick code automatic generation method for programming friendly |
CN107291458A (en) * | 2017-06-06 | 2017-10-24 | 北京知道创宇信息技术有限公司 | A kind of plug-in unit construction method, system and the server of Web applications |
CN107463421A (en) * | 2017-07-14 | 2017-12-12 | 清华大学 | A kind of compiling implement method and system of static procedural model |
CN107861725A (en) * | 2017-11-22 | 2018-03-30 | 北京酷我科技有限公司 | A kind of iOS data backs parse strategy automatically |
CN107977236A (en) * | 2017-12-21 | 2018-05-01 | 上海智臻智能网络科技股份有限公司 | Generation method, terminal device, storage medium and the question answering system of question answering system |
CN108153528A (en) * | 2017-12-15 | 2018-06-12 | 东软集团股份有限公司 | Extension processing method, device, storage medium and the electronic equipment of procedural model |
CN108376065A (en) * | 2018-03-01 | 2018-08-07 | 中国航空无线电电子研究所 | The system for building the avionics software development environment of model-driven |
CN108647019A (en) * | 2018-05-14 | 2018-10-12 | 浪潮通用软件有限公司 | A kind of control layer coding method of Services Composition |
CN109074245A (en) * | 2016-03-24 | 2018-12-21 | 微软技术许可有限责任公司 | Vision diagram is converted into code |
CN109062567A (en) * | 2018-07-09 | 2018-12-21 | 南京君度科技有限公司 | Information management system quick development platform based on B/S structure |
CN109214785A (en) * | 2018-10-23 | 2019-01-15 | 北京奇艺世纪科技有限公司 | Implementation method, server and the system of workflow |
CN109313435A (en) * | 2016-06-28 | 2019-02-05 | 西门子股份公司 | The method and apparatus for being used to produce the production process of the product by multiple sub- assembling products for configuration |
CN109324787A (en) * | 2017-08-18 | 2019-02-12 | 深圳怡化电脑股份有限公司 | A kind of business software development approach, device and terminal device |
CN109710272A (en) * | 2018-11-09 | 2019-05-03 | 深圳壹账通智能科技有限公司 | Update the packaging method and device of file |
CN110096260A (en) * | 2019-04-19 | 2019-08-06 | 南瑞集团有限公司 | A kind of information system structure method for automatically constructing and system based on operation flow |
CN110275817A (en) * | 2019-06-13 | 2019-09-24 | 北京航空航天大学 | A kind of journal file automatic generation method based on model-driven |
CN110286893A (en) * | 2019-06-28 | 2019-09-27 | 百度在线网络技术(北京)有限公司 | Service creation method, apparatus, equipment, system and storage medium |
CN111142861A (en) * | 2019-12-17 | 2020-05-12 | 西安电子科技大学 | Method and device for integrating structured comprehensive control system |
CN111259634A (en) * | 2020-01-13 | 2020-06-09 | 陕西心像信息科技有限公司 | XSD format file analyzing method and generating method |
CN111488145A (en) * | 2020-04-30 | 2020-08-04 | 国网河北省电力有限公司信息通信分公司 | Micro-service code generation system and method based on service domain data model base |
CN111666100A (en) * | 2020-05-13 | 2020-09-15 | 深圳思为科技有限公司 | Software framework generation method and device, electronic equipment and storage medium |
CN111695882A (en) * | 2020-06-18 | 2020-09-22 | 行吟信息科技(武汉)有限公司 | Dotting test method and platform |
CN111930369A (en) * | 2020-05-06 | 2020-11-13 | 许继集团有限公司 | Design method of system tool based on variable box |
CN112114797A (en) * | 2020-09-03 | 2020-12-22 | 成都中科合迅科技有限公司 | Configurable visualization development method and system |
CN112394920A (en) * | 2020-11-19 | 2021-02-23 | 联通智网科技有限公司 | Application software development method, platform and electronic equipment |
CN112698819A (en) * | 2019-10-22 | 2021-04-23 | 北京信普飞科科技有限公司 | Method, device and storage medium for designing tree-oriented object programming program |
CN113239670A (en) * | 2021-05-11 | 2021-08-10 | 鸬鹚科技(深圳)有限公司 | Method and device for uploading service template, computer equipment and storage medium |
CN113535304A (en) * | 2021-07-19 | 2021-10-22 | 杭州群核信息技术有限公司 | Method and device for inserting, displaying and editing third-party model in design software |
CN113590115A (en) * | 2021-07-30 | 2021-11-02 | 北京国腾联信科技有限公司 | Method and device for automatically generating service system code |
CN113721901A (en) * | 2021-06-25 | 2021-11-30 | 国网安徽省电力有限公司 | Low-code financial data analysis visualization engine |
CN115495069A (en) * | 2022-09-26 | 2022-12-20 | 煤炭科学研究总院有限公司 | Model-driven coal industry software flow implementation method, device and equipment |
CN117435178A (en) * | 2023-12-20 | 2024-01-23 | 厦门东软汉和信息科技有限公司 | Code generation system, method, device and storage medium |
CN111930369B (en) * | 2020-05-06 | 2024-04-16 | 许继集团有限公司 | Design method of system tool based on variable box |
-
2008
- 2008-03-31 CN CNA2008101030672A patent/CN101256492A/en active Pending
Cited By (100)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101727533B (en) * | 2008-10-30 | 2014-06-18 | 新奥特硅谷视频技术有限责任公司 | Automatic BUG distribution method capable of adaptive parameter regulation |
CN101727533A (en) * | 2008-10-30 | 2010-06-09 | 新奥特硅谷视频技术有限责任公司 | Automatic BUG distribution method capable of adaptive parameter regulation |
CN102208081A (en) * | 2010-03-31 | 2011-10-05 | 国际商业机器公司 | Method for making business process management (BPM) application to be suitable for being used by multi-tenancy (MT) usages and apparatus thereof |
CN102214091A (en) * | 2010-04-09 | 2011-10-12 | 株式会社日立制作所 | Method and system for positioning required change influence range during software development |
CN102750597A (en) * | 2011-04-22 | 2012-10-24 | 国际商业机器公司 | Achieving method and achieving device of computer for integrating isomerism business processes |
CN102222110A (en) * | 2011-06-28 | 2011-10-19 | 用友软件股份有限公司 | Data processing device and method |
CN102306102A (en) * | 2011-08-25 | 2012-01-04 | 中兴通讯股份有限公司 | Method and device for automatically generating program file |
CN102368216B (en) * | 2011-10-20 | 2013-11-27 | 北京金和软件股份有限公司 | Process implementation method based on automatic project building |
CN102368216A (en) * | 2011-10-20 | 2012-03-07 | 北京金和软件股份有限公司 | Process implementation method based on automatic project building |
CN102508672A (en) * | 2011-12-02 | 2012-06-20 | 方正国际软件有限公司 | Method for graphical configuration and execution of java |
CN102929646A (en) * | 2011-12-09 | 2013-02-13 | 江西省电力公司信息通信中心 | Application program production method and device |
CN102929646B (en) * | 2011-12-09 | 2016-03-02 | 江西省电力公司信息通信中心 | Application program generation method and device |
CN102591654A (en) * | 2011-12-28 | 2012-07-18 | 方正国际软件有限公司 | Code generator based on SSH (secure shell) architecture and method |
CN102591654B (en) * | 2011-12-28 | 2015-09-23 | 方正国际软件有限公司 | A kind of code generator based on SSH framework and method |
CN103425692A (en) * | 2012-05-22 | 2013-12-04 | 阿里巴巴集团控股有限公司 | Data exporting method and data exporting device |
CN103425692B (en) * | 2012-05-22 | 2016-08-10 | 阿里巴巴集团控股有限公司 | Data export method and device |
CN103513976A (en) * | 2012-06-29 | 2014-01-15 | 中兴通讯股份有限公司 | Service process modeling method and device |
CN103513976B (en) * | 2012-06-29 | 2018-06-12 | 中兴通讯股份有限公司 | Service flowpath modelling approach and device |
CN103729171B (en) * | 2012-10-11 | 2018-02-09 | 三亚中兴软件有限责任公司 | The generation method and device of vocational work stream code |
CN103729171A (en) * | 2012-10-11 | 2014-04-16 | 三亚中兴软件有限责任公司 | Generating method and device of service workflow codes |
CN103777931B (en) * | 2012-10-22 | 2017-05-10 | 北大方正集团有限公司 | Dynamic page generation method and system with loose relation to business logic |
CN103777931A (en) * | 2012-10-22 | 2014-05-07 | 北大方正集团有限公司 | Dynamic page generation method and system with loose relation to business logic |
CN104424615A (en) * | 2013-09-09 | 2015-03-18 | 北大方正集团有限公司 | Call center business development method and device for newspaper industry |
CN104866298A (en) * | 2014-02-26 | 2015-08-26 | 阿里巴巴集团控股有限公司 | Flow chart based process business implementing method and device |
CN104951285B (en) * | 2014-03-24 | 2018-08-03 | 钱静 | By calling the method and system of result of calculation is obtained with tuning algorithm |
CN104951285A (en) * | 2014-03-24 | 2015-09-30 | 钱静 | Method and system obtaining calculation result by algorithm calling and coordinating |
CN105376087A (en) * | 2014-08-14 | 2016-03-02 | 瞻博网络公司 | Transaction integrity for network services configuration |
CN105376087B (en) * | 2014-08-14 | 2020-07-24 | 瞻博网络公司 | Transaction integrity for network service configuration |
CN104239052A (en) * | 2014-09-12 | 2014-12-24 | 浙江宇视科技有限公司 | Business flow generation method and business flow generation device |
CN104317590A (en) * | 2014-10-22 | 2015-01-28 | 中国建设银行股份有限公司 | Embedded configuration system and embedded review process configuration method |
CN104360842A (en) * | 2014-10-23 | 2015-02-18 | 桂林电子科技大学 | Service dynamic process arrangement method based on JBPM (Java business process management) |
CN104360842B (en) * | 2014-10-23 | 2017-09-26 | 桂林电子科技大学 | A kind of service dynamic flow method of combination based on JBPM |
CN104484192B (en) * | 2015-01-07 | 2017-11-14 | 南威软件股份有限公司 | A kind of method of complicated multiple-branching construction Code automatic build |
CN104484192A (en) * | 2015-01-07 | 2015-04-01 | 南威软件股份有限公司 | Automatic generating method for complex multiple-branching structure code |
CN105988815A (en) * | 2015-03-04 | 2016-10-05 | 银联商务有限公司 | Business process development method and system |
CN105242914A (en) * | 2015-09-06 | 2016-01-13 | 江苏马上游科技股份有限公司 | Model driven code generation method and system |
CN106682869A (en) * | 2015-11-05 | 2017-05-17 | 财团法人资讯工业策进会 | Variable definition changing device and method for flow model integration system |
CN106845744A (en) * | 2015-12-04 | 2017-06-13 | 北大医疗信息技术有限公司 | The generation method and generating means of operation flow template |
CN106933563A (en) * | 2015-12-31 | 2017-07-07 | 远光软件股份有限公司 | A kind of page flow editing machine |
CN109074245A (en) * | 2016-03-24 | 2018-12-21 | 微软技术许可有限责任公司 | Vision diagram is converted into code |
CN105893062A (en) * | 2016-06-16 | 2016-08-24 | 南京国通智能科技有限公司 | Operation method of novel production mode |
CN109313435B (en) * | 2016-06-28 | 2022-06-21 | 西门子股份公司 | Method and apparatus for configuring a production process for producing a product assembled from a plurality of sub-products |
US11106196B2 (en) | 2016-06-28 | 2021-08-31 | Siemens Aktiengesellschaft | Method and apparatus for shaping a production process for producing a product made up of multiple subproducts |
CN109313435A (en) * | 2016-06-28 | 2019-02-05 | 西门子股份公司 | The method and apparatus for being used to produce the production process of the product by multiple sub- assembling products for configuration |
CN106201480A (en) * | 2016-06-30 | 2016-12-07 | 中国航空无线电电子研究所 | A kind of cockpit display Control System Software architecture management platform |
CN106354492A (en) * | 2016-08-23 | 2017-01-25 | 深圳Tcl智能家庭科技有限公司 | Automatic code generation method and system capable of rapidly adjusting transaction process connection |
CN107066248A (en) * | 2016-12-29 | 2017-08-18 | 北京五八信息技术有限公司 | Processing model determines method and device |
CN107133049A (en) * | 2017-05-23 | 2017-09-05 | 中国联合网络通信集团有限公司 | The treating method and apparatus of service based on communication |
CN107273117B (en) * | 2017-05-25 | 2021-04-09 | 土巴兔集团股份有限公司 | Programming-friendly agile code automatic generation system |
CN107273117A (en) * | 2017-05-25 | 2017-10-20 | 深圳市彬讯科技有限公司 | A kind of quick Code automatic build system for programming friendly |
CN107291450B (en) * | 2017-05-25 | 2021-04-09 | 土巴兔集团股份有限公司 | Programming-friendly agile code automatic generation method |
CN107291450A (en) * | 2017-05-25 | 2017-10-24 | 深圳市彬讯科技有限公司 | A kind of quick code automatic generation method for programming friendly |
CN107291458A (en) * | 2017-06-06 | 2017-10-24 | 北京知道创宇信息技术有限公司 | A kind of plug-in unit construction method, system and the server of Web applications |
CN107291458B (en) * | 2017-06-06 | 2020-07-14 | 北京知道创宇信息技术股份有限公司 | Plug-in construction method and system for Web application and server |
CN107273122A (en) * | 2017-06-07 | 2017-10-20 | 深圳市卓讯信息技术有限公司 | Based on decoupling mechanism can iteration set up operation system method and its terminal |
CN107463421B (en) * | 2017-07-14 | 2020-03-31 | 清华大学 | Compiling and executing method and system of static flow model |
CN107463421A (en) * | 2017-07-14 | 2017-12-12 | 清华大学 | A kind of compiling implement method and system of static procedural model |
CN109324787A (en) * | 2017-08-18 | 2019-02-12 | 深圳怡化电脑股份有限公司 | A kind of business software development approach, device and terminal device |
CN109324787B (en) * | 2017-08-18 | 2022-05-10 | 深圳怡化电脑股份有限公司 | Business software development method and device and terminal equipment |
CN107861725A (en) * | 2017-11-22 | 2018-03-30 | 北京酷我科技有限公司 | A kind of iOS data backs parse strategy automatically |
CN108153528A (en) * | 2017-12-15 | 2018-06-12 | 东软集团股份有限公司 | Extension processing method, device, storage medium and the electronic equipment of procedural model |
CN107977236A (en) * | 2017-12-21 | 2018-05-01 | 上海智臻智能网络科技股份有限公司 | Generation method, terminal device, storage medium and the question answering system of question answering system |
CN107977236B (en) * | 2017-12-21 | 2020-11-13 | 上海智臻智能网络科技股份有限公司 | Question-answering system generation method, terminal device, storage medium and question-answering system |
CN108376065A (en) * | 2018-03-01 | 2018-08-07 | 中国航空无线电电子研究所 | The system for building the avionics software development environment of model-driven |
CN108647019B (en) * | 2018-05-14 | 2021-08-31 | 浪潮通用软件有限公司 | Control layer coding method for service combination |
CN108647019A (en) * | 2018-05-14 | 2018-10-12 | 浪潮通用软件有限公司 | A kind of control layer coding method of Services Composition |
CN109062567A (en) * | 2018-07-09 | 2018-12-21 | 南京君度科技有限公司 | Information management system quick development platform based on B/S structure |
CN109214785A (en) * | 2018-10-23 | 2019-01-15 | 北京奇艺世纪科技有限公司 | Implementation method, server and the system of workflow |
CN109214785B (en) * | 2018-10-23 | 2022-06-03 | 北京奇艺世纪科技有限公司 | Workflow implementation method, server and system |
CN109710272A (en) * | 2018-11-09 | 2019-05-03 | 深圳壹账通智能科技有限公司 | Update the packaging method and device of file |
CN110096260B (en) * | 2019-04-19 | 2022-07-15 | 南瑞集团有限公司 | Information system architecture automatic construction method and system based on business process |
CN110096260A (en) * | 2019-04-19 | 2019-08-06 | 南瑞集团有限公司 | A kind of information system structure method for automatically constructing and system based on operation flow |
CN110275817B (en) * | 2019-06-13 | 2020-09-22 | 北京航空航天大学 | Automatic log file generation method based on model drive |
CN110275817A (en) * | 2019-06-13 | 2019-09-24 | 北京航空航天大学 | A kind of journal file automatic generation method based on model-driven |
CN110286893A (en) * | 2019-06-28 | 2019-09-27 | 百度在线网络技术(北京)有限公司 | Service creation method, apparatus, equipment, system and storage medium |
CN110286893B (en) * | 2019-06-28 | 2023-08-15 | 百度在线网络技术(北京)有限公司 | Service generation method, device, equipment, system and storage medium |
CN112698819A (en) * | 2019-10-22 | 2021-04-23 | 北京信普飞科科技有限公司 | Method, device and storage medium for designing tree-oriented object programming program |
CN111142861A (en) * | 2019-12-17 | 2020-05-12 | 西安电子科技大学 | Method and device for integrating structured comprehensive control system |
CN111142861B (en) * | 2019-12-17 | 2022-05-03 | 西安电子科技大学 | Method and device for integrating structured comprehensive control system |
CN111259634A (en) * | 2020-01-13 | 2020-06-09 | 陕西心像信息科技有限公司 | XSD format file analyzing method and generating method |
CN111259634B (en) * | 2020-01-13 | 2023-06-09 | 陕西心像信息科技有限公司 | Analysis method and generation method of XSD format file |
CN111488145A (en) * | 2020-04-30 | 2020-08-04 | 国网河北省电力有限公司信息通信分公司 | Micro-service code generation system and method based on service domain data model base |
CN111930369B (en) * | 2020-05-06 | 2024-04-16 | 许继集团有限公司 | Design method of system tool based on variable box |
CN111930369A (en) * | 2020-05-06 | 2020-11-13 | 许继集团有限公司 | Design method of system tool based on variable box |
CN111666100A (en) * | 2020-05-13 | 2020-09-15 | 深圳思为科技有限公司 | Software framework generation method and device, electronic equipment and storage medium |
CN111666100B (en) * | 2020-05-13 | 2023-12-15 | 深圳思为科技有限公司 | Software framework generation method and device, electronic equipment and storage medium |
CN111695882B (en) * | 2020-06-18 | 2023-10-31 | 行吟信息科技(武汉)有限公司 | Dotting test method and platform |
CN111695882A (en) * | 2020-06-18 | 2020-09-22 | 行吟信息科技(武汉)有限公司 | Dotting test method and platform |
CN112114797B (en) * | 2020-09-03 | 2023-04-07 | 成都中科合迅科技有限公司 | Configurable visualization development method and system |
CN112114797A (en) * | 2020-09-03 | 2020-12-22 | 成都中科合迅科技有限公司 | Configurable visualization development method and system |
CN112394920A (en) * | 2020-11-19 | 2021-02-23 | 联通智网科技有限公司 | Application software development method, platform and electronic equipment |
CN112394920B (en) * | 2020-11-19 | 2024-03-29 | 联通智网科技股份有限公司 | Application software development method, platform and electronic equipment |
CN113239670A (en) * | 2021-05-11 | 2021-08-10 | 鸬鹚科技(深圳)有限公司 | Method and device for uploading service template, computer equipment and storage medium |
CN113721901A (en) * | 2021-06-25 | 2021-11-30 | 国网安徽省电力有限公司 | Low-code financial data analysis visualization engine |
CN113535304A (en) * | 2021-07-19 | 2021-10-22 | 杭州群核信息技术有限公司 | Method and device for inserting, displaying and editing third-party model in design software |
CN113590115A (en) * | 2021-07-30 | 2021-11-02 | 北京国腾联信科技有限公司 | Method and device for automatically generating service system code |
CN115495069A (en) * | 2022-09-26 | 2022-12-20 | 煤炭科学研究总院有限公司 | Model-driven coal industry software flow implementation method, device and equipment |
CN115495069B (en) * | 2022-09-26 | 2024-04-16 | 煤炭科学研究总院有限公司 | Model-driven coal industry software process implementation method, device and equipment |
CN117435178A (en) * | 2023-12-20 | 2024-01-23 | 厦门东软汉和信息科技有限公司 | Code generation system, method, device and storage medium |
CN117435178B (en) * | 2023-12-20 | 2024-03-15 | 厦门东软汉和信息科技有限公司 | Code generation system, method, device and storage medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101256492A (en) | Software development method and system for executing model drive structure | |
CN101617292B (en) | Producer graph oriented programming and execution | |
Van Der Aalst et al. | Design and implementation of the YAWL system | |
Pillat et al. | BPMNt: A BPMN extension for specifying software process tailoring | |
Estublier et al. | Impact of software engineering research on the practice of software configuration management | |
CN101601012B (en) | Producer graph oriented programming framework with scenario support | |
CN102341781B (en) | Software test bed generation | |
US20060271909A1 (en) | Graphical editor with incremental development | |
US20050065951A1 (en) | Visualization of commonalities in data from different sources | |
CN1936943A (en) | Method and system for dynamically configuring a role-based collaborative space | |
Cleland-Huang et al. | A persona-based approach for exploring architecturally significant requirements in agile projects | |
KR20060087999A (en) | Declarative representation for an extensible workflow model | |
US20050114361A1 (en) | Method and apparatus for integrating data repositories and frameworks | |
CA2641941A1 (en) | Legacy software modernization system | |
CN102736919A (en) | Method and system for specifying and developing application systems with dynamic behavior | |
US20120060141A1 (en) | Integrated environment for software design and implementation | |
Schumm et al. | Web service composition reuse through shared process fragment libraries | |
JP2003015869A (en) | Program, method and system for supporting development | |
Lumertz et al. | User interfaces metamodel based on graphs | |
US20050138039A1 (en) | Method and system for tailoring metamodel requirements capture processing to varying users | |
Liew et al. | A framework for business model driven development | |
Simmonds et al. | Analyzing methodologies and tools for specifying variability in software processes | |
US20130167046A1 (en) | Method and system for customizing a graphic user interface of a manufacturing execution system screen | |
Schramm et al. | Rapid UI development for enterprise applications: Combining manual and model-driven techniques | |
Stojanovic et al. | A methodology framework for component-based system development support |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Open date: 20080903 |