CN1581071A - 具有xml驱动的体系结构的信息处理方法、装置和程序 - Google Patents

具有xml驱动的体系结构的信息处理方法、装置和程序 Download PDF

Info

Publication number
CN1581071A
CN1581071A CNA2004100338531A CN200410033853A CN1581071A CN 1581071 A CN1581071 A CN 1581071A CN A2004100338531 A CNA2004100338531 A CN A2004100338531A CN 200410033853 A CN200410033853 A CN 200410033853A CN 1581071 A CN1581071 A CN 1581071A
Authority
CN
China
Prior art keywords
commercial
data
label
registered
xml data
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.)
Granted
Application number
CNA2004100338531A
Other languages
English (en)
Other versions
CN100511128C (zh
Inventor
土河原信雄
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of CN1581071A publication Critical patent/CN1581071A/zh
Application granted granted Critical
Publication of CN100511128C publication Critical patent/CN100511128C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • Y10S707/99945Object-oriented database structure processing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99948Application of database or data structure, e.g. distributed, multimedia, or image
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及具有XML驱动的体系结构的商业程序的开发。分析对应于表单屏幕的XML数据,并指定对应于包含在所述XML数据中的标签的商业类。通过参考其中注册了应被创建的商业类的商业类管理器,判断所指定的商业类是否尚未注册在商业类管理器中,并且如果所指定的商业类尚未注册在商业类管理器中,则将所指定的商业类注册在商业类管理器中。之后,需要具体编程实现每个商业类。另一方面,执行编程实现的商业类时,获得包含对应于针对表单屏幕而输入或选择的数据的标签的XML数据,并指定对应于包含在XML数据中的标签并且是用于执行与标签相关的处理的程序的商业类。然后,在预先定义并被装载到存储器中的商业类当中调用所指定的商业类。

Description

具有XML驱动的体系结构的信息处理方法、装置和程序
技术领域
本发明涉及基于XML(可扩展置标语言)的程序开发技术以及基于XML的信息处理技术。
背景技术
传统上,商业程序的开发是基于对屏幕和输入/输出数据、程序的功能划分、程序的结构、数据库的数据项等的统一考虑来进行的。因此,对一个商业程序进行并发(simultaneous)和并行(parallel)设计一直是不可能的,并且,当商业程序的规模变大时,开发周期经常会变长。另外,当对程序需求和规范进行改变和增加时,就需要进行整体上的重新审视,并增加了检查时间和修正时间。
为了解决上述问题,美国专利5,933,634公开了一种技术,用以在事务例程的程序编制过程之前的程序设计过程中,通过以与实际程序执行相类似的方式来显示屏幕,并检验该程序来减少程序编制之后的反馈量,并且还通过将来自设计过程中的设计数据继承到程序编制过程中,从而使得程序生成更有效率。
然而,在上述美国专利所公开的技术中,必须基于自动继承的设计数据来创建各个商业例程,并且,当并行地并发创建程序时,在程序创建中可能会发生遗漏。另外,由于是通过设计时确定的ID在程序执行时进行输入数据的传输,因此,当以后进行修正时,设计者之外的人就不能容易地理解它。
发明内容
因此,本发明的目的在于提供一种技术,其可以缩短开发周期并能以更高的质量来开发商业程序。
本发明的另一个目的在于提供一种基本技术,用于执行本发明的程序开发技术所创建的商业程序。
根据本发明第一方面的信息处理方法包括:分析存储在XML数据存储单元中并对应于表单屏幕的XML数据,并指定对应于包含在所述XML数据中的标签(tag)的商业类(business class);参考其中注册了多项要被创建的商业类的商业类管理器,并判断一项所指定的商业类是否尚未注册在所述商业类管理器中;以及如果所指定的商业类尚未注册在所述商业类管理器中,则将所指定的商业类注册在所述商业类管理器中。
当基于对应于表单屏幕的XML数据的标签来创建商业类时,由于是在商业类管理器中管理将被创建的多项商业类,因此可以在不重不漏地创建商业类的情况下进行程序开发。同时,由于只需预备对应于XML数据的标签的商业类,因此即使没有把握整个系统也可以创建商业类,可容易地提高商业程序的质量,并可缩短开发周期。
另外,所述信息处理方法还可包括,如果所指定的商业类尚未注册在所述商业类管理器中,则为所指定的商业类生成模板源程序数据(例如一个文件),并将它存储到源程序存储单元中。程序员只需通过使用所创建的模板源程序数据来创建程序以实现预定功能,并且可以不重不漏地预备商业类。
而且,还可以由与商业类相似的处理来生成对象的模板源文件以存储涉及表单项的数据。
根据本发明第二方面的信息处理方法是涉及商业类的执行方法的信息处理方法,所述商业类例如是使用前述方法而创建的商业类,所述信息处理方法包括:将包含对应于针对表单屏幕而输入或选择的数据的标签的XML数据存储到存储器中,并指定一个商业类,该类对应于包含在所述XML数据中的标签,并且是用于执行与该标签相关的处理的程序;以及在预先定义并装载到所述存储器中的商业类当中调用所指定的商业类。
由于商业类最初是对应于包含在XML数据中的标签而创建的,因此,当输入包含特定的所选择或输入的数据的XML数据时,可以通过调用对应于包含在XML数据中的标签的商业类来处理所述特定的所选择或输入的数据。
另外,可以不将整个表单的处理顺序定义为与表单屏幕的表单相对应,并且,每项商业类都可以配置成使得通过处理所调用的商业类来完成对表单的处理。如上所述,当将必要的商业逻辑实现为对应于XML数据的标签的类时,可提高系统开发的效率。
同时,如果没有对应于标签的商业类,则可通知一个错误,因为XML数据不适配(unsuitable)。
另外,根据本发明第二方面的信息处理方法还包括从显示表单屏幕的设备接收针对于该表单屏幕而输入或选择的数据,并生成XML数据,所生成的XML数据包含对应于针对所述表单屏幕而输入或选择的数据的标签。
而且,根据本发明第二方面的信息处理方法还可包括:将针对于所述表单屏幕而输入或选择的数据输出到表单项存储对象,该对象被预先定义被装载在存储器中;通过所述表单项存储对象将针对所述表单屏幕而输入或选择的数据存储到存储器中;以及在所调用的商业类和所述表单项存储对象之间交换数据来执行处理。
而且,根据本发明第二方面的信息处理方法还可包括:如果从所调用的商业类接收到输出请求,则通过使用保存在所述表单项存储对象中的数据来生成用于输出的XML数据,并将它存储到所述存储器中;以及将存储在所述存储器中的所述用于输出的XML数据输出到显示所述表单屏幕的设备。
另外,还可以创建一个程序,用于使得计算机执行本发明的前述信息处理方法,并且该程序被存储在存储介质或存储装置中,例如软盘、CD-ROM、磁光盘、半导体存储器或硬盘。还可以通过网络以数字信号的形式来传输所述程序。另外,中间处理结果可暂时存储在存储设备例如计算机的主存储器中。
附图说明
图1是创建商业类时的功能框图;
图2示出了存储在商业类管理文件中的数据的示例;
图3示出了创建商业类时的处理流程;
图4示出了一个对象;
图5A到5H示出了将要使用所述对象的代码的示例;
图6A和6B是执行商业类时的功能框图;
图7示出了执行商业类的第一处理流程;
图8示出了输入屏幕的示例;
图9示出了用于输入屏幕的XML数据的示例;
图10A示出了使用对象池(object pool)的处理的第一示例;
图10B示出了使用对象池的处理的第二示例;
图10C示出了使用对象池的处理的第三示例;
图10D示出了使用对象池的处理的第四示例;
图11示出了执行商业类的第二处理流程;
图12示出了用于输出屏幕的XML数据的示例;并且
图13示出了输出屏幕的示例。
具体实施方式
1.创建商业类(即程序)
图1是创建商业类时本发明实施例中的计算机系统的功能框图。计算机系统100包括:屏幕生成器1,用于形成将要在开发中的系统中显示的屏幕,并生成用于该屏幕的HTML(超文本置标语言)文件等;HTML文件存储单元3,用于存储由屏幕生成器1生成的HTML文件;XML转换器5,用于分析存储在HTML文件存储单元3中的HTML文件并根据预定规则将它转换成XML数据;XML数据存储单元7,用于存储由XML转换器5生成的XML数据等;接口管理器9,用于分析存储在XML数据存储单元7中的XML数据,并至少生成公共接口文件组11和模板商业源文件组13的一部分;以及商业类管理文件5,接口管理器9参考并更新它。
屏幕生成器1是通常出售的主页编辑器等等,并且当用户在没有描述HTML的标签而形成屏幕时生成HTML文件等。例如,如图1所示,假设构造了存款交易屏幕1a,包括银行名称、分支机构名称、帐户类型、帐户号码和交易量,并生成对应的HTML文件等。所生成的HTML文件存储在HTML文件存储单元3中。
XML转换器5是通常出售的XML文档生成支持工具,例如XMLSPY(ICON信息系统公司的商标),并读出存储在HTML文件存储单元3中的HTML文件,生成XML数据、样式表(XSL(可扩展样式语言)数据)和模式(shema),并将它们存储在XML数据存储单元7中。同时,在下面的描述中,为了有助于把握本实施例的要点,将粗略地说明所述XML数据,然而,XSL数据包括在屏幕上显示所述XML数据的数据(格式等等)。另外,模式包括对XML数据进行适当性(adequacy)校验的数据(标签结构等)。如图1所示,从用于屏幕1a的HTML文件生成XML数据5a,包括用于存款交易输入的标签(包括开始标签和结束标签)、银行名称标签、分支机构名称标签、帐户类型标签、帐户号码标签以及交易量标签。另外,还生成对应于XML数据5a的XSL数据和模式。
模板商业源文件组13包括模板源程序的文件,其对应于包含在XML数据中的标签并由接口管理器9生成。如图1所示,当接口管理器9处理XML数据5a时,它生成用于对存款交易输入的数据片(slip)进行预处理的“存款交易输入预处理”商业类131、对应于银行名称标签的“银行名称”商业类132、对应于分支机构名称标签的“分支机构名称”商业类133、对应于帐户类型标签的“帐户类型”商业类134、对应于帐户号码标签的“帐户号码”商业类135、对应于交易量标签的“交易量”商业类136、对应于存款交易输入的数据片处理的“存款交易输入”商业类137以及对存款交易输入数据片进行后期处理的“存款交易输入后期处理”商业类138,这些类被生成为模板源文件。所述模板源文件作为商业类只包括基本源代码,并且以后需要将所述商业逻辑编程为例如方法。同时,模板源文件可以为空。
下面将给出用于帐户号码的商业类的模板源文件的示例。同时,由于所述内容是以公知的Java(太阳微系统公司的商标)语言编写的,因此将省略其细节描述。
[表1]
package com.fff.xxxx.usr;

    import com.fff.xxxx.common.*;

    import com.fff.xxxx.uti1.*;

    import com.fff.xxxx.processor.*;

    //类:USR_ACCOUNT_NUMBER

    public class USR_ACCOUNT_NUMBER implements XxxxUserProcessLibrary

    {

       //构造器

      public USR_ACCOUNT_NUMBER()

      {

        //请在此描述构造器的处理内容

      }

      //处理执行函数

      public void process(XxxxInterface rinterface)throws Exception

      {

       ∥从对象池获得自己的区域

       String ACCOUNT_NUMBER=(String)rinterface.getValue_XML

       (″ACCOUNT_NUMBER″);

      //请在此描述每个处理单元的代码

    }
}
另外,公共接口文件组11包括由用户使用编辑器等而创建的数据片项区域11、处理器保留区域112、类间接口区域113、应用常数区域115、数据库(DB)信息区域117以及初始设置文件119。除了初始设置区域119之外的这些区域都是存储多个商业类公共使用的对象的模板源程序(以下称为公共接口模板源文件)的区域。与上述商业类的模板源文件相似,公共接口模板源文件只包括基本源代码,并且需要在以后将所述逻辑例如实现为方法。另外,公共接口模板源文件可以为空。
数据片项区域111存储对象的公共接口模板源文件以存储数据片项的数据。存储在数据片项区域111中的各个接口模板源文件由接口管理器9基于XML数据而生成。例如,生成各个接口模板源文件以对应于包含在XML数据中的每个数据片项。
下面将给出与帐户号码的数据片项相关的公共接口模板源文件的示例。然而,由于所述内容是以公知的Java语言描述的,因此将省略其描述。
[表2]
package com.fff.xxxx.pool;

    import com.fff.xxxx.*;

    import com.fff.xxxx.common.*;

    import java.util.*;

    ////用于LOG输出

  /*LOG*/import com.fff.OPERAPARTS.com.SSCLG00C;

  /**类:com_ACCOUNT_NUMBER*/

  public class com_ACCOUNT_NUMBER implements XxxxCommonInLibrary{

     /*表示哈希中的存储顺序的标志*/

     public int flagGet=0;

     /*表示哈希中的读顺序的标志*/

     public int flagSet=0;

     /*表示错误哈希中的存储顺序的标志*/

     public int errflagGet=0;

     /*表示错误哈希中的读顺序的标志*/

     public int errflagSet=0;

      /**存储子标签类的哈希表*/

      private Hashtable childtags=new Hashtable();

      /**存储值的哈希表*/

      private Hashtable values=new Hashtable();

      /**存储错误代码的哈希表*/

      private Hashtable errors=new Hashtable();

      /**管理属性哈希的哈希表*/

      private Hashtable attributes=new Hashtable();

          /**存储属性值的哈希表*/

     ////用于LOG输出

     /*LOG*/       private SSCLG00C ewkoSsclg00C;

        /**构造器*/

        public com_ACCOUNT_NUMBER(){

           ∥请在此描述构造器中的处理内容
				
				<dp n="d7"/>
      ////用于LOG输出

      /*LOG*/ewkoSsclg00c=new SSCLG00c(this.getClass ().getName());

  }

  /**处理执行函数*/

  public void process(XxxxInterface rintefface){

        ewkoSsclg00c.mvLogWrite(3,″Process calling class name:
com_ACCOUNT_NUMBER.process()″);

  }

  /**set方法*/

  public void set(object val){

      string numstr=String.valueOf(flagGet);

      values.put(numstr,val);

      flagGet+=1;

  }

  /**get方法*/

  public Object get(int key){

      string numstr=String.valueOf(key);

      return values.get(numstr);

  }

  /**获得get方法的第一个项*/

  public Object get (){

       String numstr=String.valueOf(flagGet-1);

       return values.get(numstr);

  }

  /**清除值表的内容*/

  public void clearValue(){

      attributes.clear(){

      values.clear ();

      clearStatus();

      flagGet=0;

  }

  //存储错误代码

  public void setStatus(int value){

       string numstr=String.ValueOf(errflagGet);

       errors.put(numstr,new Integer(Value));

       errflagGet+=1;

  }

  ∥获得错误代码

  public int getStatus(String key){

      return((Integer)errors.get(key)).intValue();

  }

  ∥获得错误代码

  public int getStatus(){

        string numstr=String.valueOf(errflagGet-1);
				
				<dp n="d8"/>
      return((Integer)errors.get(numstr)).intValue();

  }

  /**清除错误代码存储表中的内容*/

    public void clearStatus(){

         errors.clear();

         errflagGet=0;

         setStatus(0);
    }

    //获得重复次数

    public int getNumber(){

         return values.size();

    }

  //获得属性值

  pulic object getAttr(int num,String attsname){

       String numstr=String.valueOf(num);

       Hashtable  attshash=(Hashtable)attributes.get(attsname);

       return attshash.get(numstr);

  }

       //设置属性值

  public void setAttr(int num,String attsname,object attsVal){

       String numstr=String.valueOf(num);

       Hashtable attshash=(Hashtable)attributes.get(attsname);

       attshash.put(numstr,attsVal);

  }

      //返回属性名称

  public Enumeration getAttrNames(){

      return attributes.keys();

  }

  //从属性名称中返回存储存储属性值的哈希值

  public Hashtable getAttrs(String attsname){

      return(Hashtable)attributes.get(attsname);

  }
}
处理器保留区域112存储对象的公共接口模板源文件,以存储用于对与商业类的执行处理相关的处理器(图6A和6B中的处理器2071)进行控制的数据。将要被存储在处理器保留区域112中的公共接口模板源文件由接口管理器9根据通过包含在接口管理器9中的屏幕输入功能(即用户界面)而设置的数据项而生成,并被存储在处理器保留区域112中。屏幕输入功能是显示用于从用户接收数据输入的屏幕并基于所输入的数据而设置多个项的功能。
类间接口区域113存储对象的公共接口模板源文件以存储和商业类之间的接口项相关的数据。同时,商业类之间的接口项例如是用于在多个商业类之间进行数据传输的项。与存储在处理器保留区域112中的公共接口模板源文件相似,将要被存储在类间接口区域113中的公共接口模板源文件由接口管理器9根据通过包含在接口管理器9中的屏幕输入功能而设置的数据项而生成,并被存储在类间接口区域113中。
应用常数区域115存储对象的公共接口模板源文件以存储商业类所引用的常数项的数据。同时,商业类所引用的常数项是基于在初始设置文件"9中定义的数据而设置的项,并且是与商业规则例如程序可执行时间区间相关的项。与存储处理器保留区域112或类间接口区域113中的公共接口模板源文件相似,将要被存储在应用常数区域115中的公共接口模板源文件由接口管理器9根据通过包含在接口管理器9中的屏幕输入功能而设置的数据项而生成,并被存储在应用常数区域115中。
DB信息区域117存储对象的公共接口模板源文件以存储数据库中的表定义项的数据。与存储在数据片项区域111中的公共接口模板源文件相似,将要存储在DB信息区域117中的公共接口模板源文件由接口管理器9基于所述XML数据而生成。例如,生成公共接口模板源文件以对应于包含在XML数据中的每一个数据片项。
初始设置文件119是例如以XML格式包含前述常数项的数据的文件。在商业类的执行处理中,商业类执行处理时读这一文件,并且所述常数项的数据保存在对应的对象中。
商业类管理文件15例如包括如图2所示的数据。图2示出了在XML兼容的浏览器显示未指定XSL文件的XML数据(即商业类管理文件15)的情形下的屏幕示例。在图2中,资源管理标签指示出将要开发的程序所需要的资源管理由商业类管理文件15执行。另外,在本实施例中,不仅管理商业类,也管理公共接口文件组11,并且提供了对象池标签。在此,对象池是一个存储区域,如果基于公共接口模板源文件创建可执行类,则在执行处理执行时装载所述类到该存储区域中。在对象池标签之下,提供了对应于处理器保留区域112的处理器保留区域标签、对应于数据片项区域111的数据片项区域标签、对应于DB信息区域117的DB信息区域标签、对应于应用常数区域115的应用常数项区域标签以及对应于类间接口区域113的类间接口项区域标签。在图2中,“+”符表示已定义的项存在于处理器保留区域标签和类间接口项区域标签之下。反之,则已定义的项尚未存在于DB信息区域标签和应用常数项区域标签之下。在此,“项已被定义”意味着对应于所述项的公共接口模板源文件已生成并被存储在公共接口文件组11的区域之一中。
对应于所述区域中任意之一的公共接口模板源文件还由接口管理器9存储在各区域中。然后,当接口管理器9在任一区域中存储公共接口模板源文件时,对应于该公共接口模板源文件的项被注册在对应于该区域的标签之下。
在图2中,已定义的项位于数据片项区域标签之下并被具体地示出。提供了对应于图1中的屏幕1a的“存款交易输入”(deposit transactioninput)标签、“交易量”(transaction amount)标签、“帐户号码”(account number)标签、“帐户类型”(account type)标签、“分支机构名称”(branch name)标签和“银行名称”(bank name)标签。在“存款交易输入”标签中,定义了属性“路径判断”(route judgment),因为“存款交易输入”对应于该数据片。另外,在每个标签中都定义了属性“注册日期和时间”(registered date and time)。
另外,在图2中,将要创建的商业类(即所生成的模板商业源文件)定义在模板商业类标签下。在此,包含了“交易量”标签、“帐户号码”标签、“帐户类型”标签、“分支机构名称”标签、“银行名称”标签、“存款交易输入预处理”(deposit transaction input pre-processing)标签、“存款交易输入后期处理”(deposit transaction input post-processing)标签以及“存款交易输入”标签。同时,在每个标签中都定义了“注册日期与时间”标签。另外,每个标签名称之前的USR表示它是将由用户预备的类。
下面将参考图3描述图1所示的计算机系统100的处理流程。首先,计算机系统100的用户检查当前数据片、表单和屏幕构造,掌握对于要开发的新计算机系统而需增加或修改的功能,并通过屏幕生成器1为新计算机系统执行屏幕构造。这样,屏幕生成器1生成HTML文件等并将它们存储在HTML文件存储单元3中(步骤S1)。同时,由于可以不使用任何工具等来创建HTML文件,因此这一步骤由虚线框表示。另外,执行这一步骤的处理的工具也可以由用户预备,而独立于接口管理器9。
然后,XML转换器5读出存储在HTML文件存储单元3中的HTML文件,生成XML数据,并将它存储到XML数据存储单元7中(步骤S3)。此时,还生成对应于XML数据的XSL数据和模式,并将它们存储在XML数据存储单元7中。同时,执行这一步骤的工具也可以由用户预备,而独立于接口管理器9,并且这一步骤由虚线框表示。然后,接口管理器9生成过程初始处理类和过程结束处理类的模板源程序,并将它们存储到例如用来存储模板商业源文件组13的存储设备中(步骤S5)。过程初始处理类和过程结束处理类的源程序也是模板,并且用于实现过程初始处理和过程结束处理的具体功能的程序在以后编程实现。
然后,接口管理器9参考XML数据存储单元7,并选择XML数据中一个未处理的标签(步骤S7)。然后,它参考商业类管理文件15的模板商业类标签之下的一个部分,并确认在步骤S7所选择的标签是否未注册(步骤S9和S11)。该标签已注册在商业类管理文件15的模板商业类标签之下意味着模板商业源文件也已经被生成,并且如果它再次被生成就会发生重复。因此要执行这一确认。如果判断出该标签已被注册,则处理前进到步骤S23。反之,如果确认该标签尚未注册,则判断该标签是否是起始标签(步骤S13)。即,判断该标签是不是用来指定XML数据中的数据片的标签。如果判断出该标签是起始标签,则生成该数据片的预处理类、其后期处理类以及数据片类的模板源程序,并且将这些程序存储在例如用来存储模板商业源文件组13的存储设备中(步骤S15)。然后,处理前进到步骤S21。反之,如果判断出该标签不是起始标签,则判断该标签是不是结束标签(步骤S17)。例如,判断该标签是不是用来指定数据片的结束标签。如果判断出该标签是结束标签,则处理前进到步骤S23。相反,如果判断出该标签不是结束标签,则由于它是普通标签,因此生成对应于该标签的商业类的模板源程序,并存储在例如用来存储模板商业源文件组13的存储设备中(步骤S19)。尽管进行了如上的描述,但模板源程序只包括基本源代码,并且商业类不只是由该模板源程序完成。
在步骤S15或步骤S19之后,将标签名称注册在商业类管理文件15的模板商业类标签之下(步骤S21)。通过这一注册,就不会创建重复的商业类,这提高了程序开发中的商业效率并提高了程序的质量。然后,判断是否处理了所有的标签(步骤S23)。如果存在未处理的标签,则处理返回到步骤S7。
同时,在上述处理中,尽管生成了数据片的预处理类、其后期处理类以及数据片的模板源程序以对应于起始标签,但是也可以生成上述模板源程序以对应于结束标签。
然后,接口管理器9生成对应于公共接口文件组11中的各个区域的公共接口模板源程序,并将它们存储在公共接口文件组11的各个区域中(步骤S25)。由于存储在数据片项区域111和DB信息区域117中的公共接口模板源文件对应于各个数据片项,因此,按照与生成商业类的模板源程序的前述处理相同的处理流程来生成它们。即,从包括在XML数据中的标签当中选择对应于数据片项的一个未处理标签,并通过参考设置在商业类管理文件15中的对象池标签之下的数据片项区域标签和DB信息区域标签之下的部分来判断该标签是否尚未注册。如果该标签尚未注册,则对于数据片项区域111和DB信息区域117中的每一个区域而生成对应于该标签的公共接口模板源文件,并在商业类管理文件15中的对象池标签之下注册一个标签。然而,所述处理也可以如下进行,即在确认所述标签尚未注册在商业类管理文件15中之后,确认该标签是不是对应于数据片项的标签。
另外,基于来自用户的输入数据,生成存储在处理器保留区域112、类间接口区域113和应用常数区域115中的公共接口模板源文件,所述输入数据是通过包含在接口管理器9中的屏幕输入功能而接收的。在生成公共接口模板源文件时,接口管理器9将对应的标签注册在对应于商业类管理文件15中的各个区域的标签之下。
同时,在上面的说明中,尽管已描述了生成模板源程序(基本上是用于这些程序的文件)的处理流程,但是并非总是需要生成模板源程序和公共接口模板源文件。也存在这样的情形,在其中,如果把要创建的商业类和/或公共接口文件注册在商业类管理文件15中也就足够了。在此情形下,可以编程实现所述源程序以对应于商业类管理文件15中的项。然后,当完成所述编程时,只需再次将所创建的程序与商业类管理文件15的每一项进行匹配。
对于由前述处理生成的模板源程序和公共接口模板源文件,执行所述编程以使它们适用于所述商业逻辑。即,对于模板源程序,只输入模板源程序共有的项,而将要在每个类中实现的功能是由程序员独立地编程实现。另外,对于公共接口模板源文件,类似地,只输入公共接口模板源文件共有的项,而将要在每个文件中实现的功能是由程序员独立地编程实现。编译所编写的源程序以生成可执行程序模块。
此时,执行所述编程,以使得可以只由将在步骤S15和S19中生成的商业类和对象池中所述商业类所需的对象来处理对应于特定数据片的XML数据。尽管有了上面的描述,但这是因为处理对应于特定数据片的XML数据时,基于包含在XML数据中的标签,只调用在步骤S15和S19中生成的商业类。同时,尽管对象池中的对象是由商业类来调用的,但它们支持所述商业类的处理,并且所述处理的主体是所述商业类。与背景技术不同的是,不需要预备主控逻辑以按照预先定义的顺序依次处理XML数据,并且XML数据中的标签所定义的各个对象由商业类来执行。
同时,对于存储在公共接口文件组11的每个区域中的公共接口模板源文件,执行所述编程,以实现如图4所示的对象。同时,图4所示的对象的构造与所述对象池相同,并且,例如具体的模板对象500包括数据部分510和方法部分520。数据部分510包括数据存储数量区511、一个或多个数据区512、一个或多个数据状态值区513、一个或多个第一属性数据区514、……、一个或多个第n(n例如是自然数)属性数据区515、一个或多个第一属性状态值区516、……和一个或多个第n属性状态值区517。另外,方法部分520包括项引用部分521、项更新部分522、数据状态值引用部分523、数据状态值更新部分524、项初始化部分525、属性引用部分526、属性更新部分527以及数据存储数量获得部分528。
为了使用如上所述的对象池中的每个对象,例如将如图5A到5H所示的代码添加到商业类的模板源程序中。图5A示出了为公共接口文件组11的各个区域调用图4所示的项引用部分521的代码的示例。首先,在第一行,代码“object pool instance variable.getValue(slip item name,arraynumber)”表示调用对应于数据片项区域111的对象的项引用部分521的代码的示例。例如,程序员可以通过设置值来指定“object pool instancevariable”部分、“slip item name”部分和“array number”部分中的项数据,从而用合适的对象来定义所述处理。同时,在本实施例中,如果“array number”是0,则它表示起始记录,这同样也适用于下面的描述。对应于数据片项区域111的对象的项引用部分521遵循上述代码,并引用所述项数据以返回值。
在第二行以及后面的行中,对于DB信息区域117、类间接口区域113、应用常数区域115和处理器保留区域112中的每一个区域,依次表示了调用对应于该区域的对象的项引用部分521的代码的示例。例如,程序员可以通过将所述代码添加到商业类的模板源程序中以定义引用保存在对象池中的项数据的处理。
图5B示出了为公共接口文件组11的各个区域调用图4所示的项更新部分522的代码的示例。首先,在第一行,代码“object pool instancevariable.setValue(slip item name,data)”表示调用对应于数据片项区域111的对象的项更新部分522的代码的示例。例如,程序员可以通过设置值以指定“object pool instance variable”部分和“slip item name”部分中的项数据,并通过在“data”部分中设置将要存储的数据(或它的变量),从而用合适的对象来定义所述处理。对应于数据片项区域111的对象的项更新部分522遵循如上所述的代码并更新项数据。在第二行以及后面的行中,对于DB信息区域117、类间接口区域113、应用常数区域115和处理器保留区域112中的每一个区域,依次表示了调用对应于该区域的对象的项更新部分522的代码的示例。例如,程序员可以通过将所述代码添加到商业类的模板源程序中以定义更新存储在对象池中的项数据的处理。
图5C示出了为公共接口文件组11的各个区域调用图4所示的数据状态值引用部分523的代码的示例。首先,在第一行,代码“object poolinstance variable.getError(slip item name,array number)”表示调用对应于数据片项区域111的对象的数据状态值引用部分523的代码的示例。例如,程序员可以通过设置值来指定“object pool instance variable”部分、“slipitem name”部分和“array number”部分中的项数据,从而用合适的对象来定义所述处理。对应于数据片项区域111的对象的数据状态值引用部分523遵循上述代码,并引用所述项数据的状态值以返回值。在第二行以及后面的行中,对于DB信息区域117、类间接口区域113、应用常数区域115和处理器保留区域112中的每一个区域,依次表示了调用对应于该区域的对象的数据状态值引用部分523的代码的示例。例如,程序员可以通过将所述代码添加到商业类的模板源程序中以定义引用存储在对象池中的项数据的状态值的处理。
图5D示出了为公共接口文件组11的各个区域调用图4所示的数据状态值更新部分524的代码的示例。首先,在第一行,代码“obiect poolinstance variable.setError(slip item name,data)”表示调用对应于数据片项区域111的对象的数据状态值更新部分524的代码的示例。例如,程序员可以通过设置值以指定“object pool instance variable”部分和“slip itemname”部分中的项数据,并通过在“data”部分中设置将要存储的数据(或它的变量),从而用合适的对象来定义所述处理。对应于数据片项区域111的对象的数据状态值更新部分524遵循如上所述的代码并更新项数据的状态值。在第二行以及后面的行中,对于DB信息区域117、类间接口区域113、应用常数区域115和处理器保留区域112中的每一个区域,依次表示了调用对应于该区域的对象的数据状态值更新部分524的代码的示例。例如,程序员可以通过将所述代码添加到商业类的模板源程序中以定义更新存储在对象池中的项数据的数据状态值的处理。
图5E示出了为公共接口文件组11的各个区域调用图4所示的数据存储数量获得部分528的代码的示例。首先,在第一行,代码“object poolinstance variable.getSize(slip item name)”表示调用对应于数据片项区域111的对象的数据存储数量获得部分528的代码的示例。例如,程序员可以通过设置值来指定“object pool instance variable”部分和“slip itemname”部分中的项数据,从而用合适的对象来定义所述处理。对应于数据片项区域111的对象的数据存储数量获得部分528遵循上述代码,并获取数据存储数量以返回值。在第二行以及后面的行中,对于DB信息区域117、类间接口区域113、应用常数区域115和处理器保留区域112中的每一个区域,依次表示了调用对应于该区域的对象的数据存储数量获得部分528的代码的示例。例如,程序员可以通过将所述代码添加到商业类的模板源程序中以定义引用存储在对象池中的项数据存储数量的处理。
图5F示出了为公共接口文件组11的各个区域调用图4所示的项初始化部分525的代码的示例。首先,在第一行,代码“object pool instancevariable.clearValue(slip item name)”表示调用对应于数据片项区域111的对象的项初始化部分525的代码的示例。例如,程序员可以通过设置值来指定“object pool instance variable”部分和“slip item name”部分中的项,从而用合适的对象来定义所述处理。对应于数据片项区域111的对象的项初始化部分525遵循上述代码,并初始化项数据。在第二行以及后面的行中,对于DB信息区域117、类间接口区域113、应用常数区域115和处理器保留区域112中的每一个区域,依次表示了调用对应于该区域的对象的项初始化部分525的代码的示例。例如,程序员可以通过将所述代码添加到商业类的模板源程序中以定义初始化存储在对象池中的项数据的处理。
图5G示出了代码“object pool instance variable.getAttributeVal(slipitem name,array number,attribute name)”,作为调用对应于数据片项区域111的对象的属性引用部分526(图4)的代码的示例。例如,程序员可以通过设置值来指定“object pool instance variable”部分、“slip item name”部分、“array number”部分和“attribute name”部分中的属性数据,从而用合适的对象来定义所述处理。对应于数据片项区域111的对象的属性引用部分526遵循上述代码,并引用属性数据以返回值。例如,程序员可以通过将所述代码添加到商业类的模板源程序中以编程实现引用存储在对象池中的项数据的属性值的处理。
图5H示出了代码“object pool instance variable.setAttributeVal(slipitem name,array number,attribute name,attribute value)”,作为调用对应于数据片项区域111的对象的属性更新部分527(图4)的代码的示例。例如,程序员可以通过设置值来指定“object pool instance variable”部分、“slip item name”部分、“array number”部分和“attribute name”部分中的属性数据,并通过设置将要存储在“attribute value”部分中的属性值(或它的变量),从而用合适的对象来定义所述处理。对应于数据片项区域111的对象的属性更新部分527遵循上述代码,并更新属性数据。例如,程序员可以通过将所述代码添加到商业类的模板源程序中以定义更新存储在对象池中的项数据的属性值的处理。
2.执行商业类时的处理
图6A和6B示出了执行商业类时根据本发明实施例的计算机系统的功能框图。计算机网络201与一个或多个终端装置203相连接,还与在此实施例中执行主处理的服务器205相连接。终端装置203包括XML兼容的浏览器。另外,服务器205包括:小服务程序(servlet)2051,作为与终端装置203中的浏览器的接口;存储区域2060,以存储用于输入屏幕的XML数据2054和用于输出屏幕的XML数据2055;第一XML数据存储单元2061,以存储用于输入屏幕的模板XML数据2062、XSL数据2063和模式2064;处理器2071,用于执行分析XML数据以及调用对应的商业类的处理;商业类管理文件15;存储区域2080,向其装载了商业类组;第二XML数据存储单元2091,以存储用于输出屏幕的模板XML数据2092、XSL数据2093和模式2094;存储区域2101(即对象池),向其装载了公共接口文件并且它保存索引信息2102;商业类存储单元2111,其中存储了商业类的可执行文件;公共接口文件存储单元2112,用于存储可执行公共接口文件,它们是用以形成对象池中的对象的类文件;以及初始设置文件119。
小服务程序2051包括:请求响应器2052,执行处理以响应来自终端装置203中的浏览器的请求;XML生成器2056,用于生成并输出XML数据(用于输入屏幕的XML数据2054),其对应于从终端装置203的浏览器接收的选择数据或输入数据;以及结果输出单元2053,接收包括来自处理器2071的处理结果的XML数据(用于输出屏幕的XML数据2055),并将它输出到终端装置203的浏览器。
处理器2071包括:初始化处理器2072,执行初始化处理以初始化存储区域2101(即,从公共接口文件存储单元2112装载公共接口文件,并生成索引信息2102),并从商业类存储单元2111装载商业类到存储区域2080;XML数据处理器2073,处理用于输入屏幕的XML数据2054;以及输出XML生成器2074,基于存储在存储区域2101的数据片项区域2103中的数据以及存储在第二XML数据存储单元2091中的模板XML数据2092,生成用于输出屏幕的XML数据2055。同时,存储区域2101的DB信息区域2107以哈希表的格式存储数据,并且有关数据的存储位置的数据被存储在索引信息2102中。
下面将参考图7到图13描述图6A和6B所示的计算机系统200的处理流程。首先,服务器205中的小服务程序2051的请求响应器2052从终端装置203的浏览器接收对特定输入屏幕数据的请求(步骤S31)。然后,请求响应器2052从第一XML数据存储单元2061读出用于特定输入屏幕的模板XML数据2062以及对应于模板XML数据2062的XSL数据2063,并将它们发送到终端装置203的浏览器(步骤S33)。同时,在实际处理中,请求响应器2052首先将模板XML数据2062发送到终端装置203的浏览器,然后,响应于从终端装置203的浏览器接收到发送对应于模板XML数据2062的XSL数据的请求,向终端装置203的浏览器发送XSL数据2063。然而,由于这不是本实施例的要点,因此在上面以及后面对类似处理的描述中,将简化描述,视作一同发送所述XML数据和XSL数据。
当从服务器205接收到用于特定输入屏幕的模板XML数据2062以及对应于模板XML数据2062的XSL数据2063时,终端装置203的浏览器基于所接受的数据生成HTML文件数据等,并将它们显示在显示设备上。例如,图8所示的屏幕被显示在终端装置203的显示设备上。图8的示例示出了存款交易的输入屏幕,包括银行名称的输入或选择栏601、分支机构名称的输入或选择栏602、帐户类型的选择栏(在此是单选按钮(radiobutton))603、帐户号码的输入栏604、交易量的输入栏605、确认按钮606以及返回按钮607。即,对应于数据片名称和数据片项的标签包含在模板XML数据2062中。
终端装置203的用户操作终端装置203来选择或输入数据,并点击确认按钮606。然后,终端装置203的浏览器例如通过HTTP(超文本传输协议)的POST方法将输入数据和/或选择数据发送到服务器205。服务器205中的小服务程序205 1的XML生成器2056接收来自终端装置203的浏览器的输入数据和/或选择数据,并将它暂时存储在存储器中(步骤S35)。然后,XML生成器2056分析所述输入数据和/或选择数据,生成用于输入屏幕的XML数据2054,并将它存储在存储区域2060中(步骤S37)。同时,XML生成器2056例如参考XSL数据2063,对输入数据和/或选择数据进行分段,并将它们嵌入到模板XML数据2062中以生成用于输入屏幕的XML数据2054。另外,模式2064用于确认用于输入屏幕的XML数据2054的适当性。然后,XML生成器2056调用处理器2071,并将用于输入屏幕的XML数据2054输出到处理器2071(步骤S39)。
图9示出了用于输入屏幕的XML数据2054的示例。图9的示例包括对应于数据片名称的存款交易输入标签、置于实际数据200两边的银行名称标签、置于实际数据121两边的分支机构名称标签、置于实际数据01两边的帐户类型标签、置于实际数据12345678两边的帐户号码标签以及置于实际数据10000两边的交易量标签。
另一方面,例如当建立与终端装置203的会话时,服务器205中的处理器2071的初始化处理器2072执行对象池的初始化(步骤S41)。例如,参考商业类管理文件15,并且将与列出为对象池的类相关的公共接口文件从公共接口文件存储单元2112装载到存储区域2101。同时,基于存储在公共接口文件组11的各个区域中的公共接口模板源文件而生成的可执行公共接口文件存储在公共接口文件存储单元2112中。
另外,初始化处理器2072参考商业类管理文件15,并将存储在商业类存储单元2111中的所有商业类文件装载到存储区域2080(步骤S43)。然后,初始化处理器2072例如调用过程初始处理类,并使得它被执行(步骤S45)。过程初始处理类是基于在图3的步骤S5处生成的模板源程序而适当地编程实现的类。另外,数据片项区域2103(即属于数据片项区域2013的对象)等被初始化(步骤S47)。此时,基于初始设置文件119的项数据由过程初始处理类存储在应用常数区域2106中。
然后,响应于小服务程序2051在步骤S39输出用于输入屏幕的XML数据2054,处理器2071的XML数据处理器2073接收用于输入屏幕的XML数据2054(步骤S49)。处理器2071的XML数据处理器2073分析用于输入屏幕的XML数据2054并进行分段,并将实际数据(输入数据和/或选择数据)存储到数据片项区域2103的对应区域(对象)中(步骤S51)。如果图9所示的用于输入屏幕的XML数据2054得到了处理,则将实际数据存储在银行名称的数据存储区域(对象)、分支机构名称的数据存储区域(对象)、帐户类型的数据存储区域(对象)、银行号码的数据存储区域(对象)以及交易量的数据存储区域(对象)中。
处理器2071的XML数据处理器2073调用对应于用于输入屏幕的XML数据2054的数据片名称的预处理类(在此是存款交易输入预处理类2081),并使得它执行商业处理(步骤S53)。另外,对于结束标签之外的每一个标签(步骤S55:NO路径),XML数据处理器2073调用每一个商业类(银行名称类2082、分支机构名称类2083、帐户类型类2084、帐户号码类2085以及交易量类2086),并使得它们执行商业处理(步骤S57)。然后,当检测到输入屏幕XML数据2054的结束标签时(步骤S55:Yes路径),则调用对应于数据片名称的数据片处理类(存款交易输入数据片处理类2087)以执行商业处理(步骤S59)。然后,调用并执行对应于数据片名称的后期处理类(存款交易输入后期处理类2088)(步骤S61)。
这些被调用的商业类引用或更新存储在属于存储区域2101(对象池)中每一个区域的对象中的数据,并适当地使用它们来执行处理。同时,在商业类的处理期间,分别生成诸如佣金、总量、余额、处理分支机构号码、处理分支机构名称、处理日期和时间等在内的数据,并将这些数据存储在例如属于数据片项区域2103的对象和属于DB信息区域2107的对象当中。
图10A到10D是说明使用对象池的处理的抽象图。在图10A到10D中,只示出了说明所述处理的概况所必需的元素,并且实际处理所必需的任意元素可以被省略。图10A示出了使用属于数据片项区域2103的对象的处理的示例。例如在图10A中,显示在终端装置203的显示设备上的浏览器屏幕1001包括输入项1002和输入项1003。然后,用户操作终端装置203并至少向输入项1002和输入项1003中的一个输入数据,并点击确认按钮等(未示出)。然后,对应于输入项1002和1003的输入数据被发送到服务器205,并由小服务程序2051生成XML数据1004(对应于图6A和6B中的用于输入屏幕的XML数据2054)。XML数据1004例如包括由XML语句1005所表示的内容。即,它包括输入项的第一属性的值和输入项的第二属性的值以及从用户输入的实际数据。处理器2071基于XML数据1004的标签名称,从对象池(在此为数据片项区域2103)中指定对应于所述输入项的对象,并将第一属性的值、第二属性的值以及从用户输入的实际数据输出到所述对象。然后,例如,对象1008将实际数据存储到数据区1010,并将第一属性的值和第二属性的值存储到属性区1011。与图10A所示的示例相似,如果定义了多个属性,则在属性区1011中存储多个属性的值。同时,处理器2071基于XML数据1004的标签调用商业类1012。商业类1012在需要时调用对象池2103中的对象(例如对象1008),对存储在数据区1010和属性区1011中的数据进行引用或更新处理,并执行数据片处理。
图10B示出了使用属于DB信息区域2107的对象的处理的示例。例如,从处理器2071调用的商业类1013将从DB 1024抽取的数据记录输出到对象池(在此是DB信息区域2107)中的对象1021。然后,对象1021将数据存储到数据区1023中。如果商业类1013从DB 1024中抽取了多个记录,则所述多个记录的数据分别被存储到数据区1023中。数据区1023例如是哈希表。
图10C示出了使用属于应用常数区域2106的对象的处理的示例。尽管有了上面的描述,但是当执行对象池的初始化时,处理器2071(初始化处理器2072)调用过程初始处理类1014。过程初始处理类1014读出初始设置文件119,并将应用常数项的数据存储到应用常数区域2106中的对象中。例如,数据被存储在对象1031和对象1032中。然后,例如,商业类1015在需要时调用对象1031或对象1032,并引用所存储的数据以执行数据片处理。
图10D示出了使用属于类间接口区域2105的对象的处理的示例。图10D示出了其中执行这样一种处理的情形的示例,在该处理中,数据从作为商业类的类A(1045)被传输到作为商业类的类B(1046),并且数据从类B(1046)被返回到类A(1045)。首先,类A(1045)为了类B将数据输出到对象1041,该对象属于由箭头1047所指向的对象池(在此是类间接口区域2105)。然后对象1041将数据存储到输入区1042。然后,类B(1046)引用存储在输入区1042中的数据,如箭头1049所示。然后,类B(1046)将通过基于所引用的数据而执行的预定处理所产生的数据输出到对象1041,如箭头1050所示。对象1041将从类B(1046)接收的数据存储到输出区1043。然后,类A(1045)引用存储在输出区1043中的数据,如箭头1048所示。如上所述,没有在商业类之间直接交换数据,而是通过属于类间接口区域2105的对象来进行交换。通过这种构造,由于可以不考虑其他商业类而编程实现每一个商业类,因此就提高了编程效率。
同时,对于每个商业类的具体处理内容,根据商业逻辑来进行编程,并且,尽管如上所述,但是可将对具体数据片的处理构造成可由利用XML数据处理器2073所调用的商业类的处理基于用于输入屏幕的XML数据2054来适当地完成。另外,如果在包含在用于输入屏幕的XML数据2054中的标签当中包括对应于实际不存在的商业类的标签,则XML数据处理器2073在调用商业类时会失败。在此情形下,由于不能执行适当的处理,或者发生了不适当的输入,因此会向小服务程序2051输出错误并终止处理。
当完成了所有的处理时,后期处理类(存款交易输入后期处理类2088)将第二XML数据的生成请求(即包括用于输出屏幕的XML的文档名称的输出数据片生成请求)发送到处理器2071的输出XML生成器2074。该处理通过图7的端点A转移到图11的处理。
输出XML生成器2074响应于用于输出屏幕的XML数据的生成请求,从第二XML数据存储单元2091获得模板XML数据2092(步骤S63)。此时,还获得对应于用于输出屏幕的XML数据的模式2094。另外,从属于存储区域2101的数据片项区域2103的对象接收与包含在所读取的模板XML数据2092中的标签相对应的数据项的实际数据,并将该实际数据嵌入在模板XML数据2092中,以生成用于输出屏幕的XML数据2055并将其存储在存储区域2060中。此时,通过使用模式2094来确认用于输出屏幕的XML数据2055的适当性。然后,将用于输出屏幕的XML数据2055输出到小服务程序2051(步骤S65)。
图12示出了用于输出屏幕的XML数据2055的示例。图12的示例包括指定样式表(output_screen.xsl)的标签、表示数据片名称的标签(存款交易结果标签)、表示数据片项的标签(交易数据标签、时间标签、银行名称标签、分支机构名称标签、帐户类型标签、总量标签、余额标签、处理分支结构号码标签、处理分支机构名称标签)以及对应于各个标签的实际数据。
同时,如果在处理器2071侧判断出过程未结束,则通过端点B,处理返回到图7的步骤S47。反之,如果判断出过程结束,则调用并执行过程结束处理类(步骤S73)。过程结束处理类是基于在图3的步骤S5处生成的模板源程序而适当地编程实现的类。
小服务程序2051的结果输出单元2053从处理器2071接收用于输出屏幕的XML数据2055(步骤S67),并将从第二XML数据存储单元2091读取的用于输出屏幕的XML数据2055和XSL数据2093输出到终端装置203(步骤S69)。终端装置203的浏览器从服务器205接收用于输出屏幕的XML数据2055和XSL数据2093,生成HTML文件等,并将它们显示在显示设备上。例如,显示图13所示的屏幕。在图13的示例中,提供了输出数据片名称(存款交易结果)、交易日期、时间、银行名称、分支机构名称、帐户类型、帐户号码、交易量、佣金、总量、余额、处理分支结构号码以及处理分支机构名称的各个显示栏。而且,还提供了确认按钮1301和初始屏幕按钮1302以返回到菜单。
如上所述,适当地调用商业类,并执行处理,因此可适当的执行对包含数据片的表单的处理。同时,小服务程序2051和处理器2071可由所有的系统共同使用,并且,对于根据各种商业(或数据片)而变动的部分,可创建必要的商业类。通过采用如上所述的程序开发方法,可以实现程序的重复使用、开发工作的划分以及开发周期的缩短。而且,由于在功能受限时创建商业类并且它独立于其他商业类,因此可提高程序质量。
如上所述,已经描述了本发明的实施例,然而,本发明并不局限于此。例如,图1和图6A及6B所示的功能框图示出了仅分割出来用于说明实施例的功能,它们未必对应于程序的模块。
尽管已参考其具体优选实施例来描述了本发明,但是对本领域内的技术人员来说可以做出各种改变和变体,并且,本发明应包括这些改变和变体,它们落在所附权利要求的范围之内。

Claims (21)

1.一种信息处理方法,包括:
分析对应于表单屏幕的XML数据,并指定对应于包含在所述XML数据中的标签的商业类;
参考其中注册了多项应被创建的所述商业类的商业类管理器,并判断所指定的商业类是否尚未注册在所述商业类管理器中;以及
如果所述所指定的商业类尚未注册在所述商业类管理器中,则将所述所指定的商业类注册到所述商业类管理器中。
2.如权利要求1所述的信息处理方法,还包括:
如果所述所指定的商业类尚未注册在所述商业类管理器中,则为所指定的商业类生成模板源程序数据。
3.如权利要求1所述的信息处理方法,还包括:
读出用于所述表单屏幕的HTML文件,并根据预定规则生成对应于所述表单屏幕的XML数据。
4.如权利要求1所述的信息处理方法,其中,所述分析与指定包括指定预处理类、后期处理类和表单处理类,以对应于和所述表单屏幕相对应的所述XML数据的起始标签或结束标签。
5.如权利要求3所述的信息处理方法,还包括:
响应于用户的指示,生成用于所述表单屏幕的所述HTML文件。
6.如权利要求1所述的信息处理方法,还包括:
由包括在对应于所述表单屏幕的所述XML数据中的标签来指定表单项存储对象;
参考其中注册了应被创建的多项表单项存储对象的表单项存储对象管理器,并判断所指定的表单项存储对象是否尚未注册在所述表单项存储对象管理器中;以及
如果所述所指定的表单项存储对象尚未注册在所述表单项存储对象管理器中,则将所述所指定的表单项存储对象注册到所述表单项存储对象管理器中。
7.一种信息处理方法,包括:
分析对应于表单屏幕的XML数据,并指定对应于包含在所述XML数据中的标签的商业类;
参考其中注册了多项应被创建的所述商业类的商业类管理器,并判断所指定的商业类是否尚未注册在所述商业类管理器中;以及
如果所述所指定的商业类尚未注册在所述商业类管理器中,则生成用于所述所指定的商业类的模板源程序数据。
8.一种信息处理方法,包括:
获得XML数据,其包含与针对表单屏幕而输入或选择的数据相对应的标签,并指定一个商业类,该商业类对应于包含在所述XML数据中的所述标签,并且是用于执行与所述标签相关的处理的程序;以及
在预先定义并被装载到存储器中的商业类当中,调用所指定的商业类。
9.如权利要求8所述的信息处理方法,其中,所述获得与指定包括指定与所述表单屏幕的表单以及包含在所述XML数据中的标签相对应的预处理类、后期处理类和表单处理类。
10.如权利要求8所述的信息处理方法,还包括:
将针对所述表单屏幕而输入或选择的所述数据输出到一个表单项存储对象,该对象被预先定义并被装载到存储器中:
所述表单项存储对象将针对所述表单屏幕而输入或选择的所述数据存储到所述存储器中;以及
通过在所调用的商业类和所述表单项存储对象之间交换数据来执行处理。
11.如权利要求10所述的信息处理方法,其中所述执行包括:
如果将数据从第一商业类传输到第二商业类,则所述第一商业类将所述数据输出到预先定义并被装载到所述存储器中的类间接口对象;以及
所述第二商业类引用所述类间接口对象,并从所述类间接口对象接收所述数据。
12.如权利要求8所述的信息处理方法,还包括:
从显示所述表单屏幕的装置接收针对所述表单屏幕而输入或选择的数据,并生成所述XML数据,该XML数据包含针对所述表单屏幕而输入或选择的数据以及对应的标签。
13.如权利要求10所述的信息处理方法,还包括:
如果从所调用的商业类接收到输出请求,则通过使用保存在所述表单项存储对象中的数据而生成输出XML数据;以及
将所述输出XML数据输出到显示了所述表单屏幕的所述装置。
14.如权利要求8所述的信息处理方法,还包括:
如果所指定的商业类不存在,则生成并输出错误信息。
15.如权利要求8所述的信息处理方法,其中每个所调用的商业类都被构造成由一项处理来完成对与所述表单屏幕相关的整个表单的处理,所述一项处理由所调用的商业类执行,无需用于定义处理顺序的程序。
16.一种程序,包含在介质中,用于使得计算机执行信息处理,所述程序包括:
分析对应于表单屏幕的XML数据,并指定对应于包含在所述XML数据中的标签的商业类;
参考其中注册了多项应被创建的所述商业类的商业类管理器,并判断所指定的商业类是否尚未注册在所述商业类管理器中;以及
如果所述所指定的商业类尚未注册在所述商业类管理器中,则将所述所指定的商业类注册到所述商业类管理器中。
17.一种程序,包含在介质中,用于使得计算机执行信息处理,所述程序包括:
分析对应于表单屏幕的XML数据,并指定对应于包含在所述XML数据中的标签的商业类;
参考其中注册了多项应被创建的所述商业类的商业类管理器,并判断所指定的商业类是否尚未注册在所述商业类管理器中;以及
如果所述所指定的商业类尚未注册在所述商业类管理器中,则生成用于所述所指定的商业类的模板源程序数据。
18.一种程序,包含在介质中,用于使得计算机执行信息处理,所述程序包括:
获得XML数据,其包含与针对表单屏幕而输入或选择的数据相对应的标签,并指定一个商业类,该商业类对应于包含在所述XML数据中的所述标签,并且是用于执行与所述标签相关的处理的程序;以及
在预先定义并被装载到存储器中的商业类当中,调用所指定的商业类。
19.一种信息处理装置,包括:
分析器,用于分析对应于表单屏幕的XML数据,并指定对应于包含在所述XML数据中的标签的商业类;
检查器,用于参考其中注册了多项应被创建的所述商业类的商业类管理器,并判断所指定的商业类是否尚未注册在所述商业类管理器中;和
注册器,用于如果所述所指定的商业类尚未注册在所述商业类管理器中,则将所述所指定的商业类注册到所述商业类管理器中。
20.一种信息处理装置,包括:
分析器,用于分析对应于表单屏幕的XML数据,并指定对应于包含在所述XML数据中的标签的商业类;
检查器,用于参考其中注册了多项应被创建的所述商业类的商业类管理器,并判断所指定的商业类是否尚未注册在所述商业类管理器中;和
生成器,用于如果所述所指定的商业类尚未注册在所述商业类管理器中,则生成用于所述所指定的商业类的模板源程序数据。
21.一种信息处理装置,包括:
第一处理器,获得XML数据,其包含与针对表单屏幕而输入或选择的数据相对应的标签,并指定一个商业类,该商业类对应于包含在所述XML数据中的所述标签,并且是用于执行与所述标签相关的处理的程序;和
第二处理器,在预先定义并被装载到存储器中的商业类当中,调用所指定的商业类。
CNB2004100338531A 2003-07-31 2004-04-15 具有xml驱动的体系结构的信息处理方法、装置 Expired - Lifetime CN100511128C (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2003283314 2003-07-31
JP283314/2003 2003-07-31
JP025677/2004 2004-02-02
JP2004025677A JP5068000B2 (ja) 2003-07-31 2004-02-02 Xmlドリブンアーキテクチャにおける情報処理方法及びプログラム

Publications (2)

Publication Number Publication Date
CN1581071A true CN1581071A (zh) 2005-02-16
CN100511128C CN100511128C (zh) 2009-07-08

Family

ID=33543590

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004100338531A Expired - Lifetime CN100511128C (zh) 2003-07-31 2004-04-15 具有xml驱动的体系结构的信息处理方法、装置

Country Status (5)

Country Link
US (2) US7469258B2 (zh)
EP (1) EP1503281A1 (zh)
JP (1) JP5068000B2 (zh)
KR (2) KR20050014643A (zh)
CN (1) CN100511128C (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106528506A (zh) * 2016-10-20 2017-03-22 广东小天才科技有限公司 一种基于xml标签的数据处理方法、装置及终端设备
CN111708828A (zh) * 2020-06-19 2020-09-25 深圳前海微众银行股份有限公司 标签化数据管理方法、装置、设备及计算机可读存储介质
CN112069775A (zh) * 2020-08-21 2020-12-11 完美世界控股集团有限公司 数据的转换方法及装置、存储介质、电子装置

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050223098A1 (en) * 2004-04-06 2005-10-06 Matsushita Electric Industrial Co., Ltd. Delivery mechanism for static media objects
US20070171923A1 (en) * 2005-12-01 2007-07-26 Firestar Software, Inc. System and method for exchanging information among exchange applications
US10838714B2 (en) 2006-04-24 2020-11-17 Servicenow, Inc. Applying packages to configure software stacks
US20070250812A1 (en) * 2006-04-24 2007-10-25 Microsoft Corporation Process Encoding
US7971187B2 (en) 2006-04-24 2011-06-28 Microsoft Corporation Configurable software stack
US7890530B2 (en) * 2008-02-05 2011-02-15 International Business Machines Corporation Method and system for controlling access to data via a data-centric security model
US8060490B2 (en) * 2008-11-25 2011-11-15 Microsoft Corporation Analyzer engine
US8601363B2 (en) * 2009-07-20 2013-12-03 Facebook, Inc. Communicating information about a local machine to a browser application
US9262229B2 (en) * 2011-01-28 2016-02-16 Oracle International Corporation System and method for supporting service level quorum in a data grid cluster
US10706021B2 (en) 2012-01-17 2020-07-07 Oracle International Corporation System and method for supporting persistence partition discovery in a distributed data grid
US9250891B1 (en) * 2014-10-28 2016-02-02 Amazon Technologies, Inc. Optimized class loading
US10313222B2 (en) * 2015-07-13 2019-06-04 International Business Machines Corporation Diagnosis of a network adapter during network operation
US11550820B2 (en) 2017-04-28 2023-01-10 Oracle International Corporation System and method for partition-scoped snapshot creation in a distributed data computing environment
US10769019B2 (en) 2017-07-19 2020-09-08 Oracle International Corporation System and method for data recovery in a distributed data computing environment implementing active persistence
US10862965B2 (en) 2017-10-01 2020-12-08 Oracle International Corporation System and method for topics implementation in a distributed data computing environment

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04184627A (ja) 1990-11-20 1992-07-01 Hitachi Ltd プログラム合成システムのインタフェース方法
JPH0863351A (ja) * 1994-08-19 1996-03-08 Hitachi Ltd クラス候補検出システム
JPH08249170A (ja) 1995-03-14 1996-09-27 Mitsubishi Electric Corp グラフィカルユーザインタフェース設計/製造支援装置
JPH09198240A (ja) * 1996-01-23 1997-07-31 Fujitsu Ltd モックアップ方法及びその制御装置
US6381742B2 (en) * 1998-06-19 2002-04-30 Microsoft Corporation Software package management
US6569207B1 (en) * 1998-10-05 2003-05-27 International Business Machines Corporation Converting schemas to component models
AU4501400A (en) * 1999-05-03 2000-11-17 Avolent, Inc. Technique for facilitating customer transactions over a computer network using customized information from a backend computing system
US6792605B1 (en) 1999-06-10 2004-09-14 Bow Street Software, Inc. Method and apparatus for providing web based services using an XML Runtime model to store state session data
JP2001034461A (ja) * 1999-07-23 2001-02-09 Toshiba Corp ソフトウェア構成管理支援装置、その方法およびソフトウェア構成管理支援プログラムを記録したコンピュータ読み取り可能な記録媒体
JP2001155077A (ja) 1999-12-01 2001-06-08 Sumitomo Electric Ind Ltd ワークフロー管理装置、ワークフロー管理方法およびワークフロー管理プログラムを記録した媒体
JP2001188673A (ja) * 1999-12-28 2001-07-10 Mitsubishi Electric Corp ソフトウェア再利用支援装置
US20020073091A1 (en) * 2000-01-07 2002-06-13 Sandeep Jain XML to object translation
JP2001312401A (ja) * 2000-04-28 2001-11-09 Toshiba Corp 処理プログラム構築システム、その方法、処理プログラム構築用プログラムを記録したコンピュータ読み取り可能な記録媒体、および帳票編集処理プログラムを記録したコンピュータ読み取り可能な記録媒体
GB0011426D0 (en) * 2000-05-11 2000-06-28 Charteris Limited A method for transforming documents written in different XML-based languages
WO2002021413A2 (en) * 2000-09-05 2002-03-14 Zaplet, Inc. Methods and apparatus providing electronic messages that are linked and aggregated
US6938079B1 (en) * 2000-09-19 2005-08-30 3Com Corporation System and method for automatically configuring a client device
US7546298B2 (en) * 2001-01-09 2009-06-09 Nextair Corporation Software, devices and methods facilitating execution of server-side applications at mobile devices
JP2002312219A (ja) * 2001-04-17 2002-10-25 Nec Corp ファイル管理システム及び方法並びにファイル管理用プログラム
US20030014441A1 (en) * 2001-06-29 2003-01-16 Akira Suzuki Document data structure, information recording medium, information processing apparatus, information processing system and information processing method
KR20040014671A (ko) 2001-07-20 2004-02-14 어플라이드 머티어리얼즈 인코포레이티드 제조 실행 시스템에서 객체 데이터를 익스포트하거나임포트하는 시스템 및 방법
JP2003108369A (ja) * 2001-09-28 2003-04-11 Hidetomo Harikawa Webからの要求を受け取り結果出力を行うプログラムの自動生成
US20040006527A1 (en) * 2001-12-12 2004-01-08 Petersen John L. Fully integrated securities act registration statement that includes a gift distribution by the principal stockholders of a blank check company
AU2003230731A1 (en) * 2002-03-25 2003-10-13 Data Quality Soluctions, Inc. Method and system for enterprise business process management
US20040059834A1 (en) * 2002-09-19 2004-03-25 Bellsouth Intellectual Property Corporation Efficient exchange of text based protocol language information

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106528506A (zh) * 2016-10-20 2017-03-22 广东小天才科技有限公司 一种基于xml标签的数据处理方法、装置及终端设备
CN106528506B (zh) * 2016-10-20 2019-05-03 广东小天才科技有限公司 一种基于xml标签的数据处理方法、装置及终端设备
CN111708828A (zh) * 2020-06-19 2020-09-25 深圳前海微众银行股份有限公司 标签化数据管理方法、装置、设备及计算机可读存储介质
CN112069775A (zh) * 2020-08-21 2020-12-11 完美世界控股集团有限公司 数据的转换方法及装置、存储介质、电子装置

Also Published As

Publication number Publication date
JP5068000B2 (ja) 2012-11-07
US20050028139A1 (en) 2005-02-03
US7469258B2 (en) 2008-12-23
KR101081678B1 (ko) 2011-11-09
US8533207B2 (en) 2013-09-10
EP1503281A1 (en) 2005-02-02
US20090083335A1 (en) 2009-03-26
KR20050014643A (ko) 2005-02-07
CN100511128C (zh) 2009-07-08
JP2005063404A (ja) 2005-03-10
KR20100122890A (ko) 2010-11-23

Similar Documents

Publication Publication Date Title
US11789706B2 (en) Development system with improved methodology for creation and reuse of software assets
CN1581071A (zh) 具有xml驱动的体系结构的信息处理方法、装置和程序
CN1811702B (zh) 用于向门户服务器应用环境自动部署门户应用的系统和方法
US8296665B2 (en) Developing and executing applications with configurable patterns
US7788647B2 (en) Systems and methods for collaborative programming of simulations of computer programs
Fraternali et al. Engineering rich internet applications with a model-driven approach
US7287229B2 (en) Template-driven process system
US20050160104A1 (en) System and method for generating and deploying a software application
US20110239184A1 (en) Capturing and utilizing specific module dependency information
US20120159491A1 (en) Data driven dynamic workflow
US7421679B2 (en) Method, apparatus and interface for testing web services
US8839192B2 (en) System and method for presentation of cross organizational applications
CN105138312B (zh) 一种表格生成方法及装置
CN1728094A (zh) 智能ui记录和重放结构
CN1674023A (zh) 项目时间和费用
CN1537271A (zh) 使用自主数据处理机的计算机处理和程序设计方法
CN1464401A (zh) 使用影子对象进行核准控制的面向对象系统和方法
US20070204216A1 (en) System and method for creating layouts using a layout editor
US7606820B2 (en) Detecting and handling changes to back-end systems
CN1662011A (zh) 使用元数据定义映射来构建组件应用程序的系统和方法
US20040215604A1 (en) System and method for querying a data source
US20060026379A1 (en) Effective memory management method and device in object-oriented application
US20050114308A1 (en) User customizable reporting
WO2002069141A1 (en) Method and apparatus creation and performance of service engagement modeling
CN1975691A (zh) 用于数据库工作负荷仿真器的方法和装置

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
CX01 Expiry of patent term
CX01 Expiry of patent term

Granted publication date: 20090708