- 浏览: 112360 次
- 性别:
- 来自: 青岛
文章分类
最新评论
-
dagmom:
看看现在的11吧,今非昔比了
ofbiz(open for business),银弹?人狼? -
jliker:
看看这个就知道什么是中国最牛的SAAS了,可悲!
http:/ ...
做最适合中国的SAAS软件 -
surpass_li:
你使用ofbiz开发过吗?
ofbiz部署到weblogic -
zhc520:
ofbiz 难用、用了的才知道!
ofbiz(open for business),银弹?人狼? -
goldrain:
喜欢这样的批评性文章。3.作为B/S架构的软件,n层之间的偶合 ...
ofbiz(open for business),银弹?人狼?
The General Interface MVC implementation means that the General Interface components are broken down into three architectural elements, each of which plays a crucial role in how the component behaves.
The Model maintains the state data for each object instance. For example, the model portion of the Matrix (jsx3.gui.Matrix) object tracks state properties such as the number of columns, the widths of each column, the outer dimensions for the table, how to sort which column, and so on.
模型为每一个对象实例维护状态数据,例如:Matrix(jsx3.gui.Matrix)对象追踪状态属性,如列名、每列宽度、表格外边尺寸、每列是怎样保存的等等。
The View refers to how the object instance is actually displayed on the client machine. A good way to envision a view is to think of object look-and-feel. Figure 3 shows several different views that the Tab object can produce:
View涉及对象实例怎样实际显示到客户端的机制。一个好的关于视图的期望是只考虑对象的感官(look-and-feel)。 Figure3显示了几个Tab对象能够产生的视图。
The Controller dictates how a given object will interact with events. Events include user-initiated events and system-initiated events, including mouse-clicks, key-presses, drag-and-drop operations, screen and component repainting, and calls from the application business logic.
Controller规定:一个给定的对象是如何与事件交互的,事件包括用户初始化事件和系统初始化事件、同时包含鼠标单击事件、键按下事件、拖放操作事件、屏幕和组件重绘时间、和应用程序逻辑调用。
Mvc各元素是如何工作在一块的。
The best way to describe how these three elements work together is to describe a typical GUI object, such as the Tab object, in context of these three elements.
最好的描述这几个元素是如何工作在一块的方法是去描述一个典型的GUI对象,例如Tab对象,在上下文中有3个对象
The easiest aspect of MVC to understand is the view. The view is what end users see when they use the application. The three Tab object instances shown in Figure 4, for example, have a consistent view that adheres to the visual design for the application.
Mvc最容易理解的方面是view,view就是最终用户使用应用程序的时候看到的,树Tab对象实例在Figure4中显示,如例子,tab一块组成了应用程序的可视部分。
With the view element now defined, it’s easier to explain the model portion of the MVC architecture. The model element allows the given Tab object to keep an index of properties that uniquely define its state in memory (see Table 1). The model is unaffected by how the tab visually displays its state. Instead, it maintains a single Boolean property, active, that is set to true or false.
用当前定义的view元素,可以很容易理解mvc架构的model部分。model元素允许给Tab对象保持一个在内存中定义的唯一的索引属性,model不影响tab是如何显示他的状态。而model只是维护一个单独的Boolean属性(活动),可以设置成true或false;
From an architectural perspective, separating the model from the view means that more of the code base can be leveraged on future projects. Regardless of whether the view for a Tab object has beveled edges or graphical icons, the model remains the same. This means that only the view code for a given class needs to be updated from project to project.
从一个架构视图上分离model和view意思是,基础代码能够被功能功能项目平衡,不管Tab对象试图是否是一个有斜边或图标,model始终保持相同,这个意思是仅仅试图代码需要从一个项目到另一个项目时更新。
The controller element updates the model based on events passed from the corresponding view. For example, a user clicks the displayed view for a Tab object in an attempt to bring the contents of that tab forward in the view. The view, in this case the actual HTML that is displayed, then processes the click event by calling the controller requesting that the selected tab be made active, and therefore brought forward in the view. Next, the controller queries the model to validate that the Tab object that was clicked is not already active. If the given Tab object is already active, the controller exits early without applying any changes to the object. However, if the Tab object is inactive, the controller updates the model by setting the active property to true. And then, the view is repainted in the browser to visually depict the new model value.
controller元素通过一个视图基于事件更新model,例如:一个用户为了看Tab前面tab的内容而点击一个Tab对象,View(实际上html已经显示了)依靠调用controller点击事件请求选中的tab去改变active,下一步controller要求model去检测点击的Tab对象是否是活动的,如果给的Tab对象已经是active,controller对对象不做任何改变的尽早推出,然而,如果Tab对象是inactive,controller把model的active属性设置成true,然后,view为描述新的model在浏览器中进行重绘。
In general, the model passes data to the corresponding view for rendering. The view then passes events to the controller for processing. This updates the model to reflect the property changes, providing a closed feedback loop.
通常,model为重绘传递数据到相应的view。view然后传递事件到controller进行处理,这更新model成对应的属性变化,提供了一个闭环反馈循环。
架构细节
Applications that leverage TIBCO General Interface run in a standard browser. No other software is required to run the application on a client machine. This means that the client application is completely native, allowing for stable, fast, and true thin client, zero-install applications. No applets, plug-ins, or ActiveX controls are required to deliver robust application functionality.
影响TIBCO GI运行在一个标准的浏览器上的应用程序,运行在客户端上的应用程序不需要其他任何的软件,这个意思是说,客户端应用程序完成的本地化、考虑到稳定、快速和真正的瘦客户端、零安装应用程序。没有applets、插件、或者ActiveX控件去表现丰富的应用程序功能。
To deliver high functionality in a standard browser environment, General Interface leverages many of the same principles that make server-side architectures successful. General Interface software is founded upon solid, object-oriented principles. This means that robustly scalable functionality requires only a minimal footprint of client memory and network bandwidth. The class libraries that underlie the software are lean, comprising over 400 logical functions in approximately 300KB of data. Due to the object-oriented architecture and object inheritance framework, over 2,200 function calls are actually available at runtime across more than 40 foundation objects. Furthermore, because the class libraries follow a consistent object-oriented structure, they can be modified as necessary by runtime updates, additions, and even sub-classing. In addition, new objects can also be built by combining foundation objects, all without increasing the overall framework size.
General Interface在一个单独的浏览器里面分离了高级功能,成功实现了很多和服务端功能相同的概念。General Interface软件稳固的、面向对象的概念上,这就是说、升级功能仅仅需要很少的客户端内存和网络带宽,偏向于基础的底层软件类库由400个逻辑功能组成,大约300kb的数据,由于面向对象的架构和对象继承框架作用,超过实际使用的2200功能包含在大约40个功能对象里面。此外、因为类库遵行一种面向对象框架结构,能够运行时更改、添加和甚至继承子类去完成符合需要的修改。另外,新对象能够通过组合对象创建,而这不会增加框架的大小。
To manage such a broad array of functionality, General Interface employs a multi-tiered approach to object design. Essentially, any available function can be categorized into four distinct layers, as illustrated in Figure 5. These include:
● |
● |
● |
为了管理如此宽泛的功能表,GI使用了一个分层的架构设计。实际上,任何功能都能够清晰的归类到4层机构中,如图5,这包括:
1.客户逻辑层:这层由程序逻辑组成,如商业逻辑、客户端特殊功能等。
2.展现层:这层建立在稳固的面向对象设计原理之上,借鉴了很多java swing的设计概念,但没有运行在jre之上,使用了类似java的语法,在原生的浏览器上实现了复杂的html和javascript,好于java类文件需要浏览器去加载jre到内存(applet)。
3.数据层:这一层是用户快速访问应用程序数据的客户端数据缓存,所有数据被解析成xml进行缓存,在运行时能够通过xsl从缓存里面查询出来,这非常想sql提供查询接口从数据库中查询数据。
4.通信层:这一层管理线程和远程web服务器进行通信问题,通信是通过web service协议进行如soap、xml-rpc、想传统的http get/post协议一样进行。
General Interface provides libraries of functional objects that hide the complexities of DHTML development. You do not need to be familiar with the specifics of HTML in a given browser and can focus instead on the actual business logic for the application. You write JavaScript to enforce business rules and workflow, not to move HTML around the screen. Accordingly, enterprises get more yield out of their development resources.
应用层:
General Interface提供了类库对象去隐藏复杂的DHTML开发,你不要需要熟悉不同浏览器的特殊HTML,只需把重点放到实际的应用程序商业逻辑上,写的javascript只表达商业规则和流程,不需要去围绕屏幕取移动html,因此企业更好的在现有的开发资源上提高收益。
General Interface employs a presentation approach similar to Java Swing but without the overhead of the Java Runtime Environment. Developers familiar with container-based GUIs will find similar constructs in the General Interface environment. Application components, screens, and widgets are constructed from General Interface GUI objects and saved as object sets that can be imported or exported at runtime to deliver incremental application functionality on demand. Accordingly, businesses can leverage the General Interface components out of the box or create libraries of their own reusable application components.
表现层:
General Interface使用了类似Java Swing的表示技术,但是不运行在Java Runtine Enviroment,在General Interface开发环境里开发者能够发现熟悉的gui组件,应用程序组件、界面小组件都已GI GUI对象构建,gui能够保存到对象集中,这些能够在运行时通过导入导出动态增加程序库的能力,遵循,能够自己创建可复用的应用程序组件。
General Interface provides customizable GUI components. Prototypes are available in the System folder of the Component Libraries palette as a starting point. From these components, you can create custom components.
从原始的组件库里,你可以更具需要定制自己的组件,
Note that different prototype objects can be instances of the same base class. For example, Text Box provides the base class for instances of a text box, a text area, and a password field. Similarly the Block class is used as the base for Label and Image.
注意不同的原型对象能够实例化不同的原始对象,例如Text Box为a text box, a text area和 a 密码字段的实例提供基础类。 同样Block类被用于Label和Image的基础类。
General Interface GUI objects generate custom DHTML and JavaScript on the client. This design differs from traditional ASP or JSP architectures, where the presentation is generated on the server, and the resulting stream of HTML is returned to the browser for rendering. With General Interface, presentation generation doesn’t occur on the server. Therefore, transfer of presentation instructions over the network isn’t necessary. The result is highly responsive GUI applications that free up bandwidth for data (not HTML) and reduce the number of servers and server software licenses necessary to deliver a given application.
The client-side XML data cache provides you with a consistent API for data access and management. Benefits include:
● |
● |
● |
● |
TIBCO General Interface uses a container-based model for visual components, similar to that of Java Swing and other object-based GUIs. Rather than treating a web application as a series of hyperlinked pages, this architecture provides true object modeling when building an application.
● |
● |
General Interface supports multiple protocols for communicating with services in the network. The basic supported interactions, which all function over HTTP/S, include:
A key principle that drives the General Interface communication efficiency is to limit refresh to subsets of the screen, not the entire browser window. To facilitate this, General Interface improves and extends the traditional click-and-refresh APIs provided by the browser. Developers familiar with web application development have traditionally used standard approaches like HTML frames. Consider a standard web mail client, for example. To improve the user experience, the left frame persistently displays various folders and tools, while the right frame displays dynamic data. Although this design is adequate, there is no question that a web mail client is far less useable than an installed executable, such as Microsoft Outlook.
Technologies that provide single-page persistence in a web browser do exist, but these often leverage a client-side Java applet that requires loading the Java Runtime Environment into client memory or running a specific server platform. However, this design can quickly undermine application stability and available client-side memory.
发表评论
-
在Tibco GI中实现table表样式
2008-10-07 17:11 1150gi中通过LayoutGrid实现表格,在tibco f ... -
Long Distance Relationships Never Work
2008-08-26 23:18 740Don: Congratulation, Herb. You ... -
1-1 TIBCO General Interface GI处理模型
2008-03-26 09:18 935Processing Model处理过程By distribu ... -
2-10 TIBCO General Interface GI添加和调式JavaScript代码
2008-03-25 19:20 1333TIBCO General Interface 开发 ...
相关推荐
- **TIBCO 商标**:TIB, TIBCO, TIBCO Adapter, Predictive Business, Information Bus, The Power of Now, TIBCO General Interface, TIBCO GeneralInterface Framework, TIBCO GeneralInterface Builder, TIBCO ...
TIBCO General Interface (GI) 是一款强大的企业级富互联网应用程序开发平台,专注于提供交互式、数据驱动的应用程序。在“tibco-gi-3.5.1-pro-debug”这个压缩包中,我们看到的是TIBCO GI的专业版本,且带有调试...
TIBCO GI Builder 增强插件的集合。 PlugInMonitor 在运行时在树视图中显示 AMP 插件信息。 BatchRenamer 批量重命名多个组件,还支持基于正则表达式生成匈牙利语前缀和替换。 推箱子是经典游戏的 GI 克隆:推...
TIBCO RV 的消息传递平台的设计目标是为分布式应用提供一个健壮的、可扩展的、高性能的消息基础架构。此外,它还具有管理方便、易于集成、可靠和安全性等特点。 TIBCO RV 消息传递平台具备的关键特性包括以下几点:...
在Tibco General Interface (GI) 中实现table表样式是一个重要的设计任务,它涉及到用户界面(UI)的美观和用户体验。Tibco GI 是一个强大的富互联网应用(RIA)开发平台,用于构建交互式、高性能的应用程序。在这个平台...
[Addison-Wesley Professional] rchitecting Complex-Event Processing Solutions with TIBCO (英文版) [Addison-Wesley Professional] rchitecting Complex-Event Processing Solutions with TIBCO (E-Book) ☆ ...
1. **高可用性**:Tibco RV提供了高度可靠的消息传递,确保消息的送达,即使在网络故障或其他系统问题的情况下也能恢复。 2. **低延迟**:由于Tibco RV的本地API设计,它能够提供非常低的消息传递延迟,适合实时和...
《TIBCO Jaspersoft Studio 6.10.0:报表设计的高效工具》 TIBCO Jaspersoft Studio 是一款强大的报表设计工具,它为开发者提供了丰富的功能,用于创建、编辑和管理复杂的报表和可视化项目。在6.10.0版本中,这个...
TIBCO(The Information Bus Company)是一家专注于企业级中间件软件的公司,其产品和服务广泛应用于全球各行各业,尤其在企业服务总线(ESB)、事件驱动架构(EDA)和实时大数据处理方面享有盛誉。本压缩包包含的三...
这个名为“tibco-factory-demo”的项目,是一个用于演示TIBCO Factory功能的详细步骤指南,旨在帮助用户了解如何有效地使用该工具。 首先,让我们深入理解TIBCO Factory的核心概念。TIBCO Factory 提供了一种结构化...
输入Server URL(如tcp://192.168.63.28:7222和tcp://192.168.63.29:7222),Server Name(如Seashell-Tibco-s1),Agent Name留空,User Name和Password均为qa_test。保存设置后,应用并保存服务器文件。 最后,...
1. **环境搭建与安装**:首先,用户需要了解如何下载并安装Jaspersoft Studio,以及如何将其与TIBCO Jaspersoft Server集成,以便于在服务器上部署和发布报表。 2. **界面与工作区**:介绍Jaspersoft Studio的工作...
5. **TIBCO General Interface**:这是一个快速应用开发(RAD)平台,用于构建富互联网应用程序(RIA)。学习资料可能会包含创建动态用户界面、实现客户端-服务器交互以及集成其他TIBCO组件的教程。 6. **事件驱动...
《TIBCO Enterprise Message Service™ 用户指南》是TIBCO Software Inc.为TIBCO Enterprise Message Service(简称TIBCO EMS)用户提供的详尽指导文档。TIBCO EMS是一款先进的消息中间件,它允许应用程序之间通过...
Apache Maven和TIBCO ActiveMatrix BusinessWorks:trade_mark:和TIBCO BusinessWorks:trade_mark:容器版的插件代码 此插件受作为存储库一部分共享的许可证的约束。 在使用或下载此插件之前,请先检查许可证。 它...
通过TIBCO提供的PPT文件“TIBCO-ESB-SOA介绍”,读者可以深入了解TIBCO公司的产品和服务,以及它们在实际场景中的应用。这份资料详细阐述了TIBCO ESB如何实现SOA,以及BusinessWorks如何帮助构建和管理业务流程。...
tci-tools是Microsoft Visual Studio Code的扩展,它提供了对在TIBCO Cloud:trade_mark:Integration中构建出色的Node.js应用程序的支持。 指令 检查安装状态 该命令检查tibcli实用程序是否已安装在您配置的位置的...
TIBCOJaspersoftStudio-6.0.0.final-windows-installer-x86_64画报表
Silver Fabric Docker Enabler使 Docker 容器适应由TIBCO Silver Fabric供应和编排。 在 Silver Fabric 的规范使用上下文中,仅对有用的 Docker 功能进行了调整。 此启用程序基于 Linux64 上的Docker 1.2.0、1.3.0 ...