CN101288072B - 数据结构的移植和转换 - Google Patents

数据结构的移植和转换 Download PDF

Info

Publication number
CN101288072B
CN101288072B CN2005800518202A CN200580051820A CN101288072B CN 101288072 B CN101288072 B CN 101288072B CN 2005800518202 A CN2005800518202 A CN 2005800518202A CN 200580051820 A CN200580051820 A CN 200580051820A CN 101288072 B CN101288072 B CN 101288072B
Authority
CN
China
Prior art keywords
data structure
filtrator
functional unit
goal systems
origin system
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.)
Expired - Fee Related
Application number
CN2005800518202A
Other languages
English (en)
Other versions
CN101288072A (zh
Inventor
维特·F·利尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Publication of CN101288072A publication Critical patent/CN101288072A/zh
Application granted granted Critical
Publication of CN101288072B publication Critical patent/CN101288072B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
    • G06F16/84Mapping; Conversion
    • G06F16/88Mark-up to mark-up conversion

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及一种功能单元(1),用于将至少一个源系统(13)的数据结构移植和转换成至少一个目标系统(15)的数据结构,该功能单元包括至少一个导入过滤器(5)和至少一个导出过滤器(7)。该至少一个导入过滤器(5)用于将所述源系统(13)准备的、依赖于源系统的格式(17)的数据结构转换成通用描述格式(18),该至少一个导出过滤器(7)用于将通用描述格式(18)的数据结构转换成依赖于目标系统的格式(19),并将其提供给目标系统(15)。

Description

数据结构的移植和转换
技术领域
本发明涉及一种功能单元、系统、描述框架、用于转换数据结构的处理、计算机程序及计算机程序产品。
背景技术
已经知道许多用于不同平台之间的IT或资料库(data bank)系统的移植(migrate)或转换(transform)配置的转化(translate)处理。然而,在这样的移植中只转换数据。而没有考虑包含数据的应用程序及其结构和配置。因而,直到目前为止,还要很费力地来转换已有的底层结构(infrastructure)。
发明内容
根据该背景,本发明提出了一种具有权利要求1的特征的功能单元、具有权利要求8的特征的系统、具有权利要求9的特征的描述框架、具有权利要求10的特征的处理、具有权利要求20的特征的计算机程序和具有权利要求21的特征的计算机程序产品。
根据本发明的功能单元适合于将至少一个源系统的数据结构移植和转换成至少一个目标系统的数据结构,并且该功能单元包括至少一个导入过滤器(import filter)和至少一个导出过滤器(export filter)。该功能单元被设计为形成所述至少一个源系统和至少一个目标系统之间的链接。将所述至少一个导入过滤器配置为将依赖于源系统的格式的数据结构转换成通用描述格式(universal description format)。所述至少一个导出过滤器被配置为将所述通用描述格式的数据结构转换成依赖于目标系统的格式。
一般而言,IT系统提供将数据存储在数据库系统中的可能方式。一般地,将这些存储系统的结构(例如,表格的名称和这些字段的名称和说明,诸如数字类型、日期类型等)称为“数据结构”。
然而,在本发明的范围内,术语“数据结构”是指所考虑的IT系统(即,源系统或目标系统)的结构、或它们各自的配置。因此,术语“数据结构”不仅仅包括所使用的存储媒体而且还包括因此而使用的处理程序逻辑和可用的输入及显示界面、所谓的用户前端和管理设计元件的定义。
本发明的核心是在不同平台之间移植和转换IT系统的配置,即源系统的配置和目标系统的配置,而不仅仅是移植包含在各个系统中的数据。
本发明的上下文中的“数据结构”将焦点转移到配置的结构上,所述的配置的结构也可以包含真正意义上的数据,但是并非必须如此。
根据本发明的功能单元可以具有用于每个源系统的导入过滤器和用于每个目标系统的导出过滤器。在分析依赖于源系统的格式的数据结构期间,将该结构分解成结构元素(structural element)。检查和/或识别这些结构元素,然后将其与存储在配置表格(configuration table)中的结构元素进行比较。该过程称为“解析(parsing)”(即英语中的分析(analysing))数据结构。可以使用所谓的DOM解析器(文档对象模型)来将数据结构分解成结构元素,并将它们提供到所谓的语法树中,以用于进一步的处理。可以将新的结构元素合并到配置表格中。以此方式,可以连续地扩展功能单元。
可以将被分类为不可识别但是存在于该数据结构中的结构元素合并到为该类结构元素提供的协议中,并且可以在附加的步骤中分析和转换该结构元素,可选地,通过管理器单元来进行分析和转换。可以通过所述导入过滤器将依赖于源系统或与源系统相配的结构元素转化成通用描述格式的结构元素,并且可以通过所述导出过滤器将通过描述格式的结构元素转化成依赖于目标系统或与目标系统相配的结构元素。
也可以将通用描述格式称为两个系统之间(即所述至少一个源系统和所述至少一个目标系统之间)的系统间的描述格式。将所述通用描述格式理解为辅助格式,通过该辅助格式能够在依赖于源系统的格式和依赖于目标系统的格式之间执行转换和移植。因此,可以将通用描述格式当作是依赖于源系统和依赖于目标系统的格式之中的通常有效或跨越(overarching)格式。
通过从属权利要求2至7,本功能单元的其他特征将变得明显。该功能单元被特别设计为执行根据下文所述的本发明的过程的至少一个步骤。
本发明还涉及一种具有权利要求8的特征的转换系统。提供该转换系统以用于将至少一个源系统的数据结构移植和转换成至少一个目标系统的数据结构。该转换系统包括至少一个源系统、至少一个目标系统和连接在该至少一个源系统与该至少一个目标系统之间的功能单元,该功能单元具有至少一个导入过滤器和至少一个导出过滤器。所述至少一个导入过滤器被设计为将所述源系统提供的、并具有依赖于源系统的格式的数据结构转换成通用描述格式,并且所述至少一个导出过滤器被设计为将所述通用描述格式的数据结构转换成依赖于目标系统的格式,并提供给所述目标系统。
本发明还包括一种具有权利要求9的特征的描述框架(所谓的框架)。根据本发明的描述框架适合于将至少一个源系统的数据结构转换和移植到至少一个目标系统中,并且该描述框架被设计为将由所述至少一个源系统提供的、并具有依赖于源系统的格式且被所述至少一个导入过滤器转换的数据结构表示为通用描述格式,并且通过所述至少一个导出过滤器将以所述通用描述格式表示的数据结构转换成依赖于目标系统的格式。
由本发明还提供的根据本发明的处理意欲将至少一个源系统的数据结构移植和转换到至少一个目标系统中。在该处理中,通过至少一个导入过滤器将由所述至少一个源系统提供的、并以依赖于源系统的格式表示的数据结构转换成以通用描述格式表示的数据结构。通过至少一个导出过滤器将以所述通用描述格式表示的数据结构转换成以依赖于目标系统的格式表示的数据结构,并且提供给所述至少一个目标系统。
通过从属权利要求11至19,根据本发明的处理的其它优点将变得明显。可以预计,具体地通过根据本发明的功能单元可以执行该处理。
在优选的实施例中,根据本发明的处理框架能够从源代码中取得所述至少一个导入过滤器和至少一个导出过滤器。可以根据存储在配置表格或配置文件中的结构信息来生成该源代码。
当在计算机或相应的计算机单元(具体地,在根据本发明的功能单元中)上运行根据本发明的具有程序代码形式的计算机程序时,该计算机程序适合于执行根据本发明的处理的所有步骤。
当在计算机或相应的计算机单元(具体地,在根据本发明的功能单元中)上运行存储在计算机可读数据载体上的以程序代码形式的新颖的计算机程序产品时。该新颖的计算机程序产品被设计为执行根据本发明的处理的所有步骤。
本发明为例如使用不同开发平台的不同的数据库系统或不同的数据处理应用程序的数据结构的双向移植和转换提供了的优选软件支持方案。例如,数据结构是基于XML格式(可扩展标记语言)。本发明使得可以移植和转换使用基于XML的不同开发平台的数据库系统和数据处理应用程序。然而,除XML格式之外的任何其它合适格式也是可以的。
许多资料库和IT系统允许以XML格式显示要处理的逻辑和配置元素。在下文中,可以将根据本发明的功能元件与其组件一起称为D2(D的平方)。其可以通过至少一个导入过滤器将这些通常以依赖于制造商和系统的XML格式表示的数据数据结构从所述至少一个源系统开始转换或显示成通用描述格式。此后,将以通用描述格式显示的数据结构称为D2对象。通过反向使用根据本发明的功能单元,在第二步骤中,可以通过至少一个优选的专用导出过滤器将该数据结构再次转换成对所述至少一个目标系统有效且与该至少一个目标系统相配的、依赖于制造商和系统的XML格式,从而使得现在以目标系统专用的XML格式显示要处理的逻辑和配置元素。
可以支持允许以XML或XML语言(诸如Lotus Domino、MS Office2003、.Net等)显示其配置的所有计算机系统。
根据本发明的描述框架(下文中称为D2框架,结合在功能单元中)基于对独立于任何编程语言且自学习的数据结构进行解释和移植的过程。如以前所述,所述数据结构可以是应用程序。
可以在例如下面的领域找到根据本发明的功能单元和/或根据本发明的处理的可能应用:分析转换花费(expenditure)、移植IT系统和/或修改IT系统。
通过将现有的应用程序导入到功能单元的描述框架中,来检查和识别应用程序所基于的代码。结果,可以分析将数据结构从源系统转换到目标系统的转换成本。
将依赖于源系统的数据结构的可转化的结构元素或相应的配置元素(诸如程序代码元素)识别为“肯定(positive)”,并且在计划转换的范围内无问题地呈现。在分析依赖于源系统的数据结构期间将不可转化的结构元素识别为“否定(negative)”,并且将其写入到为该类否定结构元素提供的协议中。
因此,可以通过附加的方式来处理该协议,以使得为被识别为否定的结构元素提供适当的转化,并且将该转化合并到配置表格中,以供将来使用。如果利用时间和/或材料成本来评估该协议,则可以通过将它们合计而获得计划转换的实际评估。
在对IT系统进行移植的情况下,读取出源系统的现有结构元素或现有配置,并将它们转换成所选的目标系统中的以表格结构、数据表示、处理逻辑等形式的类似配置。因为在处理中不修改所述源系统,所以确保了其数据和功能的完整性。
在移植发生后,可以测试和评估最新创建的数据结构或应用程序的功能。如果在移植期间没有发生问题,则可以除去依赖于源系统的数据结构。如果在移植过程中,已经在源系统中识别出迄今为止未知的代码元素,则将这些代码元素记录在功能单元的协议(D2日志)中。在对协议进行评估期间,可以修改和/或标记这些被识别为“否定”的已知代码元素或结构元素,以使得可以在通用描述格式的范围内向这些代码元素或结构元素分配合适的转化。
现在存在对现有的导入和导出过滤器进行扩展并且在将来的移植运行中获得更完全并因此更佳的结果的可能性。以该方式,可以以基于模块和应用程序的方式运行复杂的移植项目,并且在固定的日期自动结束。
在商业或机构中使用的许多IT系统的使用年限是非常长的,并且是依据在开发时可获得的技术潜力而建立的,这是为何必须考虑对这些IT系统进行修改的原因。从成本和时间方面来看,手动更新到技术发展的当前状态(现状)涉及较高的风险。一般地,在该阶段不得不手动执行许多简单的各个步骤,诸如适配日期模型、修改字段名称和设计等。
通过根据本发明的功能单元可以自动进行这些步骤。这意味着对于导出所述数据结构采用对应的反向导入过滤器。例如,如果使用导入过滤器来转换根据D2的MS Word的数据结构,则对应的反向导入过滤器作为导出过滤器来相反地转换根据MS Word的D2。为此,必须以彼此相反的方式配置所述导入和导出过滤器。因此,在优选的实施例中,利用导入过滤器和对应的导出过滤器,能够将以依赖于第一系统的特定格式表示的数据结构执行双向转换为通用或一般有效的描述格式,反之亦然。该特定的第一系统通过导入过滤器即可以用作源系统,还可以通过对应的导出过滤器用作目标系统。
以两个阶段发生数据结构的转换。在第一阶段中,由导入过滤器通过分析、识别和分配结构元素而将以依赖于源系统的格式的数据结构转换成通用描述格式。该导入过滤器可以通过处理、修改和补充结构元素而根据所发送的数据结构和配置系统中部署或提供的信息生成其自身。因而,该导入过滤器即是所谓的自学习代码。关于现在以通用描述格式表示的数据结构的信息被临时存储在功能单元的通用描述框架中。可以以分层类模型或类系统来进行存储,而基于在转换或移植期间从所述至少一个源系统中读取的结构元素或相应的数据结构来发送该类模型。
在第二步骤中,可以通过分析、识别和分配结构元素将以通用描述格式表示的数据结构移植到任何所期望的目标系统或为其提供了导出过滤器的对应平台。所述导出过滤器识别存储在描述框架中的结构元素(例如,草案或设计元件或代码组件),并将它们转换成可以被目标系统解释的依赖于目标系统的格式。为了文件管理的目的,在该过程期间记录并加入目标系统内未知或不存在的结构元素,随后可以对这些结构元素进行注释和处理,具体地,通过管理器单元手动转化这些结构元素。以此方式,经由通用描述框架的中间步骤(包括以通用描述格式存储),可以将数据处理系统从第一平台或源系统转移到任意其它所期望支持的第二平台或目标系统。
具体地,支持能够参考(consult)XML文件或其派生物来定义诸如布局或代码的结构元素的所有平台或系统,例如Lotus Domino、MS Office 2003、.Net等。可以预计,在该转换期间使用允许附带外部编程资源的任何编程语言(在功能单元的编程接口(D2 API应用编程接口)的情况下,例如Lotus Script、Java、VB等)将可访问通用描述框架。
除了实际应用程序移植外,利用该功能单元能够例如估计费用,可以从IT系统的转换或所考虑的应用程序的代码质量的概况来预计该费用。
因而,利用根据本发明的功能单元或通用描述框架,可以分析IT底层结构并获取对容易地移植与该IT底层结构连接的数据结构或应用程序的百分比的评估,这有时略有困难,或可能根本不难。如果将这样获得的结果(起因于协议)放到所谓的正常表格中(其中每个未知的元素仅出现一次)以使得清晰地表示该结果,则能够获得对该转换所消耗的资源和成本的简单评估。如果用户发现该评估是合理的并且是可接受的,则可以通过通用描述框架或功能单元自动执行对原始系统(即源系统)的转换,例如通过除去Word表格或Excel电子数据表。
通常,要动手工要么是通过所产生的允许进行从第一系统到第二系统得转换的各个代码来执行平台或系统之间的移植。通过使用全局过滤器或根据本发明的功能单元的转换过滤器(包括导入过滤器和导出过滤器),可以在两个阶段开发新的平台或目标系统。在第一阶段中,可以根据通用描述格式的依赖于源系统的数据结构或应用程序创建导入过滤器。在第二阶段中,可以为依赖于目标系统的数据结构产生对应的导出过滤器。为此,根据一个实施例,所述处理框架根据部署在关于各个数据结构的配置表格中的结构信息生成源代码,然后可以从这些源代码中取得导入和导出过滤器。当两个过滤器都存在时,将该源系统结合到通用描述框架中,并且可以在任何时间使用它。这导致了明显的潜在节约。与以前的过程相比,因为现在由根据本发明的功能单元执行实际的转换工作,所以显著降低了成本并获得了更快的转换。利用根据本发明的功能单元,能够将已有的应用升级到新的平台或将它们转换到目标系统中,从而提供相当简单和快速的移植过程。
因为根据本发明的功能单元基于动态的导入过滤器和导出过滤器,所以它可以涵盖相当宽范围的平台和系统(即源系统和目标系统)。在运行阶段期间,功能单元分析已输入的代码和是否有必要扩展所存储的配置表格。可以由管理员来检查和修改该配置表格,以使得用户可以将功能单元与其各自的需要相适应,从而使得用户能够决定利用该功能单元他可以使用哪些选项。在代码或配置的转换或转化期间可能出现的任何错误仅仅是简单的配置问题,并且可以在随后的阶段进行调整,其对于更新基于软件的功能单元来说不是绝对必要的。因而,用户能够分析其已有的底层结构,并且从该分析中可以取得对所述转换的成本的评估,并且把注意力放在了识别问题上。因而,向用户提供了较宽范围的功能性。
根据本发明的功能单元和作为功能单元的一部分的根据本发明的通用描述框架提供了为以所有类型的格式(特别是XML格式)产生的数据结构开发全局存储的可能性。优选地,使用分层和选择概括的类模型来存储数据结构。
利用功能单元或通用描述框架,也能够充分降低转换所需要的转化过滤器的数目。例如,开始为6个不同的平台或系统,因为必须要将每个系统转化为5个其它的系统,所以这6个平台总共需要30个转换过滤器。通过将根据本发明的功能单元用作全局容器(其包括导入过滤器和导出过滤器),并且使用通用描述格式,对于每个所使用的系统或平台,所需的转换过滤器的数目降低为2个。因此,每个系统只需要一个导入过滤器和一个导出过滤器。开始为总共6个平台或系统,利用此处描述的功能单元,只需要12个转换过滤器,即6个导入过滤器和6个导出过滤器。
除了减少了所需要的过滤器以及因此而需要的代码外,因为该功能单元将新的结构元素合并到配置表格中并自动扩展基础编程接口(D2-API),并且使它们适应新的环境,所以该功能单元是自学习的。因此,当存在来自相应源系统或目标系统的新版本的源数据或目标数据时,功能单元可以自动适应发生的改变。
所述功能单元使得可以开放以依赖于源系统的格式(例如XML格式)表示的数据结构(即文件或应用程序),并且将其中包含的结构元素转换成依赖于目标系统的数据结构,并且自动导入它。因此,在协议中将不能无误转化的结构元素进行注解和标注。在该组件或该应用程序准确地满足对原始文件或应用程序施加的要求之前,所述功能单元的用户可以根据该协议知道哪些已完成以及哪些仍然需要校正。可以根据应用程序、用户、日期或执行的各个步骤的特性,在报告中对功能单元的所有活动进行分类、标记和评估。用于数据的交互请求、输入和显示(也可以称为用户层面)的用户前端或程序前端基于用于建立直观前端的设计研究的元件,并且只要从技术的观点来说是可能的,则转换它们。
根据本发明的功能单元特别适合于考虑计算机支持协作(“CSCW”(计算机支持协同工作)或群件(groupware))方向发展的用户或商业。该市场的竞争状况本身导致使用功能单元和处理。所述功能单元适合于对IT领域中的大量自动工具支持有较高需要的商业。该功能单元为这些商业提供了对照当前使用的系统(在该情况下是源系统)的背景重新思考他们的IT策略的机会,并且如果需要,通过转换或转移到更现代、强大的系统(即目标系统)来改进它们。
可以构造根据本发明的功能单元的描述框架,以使得在设计用户前端时将“DIN EN ISO 9241 Part 10”标准的需求考虑在内,并且尽可能地实现该标准。作为技术考虑的结果,可能需要对下列方面进行具体强调:
-通过使用标准值和选择领域来降低误差,其应适合于其目的,
-通过使用状态行、大范围成本辅助(cost-extensive aid)或备注,其应具有自写入能力,
-通过可以使用用于初学者的所谓的向导或用于高手的更复杂的模版进行输入,其应当是可控制的,
-通过对活动的安排,由于所有交互可能性的兼容形式,其与预期一致。
利用所述功能单元,特别地,可以创新地利用XML表格。最初,XML意欲作为IT系统(例如网站服务)之间的数据交换格式。利用可以通过处理或功能单元执行的数据结构(即应用程序、数据或配置)的转换,可以通过使用XML导入和导出选项来关闭或启动系统来创新地使用XML表格。
当执行根据本发明的处理或使用根据本发明的功能单元时,对于应用程序来说,不仅转换或替换字母或单词,而且转换或替换整个结构元素,包括其技术内容。
对于实际使用,具体地,三个不同方案看起来是可行并合算的。
1)在移植的试运行期间评估成本
在将源系统(即源应用程序)的数据结构移植到通用描述格式的移植期间,功能单元执行对结构元素的分析,并因此执行对该数据结构的代码的分析。在该分析的范围内,记录未知或不可转化的结构、代码和/或设计元件。因而产生的报告的内容是所有不能自动转化的结构元素或片段。已发现,在不能转化的不同的数据结构或应用程序中是相同的结构元素,使得几个相似的结构元素中仅有一个与成本评估相关,并且被转化为正常格式。如果利用金钱或时间值来评估每种类型的对象的结构元素,则可以获得对于在实际转换期间将发生的成本的概况。
2)执行移植
如果移植是紧迫的,则所涉及的IT部门或专家组具有执行它的两种可能方式:a)手动移植,这通常非常费力;或b)控制工具的移植,之后进行手动检查和校正。当在两种情况下在质量控制方面突然出现问题时,在任何评估期间都可能忽视它。如果在IT移植的范围内要转换多于20个的数据结构,则从经济方面来说建议使用根据本发明的功能单元或根据本发明的处理。
3)更新已有的数据结构或应用程序
如果目的是使已有的数据结构变为统一的格式并简化它们所基于的代码逻辑,则这可以利用功能单元所提供的描述框架(基础构架)或其中包含的程序接口(API)来执行。使用功能单元能够确保实际转换要转换的系统(具体地,是要进行转换的源系统或数据库)内的所有字段名。在该方案中,只要涉及多于20个的数据结构,则从经济观点来看,使用该功能单元就是有意义的。
根据说明书和附图,本发明的其它优点和实施例将变得显而易见。
毫无疑问,在不背离本发明的范围的情况下,不仅仅可以以所指定的具体组合的方式来使用上述的和下面要描述的特征,而且可以以其它组合或其本身来使用它们。
附图说明
通过示例以实施例的方式在附图中示范性地示出了本发明,并且下面将参考附图详细描述本发明。
图1是根据本发明的转换系统的优选实施例的示意图。
图2是根据本发明的功能单元的平面模型的优选实施例的示意图。
图3示出了用于执行根据本发明的处理的优选实施例的各个阶段的阶段模型。
图4是根据本发明的描述框架的优选实施例的示意图。
具体实施方式
在图1的优选实施例中示范性示出的转换系统1包括功能单元3,该功能单元3具有至少一个导入过滤器5、至少一个导出过滤器7和至少一个编程接口9(API)。功能单元3或至少一个导出过滤器7和至少一个导入过滤器5访问各种对象11,诸如转换所需的表格,具体地为配置表格或定义和报告的表格。
如果要将依赖于源系统的格式17的数据结构从源系统13转换和/或移植为目标系统15中的依赖于目标系统的格式19的数据结构,则可以利用功能单元3并使用可以由功能单元3执行的处理来执行这样的转换和/或移植。可以预计,经由导入过滤器5将依赖于源系统的格式17并由源系统13准备的数据结构转换成通用描述格式18的数据结构,并将其存储在功能单元3中。然后,经由导出过滤器7将通用描述格式18的数据结构转换成依赖于目标系统的格式19并为目标系统15而准备的数据结构。将信息存储在对象11下的配置表格中。在转换期间使用该信息来解释和转化或转换结构元素,其中分解依赖于源系统的格式17的数据结构。将不可转化的结构元素记录在对象11下的报告中。
因而,功能单元3是平台,而处理是用于经由不同平台或在不同平台之间自动转换或移植计算机系统的过程。
图2阐明了用于解释和移植数据结构或应用程序的过程的示意性表示。图1中的功能单元的描述框架的基础是图2中的优选实施例中所示的平面模型,该模型被设计为执行数据结构的转换21,并且其包括:嵌入到显示层面23中的数据处理应用程序;具有至少一个全局过滤器或相应的转换过滤器的处理层面25,所述全局过滤器或相应的转换过滤器具有至少一个导入过滤器24和至少一个导出过滤器26;以及数据层面27,其包括通用描述格式28。
经由所述至少一个导入过滤器24将相应数据结构或源应用程序的依赖于源系统的XML表示从源系统转换成通用描述格式28(D2格式)。如果以描述格式28中间地存储该配置,则可以通过导出过滤器26从该表示开始将该数据结构转换成可被目标系统或目标平台理解的依赖与目标系统的XML显示。通过在IT环境中连续更新来调整功能单元到高动态,并且以该方式,可以转换新版本的软件或新设计元件并因此转换新的XML结构。
图3示出了在该处理的优选实施例中与转换过程对应的阶段模型。该过程主要包括四个阶段或进程,即分析29、扩展31或升级、草拟33或设计、以及转换35。
当执行该过程时,在分析29的阶段期间通过标准XML分析器(DOM分析器)将所提供的依赖于源系统的XML文件分解成其结构元素或元件。将所识别的每个结构元素或属性(例如XML节点)以及每个XML属性与配置表格进行比较。该检查的结果可能落入下面的类别之一:
a)功能单元的配置表格中尚未包含该结构元素。
b)配置表格中已包含该结构元素,但在配置表格中未将该结构元素标注或识别为肯定(即已知并可转化)或否定(即已知但不可转化)。
c)配置表格中已包含该结构元素,并将该结构元素标注为已知并可解释,对应于该结构元素的肯定定义。
d)配置表格中已包含该结构元素,并将该结构元素标注为不可解释,对应于该结构元素的否定定义。
如果它是新结构元素(情况a),则可以将其合并到配置表格中,并标注为未知。然后可以通过手动检查而将其标注为可转化(即肯定)或不可转化(即否定)。如果在配置表格或定义表格中存在该结构单元(情况b),但是还没有评估该结构元素,则导入过滤器报告其是未定义的结构元素,然后将该结构元素包括在为该目的提供的报告中,使得能够个别处理它。如果在配置表格或定义表格中包含该结构单元并将其标记为已知并可解释(情况c),则将该结构元素包括在导入过滤器的描述框架或D2结构中。如果将该结构元素识别为已知但不可转化(情况d),则导入过滤器消除与其相关的节点,具体为XML节点。
在肯定定义的结构元素的情况下,将其合并在导入过滤器的描述框架或D2结构中。
作为将新结构元素自动合并到配置表格或定义相应表格中的结果,导入过滤器变成自学习系统。新情形自动扩展基本描述框架(D2结构)。
对结构元素的肯定和否定定义确保可以只导入对导入和导出过滤器来说已知的结构元素,并且将其导出到目标系统中。除了功能单元的自动扩展外,执行数据结构的抗错误转换和/或移植是第二个重要特性。管理员可以向存储在为该目的提供的报告中的否定的结构元素分配适当的转化。
该过程的下一个阶段是扩展31。如果导入过滤器遇到其未知的结构或结构元素,如上所述,则可以将这些结构或结构元素包括在配置表格中。基于现在已被改变的配置表格,描述框架或功能单元的对象模型扩展为包括所添加的结构元素,并且为对它们进行注解以备将来使用。自动生成新对象类,并且将该新对象类集成到其已结合的结构或编码元件中。
一旦已对要导入的数据结构进行了分析,并且已在扩展31的范围内更新了该对象模型,则在如草拟33所设想的处理步骤中,基于在转换或移植期间从至少一个源系统读取并对处理框架的处理平台(D2平台)可用的数据元件或数据结构,将依赖于源系统的数据结构或源文件移到分层(hierarchical)类模型中。在该阶段结束后,因此而终止导入处理,所读取的代码或所读取的数据结构的结构元素可用于进一步的处理。
类似于导入期间的程序顺序,在转换35的范围内,对照导出过滤器来验证以通用描述格式表示或以D2结构存储的信息,并且记录该信息。出于文件管理的原因,不删除未知的结构或代码元件,而是将其包括在报告中,并在随后将其进行注释。基于保存在导入和导出过滤器中的新分配和/或转换规则,导出过滤器将以通用描述格式或D2格式存储的信息转换成与目标系统相配的数据结构,具体为XML文件。通过扩展配置表格,导入过滤器和导出过滤器随着时间而改进。必要时,为了使导入过滤器自动适应新的情形,导入过滤器自动扩展通用描述格式。如果管理员接受新结构建议,则它们可用于将来的永久使用。
图4示范性地示出了功能单元的描述框架37,该描述框架37具有程序或用户前端39、导入过滤器41、导出过滤器43、类库45、基础库47和配置表格49,如箭头所示,它们通过交换数据、信息和结构元素而彼此进行交互。
处理框架37(D2基础构架)遵循面向对象的编程范例,并且通过使用类来利用当前编程语言中的继承特性。描述框架37独立于语言,只要其能够将代码资源集成到所选择的编程语言中即可。在基础类“DD_Base”中,可以定义全局对象,并且可以提供全局函数。这些可在从基础类取得的依赖于系统的类中可用,并且将它们用作标准函数。根据存储在配置表格49中的结构信息,处理框架37为依赖于制造商和/或系统的数据结构自动生成源代码。
根据该源代码,然后取得经由存储在类库45中的API接口导出用于在不同格式之间执行数据结构的对应变换的导入过滤器41和导出过滤器43。通过在所选择平台(例如,“Lotus Domino”中的“Domino.Designer”或“.NetApplications”中的“Visual Studio”),经由因此存储的编程接口(API)可以访问和修改这些导入过滤器41和导出过滤器43。允许集成外部代码资源的所有编程语言能够得到支持。
基础库47(DD_Base库)表示构造所有其他类的基础类。它提供基础函数来解释XML文件并且转换成类模型。此外,功能单元包含进一步处理所需的类生成(spanning)对象,例如结构树或基础XML节点。在用于定义结构元素的配置表7中合并在基础库47中识别的XML元件(假设其不存在)。以此方式,根据格式(例如Lotus Domino、MS Word等)为每个所分析的系统或每个所分析的平台动态形成独立的结构树。通过功能单元的类库47,使用配置表格49中的类库47来动态生成功能单元和编程接口(API),借此可以显示存储在D2结构中的信息。可以对以此方式自动产生的代码进行自动归档和版本更新,并且在进行转换时可以访问该代码。
例如,对于XML节点的所有属性,下面的属性和方法是可用的:
-“get<AttributeName>”(读取出属性的值)
-“set<AttributeName>”(改变属性的当前值)
-“append<ElementName>”(将该类型的新对象插入到结构中)
-“remove<ElementName>”(删除该类型的已有对象)
-“New(MyNode as XMLNode)”(对该XML元素启用新类)
-“getXMLAsStream(stream_out as Stream)”(将当前的类模型转换成流)
-“getXMLAsString(str_DDOut as String)”(将当前的类模型转换成文本串)。
这产生了可以被任何其他所期望的节点访问的统一及一致的接口(API)。
为了确保可以独立于任何系统或平台使用该功能单元,以不同的编程语言生成这些类库45,并且将这些类库作为资源写入到所定义的存储位置(知识库)。
功能单元在处理中使用的导入过滤器41和导出过滤器43访问类库45以及它们的继承属性和方法。使用这些功能,在导入的情况下,将来自XML文件的信息写入到功能单元中。在导出的情况下,将存储在功能单元中的信息移植到相应的类库45中,并且以有效的XML格式再现。在注释未知或已知但不可转化的结构元素和/或代码元素之后,将它们记录在报告中,并且同时发送它们。如果必要,在目标系统中必须和/或可以对该类结构元素进行手动的后处理。
如果需要使用程序代码来干预转换处理,例如这包括插入更新信息或产生技术文档,则使用集成的编程接口(API)以所选择的语言来进行。如已示出的,可以操作功能单元以及导入过滤器41和导出过滤器43的属性。

