CN100485687C - Method and device for set-up disconnection data programmed model and its application - Google Patents
Method and device for set-up disconnection data programmed model and its application Download PDFInfo
- Publication number
- CN100485687C CN100485687C CNB2006101682677A CN200610168267A CN100485687C CN 100485687 C CN100485687 C CN 100485687C CN B2006101682677 A CNB2006101682677 A CN B2006101682677A CN 200610168267 A CN200610168267 A CN 200610168267A CN 100485687 C CN100485687 C CN 100485687C
- Authority
- CN
- China
- Prior art keywords
- data
- model
- domain
- physical table
- establishing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种建立无连接的数据编程模型的方法及装置,所述方法包括:将服务数据对象划分为域对象和数据对象,并根据域对象定义数据对象;建立域对象模型,并由所述域对象模型生成对应的物理表模型;建立所述数据对象与所述物理表之间的对应关系;根据所述对应关系生成数据对象-物理表映射模型。本发明还公开了一种数据访问服务方法及系统。利用本发明,可以减少业务开发工作量,提高开发效率;实现业务系统与物理表模型的去耦,提高系统的可扩展性。
The invention discloses a method and device for establishing a connectionless data programming model. The method includes: dividing service data objects into domain objects and data objects, and defining data objects according to domain objects; establishing a domain object model, and The domain object model generates a corresponding physical table model; establishes a corresponding relationship between the data object and the physical table; generates a data object-physical table mapping model according to the corresponding relationship. The invention also discloses a data access service method and system. The invention can reduce the workload of business development, improve the development efficiency, realize the decoupling of the business system and the physical table model, and improve the expansibility of the system.
Description
技术领域 technical field
本发明涉及数据访问技术,具体涉及一种建立无连接的数据编程模型的方法、装置及其应用。The invention relates to data access technology, in particular to a method, device and application for establishing a connectionless data programming model.
背景技术 Background technique
目前,几乎所有的信息处理系统都是针对特定类型的数据源。在信息处理系统中,对特定类型数据源的访问技术主要有:通过JDBC(Java数据库编程标准)的关系数据库访问技术、或通过Xpath(XML路径语言)的XML文件访问技术。Currently, almost all information processing systems target specific types of data sources. In the information processing system, the access technologies for specific types of data sources mainly include: relational database access technology through JDBC (Java Database Programming Standard), or XML file access technology through XPath (XML path language).
随着企业业务的延伸,企业信息系统在不断的扩展,或在原系统上开发新的功能,或将原先彼此独立的子系统整合,实现企业信息共享。这意味着,企业信息系统时刻面临处理异构数据源的挑战。所谓异构数据源是指数据组织结构、数据读写方式有显著差异的不同数据源。如关系数据库、XML文件数据库无论是在数据组织结构,还是数据读写方式上都明显不同。异构数据源包括:关系数据库、对象数据库、XML(可扩展建模语言)文件、WebService(Web服务)、及能提供数据信息的外部信息系统等。With the extension of enterprise business, the enterprise information system is constantly expanding, or develop new functions on the original system, or integrate the original independent subsystems to realize enterprise information sharing. This means that enterprise information systems are always faced with the challenge of dealing with heterogeneous data sources. The so-called heterogeneous data sources refer to different data sources with significant differences in data organization structure and data reading and writing methods. For example, relational databases and XML file databases are obviously different in terms of data organization structure and data reading and writing methods. Heterogeneous data sources include: relational databases, object databases, XML (Extensible Modeling Language) files, WebService (Web services), and external information systems that can provide data information.
为此,定义一组与数据源类型无关的数据编程接口,来实现信息处理系统与数据源之间的解藕(即解除两者之间的依赖关系,达到轻松更换其中一方时,另一方仍能正常工作),是企业信息系统发展的需要。SDO(Service DataObjects,服务数据对象)是目前已标准化的一组应用程序编程接口,这组接口规范向数据使用者提供了标准、一致的数据访问方式,屏蔽了异构数据源之间的数据存取差异。通过这些接口规范,在数据的提供者与数据使用者之间实现轻松解藕;信息处理系统将通过标准SDO API(服务数据对象的标准编程接口)来存取数据,数据提供者也将通过标准SDO API对外提供数据。To this end, a set of data programming interfaces that have nothing to do with the data source type is defined to realize the decoupling between the information processing system and the data source (that is, to remove the dependency between the two, so that when one of them can be easily replaced, the other remains the same. Can work normally), is the need for the development of enterprise information systems. SDO (Service Data Objects, Service Data Objects) is a set of application programming interfaces that have been standardized at present. This set of interface specifications provides data users with standard and consistent data access methods and shields data storage between heterogeneous data sources. Take the difference. Through these interface specifications, easy decoupling between data providers and data users is achieved; the information processing system will access data through the standard SDO API (standard programming interface for service data objects), and the data provider will also use the standard SDO API provides data externally.
为了使数据使用者在使用数据的过程中,可以与数据提供者断开连接,只在开始读取、最后写数据时才与数据提供者取得联系,需要建立无连接的数据编程模型。现有的SDO建模技术只有Eclipse(一个开放源代码组织)组织开发的EMF(Eclipse Modeling Framework,Eclipse建模框架)。EMF的建模技术方案主要有下述关键过程:In order to enable data users to disconnect from the data provider during the process of using data, and only get in touch with the data provider when they start to read and write data at the end, it is necessary to establish a connectionless data programming model. The existing SDO modeling technology is only EMF (Eclipse Modeling Framework, Eclipse Modeling Framework) developed by Eclipse (an open source organization). The EMF modeling technical solution mainly has the following key processes:
1.用Rational Rose(一种软件建模工具)建立一组类图(也可用XML来表示类图),并生成.mdl文件:1. Use Rational Rose (a software modeling tool) to create a set of class diagrams (XML can also be used to represent class diagrams), and generate .mdl files:
如图1所示,该组类图中包含三个类:图书馆(Library)、作者(Writer)、书籍(Book)。其中,每个类包含:类名,属性(名称),方法。各类之间的连线表示它们之间的调用关系:可以是包含关系,如图书馆和作者之间、图书馆和书籍之间;也可以是关联关系,如作者和书籍之间。As shown in Figure 1, this group of class diagrams contains three classes: library (Library), author (Writer), book (Book). Among them, each class includes: class name, attribute (name), method. The lines between various types represent the calling relationship between them: it can be a containment relationship, such as between the library and the author, between the library and the book; it can also be an association relationship, such as between the author and the book.
2.将mdl导入EMF中,EMF自动生成SDO模型,其格式如下:2. Import the mdl into EMF, and EMF will automatically generate the SDO model in the following format:
platform:/resource/EMFModel/model/library.ecoreplatform: /resource/EMFModel/model/library.ecore
librarylibrary
BookBook
tilte:EStringtilte: EString
pages:EIntpages: EInt
category:BookCategoryCategory: BookCategory
author:Writerauthor: Writer
LibraryLibrary
name:EString name: EString
writes:Writerwrites: Writer
books:Bookbooks: Book
WriterWriter
name:EString name: EString
books:Bookbooks: Book
BookCategoryBookCategory
Mystery=0Mystery=0
ScienceFiction=1ScienceFiction=1
Biography=2Biography=2
EMF在建模时未对SDO模型进行分层,而是将不同层次的模型揉合在一起,没有将不同的对像模型分离开,从而增加了开发、维护SDO数据对象的难度,而且开发工作量大。由于未能对不同层次的模型进行细分并为每一层次的模型定义相应元数据,使得SDO模型扩展性及维护性较差,很难集成到通用性强、具备自省功能的平台中。EMF does not layer the SDO model when modeling, but combines models of different levels without separating different object models, which increases the difficulty of developing and maintaining SDO data objects, and the development work large. Due to the failure to subdivide the models at different levels and define the corresponding metadata for each level of the model, the SDO model has poor scalability and maintainability, and it is difficult to integrate into a platform with strong versatility and introspection function.
发明内容 Contents of the invention
本发明一方面提供一种建立无连接的数据编程模型的方法及装置,以减少业务开发工作量,提高开发效率。One aspect of the present invention provides a method and device for establishing a connectionless data programming model, so as to reduce the workload of business development and improve development efficiency.
本发明另一方面提供一种数据访问服务方法及系统,以实现业务系统与物理表模型的去藕,提高系统的可扩展性。Another aspect of the present invention provides a data access service method and system to realize the decoupling between the business system and the physical table model and improve the scalability of the system.
为此,本发明提供的技术方案如下:For this reason, the technical scheme provided by the invention is as follows:
本发明实施例一种建立无连接的数据编程模型的方法,包括以下步骤:Embodiments of the present invention provide a method for establishing a connectionless data programming model, comprising the following steps:
将服务数据对象划分为域对象和数据对象,并根据域对象定义数据对象;Divide service data objects into domain objects and data objects, and define data objects according to domain objects;
建立域对象模型,并由所述域对象模型生成对应的物理表模型;Establishing a domain object model, and generating a corresponding physical table model from the domain object model;
建立所述数据对象与所述物理表之间的对应关系;establishing a corresponding relationship between the data object and the physical table;
根据所述对应关系生成数据对象-物理表映射模型。A data object-physical table mapping model is generated according to the corresponding relationship.
本发明实施例一种建立无连接的数据编程模型的装置,包括:An embodiment of the present invention is a device for establishing a connectionless data programming model, including:
分层单元,用于将服务数据对象划分为域对象和数据对象,并根据域对象定义数据对象;A hierarchical unit for dividing service data objects into domain objects and data objects, and defining data objects according to domain objects;
模型建立单元,用于分别建立不同层的数据编程模型,所述模型建立单元包括:The model building unit is used to respectively build data programming models of different layers, and the model building unit includes:
域对象模型建立子单元,用于建立域对象模型;The domain object model establishment subunit is used to establish the domain object model;
物理表模型生成子单元,用于根据所述域对象模型生成对应的物理表模型;A physical table model generating subunit, configured to generate a corresponding physical table model according to the domain object model;
数据对象-物理表映射模型生成子单元,用于根据所述数据对象与所述物理表之间的对应关系,生成数据对象-物理表映射模型。The data object-physical table mapping model generating subunit is configured to generate a data object-physical table mapping model according to the corresponding relationship between the data object and the physical table.
本发明实施例一种数据访问服务方法,包括:A data access service method in an embodiment of the present invention, comprising:
建立一组包含不同层次的无连接的数据编程模型,所述数据编程模型包括:域对象模型,数据对象模型,物理表模型,数据对象-物理表映射模型;Establish a group of connectionless data programming models including different levels, the data programming models include: domain object model, data object model, physical table model, data object-physical table mapping model;
将所述数据编程模型部署到系统的服务/业务层;Deploying the data programming model to the service/business layer of the system;
当用户访问数据时,通过所述数据编程模型将来自异构数据源的数据展现给用户。When the user accesses the data, the data from the heterogeneous data source is presented to the user through the data programming model.
本发明实施例一种数据访问服务系统,包括:为用户提供服务的服务/业务层子系统,应用集成层子系统,企业信息层子系统,所述企业信息层子系统包括一种或多种异构数据源,在所述服务/业务层子系统中部署有数据编程模型装置,在所述应用集成层子系统中部署有数据中介服务装置,所述数据编程模型装置用于提供一组包含不同层次的无连接的数据编程模型,所述不同层次的无连接的数据编程模型包括:域对象模型,数据对象模型,物理表模型,数据对象-物理表映射模型;在用户访问数据时,由所述数据中介服务装置获取来自异构数据源的数据,并将这些数据组装成符合所述数据编程模型规范的数据对象,所述数据编程模型装置调用组装后的数据对象,并将所述数据对象展现给用户。A data access service system in an embodiment of the present invention includes: a service/business layer subsystem that provides services to users, an application integration layer subsystem, and an enterprise information layer subsystem. The enterprise information layer subsystem includes one or more For heterogeneous data sources, a data programming model device is deployed in the service/business layer subsystem, and a data intermediary service device is deployed in the application integration layer subsystem, and the data programming model device is used to provide a set of Different levels of connectionless data programming models, the different levels of connectionless data programming models include: domain object model, data object model, physical table model, data object-physical table mapping model; when users access data, by The data intermediary service device obtains data from heterogeneous data sources, and assembles these data into data objects conforming to the data programming model specification, and the data programming model device invokes the assembled data objects, and converts the data Objects are presented to the user.
由以上本发明实施例提供的技术方案可以看出,本发明方法通过对模型的抽象、分析,划分出不同层次的模型,定义出了与实现技术无关的、相互分离的、完备的结构化的分层模型,使得开发人员无需学习具体的SDO实现技术即可建立SDO数据对象并进行业务开发,从而减少了业务开发工作量,提高了开发效率。From the technical solutions provided by the above embodiments of the present invention, it can be seen that the method of the present invention divides models of different levels through the abstraction and analysis of the models, and defines a complete structured structure that is independent of the implementation technology and separate from each other. The layered model enables developers to create SDO data objects and conduct business development without learning specific SDO implementation technologies, thereby reducing the workload of business development and improving development efficiency.
另外,本发明通过将域模型和物理表模型分离,并且在域模型之上建立一层数据对象模型的方式,使系统设计人员可以在域模型之上设计系统,业务开发人员可以在域模型之上定义数据对象,从而实现了业务系统与物理表模型的去藕,提高了系统的可扩展性。In addition, the present invention separates the domain model from the physical table model, and builds a layer of data object model on the domain model, so that system designers can design systems on the domain model, and business developers can create data on the domain model. Data objects are defined on the database, so as to realize the decoupling between the business system and the physical table model, and improve the scalability of the system.
附图说明 Description of drawings
图1是现有技术中用Rational Rose建立的一组类图示意图;Fig. 1 is a schematic diagram of a group of class diagrams established with Rational Rose in the prior art;
图2是本发明建立无连接的数据编程模型的方法的一个优选实施例的实现流程图;Fig. 2 is the implementation flowchart of a preferred embodiment of the method for setting up the connectionless data programming model of the present invention;
图3是本发明建立无连接的数据编程模型的方法实施例中数据对象和域对象之间关系示意图;3 is a schematic diagram of the relationship between data objects and domain objects in an embodiment of the method for establishing a connectionless data programming model in the present invention;
图4是本发明建立无连接的数据编程模型的方法实施例中不同层次模型之间关系示意图;4 is a schematic diagram of the relationship between different hierarchical models in the embodiment of the method for establishing a connectionless data programming model in the present invention;
图5是本发明建立无连接的数据编程模型的装置第一实施例的原理框图;Fig. 5 is a functional block diagram of the first embodiment of the device for establishing a connectionless data programming model in the present invention;
图6是本发明建立无连接的数据编程模型的装置第二实施例的原理框图;6 is a functional block diagram of the second embodiment of the device for establishing a connectionless data programming model in the present invention;
图7是本发明数据访问服务方法的一个优选实施例的实现流程图;Fig. 7 is an implementation flowchart of a preferred embodiment of the data access service method of the present invention;
图8是J2EE分层架构及本发明SDO所处位置示意图;Fig. 8 is a schematic diagram of the J2EE layered architecture and the location of the SDO of the present invention;
图9本发明数据访问系统的一个优选实施例的原理框图。Fig. 9 is a functional block diagram of a preferred embodiment of the data access system of the present invention.
具体实施方式 Detailed ways
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和实施方式对本发明作进一步的详细说明。In order to enable those skilled in the art to better understand the solution of the present invention, the present invention will be further described in detail below in conjunction with the accompanying drawings and embodiments.
本发明对SDO进行结构化分层,分别建立起不同层次的服务数据对象模型:域对象模型,数据对象模型,物理表模型,数据对象-物理表映射模型,并使这些不同层次的模型相互分开。这样,在业务开发时,就可以根据业务需要,由基本的域对象生成数据对象,从而减少业务开发工作量,提高开发效率。The present invention carries out structural layering to SDO, respectively establishes service data object models of different levels: domain object model, data object model, physical table model, data object-physical table mapping model, and makes the models of these different levels separate from each other . In this way, during business development, data objects can be generated from basic domain objects according to business needs, thereby reducing the workload of business development and improving development efficiency.
参照图2所示本发明建立无连接的数据编程模型的方法的一个优选实施例的流程,该实施例包括以下步骤:With reference to the flow process of a preferred embodiment of the method for setting up the connectionless data programming model of the present invention shown in Fig. 2, this embodiment comprises the following steps:
步骤201:对服务数据对象进行分层,具体可以划分为域对象和数据对象。并根据域对象定义数据对象。Step 201: Hierarchize service data objects, which can be specifically divided into domain objects and data objects. And define data objects in terms of domain objects.
在定义数据对象时,可以根据业务应用需要,将一个或多个域对象的全部或部分合并,组成一个数据对象。When defining a data object, all or part of one or more domain objects can be combined to form a data object according to the needs of business applications.
比如,图3所示域对象视图中,有四个域对象,分别为域对象1、域对象2、域对象3和域对象4。其中,域对象2分别与其他三个域对象有关联。根据业务需要,将域对象1和域对象2合起来作为一个数据对象。For example, in the domain object view shown in FIG. 3 , there are four domain objects, which are
当然,也可以采用其他的分层方式,只要能够充分利用元数据,即可减少开发工作量,提高开发效率。Of course, other layering methods can also be used, as long as the metadata can be fully utilized, the development workload can be reduced and the development efficiency can be improved.
步骤202:建立域对象模型,并由所述域对象模型生成对应的物理表模型。Step 202: Establish a domain object model, and generate a corresponding physical table model from the domain object model.
确定业务所需的域对象及其相互关系。如图3所示的四个域对象中,域对象2分别包含域对象1、域对象3和域对象4,而域对象1、域对象3和域对象4之间没有任何关联关系。Identify the domain objects and their interrelationships required by the business. Among the four domain objects shown in FIG. 3 , domain object 2 includes
可以用IDE(集成开发环境)建模工具建立满足对象之间关系的域对象模型。比如,用Rational Rose或PowerDesigner(一种软件建模工具)建立域对象模型。IDE (Integrated Development Environment) modeling tools can be used to establish a domain object model that satisfies the relationship between objects. For example, use Rational Rose or PowerDesigner (a software modeling tool) to create a domain object model.
步骤203:建立数据对象与物理表之间的对应关系。Step 203: Establish a correspondence between data objects and physical tables.
由于Rose的对象模型主要支持Java、VC和VB三种编程语言,因此,可以在SDO中引入Naming-SQL(命名SQL),通过Naming-SQL建立数据对象与物理表之间的对应关系。所述Naming-SQL是指将原先嵌入在程序代码中的SQL语句提取出来,放入另一个专门存放SQL语句的文件中,而在原SQL语句处以一个唯一标识将其替换。这样,数据库管理员就可以对存放在一个文件中的所有SQL语句进行集中管理,在不改变SQL语句查询结果的前提下,可以方便地修改SQL语句中查询的表、查询顺序、或者查询条件,以达到性能最优的目标。Since Rose's object model mainly supports three programming languages: Java, VC and VB, Naming-SQL (named SQL) can be introduced into SDO, and the corresponding relationship between data objects and physical tables can be established through Naming-SQL. The Naming-SQL refers to extracting the SQL statement originally embedded in the program code, putting it into another file specially storing the SQL statement, and replacing it with a unique identifier at the original SQL statement. In this way, the database administrator can centrally manage all SQL statements stored in a file, and can easily modify the tables queried in the SQL statement, query order, or query conditions without changing the query results of the SQL statement. In order to achieve the goal of optimal performance.
当然,也可以利用其他的编程语言来建立数据对象与物理表之间的对应关系。Of course, other programming languages can also be used to establish the correspondence between data objects and physical tables.
步骤204:根据数据对象与物理表之间的对应关系生成数据对象-物理表映射模型。Step 204: Generate a data object-physical table mapping model according to the corresponding relationship between the data object and the physical table.
例如,本发明实施例中建立的不同层次模型之间的关系如图4所示:For example, the relationship between the different hierarchical models established in the embodiment of the present invention is shown in Figure 4:
数据对象包含域对象1、域对象2、域对象3的一部分,物理表模型1对应数据对象模型1,物理表模型2对应数据对象模型2,物理表模型3对应数据对象模型3。通过命名SQL建立数据对象与物理表之间的对应关系,生成数据对象-物理表映射模型。由图4可见,数据对象模型、域对象模型、数据对象-物理表映射模型、物理表模型相互分开。The data object includes part of
可见,本发明建立无连接的数据编程模型的方法通过对模型的抽象、分析,划分出不同层次的模型,定义出了与实现技术无关的、相互分离的、完备的结构化的分层模型,使得开发人员无需学习具体的SDO实现技术即可建立SDO数据对象并进行业务开发。通过对域模型、数据对象模型、物理表模型、数据对象-物理表映射模型的结构化细分,并且为每个模型定义相应的元数据,实现了整个SDO建模技术的清晰分层和基于模型处理的接口定义。由于提供了完备的元数据,因而可以将各层次的模型自省地集成到不同的平台、框架中。It can be seen that the method for establishing a connectionless data programming model in the present invention divides models of different levels through the abstraction and analysis of the models, and defines a complete structured hierarchical model that is independent of the implementation technology and separate from each other. It enables developers to establish SDO data objects and carry out business development without learning specific SDO implementation technologies. Through the structural subdivision of the domain model, data object model, physical table model, and data object-physical table mapping model, and defining the corresponding metadata for each model, the clear layering of the entire SDO modeling technology and based on Interface definition for model processing. Since complete metadata is provided, models at various levels can be introspectively integrated into different platforms and frameworks.
基于对服务数据对象分层的思想,本发明还提供了一种建立无连接的数据编程模型的装置。Based on the idea of layering service data objects, the invention also provides a device for establishing a connectionless data programming model.
参照图5,图5示出了本发明建立无连接的数据编程模型的装置第一实施例的原理框图:Referring to Fig. 5, Fig. 5 shows the functional block diagram of the first embodiment of the device for establishing a connectionless data programming model in the present invention:
在该实施例中,包括:分层单元51和模型建立单元52。其中,分层单元51用于对服务数据对象进行分层,将服务数据对象划分为域对象和数据对象,并根据域对象定义数据对象;模型建立单元52用于根据分层后的服务数据对象,分别建立各层的数据编程模型。In this embodiment, it includes: a
模型建立单元52包括:域对象模型建立子单元521、物理表模型生成子单元522、数据对象-物理表映射模型生成子单元523。其中,The
域对象模型建立子单元521用于根据分层单元确定的域对象及其逻辑关系建立域对象模型,可以用IDE(集成开发环境)建模工具建立满足对象之间关系的域对象模型。比如,用Rational Rose或PowerDesigner(一种软件建模工具)建立域对象模型。物理表模型生成子单元522用于根据域对象模型生成对应的物理表模型,即将域对象模型转换为物理表模型。数据对象-物理表映射模型生成子单元523用于根据数据对象与物理表之间的对应关系,生成数据对象-物理表映射模型。The domain object
参照图6,图6示出了本发明建立无连接的数据编程模型的装置第二实施例的原理框图:Referring to FIG. 6, FIG. 6 shows a functional block diagram of the second embodiment of the device for establishing a connectionless data programming model in the present invention:
与图5所示实施例不同的是,在该实施例中,在模型建立单元中增加了对应关系建立子单元524,用于通过命名SQL建立生成数据对象-物理表映射模型所需的数据对象与物理表之间的对应关系。在SDO中引入Naming-SQL(命名SQL),通过Naming-SQL建立数据对象与物理表之间的对应关系。The difference from the embodiment shown in FIG. 5 is that in this embodiment, a correspondence
通过Naming-SQL建立数据对象与物理表之间的对应关系的过程包括:The process of establishing the corresponding relationship between data objects and physical tables through Naming-SQL includes:
1.写一条查询SQL语句(给该语句一个唯一标识,称为“命名SQL”):它从数据库表中查出所有与数据对象的属性相对应的字段;1. Write a query SQL statement (give the statement a unique identifier, called "named SQL"): it finds all the fields corresponding to the attributes of the data object from the database table;
2.指定数据对象的属性与“查询SQL”所查询字段之间的一一对应关系,而非数据对象属性与物理表字段的直接对应关系。2. Specify the one-to-one correspondence between the attributes of the data object and the fields queried by "Query SQL", rather than the direct correspondence between the attributes of the data object and the fields of the physical table.
也就是说,通过配置数据对象的属性与命名SQL所查询的字段之间的一一对应关系,来建立数据对象与物理表的间接对应关系。That is to say, by configuring the one-to-one correspondence between the attributes of the data object and the fields queried by the named SQL, an indirect correspondence between the data object and the physical table is established.
这样,数据对象-物理表映射模型生成子单元523就可以直接根据该对应关系生成数据对象-物理表映射模型,而无需再独自确定数据对象与物理表之间的对应关系。当然,也可以提供多种支持不同语言对应关系建立子单元,在系统开发时根据应用环境来选择使用。In this way, the data object-physical table mapping
本发明建立无连接的数据编程模型的方法及装置,可以应用在J2EE(Java2企业版)架构中,使系统设计人员在域模型之上设计系统,使业务开发人员在域模型之上定义数据对象,实现业务系统与物理表模型的去藕,提高系统的可扩展性。The method and device for establishing a connectionless data programming model in the present invention can be applied in the J2EE (Java2 Enterprise Edition) architecture, enabling system designers to design systems on the domain model and business developers to define data objects on the domain model , realize the decoupling between the business system and the physical table model, and improve the scalability of the system.
参照图7所示本发明数据访问服务方法的一个优选实施例的流程,包括以下步骤:Referring to the process flow of a preferred embodiment of the data access service method of the present invention shown in Figure 7, it includes the following steps:
步骤701:建立一组包含不同层次的数据编程模型。Step 701: Establish a set of data programming models including different levels.
不同层次的数据编程模型包括:域对象模型,数据对象模型,物理表模型,据对象-物理表映射模型。这些不同层次的数据编程模型的建立过程在前面已有详细描述,在此不再赘述。Different levels of data programming models include: domain object model, data object model, physical table model, data object-physical table mapping model. The establishment process of these different levels of data programming models has been described in detail above, and will not be repeated here.
步骤702:将数据编程模型部署到系统的服务/业务层。Step 702: Deploy the data programming model to the service/business layer of the system.
步骤703:当用户访问数据时,通过数据编程模型将来自异构数据源的数据展现给用户。Step 703: When the user accesses the data, present the data from the heterogeneous data source to the user through the data programming model.
步骤704:当用户修改数据后,通过数据编程模型将用户修改后的数据更新到异构数据源中。Step 704: After the user modifies the data, update the data modified by the user to the heterogeneous data source through the data programming model.
参照图8所示J2EE分层架构及SDO所处位置示意图:Refer to the schematic diagram of the J2EE layered architecture and the location of the SDO shown in Figure 8:
其中,81为企业信息层,用于提供各种不同的信息源,比如,DB(关系数据库)、LEGACY(历史文件)、ERP(企业资源计划表)、Message(消息)等格式不同的信息源;82为应用集成层,通过DMS(Data Mediator Service,数据中介服务)为不同信息源的数据提供统一的出/入口;83为服务/业务层,用于对数据进行业务处理,比如采用EJB(Enterprise JavaBean,为开发服务器端企业应用程序组件提供的一个模型)、Bean、Service等技术;85为服务端展示层,用于将处理后的数据安排为特定格式,比如通过JSP(JavaServer Pages,一种动态网页技术)、Servlet(Java服务器小程序)、UI Management(用户界面管理)等技术;86为客户端展示层,用于将特定格式的数据通过页面或其他可视化窗口展示给客户,比如,通过Browser(网页浏览器)、PDA(掌上电脑)、Webservice(页面服务器)等提供给客户。Among them, 81 is the enterprise information layer, which is used to provide various information sources, such as DB (relational database), LEGACY (historical files), ERP (enterprise resource planning table), Message (message) and other information sources with different formats ; 82 is the application integration layer, through DMS (Data Mediator Service, data intermediary service) provides unified exit/entrance for the data of different information sources; 83 is the service/business layer, used for business processing of data, such as adopting EJB Enterprise JavaBean, a model), Bean, Service and other technologies provided for the development of server-side enterprise application components; 85 is the server-side display layer, which is used to arrange the processed data into a specific format, such as through JSP (JavaServer Pages, a A dynamic web page technology), Servlet (Java server applet), UI Management (user interface management) and other technologies; 86 is the client display layer, which is used to display data in a specific format to customers through pages or other visual windows, such as, It is provided to customers through Browser (web browser), PDA (handheld computer), Webservice (page server), etc.
由该图可见,本发明技术方案的实现属于DMS(Data Mediator Service,数据中介服务)层次,DMS接收来自异构数据源(比如,关系数据库DB、XML文件、消息Message等)的数据,比如,通过JDBC(Java数据库编程标准)、JCA(J2EE连接器架构)、JAR-RPC(Java API for XML-based RPC,用于存取以XML远程调用为基础的WebServices的JAVA编程接口)、JMS(Java消息服务)这些协议分别从不同的数据源中获取相应的数据,然后将这些数据装成符合数据编程模型规范的数据对象,并将其交给系统的服务/业务层中的数据编程模型;所述数据编程模型调用组装后的数据对象,并将数据对象展现给用户。比如,可以通过网页页面上的表单,将数据对象的属性、以及这些属性之间的层次关系显示出来。As can be seen from this figure, the realization of the technical solution of the present invention belongs to the DMS (Data Mediator Service, data intermediary service) level, and the DMS receives data from heterogeneous data sources (such as relational database DB, XML file, message Message, etc.), such as, Through JDBC (Java Database Programming Standard), JCA (J2EE Connector Architecture), JAR-RPC (Java API for XML-based RPC, JAVA programming interface for accessing WebServices based on XML remote call), JMS (Java Message Service) These protocols obtain corresponding data from different data sources, and then pack these data into data objects conforming to the data programming model specification, and deliver them to the data programming model in the service/business layer of the system; The data programming model described above invokes the assembled data object and presents the data object to the user. For example, the attributes of data objects and the hierarchical relationship between these attributes can be displayed through a form on a web page.
参照图9,图9是本发明数据访问服务系统的一个优选实施例的原理框图:Referring to Fig. 9, Fig. 9 is a functional block diagram of a preferred embodiment of the data access service system of the present invention:
在该实施例中,包括:服务/业务层子系统91,应用集成层子系统92和企业信息层子系统93。其中,服务/业务层子系统91用于为用户提供服务;应用集成层子系统92用于为不同信息源的数据提供统一的出/入口;企业信息层子系统93用于为系统提供信息数据,包括一种或多种异构数据源,比如,关系数据库DB、XML文件、消息Message等。In this embodiment, it includes: a service/
在服务/业务层子系统91中部署有数据编程模型装置901,在应用集成层子系统92中部署有数据中介服务装置902。其中,数据编程模型装置901用于提供一组包含不同层次的无连接的数据编程模型,即给业务层所需的业务数据进行建模,包括业务数据的组织结构和来源。在用户访问数据时,由数据中介服务装置902获取来自异构数据源的数据,并将这些数据组装成符合数据编程模型规范的数据对象,数据编程模型装置901调用组装后的数据对象,并将数据对象展现给用户。当用户修改数据后,数据编程模型装置901将用户修改后的数据更新到所述异构数据源中。A data
虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,希望所附的权利要求包括这些变形和变化而不脱离本发明的精神。While the invention has been described by way of example, those skilled in the art will appreciate that there are many variations and changes to the invention without departing from the spirit of the invention, and it is intended that the appended claims cover such variations and changes without departing from the spirit of the invention.
Claims (11)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CNB2006101682677A CN100485687C (en) | 2006-12-25 | 2006-12-25 | Method and device for set-up disconnection data programmed model and its application |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CNB2006101682677A CN100485687C (en) | 2006-12-25 | 2006-12-25 | Method and device for set-up disconnection data programmed model and its application |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN101000618A CN101000618A (en) | 2007-07-18 |
| CN100485687C true CN100485687C (en) | 2009-05-06 |
Family
ID=38692590
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CNB2006101682677A Active CN100485687C (en) | 2006-12-25 | 2006-12-25 | Method and device for set-up disconnection data programmed model and its application |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN100485687C (en) |
Families Citing this family (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102377824A (en) * | 2011-10-19 | 2012-03-14 | 江西省南城县网信电子有限公司 | Cloud computing-based spatial information service system |
| CN103617175A (en) * | 2013-11-04 | 2014-03-05 | 广东电子工业研究院有限公司 | Method for virtualization of large-scale distributed heterogeneous data |
| CN104636333A (en) * | 2013-11-06 | 2015-05-20 | 宁夏新航信息科技有限公司 | Domain-driven development plug-in system |
| CN108763530A (en) * | 2018-05-31 | 2018-11-06 | 中国农业银行股份有限公司 | A kind of data access method, device and electronic equipment |
| CN111209319B (en) * | 2018-11-21 | 2022-03-29 | 华为云计算技术有限公司 | Data service method and device |
| CN110020834A (en) * | 2019-04-15 | 2019-07-16 | 浩鲸云计算科技股份有限公司 | A kind of on-line intelligence big data development approach of modeling and debugging fusion |
-
2006
- 2006-12-25 CN CNB2006101682677A patent/CN100485687C/en active Active
Also Published As
| Publication number | Publication date |
|---|---|
| CN101000618A (en) | 2007-07-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR101120815B1 (en) | Method and apparatus for generating user interfaces based upon automation with full flexibility | |
| CA2777443C (en) | Automated enterprise software development | |
| US8095570B2 (en) | Decorated model architecture for efficient model-driven application development | |
| JP5787963B2 (en) | Computer platform programming interface | |
| US7152090B2 (en) | Metadata-aware enterprise application integration framework for application server environment | |
| US8086995B2 (en) | System and method for flexible visual representation of device fonts | |
| US20110035391A1 (en) | Uniform Data Model and API for Representation and Processing of Semantic Data | |
| US20050160104A1 (en) | System and method for generating and deploying a software application | |
| CN104424265B (en) | Digital asset management method and system | |
| CN101493825B (en) | GIS middleware collocation and management method | |
| US20040003091A1 (en) | Accessing a remote iSeries or AS/400 computer system from an integrated development environment | |
| WO2007001640A2 (en) | Data centric workflows | |
| US20100005115A1 (en) | Method and system for generating documents usable by a plurality of differing computer applications | |
| CN100485687C (en) | Method and device for set-up disconnection data programmed model and its application | |
| CN101137959A (en) | System and method for transferring computer-readable objects across a remote boundary | |
| CN105204863A (en) | Technical documentation for law violation data auditing system | |
| US10509632B2 (en) | Model augmentation in a model-driven application development environment | |
| CN116594676A (en) | Application packaging method, device, equipment and storage medium | |
| Predoaia et al. | Streamlining the development of hybrid graphical-textual model editors for domain-specific languages | |
| US7716653B2 (en) | Configurable importers and resource writers for converting data into another format | |
| TW201525738A (en) | Method for generating form validation program and corresponding form interface from result set metadata | |
| JP2004318831A (en) | Method for access to resource description framework based information | |
| CN119938670A (en) | Method, device, equipment, medium and program product for generating database table structure | |
| Natarajan et al. | Data Services | |
| Hajamohideen | A Module Generator for Web application interfaces to CCMS |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C06 | Publication | ||
| PB01 | Publication | ||
| C10 | Entry into substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| C14 | Grant of patent or utility model | ||
| GR01 | Patent grant | ||
| TR01 | Transfer of patent right |
Effective date of registration: 20201127 Address after: Building 2, No. 3, Fuqian Road, Hailing District, Taizhou City, Jiangsu Province Patentee after: Taizhou Haitong Asset Management Co.,Ltd. Address before: Unit 2414-2416, main building, no.371, Wushan Road, Tianhe District, Guangzhou City, Guangdong Province Patentee before: GUANGDONG GAOHANG INTELLECTUAL PROPERTY OPERATION Co.,Ltd. Effective date of registration: 20201127 Address after: Unit 2414-2416, main building, no.371, Wushan Road, Tianhe District, Guangzhou City, Guangdong Province Patentee after: GUANGDONG GAOHANG INTELLECTUAL PROPERTY OPERATION Co.,Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd. |
|
| TR01 | Transfer of patent right |