CN104899011A - Start-topology universal service model - Google Patents
Start-topology universal service model Download PDFInfo
- Publication number
- CN104899011A CN104899011A CN201410077789.0A CN201410077789A CN104899011A CN 104899011 A CN104899011 A CN 104899011A CN 201410077789 A CN201410077789 A CN 201410077789A CN 104899011 A CN104899011 A CN 104899011A
- Authority
- CN
- China
- Prior art keywords
- model
- node
- service
- data
- root node
- 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
- 238000012545 processing Methods 0.000 claims abstract description 8
- 238000013499 data model Methods 0.000 abstract description 12
- 238000012423 maintenance Methods 0.000 abstract description 7
- 238000013461 design Methods 0.000 abstract description 6
- 230000002452 interceptive effect Effects 0.000 abstract 2
- 238000000034 method Methods 0.000 description 18
- 238000011161 development Methods 0.000 description 9
- 230000015572 biosynthetic process Effects 0.000 description 4
- 238000012217 deletion Methods 0.000 description 3
- 230000037430 deletion Effects 0.000 description 3
- 238000007792 addition Methods 0.000 description 2
- 230000003319 supportive effect Effects 0.000 description 2
- 206010020880 Hypertrophy Diseases 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 239000011800 void material Substances 0.000 description 1
Landscapes
- Stored Programmes (AREA)
Abstract
The invention designs a start-topology structural universal service model and a basic data processing framework thereof. The model is formed by a unique root node and a plurality of layers of sub nodes. The invention solves the problems of complexity for data processing, low modeling efficiency and difficulty in maintenance, which are caused by structural diversity of the service models, in software development According to the invention, various service data models are represented by a uniform star-topology structure. The root node describes unique basic information of the model, and the one-to-more or one-to-one sub nodes under the root node are used for describing additional information. When the model needs to be subject to interactive association with the outside, the model of the invention realizes the interactive association by reference type nodes. The service models are unified into the star-topology structure, so that data unification processing becomes possible; and the invention provides the basic framework of unification data processing, so that the modeling efficiency is improved and the maintenance cost is reduced.
Description
Technical field:
The technical field that the present invention relates to is the one in software object-oriented development pattern, and namely domain model drives development scheme.The present invention devises a kind of universal model of hub-and-spoke configuration, being applied to domain model drives in development scheme, achieve the standardization of domain model, and provide relevant framework, the structure to data and the processing mode to data model achieve universalization, standardization, greatly reduce due in performance history in the past, the problem of the multi task process that model variation brings, reduces the difficulty of modeling, improves the efficiency of modeling.
Background technology:
Traditional OO development scheme, contains following performance history, and 1. demand is collected, 2. demand analysis, 3. Outline Design, and 4, detailed design, 5. coding realizes.In such process, the model of generation has: 1. requirements use case model, 2. designs a model.And the introducing [1] of domain-driven development scheme (DDD:Domain Driven Design), in requirements use case model and the concept introducing " domain model " in designing a model.Create the universal model that each department can both understand, be more conducive to exchanging of developing department and client, make oriented object development more close to practical business flow process, technology model is closer to the modules of business demand.
But in fact, domain model drives in the process realized, and due to the difference of the flow process of different business, the concrete formation of domain model also varies.In actual development, domain model is directly changed into OO foundation class, the development scheme of carrying out processing also exists some problems: object-oriented model is generally the simple data model only having two-dimensional structure, in order to construct complicated data model based on it, the most energy of developer must be made to be placed on the structure of the different model of maintenance, the data of process different structure are come, due to the difference of different business model, to the maintenance of data and processing mode, also difference is larger, different models, reformulate specific data processing method.Such practice, wastes the energy of developer on the one hand, makes the development efficiency of model low, on the other hand, the class of each model service layer has often also concentrated the method for a large amount of so different data maintenance, causes data structure layer " hypertrophy ", is difficult to safeguard.
Through long-term observation and experience accumulation, we find, the modeling format between the domain model of the overwhelming majority, can be represented by stelliform connection topology configuration, i.e. each model, by one and unique root node describes the essential information of this model.Below root node, there is the child node of multilayer to describe the additivity information relevant with model.
We by such one can be independent, the data model unit that can be described by hub-and-spoke configuration, is called a service entities (Service Entity).Each node above it, by corresponding object oriented language two-dimentional simple data class.Be called a service entities node (Service Entity node).
Except proposing the concept of the general service model of hub-and-spoke configuration.The present invention additionally uses the OO programming language of JAVA, constructs the basic service solid framework based on JAVA platform, and this framework is used for Service supportive entity, i.e. the rapid modeling of star-like general service model and maintenance.
Summary of the invention:
Drive in modeling to solve domain model, multi-form domain model modeling efficiency is low, be difficult to the problem safeguarded, we have proposed a kind of universal model of stelliform connection topology configuration, be called: service entities (Service Entity).To the modeling of business model, we use the data model of hub-and-spoke configuration to represent uniformly, namely have the essential information of a unique root node descriptive model, out of Memory, by one to one or one-to-many child node describe.General model structure, data structure unitizes on the one hand, also achieves universalization on the other hand to the process of data, in this case, the structural maintenance of service entities, comprises the relation of entity each node inner, and the relationship safeguard of inter-entity, realize by framework.
Such one can be independent, the business unit described by hub-and-spoke configuration, is called service entities (Service Entity).Each node of service entities, by corresponding object oriented language simple data class.Be called a service entities node (Service Entity node).
The type of node has several below:
1. root node: root node for describing the base attribute of service entities, and presents the corresponding relation of 1 to 1 with service entities itself, the identification information of such as model, as numbering, title etc., or the priority level being similar to voucher, rise time etc.
2. child node: for describing the not substantially information of service entities, i.e. the information of adjunctive, and service entities itself presents 1 to 1 or 1 to many relations, in such as sales order, the information of the merchandising comprised.1 is presented to many relations with sales order.
3. reference node: when a service entities needs to refer to external service entity, basic information is provided by external entity, and this service entities only provides the information relevant with this service entities business, in this adduction relationship, needs foundation to quote type node.As in sales order, merchandise sales information will refer to " commodity " this independent of the service entities outside sales order, in sales order, the information that sale itself is relevant is contained in merchandising node, as sales volume, selling price, but the information of commodity itself comes from quoting this service node of commodity.
Below by an actual example, be described through service entities, realize the modeling process of " sales order ".
In the model of a sales order, and the closely-related essential information of order itself comprises order number, order date of formation, handler, priority level etc.These essential informations we be defined as the root node information of order.The information that sales order further comprises " merchandising ", these information and order present 1 to many relations, and namely a sales order can comprise many merchandising information, and we are defined as child node " merchandising ".And " merchandising " node should be quote type node, because the commodity self information in merchandising should be from " commodity " this independently model outside sales order, the title of such as commodity, feature of commodity etc., " merchandising " is quoted from " commodity " model, " merchandising " is self-contained is the information relevant with marketing activity in order, such as user's quantity purchase, buyer etc.
On the other hand, sales order further comprises the information of participant, and conventional sales order contains two participants, the buyer and the buyer, the information that the child node of participant comprises, and should have: participant, primary account's name.Contact phone, Email, participant role (the such as buyer, the seller, supplier, delivery of cargo side, paying party etc.).
Based on above information, we can build " sales order " data model star-like like this, the structural drawing of this model, please refer to the Fig. 2 in accompanying drawing explanation.
After having defined data model, according to practical business scene, the example of data model can be generated.Suppose there is such business scenario: electronics scientific technology co (TechA), as the seller, has reached a sales order to service consultation company: ServiceB, contains 3 class commodity in this sales order: 10 mobile phones, 3 computers, 5 video cameras.Meanwhile, he is sales order number: SA20130203001, priority level: A, rise time: 2013.02.03, founder: Wang Qiang, total price: 40000 yuan.
According to service entities model above, we can obtain data model example when running, Fig. 3 that its structural drawing illustrates with reference to accompanying drawing.
Round the modeling of service entities, we provide unified basicization framework.The rapid modeling of one side Service supportive entity and conventional data process, meanwhile, framework is the exploitation of developer's custom feature, provides specification, makes developer when custom feature, code, module specification more, is more conducive to safeguard.
The basic comprising of basicization framework, Part I is model definitional part, i.e. the definition of each node of service entities.By defining the simple data amount class of JAVA, inherit the base class ServiceEntityNode that framework provides.Meanwhile, the formation of descriptive model is carried out with configuration class ConfigureProxy, data structure.Part III is data access class DAO class, in like manner, inherits the parent ServiceEntityDAO of framework.Can by configuration and database link.Realize the exchanges data of all nodes and database in service entities.Part IV is service layer, or logic manage layer.For service entities, provide basic service:
The data genaration of service entities: the generation comprising root node generation and child node.
Data Update is served: can accept the service entities data imported into from presentation layer, and compares with the service entities data on backstage, upgrades the data of each node, newly-increased, deletion action, and records correlation log.
Reference node is served, and builds new reference node, finds the destination node be cited by reference node.
Dynamic queries is served, and by inputting the property value of arbitrary node, carrying out matched and searched, also to any input inquiry value, can carry out the free matched and searched of arbitrary node and attribute.
The structural drawing of system basic framework please refer to the Fig. 4 in accompanying drawing explanation.
Accompanying drawing explanation
The schematic diagram of Fig. 1 hub-and-spoke configuration generic data model
Fig. 2 describes the hub-and-spoke configuration of the service entities model of simple " sales order ".
Fig. 3 describes under the business scenario of a upper chapter, the data instance structure of " sales order " business model.
Fig. 4 describes the structure of the system framework of service entities
Embodiment
1. system prepares: in JAVA engineering, introduces the engineering bag of service entities platform: service.platform.iar
2. service entities model modeling: the master data class of definition JAVA, the standards service entity node class that basic platform provides:
SerivceEntityNode, such attribute serviceEntityName identifies affiliated service entities title, in the frame, identify which service entities is this node class belong to by this title, attribute nodeName indicates the nodename of this node, is the indications of node
NodeLevel indicates the level attributes of this node, if nodeLevel=ServiceEntityNode.NODELEVEL_ROOT shows that this node is a root node, if nodeLevel=ServiceEntityNode.NODELEVEL_LEAVE or nodeLevel=
ServiceEntityNode.NODELEVEL_NODE shows that this node is a leaf node or common minor matters point.NodeSpecify Type indicates the type of this node, is the node belonging to type, or the node of a reference type, or the node of type of credentials.Attribute uuid is the overall identification of example on backstage of node, is produced by system framework, attribute parentNodeUUID, it is the father node of this node of mark, identical with the uuid on father node, rootNodeUUID identifies the root node of this node, identical with the uuid on corresponding root node.Corresponding root node, its parentNodeUUID with rootNodeUUID is identical with the uuid of self.
Example code below describes a service entities root node definition.
Code below describes one of them child node of service entities definition.
3. the process of establishing of data access class:
The data access class of definition JAVA, the default name rule of data access class is: service entities class name+DAO, and when such as service entities is called Cargo, the DAO class of acquiescence is called CargoDAO.
Inherit the standard class that framework provides: ServiceEntityDAO.Such can provide looks into service entities additions and deletions the operation changed.
Shown below is the example of a data access classes definition
The parent ServiceEntityImpDAO that self-defining DAO class BookingNoteDAO provides by inheriting framework, and the attribute seConfigProxy of initialization parent, makes such can realize looking into the additions and deletions of service entities BookingNote (booking note) operation changed.
4. the foundation of logical services class, defines the logical services class of JAVA, and such default name rule is: service entities class name+Manager, and when such as service entities is called Cargo, the Manager class of acquiescence is called CargoManager.
Inherit the standard class that framework provides: ServiceEntityManager.Such can provide and increase basic logic operation to service entities.
Example code below describes the definition procedure of a service class:
In definition procedure, respectively self-defining DAO class and the example of configuration class are given attribute serviceEntityDAO and seConfigureProxy of parent.
In the frame, the basic operation that the service entities class of standard provides has:
1. the data model of newly-generated service entities in run mode, comprises the generation of root node example and the generation of common child node.
Generate by the method newRootEntityNode () calling parent ServiceEntityManager the root node example that type is ServiceEntityNode, need unsteady state operation to be user-defined service entities root node type.Automatically give the overall situation unique identifier UUID simultaneously, and the automatic record operation systematic parameter such as user ID and date of formation.
By calling method newEntityNode (the ServiceEntityNode parentNode of parent ServiceEntityManager, String nodeName) generate the child node example that type is ServiceEntityNode, input parameter parentNode is the father node example of child node, and nodeName needs newly-built child node nodename.Equally, system also can give global variable and register system parameter automatically.
2. Data Update service, by calling parent method public void updateSEBindList (List<ServiceEntityBindModel>s eBindList, List<ServiceEntityBindModel>s eBindListBack) receive the data of the service entities that presentation layer transmits, and back-end data, carry out update service, and carry out automatic log recording.
3. dynamic queries service, dynamic queries is divided into two aspects, one be according to input node and Property Name, property value, as search parameter, returns the service entities example met the demands.Two is the Query Values according to input, Dynamic Matching in all nodes and all properties.
Method by parent ServiceEntityManager provides:
Realize the dynamic search function of the first kind, wherein input parameter fuzzyFlag shows that this search is the need of fuzzy matching.Input parameter searchModuleList contains the query argument of input, and the nodename of correspondence and Property Name.
Pass through method: public List<List<ServiceEntityNodeGre atT.GreaT.GT>doFreeTextSearchService (String searchText)
Realize the free text search functionality of Equations of The Second Kind.
Annex: reference
[1].http://en.wikipedia.org/wiki/Domain-driyen_design
[2].http://www.360doc.com/content/06/1109/13/1574_254192.shtml
[3].http://en.wikipedia.org/wiki/Business model
[4].http://en.wikipedia.org/wiki/Domain_model
[5].http://baike.baidu.com/view/757895.htm。
Claims (4)
1. the general service model of hub-and-spoke configuration, achieves various forms of business model and to unitize structure, be characterized in: by basic, unique information of unique root node descriptive model, and child node carrys out the additional information of descriptive model different aspect.
2. the model described by claim 1, the corresponding relation of child node and root node can be one to one, also can be the relation of one-to-many.
3. the model structure described by claim 1, the mutual adduction relationship between different model, can the node of type structure by reference realize.
4. the structural model described by claim 1, unitized data structure, provides basic framework and carries out data processing.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201410077789.0A CN104899011A (en) | 2014-03-05 | 2014-03-05 | Start-topology universal service model |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201410077789.0A CN104899011A (en) | 2014-03-05 | 2014-03-05 | Start-topology universal service model |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN104899011A true CN104899011A (en) | 2015-09-09 |
Family
ID=54031690
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201410077789.0A Pending CN104899011A (en) | 2014-03-05 | 2014-03-05 | Start-topology universal service model |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN104899011A (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN108491204A (en) * | 2018-03-30 | 2018-09-04 | 四川九阵科技股份有限公司 | A kind of medical software system and method |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20020194039A1 (en) * | 2001-06-15 | 2002-12-19 | Kumar Bhaskaran | Method and framework for model specification, consistency checking and coordination of business processes |
| CN101114226A (en) * | 2007-08-28 | 2008-01-30 | 北京中企开源信息技术有限公司 | Code automatically generating device based on model component, system and method |
| CN102830974A (en) * | 2012-08-13 | 2012-12-19 | 南京莱斯信息技术股份有限公司 | Visual auxiliary development tool for rapid generation of JAVA codes |
-
2014
- 2014-03-05 CN CN201410077789.0A patent/CN104899011A/en active Pending
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20020194039A1 (en) * | 2001-06-15 | 2002-12-19 | Kumar Bhaskaran | Method and framework for model specification, consistency checking and coordination of business processes |
| CN101114226A (en) * | 2007-08-28 | 2008-01-30 | 北京中企开源信息技术有限公司 | Code automatically generating device based on model component, system and method |
| CN102830974A (en) * | 2012-08-13 | 2012-12-19 | 南京莱斯信息技术股份有限公司 | Visual auxiliary development tool for rapid generation of JAVA codes |
Non-Patent Citations (2)
| Title |
|---|
| 杨美荣 等: "基于MDA的代码生成器设计与实现", 《软件技术与数据库》 * |
| 申利民 等: "一种面向柔性的业务对象模型研究", 《计算机应用研究》 * |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN108491204A (en) * | 2018-03-30 | 2018-09-04 | 四川九阵科技股份有限公司 | A kind of medical software system and method |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Wang et al. | A graph-based context-aware requirement elicitation approach in smart product-service systems | |
| JP7670427B2 (en) | Unified entity view across distributed systems | |
| Li et al. | Product whole life-cycle and omni-channels data convergence oriented enterprise networks integration in a sensing environment | |
| US7657777B2 (en) | Common semantic model of management of a supply chain | |
| CN102609813B (en) | based on the master data management architecture of cloud | |
| US11366805B2 (en) | Integrated entity view across distributed systems | |
| CN104395899B (en) | Master data management system and its method based on cloud | |
| TWI842730B (en) | Ontologically-driven business model system and method | |
| US8645431B2 (en) | Multi-level supply chain management system and methods | |
| CN111247550A (en) | Computerized transaction management module for blockchain networks | |
| US12282892B2 (en) | Data-driven requirements analysis and matching | |
| US20180150890A1 (en) | Trust circle through machine learning | |
| WO2024000582A1 (en) | Method and apparatus for constructing ontology model of knowledge graph, and storage medium | |
| Srinivasa et al. | Network Data Analytics | |
| US20080133589A1 (en) | Management of an operations chain through customizable applications and components | |
| US20220391820A1 (en) | Data-driven requirements analysis and matching | |
| CN104899011A (en) | Start-topology universal service model | |
| Sarraf et al. | Business rules in retail: the Tesco. com story | |
| Delgado | Interoperability effect in big data | |
| Yongsiriwit | Modeling and mining business process variants in cloud environments | |
| CN115017185A (en) | Data processing method, device and storage medium | |
| US12481955B2 (en) | Intelligent inventory tracking across supply-chain networks | |
| CN117435555B (en) | Main data management method, platform, server and storage medium | |
| US20250355842A1 (en) | Transforming a large-scale multi-user application provider's application data management with a unified graph interface and application-logic hosting | |
| Mazumdar | Towards a better blockchainification of supply chain applications |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C06 | Publication | ||
| PB01 | Publication | ||
| C10 | Entry into substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| WD01 | Invention patent application deemed withdrawn after publication | ||
| WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150909 |