Claims (18)

1.一种功能单元,用于将至少一个源系统(13)的数据结构移植和转换成至少一个目标系统(15)的数据结构,所述功能单元包括至少一个导入过滤器(5,24,41)和至少一个导出过滤器(7,26,43),所述至少一个导入过滤器(5,24,41)被设计为将源系统(13)提供的并具有依赖于源系统的格式(17)的数据结构转换成通用描述格式(18,28),并且所述至少一个导出过滤器(7,26,43)被设计为将所述通用描述格式(18,28)的数据结构转换成依赖于目标系统的格式(19),并将其提供给目标系统(15);
其中,用于所述功能单元的所述数据结构的移植和转换的模型包括嵌入到显示层面的数据处理应用程序,具有至少一个导入过滤器(5,24,41)和至少一个导出过滤器(7,26,43)的处理层面以及包括通用描述格式(18,28)的数据层面。
2.根据权利要求1所述的功能单元,所述功能单元适合于所述至少一个源系统(13)的数据结构和所述至少一个目标系统(15)的数据结构之间的双向移植和转换。
3.根据权利要求1或2所述的功能单元,所述功能单元包括具有类库(45)和基础库(47)的通用描述框架(37)。
4.根据权利要求3所述的功能单元,其中,所述基础库(47)被设计为定义全局对象并提供全局函数和依赖于系统的类,所述依赖于系统的类被设计为利用这些全局对象和函数作为标准函数。
5.根据权利要求4所述的功能单元,其中,所述基础库(47)描述至少一个基础类,所述基础类描述用于解释文件并用于转换成类模型的基础函数。
6.根据权利要求5所述的功能单元,其中,所述描述框架(37)被设计为根据存储在配置表格(49)中的结构信息为所述依赖于目标系统的数据结构生成源代码。
7.根据权利要求3所述的功能单元,所述功能单元被设计为执行根据权利要求9至18中的任何一个所述的方法。
8.一种转换系统,用于将至少一个源系统(13)的数据结构移植和转换成至少一个目标系统(15)的数据结构,该转换系统包括至少一个源系统(13)、至少一个目标系统(15)和连接在所述至少一个源系统(13)和所述至少一个目标系统(15)之间的功能单元(3),所述功能单元(3)具有至少一个导入过滤器(5,24,41)和至少一个导出过滤器(7,26,43),所述至少一个导入过滤器(5,24,41)被设计为将所述源系统(13)提供的并具有依赖于源系统的格式(17)的数据结构转换成通用描述格式(18,28),并且所述至少一个导出过滤器(7,26,43)被设计为将通用描述格式(18,28)的数据结构转换成依赖于目标系统的格式(19),并将其提供给目标系统(15);
其中,用于所述功能单元的所述数据结构的移植和转换的模型包括嵌入到显示层面的数据处理应用程序,具有至少一个导入过滤器(5,24,41)和至少一个导出过滤器(7,26,43)的处理层面以及包括通用描述格式(18,28)的数据层面。
9.一种用于将至少一个源系统(13)的数据结构移植和转换成至少一个目标系统(15)的数据结构的方法,其中,通过至少一个导入过滤器(5,24,41)将由所述至少一个源系统(13)提供的并以依赖于源系统格式(17)表示的数据结构转换成以通用描述格式(18,28)表示的数据结构,并且其中,通过至少一个导出过滤器(7,26,43)将所述通用描述格式(18,28)的数据结构转换成依赖于目标系统的格式(19)的数据结构,并将其提供给所述至少一个目标系统(15);
其中,用于功能单元的所述数据结构的移植和转换的模型包括嵌入到显示层面的数据处理应用程序,具有至少一个导入过滤器(5,24,41)和至少一个导出过滤器(7,26,43)的处理层面以及包括通用描述格式(18,28)的数据层面。
10.根据权利要求9所述的方法,其中,将所述依赖于源系统的格式的数据结构分解成结构元素。
11.根据权利要求10所述的方法,其中,将所述结构元素与配置表格(49)进行比较,并且识别所述结构元素。
12.根据权利要求11所述的方法,其中,将新结构元素自动合并到所述配置表格(49)中。
13.根据权利要求12所述的方法,其中,对于结构元素是否可转化进行检查。
14.根据权利要求13所述的方法,其中,对所述结构元素进行标记。
15.根据权利要求14所述的方法,其中,将所述以依赖于源系统的格式(17)表示的数据结构转换成分层类模型,并且使其对处理平台可用。
16.根据权利要求15所述的方法,其中,对照所述至少一个导出过滤器(7,26,43)来验证所述以通用描述格式(18,28)表示的数据结构,并且记录所述数据结构。
17.根据权利要求11所述的方法,其中,根据保存在所述配置表格(49)中的信息动态生成编程接口(9)。
18.根据权利要求11所述的方法,利用根据权利要求1至7中的任何一个所述的功能单元(3)来执行所述处理。
CN2005800518202A 2005-08-30 2005-08-30 数据结构的移植和转换 Expired - Fee Related CN101288072B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2005/009340 WO2007025557A1 (de) 2005-08-30 2005-08-30 Migration und transformation von datenstrukturen

