CN105706082A - 用于定义可离线模型图的方法和系统 - Google Patents

用于定义可离线模型图的方法和系统 Download PDF

Info

Publication number
CN105706082A
CN105706082A CN201480058964.XA CN201480058964A CN105706082A CN 105706082 A CN105706082 A CN 105706082A CN 201480058964 A CN201480058964 A CN 201480058964A CN 105706082 A CN105706082 A CN 105706082A
Authority
CN
China
Prior art keywords
view
mobile device
definition
uri
response
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
CN201480058964.XA
Other languages
English (en)
Other versions
CN105706082B (zh
Inventor
W·卡特
D·C·胡梅斯
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.)
Oracle International Corp
Original Assignee
Oracle International Corp
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 Oracle International Corp filed Critical Oracle International Corp
Publication of CN105706082A publication Critical patent/CN105706082A/zh
Application granted granted Critical
Publication of CN105706082B publication Critical patent/CN105706082B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72469User interfaces specially adapted for cordless or mobile telephones for operating the device by selecting functions from two or more displayed items, e.g. menus or icons
    • H04M1/72472User interfaces specially adapted for cordless or mobile telephones for operating the device by selecting functions from two or more displayed items, e.g. menus or icons wherein the items are sorted according to specific criteria, e.g. frequency of use
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/18Information format or content conversion, e.g. adaptation by the network of the transmitted or received information for the purpose of wireless delivery to users or terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/50Service provisioning or reconfiguring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/18Processing of user or subscriber data, e.g. subscribed services, user preferences or user profiles; Transfer of user or subscriber data

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Information Transfer Between Computers (AREA)
  • Telephonic Communication Services (AREA)

Abstract

一种用于定义可离线模型图的方法和系统。在该方法的一个实施例中,由移动装置产生请求。移动装置接收对该请求的响应。移动装置更新存储在移动装置的存储器中的多个表,其中所述更新包括将该响应的部件添加到所述多个表中的第一表。

Description

