[specific embodiment]
To keep the purposes, technical schemes and advantages of the embodiment of the present application clearer, below in conjunction with the embodiment of the present application
In attached drawing, the technical scheme in the embodiment of the application is clearly and completely described, it is clear that described embodiment is
Some embodiments of the present application, instead of all the embodiments.Based on the embodiment in the application, those of ordinary skill in the art
Whole other embodiments obtained without creative efforts, shall fall in the protection scope of this application.
Fig. 1 is the flow chart of the software building method of model-driven of the present invention, as shown in Figure 1, comprising the following steps:
Step S11, the software architecture suitable for software to be built pre-established is obtained, the software architecture includes: control
Management region processed, including event control module and main module;Logical hierarchy region, including podium level, model layer, service layer and answer
With layer;
Step S12, the application demand and the software architecture to be realized according to the software to be built, building it is described to
Construct software.
In a kind of preferred implementation of step S11,
The event control module is based on institute for receiving the customer incident request for developing the software to be built
It states customer incident request and generates entrusted information, and the entrusted information is sent to the data module;
Preferably, the customer incident request includes user demand, and the user demand is described with operation flow.
The main module, is used for:
The entrusted information is received, and internal configuration parameter is obtained based on the entrusted information;
Based on the internal configuration parameter design application scenarios, resolution service and business object, decomposition data object;
Then data object required for obtaining building software according to decomposition result in the data object pond of prebuild;?
Business service is established according to data object in the business service model basin of prebuild, the business service is by function (business conduct)
It is constituted with data (business object);In the business scenario model basin of prebuild, business scenario is constructed according to business service;Pre-
In the Application models pond of building, software is constructed according to business scenario.
Preferably, in logical hierarchy region,
Podium level is for constructing unified infrastructure, hardware needed for being used to support and running above-mentioned module and basis
Software.Wherein, computer equipment is used to support and runs control management region, including event control module and main module;Storage
Equipment is used to support and operation data module.
Model layer is used for business event operating mechanism, composed structure, integrated relationship, with data model, service model and
Business event mode is described and is solidified in the form of prototype network by the form of business integration model.And by prototype network come
Drive the execution and propulsion of whole business procedure.
Service layer is used to use micro services technology, and business event is split as a series of mutually independent functional units, claims
For service.These services are mutually indepedent, but each service occupies a position in model layer.When certain business conduct occurs
When, model layer, to define according to model, can follow the relationship of prototype network with the variation of aware services, and business variation is pushed away
It send to relevant service, i.e. service functional unit, to complete the execution of whole business.An independent industry is expressed in each service
Business functional unit, their entirety expresses complete professional ability, so as to form service pool.
Application layer is made of module and application, and each module is formed by one or more Services Compositions in service pool, right
Answer a specific application scenarios;And the combination of multiple modules, then constitute an application.
Preferably, the main module, for being decomposed based on the internal configuration parameter design application scenarios, by application scenarios
For business service, business service includes business conduct and business object, business object is decomposed into data object, is specifically included:
The application scenarios of user are described, it is found out in the scene and connects by defining user for a software requirement
Mouth and method (business conduct) and business paper (business object), and business object decomposition is independent data object.
Preferably, the data object is stored in the data object pond pre-established;It is defined for each data object
Other data objects that (look up) can be consulted, to form data object model in data object pond.When business occurs
When, access chain is follow, data needed for looking for business.For example, the data object include order, customer,
Product, contract, price, vipcard, dictionary etc..
Preferably, data object can be in relevant database (such as MYSql, PostgreSQL, Oracle etc.) with table
Form storage, can also be stored in Document image analysis (such as MongoDB, ElasticSearch etc.) with object form.In general,
The data object being stored in relevant database is used for online business processing, the data object being stored in Document image analysis
For online service inquiry.
Preferably, the data object pond is constructed by following steps: being decomposited data object from business object, is defined number
According to the incidence relation between object.
Such as order business object can decomposite order, customer and product data object;And contract services
Object can decomposite contract, order, customer, product data object.It establishes between these data objects
Incidence relation, for example, order data object can be associated with product data object and customer data object;And
Product data object can be further associated with price data object;And customer data object can be further associated with
To vipcard data object, while being associated as well to dictionary data object.
During the entire process of software building and operation, data object pond is for service pool, module pond and application pool
For be unique and shared, no matter therefore ensure that enterprise finally constructs how many a application scenarios and application program, and
In these application scenarios and the operational process of application program, the data object of bottom is unique and shared always.This is just eliminated
The problem of data between multiple application programs are inconsistent and information island.
Preferably, the business service is stored in the business service model basin pre-established, the business service model
Pond is constructed by following steps:
1, data object is found from data object pond, is combined into business paper (business object);
2, it combines function (business conduct) with business paper (business object), using each business object as unit, will make
Business conduct for it combines, and constitutes a business service.Preferably, business object, event, rule and role combinations
Get up to constitute a business service.Each business service keeps independent.For example, for XX business service, including its business object,
Service logic and general role.Wherein, a business object corresponds to a business service, includes to the business pair in business service
The all operationss of elephant.The business object includes data object, object association, intrinsic regular (information configuration item) again;And business
Logic includes call in event (processing logic), rules of interaction (logic configuration item) and call out event (integrated configuration again
);And general role includes authority configuration item.For order business service comprising data object have order,
Customer, product and price;Wherein, order and customer data object is associated, product and price number
It is associated according to object.Wherein, information configuration item such as " XX can not be empty ", " XX must be number ", " member can enjoy discount ";It patrols
Collect configuration item such as " product is empty not producible order ", " new customer order needs to examine after coming into force ";Integrated configuration item such as " nothing
Protocol Client order automatically creates contract after coming into force ", " framework agreement client does not generate contract ";Authority configuration item such as " client
Order can be created ", " client can not modify order ", " sale can create order ", " sale can modify order ".
If 3, a business conduct acts on multiple business objects, multiple business pair of a business conduct are completed jointly
One group of dependence can be constructed as between.This group of dependence is presented as the dependence between service.It obtains between each service
Dependence.For example, the call in event of order business service is creation order, call out event is creation contract;And
Creation contract is the call in event of contract services service again, and here it is between order business service and contract services service
Dependence.
4, when being calculated for the dependence between multiple business services, from some service, by dynamic structure
Build out one group of service dependent tree with hierarchical relationship.When business conduct occurs, the behavior will follow the transmitting of this paths.
By above-mentioned step, form using business object as the separate traffic service of unit and with business conduct and business
Object interactively and the business service dependence that is formed are the business execution route of train of thought, to constitute business service mould
Type pond.
The service of each of this service pool expresses a service functional unit, they constitute service layer;And according to
Bad network then expresses business operation mechanism, composed structure and integrated relationship, they constitute model layer.
The independence of business service is optionally combined them, thus as playing with building blocks, it can be quick and flexible
Construct meet user's demand business scenario come.
And the business object in each business service, then from the data object combination in data object pond.It institute
The data needed follow data object and consult (look up) network namely data object model acquisition.
Business service model basin be for business scenario module pond and Application models pond it is unique and shared, because
No matter this ensure that enterprise finally constructs how many a application scenarios and application program, they share a set of unique business always
Functional unit.This is eliminated the need for because function is inconsistent caused by the cutting of application scenarios, does not integrate and using isolated island.
Preferably, the business scenario is stored in the business scenario model basin of prebuild;A business scenario i.e. software
User issues business conduct to software, it is desirable that the process of business datum.Business scenario can be expressed as one of complete application
Application module.Each business scenario is made of multiple business conducts, and therefore, an application module can be by business service mould
Corresponding business service is composed in type pond.
Each application module expresses a specific business scenario, mutually indepedent between them.All application module structures
At business scenario pond, all processes of business event execution are expressed.Business scenario pond constitutes being total to for application layer
Enjoy module.
Preferably, according to different business scopes, business scenario is modeled, generates business scenario pond.By same industry
In business field, rules of interaction and composition of matter that different role operates different business object/business service.Such as
Client can create/more new order (service), charge slip;Marketing team can create/more new order (service);Client can create
Build member card;Price setter can create price;And order (service) can create contract (service);Contract (service) can be with
Charge slip is created, product is read, reads member card;Product can read price.By these roles, business object/business service, interaction rule
Then, composition of matter gets up to be formed a business scenario.
Application module is that personalized, different Services Composition will form different business scenarios;The building of application module
It is that quickly, business function required for it only needs to find corresponding service in service pool.Each application module is equal
User is expressed by some man-machine interface, some business conduct is issued, thus the corresponding industry into business service model basin
Business service issues request, and the process that corresponding data is obtained in pond is held from data object.The corresponding business field of one application module
Scape.
Preferably, in the Application models pond, an application program is made of multiple business scenarios.According to specific
Application demand, finds corresponding business scenario module from Application models pond, and organic assembling can form one some
A referable application program.
Each Application models express it and are made of which application module, and know that it will hold by application module
Capable business service, then the data object that it will access is known by business service.So far, one needed for an application program
Highly necessary element is complete.
The building of application program be it is personalized, the various combination of application module will form different application programs;Using
The building of program is quickly that it is only a kind of assembling of application module.
In a kind of preferred implementation of step S12, according to the application demand to be realized of software to be built and
The software architecture constructs the software to be built.
Preferably, including following sub-step:
Sub-step S121, the application demand to be realized of software to be built is obtained.
Sub-step S122, the main module is called, for the application demand, by defining user;User is described
Application scenarios;Its business service, including business conduct (interface and method), Yi Jiye are found out in the application scenarios of user
It is engaged in document (business object);And the business object being related to decomposition is independent data object.
Sub-step S123, the building software to be built.
Call the main module in the data object pond of prebuild according to the acquisition building of business object decomposition result
Data object required for software to be built;
Business service is established according to data object in the business service model basin of prebuild, the business service is by function
(business conduct) and data (business object) are constituted;
In the business scenario model basin of prebuild, business scenario is constructed according to business service;
In the Application models pond of prebuild, software is constructed according to business scenario.
Preferably, the data according to required for decomposition result acquisition building software in the data object pond of prebuild
Object includes: to establish lookup relationship in data object level, and support filter.
The data object pond is unique for same enterprise and shares, different in constructing software process to be built
Software to be built is based on the same data object pond, and the data object of bottom is unique and shared always.This eliminates the need for more
The problem of data between a application program are inconsistent and information island.
Preferably, described business service is established according to data object in the business service model basin of prebuild to include:
Business service is created, specifies main data object, specified includes and reference data object to form business object;For
Different business services, such as order placement service and price service, the data object of order placement service include order, customer and
product;The data object of price service includes price and product;
Configuration calculates column/calculation formula;Configuration service rule/trigger;
Create business conduct;Configuration service view;
The specified services index object to be mounted.
Business service model basin be for business scenario module pond and Application models pond it is unique and shared, because
No matter this ensure that enterprise finally constructs how many a application scenarios and application program, they share a set of unique business always
Functional unit.This is eliminated the need for because function is inconsistent caused by the cutting of application scenarios, does not integrate and using isolated island.
Preferably, described in the business scenario model basin of prebuild, constructing business scenario according to business service includes: root
Tabular views are configured according to business object;According to business interface configuration service process.
Preferably, in the Application models pond of prebuild, constructing software according to business scenario includes:
In the Application models pond, an application program is made of multiple business scenarios.According to the specific application
Demand, finds corresponding business scenario module from Application models pond, and organic assembling, some, can form one can
The application program of delivery.
Preferably, the method also includes: call the main module, control data object in the data model pond with
Podium level is associated, with data needed for obtaining business.
It should be noted that for the various method embodiments described above, for simple description, therefore, it is stated as a series of
Combination of actions, but those skilled in the art should understand that, the application is not limited by the described action sequence because
According to the application, some steps may be performed in other sequences or simultaneously.Secondly, those skilled in the art should also know
It knows, the embodiments described in the specification are all preferred embodiments, related actions and modules not necessarily the application
It is necessary.
The introduction about embodiment of the method above, below by way of Installation practice, to scheme of the present invention carry out into
One step explanation.
Fig. 2 is the structure chart of the software building system of model-driven of the present invention, as shown in Figure 2, comprising:
Framework obtains module 21, for obtaining the software architecture suitable for software to be built pre-established, the software
Framework includes: control management region, including event control module, data module and main module;Logical hierarchy region, including platform
Layer, model layer, service layer and application layer;
Software building module 22, application demand and the software frame for be realized according to the software to be built
Structure constructs the software to be built.
Preferably, the specific work process of the module is referring to the present processes embodiment, and details are not described herein.
The software building method and system of model-driven of the present invention express a software from data object and combine industry
Business object;Business object adds business conduct to be combined into business service;Dependence between business service forms business and executes logic;
The combination of business service forms business scenario;The combination of business scenario forms the complete procedure of application program.It brings following
Effect:
1. in the whole process, data object pond is unique and total for service pool, module pond and application pool
Enjoy, no matter therefore ensure that enterprise finally constructs how many a application scenarios and application program, data are unique and altogether always
It enjoys.This eliminates the need for that the data between multiple application programs are inconsistent and information island.
2. service pool is a set of shared service functional unit of enterprise's application build.No matter enterprise finally constructs how many
A application scenarios and application program, they share a set of unique functional unit always.This is eliminated the need for because of application scenarios
Function is inconsistent caused by cutting, does not integrate and apply isolated island.
3. executing train of thought according to the business that the effect of multiple services is constructed in business conduct automatically, service is formd
Between dependence and business conduct execution route.This substantially expresses the integrated relationship between service functional unit, shape
At a kind of natural integrated and linkage substantially, it is no longer necessary to realize business by external middleware and additional exploitation
It is integrated.
4. the independence of business service is optionally combined them, thus as playing with building blocks, it can be quickly clever
Living constructs the business scenario for meeting user's demand.Which solves the lances of enterprise's internal control operation and interconnection networking
Shield --- it is integrated required for enterprise's internal control to define and execute in the model of service, and distribution needed for internet is by taking
Independence of being engaged in solves;Iteratively faster is solved by the combination serviced;It is personalized then by the combination of module solve.It forms and is internally integrated
One, external independent, flexible software architecture.
5. business scenario expression is independent module, provided for enterprise's application interconnection networking, iteratively faster and personalization
Effective solution means.The independence of module allows its distributed deployment under internet environment;The group of difference service
Close is to constitute different modules to make business scenario can be with iteratively faster;It is different that same group of service can also construct the form of expression
Module, to construct personalized business scenario in the case where business function is constant, such as same group of business function is micro-
Believe public platform, small routine, the end App and Web different expression form.
6. the multiple industry situations of enterprise, will necessarily generate multiple application programs.These application programs can be constructed independently, a
Property and customization, however they share module pond, service pool and data object pool always.To be inherently eliminated more industry
State fusion difficulty --- they are originally integrated.In turn, since application program is by module pond, service pool and data
What object pool combined layer by layer, application program is able to rapid build and iteratively faster.To solve IT application in enterprises can
Sustainable development problem.
It is apparent to those skilled in the art that for convenience and simplicity of description, the terminal of the description
It with the specific work process of server, can refer to corresponding processes in the foregoing method embodiment, details are not described herein.
In several embodiments provided herein, it should be understood that disclosed method and apparatus can pass through it
Its mode is realized.For example, the apparatus embodiments described above are merely exemplary, for example, the division of the unit, only
Only a kind of logical function partition, there may be another division manner in actual implementation, such as multiple units or components can be tied
Another system is closed or is desirably integrated into, or some features can be ignored or not executed.Another point, it is shown or discussed
Mutual coupling, direct-coupling or communication connection can be through some interfaces, the INDIRECT COUPLING or logical of device or unit
Letter connection can be electrical property, mechanical or other forms.
The unit as illustrated by the separation member may or may not be physically separated, aobvious as unit
The component shown may or may not be physical unit, it can and it is in one place, or may be distributed over multiple
In network unit.It can select some or all of unit therein according to the actual needs to realize the mesh of this embodiment scheme
's.
In addition, each functional unit in each embodiment of the application can integrate in a processor, it is also possible to
Each unit physically exists alone, and can also be integrated in one unit with two or more units.The integrated unit
Both it can take the form of hardware realization, can also have been realized in the form of hardware adds SFU software functional unit.
Fig. 3 shows the frame for being suitable for the exemplary computer system/server 012 for being used to realize embodiment of the present invention
Figure.The computer system/server 012 that Fig. 3 is shown is only an example, should not function and use to the embodiment of the present invention
Range band carrys out any restrictions.
As shown in figure 3, computer system/server 012 is showed in the form of universal computing device.Computer system/clothes
The component of business device 012 can include but is not limited to: one or more processor or processor 016, system storage 028,
Connect the bus 018 of different system components (including system storage 028 and processor 016).
Bus 018 indicates one of a few class bus structures or a variety of, including memory bus or Memory Controller,
Peripheral bus, graphics acceleration port, processor or the local bus using any bus structures in a variety of bus structures.It lifts
For example, these architectures include but is not limited to industry standard architecture (ISA) bus, microchannel architecture (MAC)
Bus, enhanced isa bus, Video Electronics Standards Association (VESA) local bus and peripheral component interconnection (PCI) bus.
Computer system/server 012 typically comprises a variety of computer system readable media.These media, which can be, appoints
The usable medium what can be accessed by computer system/server 012, including volatile and non-volatile media, movably
With immovable medium.
System storage 028 may include the computer system readable media of form of volatile memory, such as deposit at random
Access to memory (RAM) 030 and/or cache memory 032.Computer system/server 012 may further include other
Removable/nonremovable, volatile/non-volatile computer system storage medium.Only as an example, storage system 034 can
For reading and writing immovable, non-volatile magnetic media (Fig. 3 do not show, commonly referred to as " hard disk drive ").Although in Fig. 3
It is not shown, the disc driver for reading and writing to removable non-volatile magnetic disk (such as " floppy disk ") can be provided, and to can
The CD drive of mobile anonvolatile optical disk (such as CD-ROM, DVD-ROM or other optical mediums) read-write.In these situations
Under, each driver can be connected by one or more data media interfaces with bus 018.Memory 028 may include
At least one program product, the program product have one group of (for example, at least one) program module, these program modules are configured
To execute the function of various embodiments of the present invention.
Program/utility 040 with one group of (at least one) program module 042, can store in such as memory
In 028, such program module 042 includes --- but being not limited to --- operating system, one or more application program, other
It may include the realization of network environment in program module and program data, each of these examples or certain combination.Journey
Sequence module 042 usually executes function and/or method in embodiment described in the invention.
Computer system/server 012 can also with one or more external equipments 014 (such as keyboard, sensing equipment,
Display 024 etc.) communication, in the present invention, computer system/server 012 is communicated with outside radar equipment, can also be with
One or more equipment that sounder is interacted with the computer system/server 012 communication, and/or with make this
Any equipment that computer system/server 012 can be communicated with one or more of the other calculating equipment (adjust by such as network interface card
Modulator-demodulator etc.) communication.This communication can be carried out by input/output (I/O) interface 022.Also, computer system/
Server 012 can also pass through network adapter 020 and one or more network (such as local area network (LAN), wide area network
(WAN) and/or public network, for example, internet) communication.As shown in figure 3, network adapter 020 passes through bus 018 and computer
Other modules of systems/servers 012 communicate.It should be understood that computer system/service can be combined although being not shown in Fig. 3
Device 012 uses other hardware and/or software module, including but not limited to: microcode, device driver, redundant processor, outside
Disk drive array, RAID system, tape drive and data backup storage system etc..
The program that processor 016 is stored in system storage 028 by operation, thereby executing reality described in the invention
Apply the function and/or method in example.
Above-mentioned computer program can be set in computer storage medium, i.e., the computer storage medium is encoded with
Computer program, the program by one or more computers when being executed, so that one or more computers execute in the present invention
State method flow shown in embodiment and/or device operation.
With time, the development of technology, medium meaning is more and more extensive, and the route of transmission of computer program is no longer limited by
Tangible medium, can also be directly from network downloading etc..It can be using any combination of one or more computer-readable media.
Computer-readable medium can be computer-readable signal media or computer readable storage medium.Computer-readable storage medium
Matter for example may be-but not limited to-system, device or the device of electricity, magnetic, optical, electromagnetic, infrared ray or semiconductor, or
Any above combination of person.The more specific example (non exhaustive list) of computer readable storage medium includes: with one
Or the electrical connections of multiple conducting wires, portable computer diskette, hard disk, random access memory (RAM), read-only memory (ROM),
Erasable programmable read only memory (EPROM or flash memory), optical fiber, portable compact disc read-only memory (CD-ROM), light
Memory device, magnetic memory device or above-mentioned any appropriate combination.In this document, computer readable storage medium can
With to be any include or the tangible medium of storage program, the program can be commanded execution system, device or device use or
Person is in connection.
Computer-readable signal media may include in a base band or as carrier wave a part propagate data-signal,
Wherein carry computer-readable program code.The data-signal of this propagation can take various forms, including --- but
It is not limited to --- electromagnetic signal, optical signal or above-mentioned any appropriate combination.Computer-readable signal media can also be
Any computer-readable medium other than computer readable storage medium, which can send, propagate or
Transmission is for by the use of instruction execution system, device or device or program in connection.
The program code for including on computer-readable medium can transmit with any suitable medium, including --- but it is unlimited
In --- wireless, electric wire, optical cable, RF etc. or above-mentioned any appropriate combination.
The computer for executing operation of the present invention can be write with one or more programming languages or combinations thereof
Program code, described program design language include object oriented program language-such as Java, Smalltalk, C++,
It further include conventional procedural programming language-such as " C " language or similar programming language.Program code can be with
It is fully executed on sounder computer, partly executes on sounder computer, held as an independent software package
Row, partially on sounder computer part on the remote computer execute or completely on a remote computer or server
It executes.In situations involving remote computers, remote computer can pass through the network of any kind --- including local area network
(LAN) or wide area network (WAN) is connected to sounder computer, or, it may be connected to outer computer (such as utilize internet
Service provider is connected by internet).
It is apparent to those skilled in the art that for convenience and simplicity of description, the system of the description,
The specific work process of device and unit, can refer to corresponding processes in the foregoing method embodiment, and details are not described herein.
In several embodiments provided herein, it should be understood that disclosed method and apparatus can pass through it
Its mode is realized.For example, the apparatus embodiments described above are merely exemplary, for example, the division of the unit, only
Only a kind of logical function partition, there may be another division manner in actual implementation, such as multiple units or components can be tied
Another system is closed or is desirably integrated into, or some features can be ignored or not executed.Another point, it is shown or discussed
Mutual coupling, direct-coupling or communication connection can be through some interfaces, the INDIRECT COUPLING or logical of device or unit
Letter connection can be electrical property, mechanical or other forms.
The unit as illustrated by the separation member may or may not be physically separated, aobvious as unit
The component shown may or may not be physical unit, it can and it is in one place, or may be distributed over multiple
In network unit.It can select some or all of unit therein according to the actual needs to realize the mesh of this embodiment scheme
's.
In addition, each functional unit in each embodiment of the application can integrate in a processor, it is also possible to
Each unit physically exists alone, and can also be integrated in one unit with two or more units.The integrated unit
Both it can take the form of hardware realization, can also have been realized in the form of hardware adds SFU software functional unit.
Finally, it should be noted that above embodiments are only to illustrate the technical solution of the application, rather than its limitations;Although
The application is described in detail with reference to the foregoing embodiments, those skilled in the art should understand that: it still may be used
To modify the technical solutions described in the foregoing embodiments or equivalent replacement of some of the technical features;
And these are modified or replaceed, each embodiment technical solution of the application that it does not separate the essence of the corresponding technical solution spirit and
Range.