Publications (2)

Publication Number Publication Date
CN101288072A CN101288072A (zh) 2008-10-15
CN101288072B true CN101288072B (zh) 2012-05-23

Family

ID=35500821

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2005800518202A Expired - Fee Related CN101288072B (zh) 2005-08-30 2005-08-30 数据结构的移植和转换

Country Status (4)

Country Link
US (1) US20090055421A1 (zh)
EP (1) EP1920357A1 (zh)
CN (1) CN101288072B (zh)
WO (1) WO2007025557A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7818665B1 (en) * 2006-06-22 2010-10-19 Advanced Micro Devices, Inc. Method and system for schema version transform verification
US8667382B2 (en) * 2006-06-28 2014-03-04 International Business Machines Corporation Configurable field definition document
CN101944128A (zh) * 2010-09-25 2011-01-12 中兴通讯股份有限公司 数据导出、导入的方法和装置
US20140122099A1 (en) * 2012-10-31 2014-05-01 Oracle International Corporation Cohort identification system
CN104035754A (zh) * 2013-03-05 2014-09-10 北大方正集团有限公司 一种基于xml的自定义代码生成方法及生成器
CN107578168B (zh) * 2017-09-05 2020-12-29 北京首钢冷轧薄板有限公司 一种用于缺陷库移植的方法、装置及电子设备
US11182174B2 (en) * 2019-02-10 2021-11-23 Hewlett Packard Enterprise Development Lp System configuration analysis for migration
CN115037610B (zh) * 2022-04-24 2023-09-22 浙江清捷智能科技有限公司 一种自动配置系统及自动配置方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5911074A (en) * 1995-12-08 1999-06-08 Bull S.A. Process for manipulating data models used in software engineering
WO2003003641A2 (en) * 2001-06-29 2003-01-09 Melia Technologies, Ltd. Content management and transformation system for digital content

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5629846A (en) * 1994-09-28 1997-05-13 General Electric Company Method and system for document translation and extraction
US5708828A (en) * 1995-05-25 1998-01-13 Reliant Data Systems System for converting data from input data environment using first format to output data environment using second format by executing the associations between their fields
US6032147A (en) * 1996-04-24 2000-02-29 Linguateq, Inc. Method and apparatus for rationalizing different data formats in a data management system
US6314429B1 (en) * 1997-10-08 2001-11-06 Mitel Corporation Bi-directional conversion library
US20020099735A1 (en) * 2001-01-19 2002-07-25 Schroeder Jonathan E. System and method for conducting electronic commerce
US6748402B1 (en) * 2001-04-02 2004-06-08 Bellsouth Intellectual Property Corporation System and method for converting and loading interactive pager address books
US20030037031A1 (en) * 2001-08-16 2003-02-20 Birder Matthew D. Mechanism for automatically generating a transformation document
US7664795B2 (en) * 2003-09-26 2010-02-16 Microsoft Corporation Apparatus and method for database migration

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5911074A (en) * 1995-12-08 1999-06-08 Bull S.A. Process for manipulating data models used in software engineering
WO2003003641A2 (en) * 2001-06-29 2003-01-09 Melia Technologies, Ltd. Content management and transformation system for digital content

