`
jhlcss
  • 浏览: 41837 次
  • 性别: Icon_minigender_1
  • 来自: 青岛
最近访客 更多访客>>
社区版块
存档分类
最新评论

Stringbeans电子商务平台白皮书

阅读更多

1      简介

越来越多的公司正在开发自己的门户网站来管理自己的业务。门户网站被用来管理各种任务,从客户关系管理到内部活动协调,如人力资源管理。大部分商业门户仍使用特定的方式进行开发,其中公司的业务过程被编译成一个在不同语言的异构环境下分布式收集的CGI脚本。首先这些门户难以创建和文档化,并且针对不同的客户需求,内部流程改进,或者架构改变,解决这些问题成本是非常昂贵的。公司为他们的业务需求开发一个门户网站需要一个解决方案,能够达到增值并且不会导致复杂度和成本的集合倍数增长的目的。

本白皮书介绍了Stringbeans电子商务平台满足了以上的需求。图1描述了Stringbeans的架构,如图所示,Stringbeans由两部分构成:一个是后台自动运行的WebService服务来管理信息任务,另外一个是前端的门户框架来管理Web表现层。

Web Services支持expressive信息路由模型,表现为数据依赖,调用依赖,时间驱动路由,和时间调度。它们还提供了hook通过基于J2EE标准的JDBC以及JMS进行整合。

门户框架为用户提供了内容聚合,企业信息和过程的交互,创建个性化的网页功能。当前的门户框架功能还包括创建个性化的内容和外观,可配置的访问控制,日志,监测台,还有Portlets,用来展示相关表的数据,丰富的网站摘要(RSS),JSP文件和Servlets

Stringbeans大大降低了业务设计、维护业务门户所花费的精力,还提供了可视化的编辑器来改变过程驱动信息流的功能,基于J2EE的标准接口,尽量减少改变给架构带来的影响。网页布局、外观和个性化的内容可以通过Stringbeans轻松的建立。

 

1

2      过程管理服务

如图1所示,Stringbeans提供了一系列的过程管理Web Services。每个服务的目的是支持某个特定的路由信息模式,本章节将介绍XDFlow管理服务。这个服务实现了一个扩展的数据流过程模型,他结合了一些其它的Web Service的独特功能。Stringbeans还提供了图形用户界面来监测一些Long-Lived过程。

2.1    XDFlow过程模型

一个XDFlow过程由一些过程和连接所构成,模块表现为业务系统,比如数据库,队列服务,邮件等,连接表现为各模块之间的数据流。过程模板和预设置模块可以被持久化存储在分级目录,并且可以被多重应用重用。XDFlow提供了一个可视化编辑器用来和目录交互,组合,运行和检测过程。XDFlow快照如图2所示。

 

2

通过其数据驱动执行方案和预制模块整合,XDFlow过程模型可以解释为:

l  数据依赖(银行的零售分支机构汇率取决于银行间利率

l  调用依赖(由财政部批准后向银行分支机构发布利率)

l  时间调度(当银行开门后,每15分钟发布银行的零售利率)

l  条件执行(如果银行间利率的主要来源不可用,那么启用银行间备用来源利率)

l  事件驱动调度(如果银行间零售利率变化超过一定的阈值,重新计算和审批银行利率)

l  意外处理(如果发布利率失败,通知管理员)

XDFlow使企业间交流通过标准的组件和通讯技术。目前XDFlow提供的交互模块包括:

l  Java Beans

l  COM servers

l  CORBA objects

l  SOAP / HTTP services

l  Java Remote Method Invocation (RMI)

l  Message Oriented Middleware (MOM) through Java Message Service (JMS)

l  Relational database systems through JDBC

l  Applications accessible through Connector API (e.g. SAP, PeopleSoft)

3      Portal框架

3.1    Portal管理器

Portal管理器是一个servlet,他可以接受来自用户或者自定义的页面组合的http请求,依据用户的首先项和访问控制策略。Portal管理器可以生成一个由HTML/XML/WML构成的页面,最终构成一个或多个Portlet。简单实现可以通过读取服务器上的一个文件生成一个页面。另外一种实现可以通过一个XML频道定期更新头条新闻的内容。另外一种情况,Portlet可以通过一个Live Feed动态更新股票代码。

Portal管理器定制可以分为几个层次,可以根据用户的角色和个人首先项完成页面的动态布局。例如,针对经理角色设置首页显示员工目前状态,项目里程碑,和会议安排。每个人都可以设置个人的布局,比如信用卡或者网格布局,并单独配置显示在首页的portlets。如图3所示是一个网格构成的实施分析组合布局。用户可以选择页面尺寸、布局参数,定义Portlet显示的具体位置。此外,每个Portlet都可以根据用户的首先项以及访问权限配置输出。

 

3

3.2    数据管理器

开发任何业务系统都涉及到数据建模和持久化对象。例如,一个贸易应用将需要之久的贸易数据,这些数据包括交易价格,贸易数量,反方,交货条件等信息。数据管理器提供了一个定义这些对象结构的简单实现方式。比如建立数据表关联,允许门户用户创建和修改HTML表单。

数据管理器还可以作为门户用户和过程引擎之间的纽带。表单Servlet连接了内容传递框架和过程自动化引擎。用户可以明确的请求一个表单(如处理报名表),或者通过过程引擎提交一个任务(如处理校正/修改表单)。当用户提交了一个表单,数据管理器在数据库中持久化这个表单数据,并可能触发一个或多个过程实例。触发的过程可以表现为一个Web conversation,并针对提交立即作出反应。例如,当一个用户输入了客户的ID,触发的过程可以访问多个数据库和后台应用系统生成一个该客户的订单和贷款摘要。表单提交也可以触发一个long-lived过程。比如,在规定时间内如果交易尚未完成,就会向主观领导发出提醒。

3.3    Web Services管理器

Sringbeans Web Services是一个java对象,实现了一个标准的Stringbeans框架接口定义。Stringbeans过程目录以及单个过程作为Web Services运行。Web Services管理器是一个Servlet,它允许远程客户端进行管理和远程方法调用通过创建简单HTTP链接。他使用SOAP(简单对象访问协议)作为它的RPC(远程过程调用)协议。另外,它也可以通过创建持久连接来接受回调。这个功能可用于实现动态的Portlets,比如贸易记录,STP状态检测,P&L(损益表?)摘要,和滚动新闻或者系统提醒。

4      INFRASTRUCTURE(架构)服务

安全性-业务应用的安全包括通讯安全,用户验证,和访问控制。通信安全通过使用SSL(安全套接字层)实现和J2EE服务器的通讯。J2EE容器提供了用户验证。访问Web资源,入servletsHTML文件,实在部署的时候按照J2EE安全标准配置的。访问过程Web Services实在部署的时候使用Stringbeans管理工具配置的。在Stringbeans中,访问控制可以在实例层进行实现(例如一个过程只能由其创始人关闭)。

事务管理-Stringbeans提供了两个备选方案管理事务。第一种选择,适用于单一事务背景下执行的短暂过程实例。Long-lived过程支持XDFlow管理器执行每个数据转换步骤在一个单独的内部事务方面。
崩溃恢复-Stringbeans持久化所有的long-lived过程状态,当他们加载到内存中的时候。当Stringbeans服务崩溃的时候,恢复过程实例的状态是可能的。当过程恢复被启用后,Stringbeans会在系统崩溃的情况下自动恢复。

可扩展性-一个Stringbeans服务器可以支持数以千计的用户和进程的调用。较小的站点就可以安装Stringbeans单独的J2EE服务,相对还是很便宜的。随着用户群的扩大,在同一站点上可以进行J2EE服务器扩展,支持集群。Stringbeans框架可以使用任何集群/负载均衡方案,支持session affinity

session affinity的意思是,当一个客户浏览器第一次发送JSP页面请求时,负载平衡器将请求转向到两个tomcat服务器中的一个,当该客户浏览器发送更多请求时,这些请求会自动被转发到同一个tomcat服务器中,因此,这个用户的session是被保留的。

5      结束语

Stringbeans框架可以被用来创建和维护一个广泛的B2B,和B2E门户网站。框架用户可以只使用内容分发功能创建简单的myPortal站点。然而,Stringbeans的优势在于它的会和数据建模和流程自动化功能,一个功能齐全的门户网站开发框架。通过源代码消除业务过程,使用基于标准的应用集成,并提供一个灵活的内容交付能力,Stringbeans显著降低建立和维护业务管理系统的成本。使用Stringbeans,企业可以轻松地创建门户网站,提供一个人与人之间丰富的互动平台,过程和工具,为员工,客户和业务合作伙伴降低费用提高效率。

3
1
分享到:
评论
1 楼 jmu 2008-11-26  
不错  支持翻译

相关推荐

Global site tag (gtag.js) - Google Analytics