CN1811702A - 开发门户应用和自动部署门户应用的系统和方法 - Google Patents
开发门户应用和自动部署门户应用的系统和方法 Download PDFInfo
- Publication number
- CN1811702A CN1811702A CNA2005100796553A CN200510079655A CN1811702A CN 1811702 A CN1811702 A CN 1811702A CN A2005100796553 A CNA2005100796553 A CN A2005100796553A CN 200510079655 A CN200510079655 A CN 200510079655A CN 1811702 A CN1811702 A CN 1811702A
- Authority
- CN
- China
- Prior art keywords
- application
- portal
- descriptor
- server
- application component
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 30
- 230000007246 mechanism Effects 0.000 claims abstract description 15
- 230000008569 process Effects 0.000 claims abstract description 15
- 238000011161 development Methods 0.000 claims description 3
- 238000013507 mapping Methods 0.000 claims description 3
- 238000012856 packing Methods 0.000 claims description 3
- 230000015572 biosynthetic process Effects 0.000 claims 2
- 238000004590 computer program Methods 0.000 claims 1
- 230000000712 assembly Effects 0.000 description 10
- 238000000429 assembly Methods 0.000 description 10
- 230000008901 benefit Effects 0.000 description 4
- 238000009434 installation Methods 0.000 description 4
- 230000010354 integration Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 230000008676 import Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 235000006719 Cassia obtusifolia Nutrition 0.000 description 1
- 235000014552 Cassia tora Nutrition 0.000 description 1
- 244000201986 Cassia tora Species 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000003760 hair shine Effects 0.000 description 1
- 241000894007 species Species 0.000 description 1
- 239000004575 stone Substances 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 239000011800 void material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/658—Incremental updates; Differential updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Data Mining & Analysis (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供了一种系统和方法,用于通过创建门户应用档案文件开发门户应用,并通过使用门户应用档案文件特定的部署机构,自动向门户服务器应用中部署门户应用档案文件。门户应用档案文件表示一个实体,该实体包括形成统一门户应用的所有需要的应用组件的装配,还包括应用组件装配描述符,该描述符指定了单一的应用组件需要如何装配到门户服务器应用的全部门户应用。门户应用档案文件被提供给门户服务器环境,并通过使用门户应用档案文件特定的部署机构自动部署到门户服务器环境。部署机构评估应用组件装配描述符信息并把信息应用于部署过程。本发明允许开发完整的门户应用,它能以“即购即用”的方式部署或者作为模板在部署时做进一步的用户定制。
Description
技术领域
本发明应用涉及开发门户应用和在门户服务器应用中自动部署门户应用的系统和方法。
背景技术
门户服务器应用提供了一种灵活的框架来毫不费力地生成高度综合的web网站。门户服务器应用基本的功能单元是门户组件。门户组件可以被认为是创建具有精密特征的复杂web网站的基石。门户服务器应用集成了单个门户组件的输出来输出能在浏览器中展示的内容。这种对内容的集成是门户服务器应用的关键特征,因为它很好地整合了独立的门户组件的UI而不用写任何整合代码。
每个门户组件都是独立的代码单元,它们独立地编译、打包和安装。当把从截然不同的提供者所提供的门户组件/内容整合为一体的web网站时,这是非常有利的。很显然无需做任何整合的工作。Web服务器安装的管理员将分别安装每个所需的门户组件并在设计web网站时安排门户组件布局。
当综合门户应用由一个以上的门户组件组成时,这种概念的缺点就产生了。例如,一个在线银行的应用将有许多复合门户组件,例如账户门户组件、股票价格门户组件、股票交易门户组件、电子邮件门户组件、贷款门户组件、抵押门户组件(见图1A)。
典型地,这些门户组件是由应用开发者作为统一门户应用的一部分来开发和提供的。不幸的是,门户应用开发者不能把门户应用作为一个统一的单元提供给客户。相反,他需要将门户组件应用作为独立的部分或所谓的门户组件来提供。在客户端(门户服务器应用),每一个所需门户应用的门户组件都需要一个一个地单独安装和配置。管理员必须对每个门户组件执行所有的安装步骤并且最后还需要规定如何在WEB网站设计中安排门户组件。综合门户应用的安装成为非常具有挑战性和困难的任务。
当门户属性增加时,这个问题变得更重要了:为那个平台开发的门户应用得益于新的功能,但复杂性也随之增加。现代门户应用不只是由几个门户组件组成。还要增加组件来生成甚至更为复杂的J2EE应用。复杂的垂直式J2EE应用包括多种基本J2EE组件类型和许多特定的门户组件类型,这些组件都被融合到由大型应用开发团队创建的统一门户应用中。
在这个专利应用中,组成门户应用的所有组件都包括在术语“应用组件”中。这些应用组件可以是例如单一门户组件应用(例如封装成WAR文件,+XML代码)、布局设计(例如主题和皮肤)、门户组件过滤器(+XML代码)、访问控制定义和角色(XML)、作为特殊用例的动态装配模块/条件(例如+XML代码)、页面/导航定义(例如XML)、URL映射(例如XML)、文档(例如XML元数据+二进制)、企业Java Beans、JCA连接器(例如封装成JAR文件)、Servlets(例如封装成WAR文件)、门户组件工具服务、内含的Web服务、内部应用通信定义(例如“点击即动(Click-2-Action)”)、JSF组件。
发明内容
本发明的目标是为开发门户应用和在门户服务器应用环境下部署门户应用而提供一种新的系统和方法,从而避免现有技术的缺点。
本发明通过创建门户应用档案文件为开发门户应用提供了一种系统和方法,并通过使用门户应用档案文件特定的部署机构,在门户服务器应用中自动部署门户应用档案文件。门户应用档案文件代表了一种实体,该实体包括形成统一门户应用所需的全部应用组件的装配,此外还包括应用组件装配描述符,用来指定在门户服务器应用环境中单一的应用组件需要怎样装配到完整的门户应用中。门户应用档案文件被提供给门户服务器环境,并通过使用门户应用档案文件特定的部署机构,将门户应用档案文件自动部署到门户服务器应用环境中。部署机构评估应用组件装配描述符信息并且把信息应用到部署过程中。本发明允许开发包括页面、门户组件、门户组件间信道等的完整门户应用,这些门户应用可以以即购即用(out-of-the box)的方式部署,或者作为模板在部署时由用户进一步定制。
附图说明
上述本发明的特点和优点还有附加的目标,将在下面详细的描述中展现。
本发明新颖的特点在随附的权利要求书中阐明。而发明本身和优选的使用模式、额外的目标及它的优点一样,将通过参考下面参看附图阅读的示例性实施方式的详细描述来很好地理解,其中:
图1A显示了门户应用结构的示例,
图1B显示了现有技术中门户应用的开发过程,
图1C显示了现有技术中门户应用的部署过程,
图2A显示了根据本发明的门户应用的基本开发过程,
图2B显示了根据本发明的将门户应用向门户服务器中部署的基本过程,
图3A显示了根据本发明进行开发和部署的门户应用的一个示例,
图3B显示了根据本发明,图3A中显示的门户应用的开发和部署过程的优选实施方式,
图3C显示了根据图3B的发明的开发过程的结果,
图3D显示了根据本发明在门户服务器应用中部署过程的优选实施方案,
图4显示了作为发明的门户档案文件的一部分,应用组件装配描述符的内容的示例。
具体实施方式
图1A显示了复杂门户应用的一个示例。门户应用(如在线银行应用)包括多个门户组件,象账户门户组件、股票价格门户组件、股票交易门户组件、电子邮件门户组件、贷款门户组件、抵押门户组件等。
典型地,这些门户组件能由应用开发者作为统一应用的一部分来开发和提供。然而应用开发者不能把应用作为一个统一的单元提供给用户。相反,他需要将他的应用作为门户组件单独的部分来提供。在客户端,每个所需的门户组件都需要一个一个地单独安装和装配。管理员必须定义所有安装步骤并最后定义门户组件如何安排在web网站布局中。综合门户应用的安装成为非常具有挑战性和困难的任务。
图1B显示了现有技术中图1A所示门户应用的开发过程。
每个应用组件1-5都单独地被开发和打包。典型地,每个包都表示为一个单独的文件,如war文件。
在用户端,定义了单独的应用组件需要怎样由管理员装配到整个门户应用中这样的信息通常由用户手册提供。
图1C显示了现有技术中门户应用部署到门户服务器应用环境中的部署过程。
在如今的门户服务器应用环境中,管理员将不得不单独安装每个应用组件1-5。安装完之后,他还须按照应用开发者6所推荐的那样,通过手工安排应用组件1-5来定制门户应用。额外的部署步骤可能是安装某种服务8或者手工定义应用组件7之间的交互作用。
图2A显示了根据本发明,图1A示出的门户应用的基本开发过程。
本发明教导如下:所有的单独应用组件1-5一起存储和/或打包成一个实体(如单一的Java EAR文件、一组相关的文件、一条数据库记录),它包括形成统一门户应用的全部单独的应用组件1-5。工具软件定义了元信息,包括应用组件1-5间的交互作用,还包括整个门户应用所需的布局。基于该元信息,工具软件能生成机器可读的整个门户应用的应用组件装配描述符40,并和应用组件1-5一起打包成一个实体35,称为门户应用档案文件。应用组件装配描述符的内容在图4D中更为详细地示出。
图2B显示了根据本发明图1A显示的门户应用的基本部署过程。
本发明使所有现有技术的部署步骤变得过时了。由门户应用档案文件35表示的全部门户应用“在一个步骤里自动安装”。在应用组件装配描述符40里包含的元信息是门户应用档案文件35的一部分,其能由门户服务器应用部署机构来评估。基于该信息,必需的部署步骤能被自动地触发。可以控制门户服务器应用配置来反映所需的布局和所提供的应用组件的交互作用。本发明的部署过程在图3D中描述得更为详细。
图3A显示了综合门户应用的示例,该综合门户应用由根据本发明的工具软件来开发并由门户服务器应用的部署机构来部署。
图3A显示了有3个不同门户应用30的示例:协作12、邮件/日历13、和金融14。金融门户应用14包括一组商业流程定义21、到后台系统的JCA连接器20、为用户描述应用的文档22、页面定义、URL映射18和模板17。通过URL映射18定义的URL在门户服务器应用中可获得门户应用页面。为商业流程页面所包含的动态装配模块19填充在页面和导航拓扑中的占位符节点的动态页面里,这取决于商业流程定义中所定义的商业流程的当前状态。所包含的应用门户组件15允许创建和处理新的过程实例。它们可以显示所包含的文档以获得帮助,使用所包含的连接器来访问后台系统。一些包含的门户组件用于门户应用管理。
在门户应用中,基于它们的类型,许多应用组件参照其他的应用组件。例如,拓扑树中的节点可以参照页面的定义,资源树中的节点可以参照主题定义,页面的定义可以参照一个或多个门户组件,等等。
为了根据目前的应用来开发和部署这样的门户应用,必须向现有的现有技术工具软件中和门户服务器90/应用服务60中增加如下新的功能组件:
-工具软件(如IBM Websphere Studio)需要能支持门户应用的思想,该工具软件能进行统一的开发并能包含多个单独的、却有内在联系的应用组件。
-工具软件必须能打包和导出可理解的门户应用档案文件35,这些文件可以由应用提供者传送给门户服务器应用。一个关键元素是应用组件装配描述符,优选为XML文件,其列出门户应用的内容并定义这些内容怎样装配到门户应用当中。例如在J2EE环境中,所选择的包的格式是J2EE EAR文件,里面包含了所有相关的应用组件,还有部署描述符XML文件。
-门户服务器90或运行门户服务器90的应用服务器60(如IBMWebsphere门户)必须能导入门户应用档案文件35并且必须自动部署应用组件装配描述符文件中描述的所包含的应用组件15-22。例如向运行的门户服务器应用环境90的部署能通过使用应用服务器部署来完成。IBM WebSphere门户服务器90使用应用服务器60的部署流程中的API来适宜地处理所有门户特定应用组件,而基本的J2EE应用组件由应用服务器来处理。门户应用档案文件35中的不同应用组件15-22影响着门户服务器90中的不同部分。部署的应用组件15-22插入到不同的门户服务器应用组件,象集成、门户配置或者门户组件容器(未显示)。
图3B中显示了整个门户应用开发和部署过程。
门户应用开发过程
针对门户应用50的工具软件30可以扩大根据本发明的门户应用的范围。取代了开发单独的门户组件,每个项目能包括多个应用组件15-22,它们能作为门户应用50独立的部分而被单独开发。除了现有的工具功能,综合门户应用50的不同应用组件15-22间的关系/交互作用也需要可编程。
工具软件30必须也提供布局编辑器(未显示),它允许定义门户应用50的布局并且安排需要的应用组件15-22。
开发的应用组件15-22必须作为一个单元存储在工具软件内部的知识库中(未显示)。只存储“单独应用组件15-22的开发代码”是不够的,强调这一点是很重要的。另外,应用组件15-22间的程序关系/交互作用和定义的布局一样,也必须和实际的代码存储在一起。为了这个目的,建议工具软件30使用应用组件装配描述符文件35来定义不同应用组件15-22怎样装配到统一的门户应用50。应用组件装配描述符文件35提供元信息(如在XML中)来描述门户应用50和它的拓扑。该文件可以认为是门户应用50的内容的表,它还描述了怎样装配和安排应用组件15-22。应用组件装配描述符文件35的结构和内容结合图4更详细地描述。
图3C显示了发明的开发过程的结果的示例。开发过程的结果是发明的“门户应用档案文件35”。在所给的示例中,门户应用档案文件是一个单独的文件包,它包括两个机器可读代码形式的应用组件70、80和应用组件装配描述符40(如XML文件),该装配描述符限定应用组件70、80间的相互关系。本例中,门户服务器应用部署机构使用了应用组件装配描述符40并创建了一个有两列的新页面。列1包含一行,而列2包含两行。每行都包含一个应用组件70、80。
图3D显示了在门户服务器应用环境90中本发明的部署过程的优选实现。
使用门户应用档案文件35的应用服务器管理工具65,可以将门户应用档案文件35直接部署到门户的下层应用服务器60(AS)上。门户服务器应用90使用应用服务器部署过程68的API来适宜地处理所有的应用组件70、80。图3D显示了门户应用档案文件35中不同应用组件70、80怎样影响门户服务器应用90的不同部分91、92、93。应用组件70、80插入到不同的门户服务器应用组件中,象集成91、门户配置92或门户组件容器93。
在J2EE环境中,门户应用档案文件35将被打包成Java EAR文件。如上所述,由门户工具软件(或手工)生成的门户应用档案文件EAR35将遵从J2EE规范并且提供该标准需要的所有必要的信息。
因此EAR能被部署在任何符合J2EE的应用服务器60上,然而标准的应用服务器60(AS)将忽略附加的信息,象XML应用组件装配描述符文件35,并且将不能确定怎样将各种应用组件70、80合适地装配到所需门户应用中。为了这个目的,需要向应用服务器60提供额外的部署逻辑(AS部署;68),描述如下:
现有应用服务器部署API的控制器(称为AppDeploymentController)接受任意的J2EE EAR文件35作为输入,依照J2EE规范执行基本的校验并随即创建一系列为部署给定EAR所需要执行的任务。这一系列任务能通过编程扩展来执行额外的特定部署逻辑。这些额外的任务将用来评估应用组件装配描述符35并执行部署门户应用所必须的步骤。
AppDeploymentController实例由管理的客户端使用,来提供到门户服务器应用90上的应用安装功能。它读取EAR文件并创建一系列AppDeploymentTasks,
AppDeploymentTasks指定需要从终端用户收集的数据,用来安装EAR文件。
控制器类除了其他的API,有如下的API-
class AppDeploymentController
{
…
public String[]getAppDeploymentTaskNames();
public AppDeploymentTask getFirstTask();
public AppDeploymentTask getNextTask();
public AppDeploymentTask getTaskByName(String taskName);
}
AppDeploymentController类的API由AS提供注释。
按照AS规范,客户端应用需要
1)使用AppManagementFactory创建AppDeploymentController的实例并以EAR文件的形式传送。
2)通过调用getFirst和getNext方法迭代由AppDeploymentController创建的任务。
3)把任务数据呈现给终端用户并收集用户输入的必要数据。
4)把数据返回给任务并存储AppDeploymentController的实例。
5)调用控制器的getAppDeploymentSavedResults API来获取选择,并且调用以EAR文件和选择来传送的AppManagement MBean上的installApplication API。
为了部署由门户应用档案文件EAR 35提供的门户特定的增强功能,门户服务器90需要实现它本身的任务提供者。门户服务器使用应用服务器的部署过程60中的API来适宜地处理所有的门户特定应用组件,而基本J2EE应用组件由应用服务器60处理。门户特定任务提供者能通过实现AppDeploymentTaskProvider的接口,结合额外的部署步骤。
package com.ibm.websphere.management.application
Public class AppManagementExtensiohs{
/**
*This interface is implemented by the task providers that want to add
*extra tasks to the app deployment(preparation of ear file)process
*on the client side
*/
public interface AppDeplymentTaskProvider{
/**
*Manipulates the list of task info objects that are used during
*creation of AppDeploymentController instance.The vector containsa
*set of default tasks to begin with.
*@param taskInfo Vector that contains the task info objects
*@param deploymentInfo The AppDeploymentInfo instance thatcontains
*information about the archive being deployed
*@param prefs The preferences where you can specify locale,
*default binding info,etc.
*/
public void provideClientDeploymentTasks(
Vector taskInfo,
AppDeploymentInfo deploymentInfo.
Hashtable prefs)
Throws AppDeploymentException;
基于应用组件装配描述符XML文件35中的信息,调用门户特定任务来注册应用服务器90中的应用组件70、80,并自动执行必要的门户安装和管理步骤。门户应用档案文件35中的不同应用组件70、80影响着门户服务器应用90中不同的部分。应用组件70、80插入到不同的门户服务器应用组件,象集成,门户配置或者门户组件容器。
增加的门户特定任务包括:
实例化门户组件
解决外部引用
应用主题/皮肤
向页面层次中增加页面
定义页面布局
安装访问控制环境/把用户映射为角色
使用点击即动控制门户应用中门户组件的用法,来连接门户组件。
门户组件和页面是门户应用中基本的组成模块-它们提供用户体验的子单元,然后这些子单元由门户应用集成,以提供最终用户体验。门户组件被打包成门户应用。门户应用和J2EE web应用类似,不同的是它们使用额外的接口,使之很容易地把门户组件集成到单一的页面中,并在门户应用或门户网站的许多页面中重复使用门户组件应用和单个门户组件。门户组件应用的打包格式是Web档案文件(WAR)格式,它包括由门户组件.xml部署描述符组成的web.xml部署描述符,用来定义web应用的门户相关部分。
单一的门户组件生成一个门户组件窗体的内容。为了调节门户组件用作组成模块的灵活性,门户组件应用开发者应该争取包含特定功能的小门户组件而不是一个包含所有功能的大门户组件。这有几个优点:
-门户终端用户能决定在页面上只放需要的部分并且能节省空间,否则空间将被不需要的部分占用。
-不同的功能可以分开跨越多个门户页面以适应用户的工作行为或者适应有限的设备显示能力。
-附加的功能可以以后简单地作为新的门户组件加入。
属于同一逻辑应用的门户组件应该一起绑定在一个门户组件应用上,因为这有几个优点,象共享配置数据、会话数据的能力,容易在每个门户组件应用上的一个门户组件的方法中进行部署和管理。
然而,目前的门户组件应用十分有限,因为它们只处理门户组件部分,而不是象本发明里描述的那样允许预先装配所有的门户应用。它们缺少导航和布局部分,这些是提供有用的门户应用所必需的。
图4显示了由发明的门户应用开发过程产生的应用组件装配描述符文件的示例。
应用组件装配描述符文件40优选地基于几个XSD模式定义:
基本模式定义54
描述了基本元素,这些元素用于下面的其他模式定义。
拓扑模式定义
描述了全部资源(J2EE标准)和应用拓扑,包括布局即页面布局57、导航树56、门户组件55。
安全模式定义53
描述了安全相关的方面,如应用角色和它们的访问控制权限。
基本模式定义54
基本模式定义指定了基本元素,用于其他两个模式的定义。这些元素包括:
标题:
展示给程序员或用户的实体的一个友好的名称。
描述:
描述元素提供了支持NLS的文本。
参数:
一组名称/值对,允许给实体添加定制的属性。
nlsRef:
对文件的引用,能映射本地的字符串。
版本字符串:
指定实体版本的标识符。
拓扑描述模式包括3个相互连接的平行树55、56、57:
应用树列出并描述该门户应用所使用的所有应用组件。在树55中以有层次的顺序指定应用组件。
布局树定义了该门户应用57使用的布局。布局可以包含在其他布局中。布局指定应用组件所能插入的窗体。
导航树定义了应用所展示出56的导航层次。这通过定义导航元素来实现,导航元素把给定的应用组件映射到可用布局的特定窗体。
下面的列表详述了拓扑模式定义中所定义的元素:
拓扑描述55、56、57:
这是拓扑描述的根元素。它包括应用的标题、描述、版本、唯一的名称和它的先决条件。该元素还涉及组合应用组件和布局的应用树、布局树和导航元素。
要求
指定任何先决条件的唯一名称和版本。
应用树55
这是应用树的根元素,描述了所有应用组件。
该元素提供标题、描述和所提供的唯一名称。应用树能引用其他子应用树或者直接引用一个或多个应用元素。
应用元素
应用元素描述了应用组件及它的属性。除包括标题、描述和唯一的名称以外,资源链接元素涉及二进制代码(例如WAR文件)。参数名称/值对能用来提供应用特定信息。
应用组件类型
该类型列出了全部可能的应用元素类型:
○Portletdefinition
○Portletentity
○Wire
○Portletervice
○Service
○Skin
○Theme
○Label
○urlLink
○tile
○any
资源链接
该元素引用了应用组件实际的二进制代码(例如WAR文件)。
UID和URL用于进行引用。有2种可应用的链路类型:
静态
动态
布局树57
这是布局树的根元素,描述了所有可用的布局模板。布局树元素提供了标题、描述并能引用其他布局树或者直接引用特定的布局元素。
布局元素
布局元素描述了布局模板。包括名称、描述、参数、唯一的名称和关键字,布局元素包括可存放内容的容器。
容器
容器元素可以包括几个容器本身,或者可用于向布局中放置实际内容。唯一的名称、标题、描述和参数是附加信息,在容器元素中提供文件证明。下面是可能的容器类型:
○行
○列
○网格
窗体
名称、描述和参数在窗体元素中使用。
窗体是占位符,通过它实际的内容能被放到布局里面,这样的内容可以是以下之一:
○对嵌入到给定布局元素窗体的另一个布局元素的引用
○对应用实体的静态引用,应用实体被放置到窗体中作为布局定义的一部分
○空位置,表明该窗体是空闲的,可以由导航元素利用给定布局元素来使用。每个使用该布局元素的导航元素能单独指定哪个应用实体应该被放入该位置。
导航元素56
导航元素是被嵌套的并且类似于导航树,将应用展示给用户。每个导航树可能有一个或多个子导航元素。导航元素里所引用的导航内容指定了内容是怎样放置到所使用的布局中的。布局元素和标题、描述及参数是在导航元素中定义的。
导航内容
导航元素使用导航内容来将内容(应用实体)映射到特定的布局里。为了这个目的,引用了给定布局里的特定应用实体和相应窗体。当展示门户应用的时候,应用实体将在布局窗体中显示。
Claims (12)
1.一种用于向门户服务器应用环境(90)自动部署门户应用(50)的方法,其中所述门户应用(50)作为实体(门户应用档案文件;35)提供给所述门户服务器应用环境(90),该实体包括机器可读代码形式的形成统一门户应用(50)的所有应用组件(15-22),以及机器可读代码形式的应用组件装配描述符(40),所述装配描述符指定了单一的应用组件(15-22)需要如何装配到所述门户服务器环境(90)中的所述全部门户应用(50),其中所述的方法包括步骤:
将所述门户应用档案文件(35)提供给所述门户服务器应用环境(90)中的部署机构,所述部署机构能将所述门户应用档案文件(35)部署到所述门户服务器环境(90),
通过所述部署机构来评估所述门户应用档案文件(35)中包含的所述应用组件装配描述符(40),以及
根据所述应用组件装配描述符(40)中包含的所述信息,向所述门户服务器应用环境(90)的各个部分自动部署所述应用组件(15-22)。
2.根据权利要求1的方法,其中所述应用组件装配描述符(40)是XML描述符文件。
3.根据权利要求1的方法,其中所述应用组件装配描述符(40)包括基本的模式定义(54)、拓扑模式定义(55、56、57)和安全模式定义(54)。
4.根据权利要求1的方法,其中所述门户应用档案文件35是作为Java EAR文件、或者是一组相关的文件、或者是数据库记录来提供的。
5.根据权利要求1的方法,其中所述部署机构是通过应用服务器(60)来控制的,所述门户服务器应用(90)运行在该应用服务器上。
6.根据权利要求1的方法,其中所述部署机构提供所述任务来实例化应用组件、解决外部引用、应用主题/皮肤、给所述页面层次增加页面、定义页面布局、设置访问控制环境、映射用户角色、使用“点击即动”控制来连接应用组件。
7.一种门户服务器应用环境,其中所述门户应用(50)作为实体(门户应用档案文件;35)提供给所述门户服务器应用环境,其中所述实体包括机器可读代码形式的形成统一门户应用(50)的所有应用组件(15-22),以及机器可读代码形式的应用组件装配描述符(40),所述装配描述符指定了单一的应用组件(15-22)需要如何装配到所述门户服务器环境(90)中的所述全部门户应用(50),包括:
根据所述应用组件装配描述符(40)中包含的所述信息,向所述门户服务器(90)的各个部分自动部署所述应用组件(15-22)的装置。
8.根据权利要求7的门户服务器环境,还包括应用服务器(60),所述门户服务器应用(90)运行在所述应用服务器之上,其中用于部署所述门户应用(50)的所述装置是所述应用服务器(60)的一部分。
9.一种用于开发门户应用的工具软件,包括:
开发单一应用组件的工具,
用于开发应用组件装配描述符(40)的工具,所述装配描述符指定了单一的应用组件(15-22)需要如何装配到所述门户服务器环境(90)中的所述全部门户应用(50),
用于将所述单一应用组件(15-22)和所述应用组件装配描述符(40)一起作为实体(门户应用档案文件;35)存储到存储库的工具,
用于将所述门户应用档案文件提供给门户服务器应用环境中的部署机构,根据所述应用组件装配描述符(40)中包含的所述信息,向所述门户服务器环境(90)的各个部分自动部署所述应用组件(15-22)的工具。
10.根据权利要求9的工具软件,其中所述门户应用档案文件(35)作为打包的单一文件、或相关文件的打包子集,或以数据库记录的形式提供给门户服务器应用环境。
11.根据权利要求10的工具软件,其中所述单一文件是JavaEAR文件。
12.一种存储在计算机可以使用的介质上的计算机程序产品,包括计算机可读程序工具,用于使计算机执行根据权利要求1到6中的任何一个的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP04103922 | 2004-08-16 | ||
EP04103922.3 | 2004-08-16 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1811702A true CN1811702A (zh) | 2006-08-02 |
CN1811702B CN1811702B (zh) | 2010-08-25 |
Family
ID=35652090
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2005100796553A Expired - Fee Related CN1811702B (zh) | 2004-08-16 | 2005-06-23 | 用于向门户服务器应用环境自动部署门户应用的系统和方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7716665B2 (zh) |
CN (1) | CN1811702B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102208081A (zh) * | 2010-03-31 | 2011-10-05 | 国际商业机器公司 | 用于使bpm应用能为多租户使用的方法和装置 |
CN102681869A (zh) * | 2011-02-04 | 2012-09-19 | 西门子公司 | 在制造执行系统内更新web包 |
CN104391687A (zh) * | 2014-10-28 | 2015-03-04 | 深圳市多彩人生技术有限公司 | 企业和社团的互联网app公共平台的实现方法及系统 |
WO2020000811A1 (zh) * | 2018-06-29 | 2020-01-02 | 平安科技(深圳)有限公司 | 应用组件部署方法、装置及计算机存储介质 |
CN111651190A (zh) * | 2020-04-30 | 2020-09-11 | 北京临近空间飞行器系统工程研究所 | 一种基于多维融合元素的发射控制软件动态装配方法 |
Families Citing this family (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070083630A1 (en) * | 2005-09-27 | 2007-04-12 | Bea Systems, Inc. | System and method for performance testing framework |
EP1808778A1 (en) * | 2005-12-07 | 2007-07-18 | Sap Ag | A method of navigation within a portal application, a system for navigating within a portal system, a user terminal and a computer readable storage medium |
US8225310B1 (en) | 2006-03-30 | 2012-07-17 | Emc Corporation | Automatic detection and redistribution of content management code |
US9804861B2 (en) * | 2006-06-09 | 2017-10-31 | Paypal, Inc. | Configurable interfaces |
US20080033997A1 (en) * | 2006-08-04 | 2008-02-07 | Sap Portals (Israel) Ltd. | Transformation tool for migration of web-based content to portal |
JP5063697B2 (ja) * | 2006-09-12 | 2012-10-31 | インターナショナル・ビジネス・マシーンズ・コーポレーション | ウェブポータル・アプリケーションにコンテンツを動的コンテキスト・センシティブに組み込むためのシステム及び方法 |
US8336043B2 (en) | 2007-02-15 | 2012-12-18 | Microsoft Corporation | Dynamic deployment of custom code |
US20080201759A1 (en) * | 2007-02-15 | 2008-08-21 | Microsoft Corporation | Version-resilience between a managed environment and a security policy |
US20080229280A1 (en) * | 2007-03-12 | 2008-09-18 | Sap Ag | Systems and methods for composing custom applications from software components |
US7849157B2 (en) * | 2007-05-23 | 2010-12-07 | Oracle International Corporation | System and method for consumer entitlements in portal services |
US8302092B2 (en) * | 2007-06-26 | 2012-10-30 | Microsoft Corporation | Extensible data driven deployment system |
US9513881B2 (en) * | 2007-06-27 | 2016-12-06 | International Business Machines Corporation | System for the discovery and provisioning of artifacts and composites |
US20090007067A1 (en) * | 2007-06-28 | 2009-01-01 | International Business Machines Corporation | Composite portal application |
KR101474561B1 (ko) * | 2007-11-27 | 2014-12-19 | 삼성전자주식회사 | 이동통신 단말기에서의 어플리케이션 실행방법 및 장치 |
US7536637B1 (en) * | 2008-02-07 | 2009-05-19 | International Business Machines Corporation | Method and system for the utilization of collaborative and social tagging for adaptation in web portals |
EP2107459A1 (en) * | 2008-03-31 | 2009-10-07 | Jatho Investments | A software appliance framework |
US8904368B2 (en) * | 2008-03-31 | 2014-12-02 | International Business Machines Corporation | Instantiating a composite application for different target platforms |
US8312425B2 (en) | 2008-03-31 | 2012-11-13 | International Business Machines Corporation | Dynamic template instantiation |
US9779176B2 (en) * | 2008-04-02 | 2017-10-03 | International Business Machines Corporation | Accessing external functionality within a component-based web application |
GB2459682B (en) * | 2008-04-30 | 2012-04-25 | Vmware Inc | A computer system and a method of deploying an application in a computer system |
US8352912B2 (en) * | 2008-12-15 | 2013-01-08 | International Business Machines Corporation | Method and system for topology modeling |
US8397230B2 (en) | 2009-11-09 | 2013-03-12 | Bank Of America Corporation | Software updates using delta patching |
US8972974B2 (en) * | 2009-11-09 | 2015-03-03 | Bank Of America Corporation | Multiple invocation points in software build task sequence |
US9176898B2 (en) | 2009-11-09 | 2015-11-03 | Bank Of America Corporation | Software stack building using logically protected region of computer-readable medium |
US9128799B2 (en) | 2009-11-09 | 2015-09-08 | Bank Of America Corporation | Programmatic creation of task sequences from manifests |
US9959103B2 (en) | 2010-11-19 | 2018-05-01 | Microsoft Technology Licensing, Llc | Code deployment assistance |
US9268870B2 (en) * | 2012-07-17 | 2016-02-23 | Xerox Business Services, Llc | Portal modularization tool |
US9329881B2 (en) * | 2013-04-23 | 2016-05-03 | Sap Se | Optimized deployment of data services on the cloud |
US9485306B2 (en) | 2013-06-21 | 2016-11-01 | Here Global B.V. | Methods, apparatuses, and computer program products for facilitating a data interchange protocol |
US9454348B2 (en) | 2013-06-21 | 2016-09-27 | Here Global B.V. | Methods, apparatuses, and computer program products for facilitating a data interchange protocol modeling language |
US9454620B2 (en) * | 2014-02-28 | 2016-09-27 | Here Global B.V. | Methods, apparatuses and computer program products for automated learning of data models |
US9762450B2 (en) | 2014-09-04 | 2017-09-12 | Accenture Global Services Limited | System architecture for cloud-platform infrastructure layouts |
US9733916B2 (en) | 2015-11-23 | 2017-08-15 | Business Objects Software Limited | Linking customized external widgets to dashboard data |
US10498859B2 (en) * | 2017-04-06 | 2019-12-03 | Genesys Telecommunications Laboratories, Inc. | System and method for self-deploying and self-adapting contact center components |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6892382B1 (en) * | 1999-05-06 | 2005-05-10 | Sun Microsystems, Inc. | Method and apparatus for implementing deployment descriptors in an enterprise environment |
US6986135B2 (en) * | 2001-09-06 | 2006-01-10 | Cognos Incorporated | Deployment manager for organizing and deploying an application in a distributed computing environment |
US8407353B2 (en) * | 2001-09-17 | 2013-03-26 | Open Text S.A. | Method and system for sharing different web components between different web sites in a portal framework |
US7165249B2 (en) * | 2002-05-02 | 2007-01-16 | Bea Systems, Inc. | Systems and methods for modular component deployment |
JP4068921B2 (ja) * | 2002-08-15 | 2008-03-26 | インターナショナル・ビジネス・マシーンズ・コーポレーション | ユーザ端末にウェブ・サービスを提供するサーバ、方法、コンピュータ・プログラム、記憶媒体、ネットワーク・システム |
US7428733B2 (en) * | 2004-05-13 | 2008-09-23 | Bea Systems, Inc. | System and method for custom module creation and deployment |
US20060020908A1 (en) * | 2004-07-21 | 2006-01-26 | Innovative Decision Technologies, Inc. | Unified Approach to Building Web Applications that can be deployed as stand-alone and in Web Portals |
-
2005
- 2005-06-23 CN CN2005100796553A patent/CN1811702B/zh not_active Expired - Fee Related
- 2005-07-26 US US11/189,565 patent/US7716665B2/en not_active Expired - Fee Related
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102208081A (zh) * | 2010-03-31 | 2011-10-05 | 国际商业机器公司 | 用于使bpm应用能为多租户使用的方法和装置 |
CN102681869A (zh) * | 2011-02-04 | 2012-09-19 | 西门子公司 | 在制造执行系统内更新web包 |
CN102681869B (zh) * | 2011-02-04 | 2016-12-07 | 西门子公司 | 在制造执行系统内更新web包的方法和制造执行系统 |
CN104391687A (zh) * | 2014-10-28 | 2015-03-04 | 深圳市多彩人生技术有限公司 | 企业和社团的互联网app公共平台的实现方法及系统 |
CN104391687B (zh) * | 2014-10-28 | 2017-11-28 | 深圳市多彩人生技术有限公司 | 企业和社团的互联网app公共平台的实现方法及系统 |
WO2020000811A1 (zh) * | 2018-06-29 | 2020-01-02 | 平安科技(深圳)有限公司 | 应用组件部署方法、装置及计算机存储介质 |
CN111651190A (zh) * | 2020-04-30 | 2020-09-11 | 北京临近空间飞行器系统工程研究所 | 一种基于多维融合元素的发射控制软件动态装配方法 |
CN111651190B (zh) * | 2020-04-30 | 2023-03-07 | 北京临近空间飞行器系统工程研究所 | 一种基于多维融合元素的发射控制软件动态装配方法 |
Also Published As
Publication number | Publication date |
---|---|
CN1811702B (zh) | 2010-08-25 |
US20060036993A1 (en) | 2006-02-16 |
US7716665B2 (en) | 2010-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1811702A (zh) | 开发门户应用和自动部署门户应用的系统和方法 | |
CN100351822C (zh) | 用简化视图定义、处理和表示用户界面组件的方法和工具 | |
CN101052948A (zh) | 对象过程图应用程序开发系统 | |
CN1252592C (zh) | 通信服务供应方法和设备 | |
CN1609796A (zh) | 应用编程接口(api)的设计 | |
CN1613240A (zh) | 基于网络的软件扩展 | |
CN1627257A (zh) | 用于创建模块化web应用的框架 | |
CN1841362A (zh) | 用于处理电子表格的方法和系统 | |
CN101052945A (zh) | 在标记语言文档中创建标签或属性的方法 | |
CN1661554A (zh) | 用于构建无线应用程序的系统和方法 | |
CN1551006A (zh) | 分布式计算系统架构及分布式应用的设计、部署和管理 | |
CN1969272A (zh) | 自动生成内容的导入 | |
CN1564976A (zh) | 设计用户界面样式的方法以及具有自适应用户界面的设备 | |
CN1711522A (zh) | 图形用户接口建模系统 | |
CN1908894A (zh) | 基于Brew的一种动态用户界面的体系结构和实现方法 | |
CN1591400A (zh) | 集成数据处理系统 | |
CN1607501A (zh) | 标记构架 | |
CN1773508A (zh) | 把源文档转换成目标网页文件的方法 | |
CN1564129A (zh) | 一种构件的封装和一致性访问的方法 | |
CN1379882A (zh) | 将二维数据转换为标准形式的方法 | |
CN1211364A (zh) | 一种管理互配单元及生产该单元的方法 | |
CN1725177A (zh) | 嵌入式设备集成开发系统及其使用方法 | |
CN1313561A (zh) | 信息结构化及应用产生的方法及其装置 | |
CN1766835A (zh) | 用于在设计和运行时间无缝制作和编辑工作流的框架 | |
CN1991765A (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100825 Termination date: 20160623 |
|
CF01 | Termination of patent right due to non-payment of annual fee |