Also Published As

Publication number Publication date
CN101288072A (zh) 2008-10-15
WO2007025557A1 (de) 2007-03-08
US20090055421A1 (en) 2009-02-26
EP1920357A1 (de) 2008-05-14

Similar Documents

Publication Publication Date Title
CN101288072B (zh) 数据结构的移植和转换
Cicchetti et al. Automating co-evolution in model-driven engineering
CN107958057B (zh) 一种用于异构数据库中数据迁移的代码生成方法及装置
Bachmann et al. Managing variability in software architectures
Warren The renaissance of legacy systems: method support for software-system evolution
Arcaini et al. A model‐driven process for engineering a toolset for a formal method
CN100489774C (zh) 结构化的代码自动配置方法及装置
US7672957B2 (en) User interface configured to display mechanical fabric and semantic model of a legacy computer application generated, graphical view navigating links between mechanical nodes and semantic nodes based on relevant business rules
CN100416567C (zh) 用于对象模型与xml间转换的可共享双向方法和系统
US8826225B2 (en) Model transformation unit
Sneed Migrating from COBOL to Java
CN108920133A (zh) 跨语言编程方法、装置、电子设备及存储介质
US8086618B2 (en) Configuration rule translation mapper
CN101256492A (zh) 一种进行模型驱动架构的软件开发方法及其系统
Moreno et al. An overview of model-driven web engineering and the MDA
CN102426519A (zh) 基于关联数据的bpel模板和服务的复用方法及其系统
US20120124550A1 (en) Facilitating database application code translation from a first application language to a second application language
Levendovszky et al. A novel approach to semi-automated evolution of dsml model transformation
Romanovsky et al. Refactoring the documentation of software product lines
Durai et al. A novel approach with an extensive case study and experiment for automatic code generation from the XMI schema Of UML models
US20080127136A1 (en) Software build system, software build method, and recording medium storing software build program
CN111241000B (zh) 基于cucumber测试工具的分层自动化测试方法
Wenger et al. Transformation of IEC 61131-3 to IEC 61499 based on a model driven development approach
JP2008225898A (ja) 変換装置、変換プログラム及び変換方法
JP4724387B2 (ja) プログラム変換プログラム、プログラム変換装置およびプログラム変換方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1123866

Country of ref document: HK

C53 Correction of patent of invention or patent application
CB02 Change of applicant information

Address after: Dirk, Germany

Applicant after: Lier Veit Florian

Address before: Germany Aspach

Applicant before: Lier Veit Florian

C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120523

Termination date: 20130830

REG Reference to a national code

Ref country code: HK

Ref legal event code: WD

Ref document number: 1123866

Country of ref document: HK