用于定义可离线模型图的方法和系统
相关申请
本申请要求于2013年9月21日提交的标题为“MethodandSystemforDefininganOfflinableModelGraph”的序列号为61/880,901的美国临时专利申请、和于2013年10月31日提交的标题为“MethodandSystemforDefininganOfflinableModelGraph”的序列号为14/068,790的美国专利申请的在美国法典§119(e)的标题35下的国内利益,其全部内容通过引用包含于此并且为了所有目的就好像在这里完全而充分地阐述这些申请一样。
背景技术
企业应用为商业提供有价值的服务,包括顾客关系管理(CRM)、资源规划、人力资源管理等。将参照提供销售和营销服务的示例性CRM描述本发明,应该理解,本发明不应该局限于此。
CRM是用于管理公司与顾客的交互的广泛地实现的策略。通过移动装置(例如,智能电话或平板计算机)能够访问CRM服务。参照经用户的移动装置向用户提供CRM服务来描述本发明,应该理解,本发明不应该局限于此。
发明内容
一种用于定义可离线模型图的方法和系统。在该方法的一个实施例中,由移动装置产生请求。移动装置接收对该请求的响应。移动装置更新存储在移动装置的存储器中的多个表,其中所述更新包括将该响应的部件添加到所述多个表中的第一表。
附图说明
图1是表示采用移动CRM的示例性系统的相关部件的方框图。
图2是图1中采用的示例性服务器的相关部件的方框图。
图3以图形方式表示图1中采用的移动装置上显示的示例性页面。
图4以图形方式表示图1中采用的移动装置上显示的示例性页面。
图5以图形方式表示图1中采用的移动装置上显示的示例性页面。
图6是表示示例性移动装置的相关部件的方框图。
图7A–7D以图形方式表示图6中采用的移动装置上的存储器中的示例性数据仓库。
图8是表示由图6的移动装置实现的处理的相关方面的流程图。
图9以图形方式表示图1中采用的移动装置上显示的示例性页面。
图10以图形方式表示图1中采用的移动装置上显示的示例性页面。
图11是表示由图6的移动装置实现的处理的相关方面的流程图。
分布在图12A和12B上的图12是表示由图6的移动装置实现的处理的相关方面的流程图。
图13是表示由图6的移动装置实现的处理的相关方面的流程图。
图14是表示由图6的移动装置实现的处理的相关方面的流程图。
图15以图形方式表示图1中采用的移动装置上显示的示例性页面。
图16以图形方式表示图1中采用的移动装置上显示的示例性页面。
在不同附图中使用相同的标号指示相似或相同的项。
具体实施方式
今天的销售劳动力比以往更加具有移动性。为了更好地帮助移动销售劳动力,许多公司采用移动CRM,移动CRM使用户能够通过移动装置上显示的用户界面或“视图”更高效地使用CRM服务,诸如创建、查看和/或更新销售机会、销售帐、联系人、日历事件等。
图1以方框图形式表示提供移动CRM的示例性系统100的相关部件。系统100包括移动装置(例如,智能电话)104,移动装置104与在服务器106上执行的CRM执行无线数据通信。通过由移动装置104显示的视图,能够访问由CRM提供的服务。
在一个实施例中,CRM实现模型-视图-控制器架构。CRM包括状态驱动应用,状态驱动应用包含多个页面定义,所述多个页面定义形成能够由移动装置104显示的视图的基础。响应于从移动装置104接收到视图请求,CRM将来自逻辑数据模型的部件(例如,账户名、联系人姓名等)与选择的页面定义合并或绑定,其结果在另外的处理(例如,通用资源指示器(URI)插入、归档、呈现和/或串行化)之后在答复中被作为视图定义发送给移动装置104。移动装置104接收并且呈现视图定义以用于显示。为了解释的目的,本公开假设:由移动装置接收的任何视图定义包含适合呈现和随后的显示的合并的部件(例如,账户名、联系人姓名等)。在视图定义被呈现以用于随后的显示之前,移动装置可执行预处理(例如,去串行化、数据校正(reconciliation)、本地存储更新等)。
继续参照图1,图2表示具有以方框图形式示出的相关部件的服务器106的例子。存储器202存储用于CRM的应用定义。该应用定义包括页面定义,在存储器202中表示一些页面定义。“出发点”页面定义能够被用于呈现用于显示在移动装置上的出发点视图,出发点视图使能够用户访问逻辑数据模型内的迷你应用或高层商业对象。“账户”、“机会”和“联系人”页面定义能够被用于呈现用于显示在移动装置上的视图,所述视图分别以列表单式呈现账户的名称、机会和联系人。“单个账户”、“单个机会”和“单个联系人”页面定义能够被用于呈现用于显示的视图,所述视图分别以表单格式提供账户、机会和联系人的详细信息。“账户表单”、“机会表单”和“联系人表单”页面定义能够被用于呈现用于显示的视图,所述视图分别在用户可编辑表单中提供账户、机会和联系人的信息。可设想存储器202中的其它页面定义。通常,页面定义能够被用于将逻辑数据模型204呈现为更适合由移动装置的用户经移动装置上显示的视图进行交互的表单。在某种意义上,逻辑数据模型204提供对商业对象(包括账户、联系人、机会等)的访问,一些商业对象被示出在图2中。
存储器202中的应用定义能够被实现为使用JavaServerFaces(JSF)技术建立的状态驱动应用,应该理解,本发明不应该局限于此。JSF提供用于创建用于视图的页面的标准的可重新使用的部件。JSF提供有用的特殊标签以增强视图定义。如以下将会更充分所述,本发明能够利用新特征扩展JSF(或用于建立状态驱动应用的类似技术),该新特征能够在视图定义被发送给移动装置之前将新类型的标签(例如,URI)插入到视图定义中。如以下将会更充分所述,这些新标签能够实现多个特征。例如,所述标签允许移动装置从视图提取模型数据,并且所述标签在移动装置“离线”或缺少与CRM的数据通信时使移动装置能够显示视图。
可采用在处理器上执行的指令的形式的控制逻辑206与应用定义执行数据通信。控制逻辑206能够经接口208从移动装置104接收视图请求。响应于接收视图请求,控制逻辑206可访问存储器202中的应用定义或视图导航堆栈(未示出)以选择用于创建答复的合适的页面定义。除了其它信息之外,还能够基于视图请求中所包含的信息选择页面定义。
页面定义包含元数据,元数据能够被用于从逻辑数据模型204选择创建答复所需的部件(例如,账户名、联系人姓名等)。控制逻辑206能够调用逻辑数据模型204以检索需要的视图部件。控制逻辑206能够随后将检索到的部件与选择的页面定义绑定或合并,其结果在一些另外的处理之后在答复中被作为视图定义发送给请求的移动装置。该答复还可包含以下更充分地描述的档案。图3–5表示响应于在来自CRM的答复中接收到对应视图定义由移动装置104显示的示例性视图。
继续参照图2,图3表示响应于与CRM的移动会话的用户的初始调用而显示在移动装置104的触敏屏幕300上的示例性视图302。更具体地讲,当用户首先调用移动会话时,移动装置104产生对出发点视图的请求并且发送该请求。响应于接收到该请求,控制逻辑206在存储器202中选择出发点页面定义。在一些处理之后,控制逻辑206在答复中将出发点视图定义发送给移动装置。移动装置104接收该答复,并且在接收该答复之后随后显示具有可操作出发点视图部件306–310的视图302。
当由移动装置104显示出发点视图302时,用户能够经激活出发点视图部件306–310请求用于显示在移动装置104上的另外的视图。为了说明,用户能够激活“联系人”以便检索联系人的列表从而查看。响应于激活联系人,移动装置104产生对联系人列表视图的请求并且将该请求发送给CRM。视图请求可包括会话标识或唯一地识别CRM和移动装置104之间的会话的其它信息。CRM和/或控制逻辑206能够使用会话标识管理用于各移动装置的视图导航堆栈,视图导航堆栈又能够被用于选择形成答复所需的合适的页面定义和部件。
继续参照示出的例子,控制逻辑206从移动装置104接收联系人列表视图请求,并且作为响应从存储器202选择联系人列表页面定义。控制逻辑206从模型204选择答复所需的部件(例如,联系人姓名)并且合并所述部件。部件选择可基于选择的页面定义中的信息和/或其它信息。在当前例子中,控制逻辑206选择由联系人页面定义直接或间接识别的联系人姓名。由控制逻辑206将选择并且检索的部件与联系人页面定义合并以创建视图定义。在创建视图定义时,控制逻辑206也可在视图定义在答复中被发送给移动装置之前基于页面定义、为了与页面定义合并而选择的部件等选择性地以逻辑方式插入URI。控制逻辑206在一些另外的处理之后向移动装置104发送答复,该答复包含联系人视图定义。所述另外的处理可包括将档案添加到该答复。档案可包含一个或多个另外的预先存在的视图定义或由控制逻辑206创建的视图定义。
以下提供包括插入的URI的在答复中发送给移动装置104的示例性联系人列表视图定义的相关部分。
联系人列表视图定义
除了包含联系人视图定义之外,由控制逻辑206发送的答复还可包括档案,该档案包含联系人动态客户端视图(DCV)。如以下将会更充分所述,DCV包括可执行指令或语句(例如,EL语句),所述可执行指令或语句当在移动装置上执行时使移动装置能够在移动装置离线或缺少与CRM的数据通信的同时创建并且显示动态视图。在移动装置处于离线模式的同时,DCV能够使移动装置能够:将在本地存储的部件(诸如,联系人、账户、机会等)排序(例如,按字母顺序)并且显示;搜索在本地存储的部件并且显示其结果;等等。以下提供示出的针对联系人视图请求的答复的档案中所包括的示例性联系人DCV的相关部分。
联系人DCV
至少在最初,档案的内容不被呈现以用于显示。相反地,如以下将会更充分所述,它们能够被存储在移动装置上的存储器中。虽然DCV能够被识别为视图定义,但DCV不被呈现和显示在移动装置上。相反地,在移动装置处于离线状态的同时,能够执行DCV以产生用于随后的呈现和显示的视图。
图4显示在移动装置104从CRM接收到示出的答复之后由移动装置104显示的示例性联系人列表视图402。视图中显示的许多部件是可操作的。例如,“LabronJames”部件能够被用户激活(例如,“点击”)以请求提供LabronJames的联系人细节的对应视图。为了说明,响应于激活,移动装置104产生对LabronJames细节视图的请求并且将该请求发送给CRM。控制逻辑206接收到这个请求,并且基于该请求中的信息选择联系人页面定义。控制逻辑206选择由联系人页面定义直接或间接识别的部件(例如,与联系人关联的账户名)。选择的部件被与联系人页面定义合并,添加URI,并且该结果在一些另外的处理之后在答复中被发送给移动装置104。以下提供由移动装置104接收的用于LabronJames的示例性联系人视图定义的相关部分。
LabronJames联系人视图定义
继续参照图1和2,图5显示在移动装置104从CRM接收该答复并且呈现该答复之后由移动装置104显示的LabronJames联系人视图502的例子。视图502表示以表单格式显示的细节联系人部件。视图502具有由移动装置104显示的其它视图(诸如,图4中示出的视图402)的外观和感觉。例如,视图402和502都包括“后退”按钮,该“后退”按钮能够被用于向后导航至前一视图。如果视图502的后退按钮被激活,则移动装置104将会产生后退请求并且将后退请求发送给CRM。在一个实施例中,每当任何视图中的任何后退按钮被激活时,由移动装置104发送相同的通用后退请求。响应于后退请求,控制逻辑206能够从视图导航堆栈弹出最近项,该项包括与视图502相关的信息。然后,控制逻辑206能够使用最近添加的堆栈项中的页面定义(例如,联系人页面定义)和来自模型的部件,重新创建导致视图402的答复。重新创建该答复以随后传送给移动装置104。除了在其间已改变的来自逻辑数据模型的任何部件之外,视图的重新显示应该是相同的。
像以上的联系人视图定义例子和联系人DCV例子一样,LabronJames联系人视图定义例子包括URI,诸如视图URI、目标视图URI和模型URI。如将会更充分所述,移动装置(比如移动装置104)能够将来自CRM的视图定义和DCV(比如以上的联系人DCV、联系人列表视图定义和LaBronJames联系人视图定义例子)存储在本地存储器中以便能够实现视图的离线呈现和显示。
视图和目标视图URI能够提供定义视图之间的关系的视图图,该视图图使用户能够在用户的移动装置离线的同时在他的移动装置上在视图之间导航。目标视图URI链接到视图定义内的可操作部件。例如,以上的“AcmeBikeCorp”部件链接到“view:/accounts/201#detail”目标视图URI。当在移动装置离线的同时用户点击显示的视图部件时,链接到目标视图URI的视图定义能够被从本地存储器检索并且随后呈现以用于显示。
模型URI能够实现移动装置104的存储器中的模型图。在一个实施例中,模型图可采用可由SQL语句访问的数据库表的形式。在移动装置104离线的同时,模型图使移动装置能够创建复合视图定义,搜索部件和显示结果,将部件排序并且显示结果、部件的校正等。
在多数时间,移动装置(诸如,图1中示出的移动装置104)与CRM(诸如,在服务器106上执行的CRM)执行数据通信。在“在线”或执行数据通信的同时,移动装置能够从CRM接收视图定义以用于随后的呈现和显示。然而,CRM和移动装置之间的数据通信可能自发地或非自发地中断。例如,移动装置104可具有允许用户自发地禁用无线通信的特征(例如,“飞行模式”),或者移动装置可能与通信塔相隔太远而无法交换无线电信号通信。
图6表示根据本发明的一个实施例的能够实现对CRM数据和/或服务的离线访问的移动装置104的相关部件。更具体地讲,图6以方框图形式显示与视图控制器602和移动CRM客户端606执行数据通信的视图请求操纵器604。在一个实施例中,部件602-606可采用在移动装置104的一个或多个处理器上执行的指令的形式。另外,图6示出了存储器610,存储器610被配置为存储文件系统612和数据仓库614。在一个实施例中,文件系统612可由视图控制器602访问并且被配置为将视图定义存储在由各URL或地址识别的各文件中。数据仓库614可采用存储一个或多个表(诸如,以下更充分地描述的视图表)的数据库的形式。数据库表可由视图控制器602访问并且被配置为存储上述模型图。
图7A表示在其初始或空白状态下存储在数据仓库614中的示例性表(包括表702–720)。在其它实施例中,可设想另外的表或更少的表。视图表702将视图URI映射到用于存储与视图URI对应的视图定义的文件系统612中的文件的URL。表704-720存储模型URI。这些表中的一些表(诸如,集合表704和实体表706)包含仅具有一个模型URI的条目。其余表706-720包含将模型URI映射到其它模型URI、值(例如,视图部件)和/或视图URI的条目。例如,字段表706将字段URI映射到字段名URI、部件值和源URI。需要注意的是,在字段表706内,字段URI被映射到值或源URI,但不被映射到值和源URI二者。collection_entities表712、entity_fields表714、collection_views表716和entity_views表720是映射模型URI或视图URI的一对多交叉表。这些表如其标题所指定映射URI。换句话说,collection_entities表712将集合URI映射到实体URI,并且entity_views表720将实体URI映射到视图URI。
响应于显示的可操作视图部件的用户激活,移动CRM客户端606产生对视图的请求(诸如,上述对联系人列表视图的请求)。请求操纵器604接收请求,并且被配置为如果移动装置104在线或与服务器106执行数据通信则将该请求转发给CRM。否则,如以下将会更充分所述,请求操纵器604将视图请求转发给视图控制器602。
图8表示由视图控制器602和请求操纵器604采用以便能够实现对CRM数据和/或服务的离线访问的示例性处理。当用户移动装置104激活(例如,点击)呈现的视图定义的显示的可操作视图部件时,该处理开始。激活的视图部件被假设为经目标视图URI链接到单独的视图定义。响应于用户激活,移动CRM606产生与激活的视图部件对应的视图请求。链接到激活的部件的视图URI可被包括在由请求操纵器604接收的请求中。
当接收到该视图请求时,请求操纵器604能够确定移动装置104是在在线模式下操作还是在离线模式下操作。如果移动装置104在在线模式下操作,则该处理前进至步骤806,在步骤806中,请求操纵器604将视图请求发送给服务器106,并且最终,视图控制器602将会接收到答复,该答复包括用于请求的视图的视图定义。另外,该答复可包含档案,档案包含另外的视图定义(包括DCV,诸如上述示例性联系人DCV)。最初,不显示档案内所包含的视图定义。然而,当接收到所述视图定义时,它们被用于更新数据仓库614和/或文件系统612。
在步骤810中,视图控制器602利用答复视图定义的内容更新文件系统612和数据仓库614。将参照图11和12更充分地描述用于利用视图定义的内容更新文件系统612和数据仓库614的示例性过程。一旦视图控制器602已更新文件系统612和数据仓库614,图8中示出的处理继续执行视图控制器602确定该答复是否包含档案。如果档案被包含在该答复中,则视图控制器602使用图11和12中示出的处理利用该档案中的每个视图定义更新文件系统612和数据仓库614。如果该答复缺少档案,则该答复的视图定义被提供给移动CRM客户端606以用于呈现和随后的显示,如816中所示,并且该处理结束。
当在处于离线模式的同时处理操纵器604从移动CRM客户端606接收到视图请求时,请求操纵器604将该请求转发给视图控制器602,视图控制器602又访问视图表702以读取映射到该视图请求的视图URI的URL。使用这个URL,由该URL识别的文件中所包含的视图定义被从文件系统612读取并且被提供给视图控制器602。视图控制器602确定该视图定义是否是DCV,如步骤822中所示。如果该视图定义不是DCV,则视图控制器602将该视图定义转发给移动CRM客户以用于呈现和显示。在一个实施例中,如以下将会更充分所述,在视图控制器转发该视图定义之前,视图控制器602能够使用校正处理(诸如,图14中示出的示例性校正处理)利用数据仓库614中的部件校正该视图定义中的部件。
如果该文件包含DCV,则图8中示出的处理前进至步骤824,在步骤824中,由视图控制器602执行该DCV。虽然未示出,但视图控制器可包括执行DCV的指令的引擎(例如,EL引擎)。此外,虽然未示出,但视图控制器602可包括数据库管理系统,该数据库管理系统产生用于访问数据仓库614内的表的查询(例如,SQL查询)。这些查询中的一些查询能够由EL引擎根据由EL引擎执行的指令产生。在执行DCV的同时,视图控制器602能够产生结果视图定义,该结果视图定义又被提供给移动CRM606以用于随后的呈现和显示。
如上所述,图11和12表示在图8的步骤810或814处用于更新文件系统612和数据仓库614的示例性处理。图11中的处理被用于更新视图表702和文件系统612。图12中的处理被用于更新数据仓库614中的表。
图11中示出的处理开始于视图控制器602访问视图表702以确定它是否包含用于视图定义的每个目标视图URI的条目。在步骤1104,视图控制器在视图表702中为视图定义内所包含的每个新目标视图URI创建新条目。换句话说,如果视图表702缺少用于视图定义的目标视图URI的条目,则视图控制器602在视图表中创建添加了该新目标视图URI的新条目。最终,在处理了视图定义的目标视图URI之后,该处理前进至步骤1106,在步骤1106中,视图控制器602确定视图表是否包含用于视图定义的视图URI。如果视图表缺少这个URI,则视图控制器在视图表中创建添加了该视图URI的新条目。视图控制器602将感兴趣的视图定义的拷贝存储在文件系统612中。视图控制器602随后将视图URI映射到存储该视图定义拷贝的文件的URL。其后,该处理前进至图12,以下更充分地描述图12。
然而,如果在步骤1106中确定视图表702确实包含用于视图定义的视图URI,则该处理前进至步骤1120,在步骤1120中,视图控制器602访问视图表以查看URL是否被映射到用于视图定义的URI。如果存在映射到这个URI的URL,则该处理前进至1126,在1126,利用视图定义重写由该URL识别的内容。需要注意的是,在这个步骤中,当两种定义都被包含在来自服务器106的同一答复中时,DCV(诸如,以上的示例性联系人DCV)可重写视图定义(诸如,以上的联系人列表视图定义例子)。
如果视图表缺少映射到视图定义的视图URI的URL,则视图控制器604将视图定义存储在由URL识别的文件中,并且视图控制器604将该URL映射到视图表中的视图URI。在步骤1124之后或响应于在步骤1226中重写视图定义的前一版本,视图控制器602根据以下更充分地描述的图12中示出的处理处理视图定义的模型URI。
图12表示用于利用视图定义的内容更新模型URI表的示例性处理。模型表能够实现离线移动CRM处理的许多特征,包括离线搜索、离线排序、离线部件校正、动态视图的离线创建等。参照以上的示例性LabronJames联系人定义,当视图控制器602选择视图定义的第一条目(例如,包含部件“LabronJames”的条目)时,图12的处理开始。需要注意的是,在一个实施例中,视图定义的每个条目包含单个视图定义部件,诸如“LabronJames”。
在步骤1204中,视图控制器602选择选择的部件的第一模型URI。这能够是字段URI、字段名URI、源URI、实体URI或集合URI。可设想其它模型URI。视图控制器602能够确定选择的模型URI类型。如果选择的模型URI是字段URI,则该处理前进至步骤1210,在步骤1210中,视图控制器602将选择的模型URI作为字段URI添加到字段表706,除非该表已经包含具有选择的模型URI的条目。在步骤1212中,视图控制器确定选择的条目是否包含源字段URI。如果选择的条目不包含源字段URI,则视图控制器602将选择的视图定义条目的部件值和字段名URI添加并且映射到字段URI。
如果在步骤1212中视图控制器602确定选择的视图定义条目确实具有源字段URI,则执行步骤1214-1220。这些步骤配置字段表以根据图14中示出的处理校正各个值,将在以下更充分地描述图14中示出的处理。在步骤1214中,如果需要的话,则视图控制器602将源字段URI映射到字段表中的字段URI。需要注意的是,由于先前执行了图12内示出的处理,字段URI可能在步骤1214之前被映射到该表内的源URI。在步骤1216中,视图控制器602将选择的条目的源字段URI作为字段URI添加到字段表,除非该源字段URI在步骤1216之前作为字段URI存在于视图表中。在步骤1220中,选择的视图定义条目的部件和它的字段名URI被添加到在字段URI列中包含该源字段URI的视图表条目。在一个实施例中,如果字段表中的已有部件值和选择的条目的部件值不同,则利用选择的条目的部件值更新字段表中的已有部件值。响应于步骤1220或1226,视图控制器602将新条目添加到entity_fields表720,除非该条目被预先包含在该表中,该新条目将选择的模型URI映射到选择的视图定义条目的实体URI。
如果在步骤1206中确定选择的模型URI不是字段URI,则该处理前进至步骤1224,在步骤1224中,视图控制器602确定选择的模型URI是否是集合URI。如果选择的模型URI是集合URI,则视图控制器执行步骤1228–1232。如果选择的模型URI不是集合URI,则该处理前进至步骤1234,在步骤1234中,视图控制器602确定选择的URI是否是实体URI。假设满足这个条件,则执行步骤1236-1242。如果不满足这个条件,或响应于执行步骤1242,则视图控制器602在步骤1244中确定另外的模型URI是否被包含在选择的视图定义条目内。如果存在另一模型URI,则在步骤1250中选择所述另一模型URI,并且利用新选择的模型URI重复步骤1206–1244。如果在选择的视图定义条目中不存在更多的模型URI,则视图控制器602确定视图定义是否包含另外的条目。如果视图定义包含另外的条目,则在步骤1252中选择下一个条目,并且利用新选择的视图定义条目重复步骤1204–1246。
图7B显示在视图控制器602根据图8、11和12处理以上的示例性联系人列表视图定义例子之后的图7A中的数据仓库。包含联系人列表视图定义例子的示出的例子的答复也包含具有以上的示例性DCV的档案。根据图8的处理,由URL=file://…contacts#list识别的文件将会最初包含联系人列表视图定义,但将会在稍后被利用该示例性DCV重写。图7C显示在视图控制器602根据图8、11和12处理以上的示例性LabronJames联系人视图定义之后的图7B中的数据仓库。
虽然在图7C中未指示,但移动装置104的文件系统612存储用于图3中示出的出发点视图的视图定义。在移动装置104处于离线模式的同时,这个视图定义能够被呈现并且显示在移动装置104上,并且这个显示的出发点视图应该类似于图3中示出的出发点视图。视图控制器602、文件系统612和数据仓库614能够实现离线CRM服务,包括移动装置104上的视图的离线显示。为了说明,假设在移动装置104处于离线模式的同时移动装置104的用户激活出发点视图的“联系人”(参见图3)。作为响应,移动CRM客户端606产生对联系人视图定义的请求。这个请求将会包括链接到呈现的出发点视图定义的联系人视图部件的视图URI(即,views://contacts#list)。由于移动装置104离线,所以请求操纵器604将会根据图8中示出的处理将来自移动CRM客户端的请求转发给视图控制器602。作为响应,视图控制器602访问视图7C中示出的视图表702以读取映射到请求的视图URI(即,views://contacts#list)的URL(即,file:\\...contacts#list)。视图控制器602检索存储在映射的URL处的联系人列表视图定义。然而,这个视图定义是DCV(即,以上的示例性联系人DCV)。视图控制器能够根据图13中示出的处理执行这个DCV,将在以下更充分地描述图13中示出的处理。最终,视图控制器将会产生结果视图定义,该结果视图定义最终被转发给移动CRM客户端606以用于呈现和显示。
图9表示由移动装置104显示的示例性联系人列表视图。在视图定义被呈现和显示之前,视图控制器602能够访问视图表702以识别映射到URL的视图定义中的目标视图URI。显示的视图定义将会包括识别那些可操作的视图部件(即,映射到由视图控制器602预先识别为映射到视图表702中的URL的目标视图URI的部件)的视觉指示。在一个实施例中,显示的可操作的视图部件由移动装置104以粗体显示。在图9中示出的例子中,LaBronJames联系人视图部件被以粗体显示,因此指示这个部件是可操作的。
响应于用户激活可操作部件(诸如,图9中显示的LaBronJames部件),根据图8中示出的处理操作的移动CRM606产生对LaBronJames联系人定义视图的视图请求。这个请求将会包括链接到呈现并且显示的联系人列表视图定义内的“LaBronJames”部件的视图URI(即,view//contacts/101#detail)。由于移动装置104离线,所以这个请求被提供给视图控制器602,视图控制器602又从在映射的URL(即,file://...contacts/101#detail)处的文件系统定义读取LaBronJames联系人视图定义。这个联系人视图定义被转发给移动CRM客户端606以用于随后的呈现和显示。图10表示在移动装置104处于离线模式的同时由移动装置104显示的LaBronJames联系人视图。
在移动装置在离线模式下工作的同时,能够由视图控制器602执行DCV以产生用于随后的呈现和显示的视图定义。该视图定义可取决于由用户经移动装置104提供的输入;针对在视图控制器602上执行的DCV的不同输入可导致不同视图定义。当执行DCV时,视图控制器602能够分别根据一些选择准则从字段表710的值列选择部件(选择所有联系人或以“L”开头的所有联系人),可选地根据另一准则将选择的部件排序(例如,按字母顺序排序),以及创建具有包含选择的部件的条目的结果视图定义。一旦创建,结果视图定义能够被呈现以用于显示在移动装置104上。图9表示响应于视图控制器602执行以上的示例性DCV而显示的示例性视图。
图13表示响应于执行DCV(诸如,以上的示例性DCV)而由视图控制器602执行的示例性处理。当根据图8的步骤820从文件系统612读取DCV时,视图控制器602访问collection_entities表并且收集映射到在DCV中指定的集合URI的所有实体URI,如步骤1302中所示。为了说明,以上的示例性DCV中的指定集合URI是“联系人”。在步骤1304中,视图控制器602访问entity_fields表并且收集分别映射到在步骤1302中收集的实体URI的字段URI。字段URI的这种收集能够被用于识别可放置在结果视图定义中的一个或多个部件。
在一些离线视图(诸如,图9中示出的视图)中,搜索字段可用,用户能够在该搜索字段中输入搜索项。在输入搜索项并且激活搜索按钮之后,搜索项被提供给视图控制器602以用于图13中示出的处理。更具体地讲,视图控制器602访问字段表710并且从值列收集这样的部件:所述部件由字段URI形成步骤1304识别,并且;满足由移动装置104的用户输入的搜索项。如果用户未输入搜索项,则假设为空,并且视图控制器在步骤1306中收集分别映射到在步骤1304中收集的字段URI的所有值。当使用空搜索项时,视图控制器602可将在步骤1306中收集的部件排序。在一个实施例中,将所述部件按字母顺序排序。
对于在步骤1306中收集的每个值,视图控制器在结果视图定义中创建条目并且添加在步骤1306中收集的各部件。在步骤1312中,视图控制器602访问字段表710并且收集分别映射到在步骤1306中收集的部件的实体URI。其后,视图控制器602访问entity_views表720并且收集分别映射到在步骤1312中收集的实体URI的视图URI。访问视图表702以收集分别映射到在步骤1314中收集的视图URI的URL(如果存在任何URL的话),并且这些URL被添加到视图定义的结果的合适的条目作为操作项。最终,首要部件和命令部件也被添加到结果视图定义的条目。结果视图定义由视图控制器602提供给移动CRM客户以用于呈现和显示。
如上所述,移动装置104能够校正视图部件以确保即使当不处理DCV视图时也为用户提供数据仓库614中的最近或最新的部件。图14表示当呈现和显示视图时由视图控制器602为了校正部件而执行的示例性处理。在视图控制器将请求的视图定义转发给移动CRM客户端606以用于在图8的步骤816或830中呈现和显示之前,能够由视图控制器执行这个处理。为了表示图14中示出的处理,假设移动装置104在接收到以上的示例性联系人列表视图定义和示例性LabronJames联系人视图定义之后从服务器102接收到下面的示例性账户视图定义。
AcmeCorp视图定义
根据图8、11和12中示出的处理,由视图控制器602处理AcmeCorp视图定义。图7D表示在视图控制器602根据图12中示出的处理处理以上的示例性AcmeCorp联系人视图定义之后的图7C中的数据仓库614。在执行图12中示出的处理时,视图控制器602通过如图7D中所示利用“AcmeCorp”重写“AcmeBikeCorp”来更新字段表710。图15表示与示例性AcmeCorp视图定义对应的视图。这个视图显示:LabronJames是“AcmeCorp.”的联系人,而非如图10中所示的“AcmeBikeCorp的”的联系人。
假设移动装置104随后离线,用户激活出发点视图的“联系人”部件,然后激活响应于激活联系人而显示的联系人列表视图的“LabronJames”部件。移动装置104能够执行图8中示出的处理并且呈现从文件系统612读取的视图定义,如步骤830中所示。然而,在视图定义被转发以用于呈现和显示之前,视图控制器602执行图14的校正处理。图16表示在执行图14中示出的处理之后的视图。如图中所示,账户名已被更新为“AcmeCorp”而非如图10中所示的“AcmeBikeCorp”。
移动装置104可具有称为“导出数据”的特征,该特征允许用户下载并且在本地存储若干相关视图定义。例如,用户可能希望下载与特定账户关联的视图的多数或全部视图定义(联系人、机会、日历事件等)。这些视图定义或其部件能够由移动装置104在处于离线模式的同时呈现和显示。因此,当用户激活这个特征时,移动装置能够产生对例如账户和所有关联的视图定义的视图请求。服务器102将会将答复发送给移动装置,该答复包含账户视图定义和档案,该档案包含用于与该账户关联的各联系人、机会等的视图定义。视图控制器602能够根据图11和12中示出的处理利用档案的视图定义的内容更新文件系统612和数据仓库614。
虽然已结合几个实施例描述了本发明,但本发明不应该局限于这里阐述的特定形式。相反地,它们应该包括能够被合理地包括在由所附权利要求定义的本发明的范围内的这种替代物、变型和等同物。

Claims (20)

1.一种方法,包括:
由移动装置产生请求;
接收对该请求的响应;
更新存储在移动装置的存储器中的多个表;
其中所述更新包括将该响应的部件添加到所述多个表中的第一表。
2.如权利要求1所述的方法,其中所述更新还包括将该响应的第一标签添加到第一表。
3.如权利要求2所述的方法,其中所述更新还包括将第一标签添加到所述多个表中的第二表。
4.如权利要求1所述的方法,还包括:
在一地址处将该响应的一些或全部存储在移动装置的存储器中;
将该地址映射到所述多个表中的第三表中的标识符。
5.如权利要求4所述的方法,其中所述标识符被包含在该响应中。
6.如权利要求5所述的方法,其中所述更新还包括将该标识符添加到所述多个表中的另一表。
7.如权利要求4所述的方法,其中所述更新还包括将该响应的第二标签添加到所述多个表中的第二表,以及将该标识符添加到第二表。
8.一种存储指令的存储器,其中移动装置响应于执行所述指令而实现一种方法,所述方法包括:
产生请求;
接收对该请求的响应;
更新存储在移动装置的存储器中的多个表;
其中所述更新包括将该响应的部件添加到所述多个表中的第一表。
9.如权利要求8所述的存储器,其中所述更新还包括将该响应的第一标签添加到第一表。
10.如权利要求9所述的存储器,其中所述更新还包括将第一标签添加到所述多个表中的第二表。
11.如权利要求8所述的存储器,其中所述方法还包括:
在一地址处将该响应的一些或全部存储在移动装置的存储器中;
将该地址映射到所述多个表中的第三表中的标识符。
12.如权利要求11所述的存储器,其中所述标识符被包含在该响应中。
13.如权利要求12所述的存储器,其中所述更新还包括将该标识符添加到所述多个表中的另一表。
14.如权利要求11所述的存储器,其中所述更新还包括将该响应的第二标签添加到所述多个表中的第二表,以及将该标识符添加到第二表。
15.一种方法,包括:
将指令传送给移动装置以存储在移动装置的存储器中;
其中移动装置被配置为响应于执行所述指令而实现另一方法,所述另一方法包括:
产生请求;
接收对该请求的响应;
更新存储在移动装置的存储器中的多个表;
其中所述更新包括将该响应的部件添加到所述多个表中的第一表。
16.如权利要求15所述的方法,其中所述更新还包括将该响应的第一标签添加到第一表。
17.如权利要求16所述的方法,其中所述更新还包括将第一标签添加到所述多个表中的第二表。
18.如权利要求15所述的方法,其中所述另一方法还包括:
在一地址处将该响应的一些或全部存储在移动装置的存储器中;
将该地址映射到所述多个表中的第三表中的标识符。
19.如权利要求18所述的方法,其中所述标识符被包含在该响应中。
20.如权利要求15所述的方法,其中所述更新还包括将该标识符添加到所述多个表中的另一表。
CN201480058964.XA 2013-09-21 2014-09-22 用于定义可离线模型图的方法和系统 Active CN105706082B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201361880901P 2013-09-21 2013-09-21
US61/880,901 2013-09-21
US14/068,790 US9456335B2 (en) 2013-09-21 2013-10-31 Method and system for defining an offlinable model graph
US14/068,790 2013-10-31
PCT/US2014/056740 WO2015042512A1 (en) 2013-09-21 2014-09-22 Method and system for defining an offlinable model graph

Publications (2)

Publication Number Publication Date
CN105706082A true CN105706082A (zh) 2016-06-22
CN105706082B CN105706082B (zh) 2020-09-22

Family

ID=51790842

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480058964.XA Active CN105706082B (zh) 2013-09-21 2014-09-22 用于定义可离线模型图的方法和系统

Country Status (5)

Country Link
US (2) US9456335B2 (zh)
EP (1) EP3047402A1 (zh)
JP (1) JP6434964B2 (zh)
CN (1) CN105706082B (zh)
WO (1) WO2015042512A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9760897B2 (en) * 2013-09-21 2017-09-12 Oracle International Corporation Method and system for defining an offlinable view/controller graph
US9917923B2 (en) 2014-09-26 2018-03-13 Oracle International Corporation Building message relationships for offline operation of an enterprise application

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5815811A (en) * 1989-06-29 1998-09-29 Symbol Technologies, Inc. Preemptive roaming in a cellular local area wireless network
CN1249646A (zh) * 1998-09-14 2000-04-05 安维尔德普兰尼特公司 交互式双向通信装置与网络交互作用的方法和结构
CN1513242A (zh) * 2001-06-01 2004-07-14 用于建立路由表和用于在自动化系统中路由信号的系统和方法
CN101106779A (zh) * 2007-07-25 2008-01-16 中兴通讯股份有限公司 一种数字通讯方法
CN102449628A (zh) * 2009-04-03 2012-05-09 谷歌公司 用于持久性Web应用设计的架构模式
AU2012101581A4 (en) * 2012-10-30 2012-11-29 The App Shed Pty Ltd The Toolshed Mobile Application

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5319766A (en) * 1992-04-24 1994-06-07 Digital Equipment Corporation Duplicate tag store for a processor having primary and backup cache memories in a multiprocessor computer system
US6108769A (en) * 1996-05-17 2000-08-22 Advanced Micro Devices, Inc. Dependency table for reducing dependency checking hardware
JP3175692B2 (ja) 1998-04-28 2001-06-11 日本電気株式会社 コンピュータと携帯端末間のデータ連携システム及びそのデータ連携方法
JPH11345240A (ja) * 1998-06-02 1999-12-14 Nippon Telegr & Teleph Corp <Ntt> Push技術によるコンテンツ配信および配信先でのデータベース生成・更新方式およびそのプログラムを記録した記録媒体
JP2000267971A (ja) * 1999-03-17 2000-09-29 Sharp Corp オフライン表示機能付通信装置及び方法並びに記録媒体
US7162427B1 (en) * 1999-08-20 2007-01-09 Electronic Data Systems Corporation Structure and method of modeling integrated business and information technology frameworks and architecture in support of a business
US20020124011A1 (en) * 2001-03-01 2002-09-05 Baxter Robert W. Methods, systems, and computer program products for communicating with a controller using a database interface
JP4382326B2 (ja) * 2002-05-24 2009-12-09 ケープレックス・インク ウェブ・ドキュメントを再編集して再配布する方法及び装置
US7143241B2 (en) * 2002-08-06 2006-11-28 Hewlett-Packard Development Company, L.P. Cache management in a mobile device
JP2004280203A (ja) * 2003-03-12 2004-10-07 Sony Corp Web対応電子機器装置、ページ閲覧表示方法およびプログラム
JP2006526837A (ja) * 2003-06-03 2006-11-24 株式会社Access ページ保存ファイルを用いてコンテンツを閲覧する方法
US8504704B2 (en) * 2004-06-16 2013-08-06 Dormarke Assets Limited Liability Company Distributed contact information management
US7467389B2 (en) 2004-11-23 2008-12-16 Sybase, Inc. System and methodology providing service invocation for occasionally connected computing devices
WO2006089392A1 (en) * 2005-02-22 2006-08-31 Nextair Corporation Determining operational status of a mobile device capable of executing server-side applications
US7370050B2 (en) * 2005-02-28 2008-05-06 Microsoft Corporation Discoverability and enumeration mechanisms in a hierarchically secure storage system
US8935249B2 (en) * 2007-06-26 2015-01-13 Oracle Otc Subsidiary Llc Visualization of concepts within a collection of information
US8832140B2 (en) * 2007-06-26 2014-09-09 Oracle Otc Subsidiary Llc System and method for measuring the quality of document sets
JP2010102453A (ja) * 2008-10-22 2010-05-06 Ntt Docomo Inc Webページ閲覧方法、情報処理装置およびWebページ閲覧プログラム
JP2010244249A (ja) * 2009-04-03 2010-10-28 Visionere Corp メニュー表示装置、メニュー表示システム、サーバ、メニュー表示方法、及びコンピュータプログラム
JP2011164749A (ja) * 2010-02-05 2011-08-25 Kddi Corp Webアプリケーション高可用化装置及びWebアプリケーション高可用化方法
JP5627964B2 (ja) * 2010-09-10 2014-11-19 シャープ株式会社 端末装置、端末装置の制御方法、端末装置制御プログラム、および該プログラムを記録したコンピュータ読み取り可能な記録媒体
US9378071B2 (en) * 2012-06-23 2016-06-28 Pmda Services Pty Ltd Computing device for state transitions of recursive state machines and a computer-implemented method for the definition, design and deployment of domain recursive state machines for computing devices of that type
US9798772B2 (en) * 2013-04-12 2017-10-24 Oracle International Corporation Using persistent data samples and query-time statistics for query optimization

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5815811A (en) * 1989-06-29 1998-09-29 Symbol Technologies, Inc. Preemptive roaming in a cellular local area wireless network
CN1249646A (zh) * 1998-09-14 2000-04-05 安维尔德普兰尼特公司 交互式双向通信装置与网络交互作用的方法和结构
CN1513242A (zh) * 2001-06-01 2004-07-14 用于建立路由表和用于在自动化系统中路由信号的系统和方法
CN101106779A (zh) * 2007-07-25 2008-01-16 中兴通讯股份有限公司 一种数字通讯方法
CN102449628A (zh) * 2009-04-03 2012-05-09 谷歌公司 用于持久性Web应用设计的架构模式
AU2012101581A4 (en) * 2012-10-30 2012-11-29 The App Shed Pty Ltd The Toolshed Mobile Application

Also Published As

Publication number Publication date
JP6434964B2 (ja) 2018-12-05
US20170055102A1 (en) 2017-02-23
EP3047402A1 (en) 2016-07-27
US10911592B2 (en) 2021-02-02
US20150087276A1 (en) 2015-03-26
US9456335B2 (en) 2016-09-27
CN105706082B (zh) 2020-09-22
WO2015042512A1 (en) 2015-03-26
JP2016537697A (ja) 2016-12-01

Similar Documents

Publication Publication Date Title
CN102364464B (zh) 对象实例版本化
US5608900A (en) Generation and storage of connections between objects in a computer network
CN100397398C (zh) 从多个格式不同的物理表创建逻辑表的方法和系统
WO2009017534A1 (en) Persistent query system for automatic on-demand data subscriptions from mobile devices
CN104919453A (zh) 数据库内容的每用户汇总
CN102004752A (zh) 灵活的立方体数据入库
CN108701121A (zh) 将用户输入分派到用户界面中的多个输入域
KR101475335B1 (ko) 데이터베이스 검색에 있어 조회 향상
US9922100B2 (en) Systems and methods for facilitating the development of an application that accesses data
CN104919444A (zh) 主题集合
CN111124411A (zh) 一种基于动态页面对表格进行个性化设置的方法及系统
CN103098055B (zh) 移动客户关系管理中的递归导航
CN107735785A (zh) 自动信息检索
CN105706082A (zh) 用于定义可离线模型图的方法和系统
US8479222B2 (en) Simplifying interaction with multiple applications when using forms via a common interface
US9760897B2 (en) Method and system for defining an offlinable view/controller graph
JP4272653B2 (ja) 情報連携システム
US8386953B1 (en) Accordion user interface
CN113094367A (zh) 数据处理方法、装置和服务器
CN116339717B (zh) 一种数据执行方法、装置、设备和介质
US8473472B2 (en) Footprint tracking of contacts
CN116633898A (zh) 群组建立方法、装置、电子设备及计算机可读存储介质
CN116627338A (zh) 一种数据还原方法、装置、计算机设备及存储介质
CN112286970A (zh) 信息处理方法、系统、计算机设备及计算机可读存储介质
CN116383145A (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
GR01 Patent grant
GR01 Patent grant