中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> Bea专区 > WebLogic Server 8.1
WebLogic Workshop的Java控件和扩展性体系结构
作者:佚名 时间:2005-11-23 20:48 出处:bea 责编:chinaitpower
              摘要:在这篇文章中,首先简要介绍一下WebLogic Workshop 8.1,然后站在一个高层次上来考察这些扩展点。这篇文章由 Workshop产品开发组的几处资料集合而成。
BEA WebLogic Workshop 8.1最激动人心的一个方面在于,通过开发自定义Java控件、IDE扩展、应用模板或者标签库扩展,为开发商和独立软件开发商提供扩展Workshop开发环境的能力。在这篇文章中,我们首先简要介绍一下WebLogic Workshop 8.1,然后站在一个高层次上来考察这些扩展点。这篇文章由 Workshop产品开发组的几处资料集合而成。Workshop扩展开发工具包可以从以下网址下载:http://dev2dev.bea.com/products/wlworkshop81/

WebLogic Workshop 8.1综述

WebLogic Workshop 8.1是一种用于开发基于WebLogic Platform 8.1J2EE应用程序的集成开发环境(IDE)和框架。它非常适合于所有开发人员用于快速创建、测试和部署Web应用程序、XML Web服务、EJB、门户和基于BEA WebLogic Platform 8.1的业务过程。简单说来,Workshop可以将困难的事情变得简单,使复杂的问题成为可能。

WebLogic Workshop既是一种集成开发环境,又是一种运行时框架。它的可视开发环境和编程模型基于一些直观概念,例如拖拽控件、方法和属性,从而允许基于事件的开发,而无需开发人员掌握复杂的J2EE API和面向对象的编程原则。

可视开发环境生成标准的Java文件,带有由Workshop插入的附加注解(例如,当开发人员设定属性或增加控件时),指定了合适的运行时应用程序行为。这些注释允许Workshop运行时框架自动生成J2EE基础结构组件,因而将用户从必需的底层基础设施管道中解放出来。

应用程序 —— 无论是Web服务、Web应用程序、门户,还是工作流 —— 共享了一个将组件装配和连接在一起的公共过程,这些组件利用附加代码、工作流逻辑、个性化性信息等等来封装业务逻辑或者资源。应用程序装配和组件重用是WebLogic Workshop的关键结构。

WebLogic Workshop的扩展点
  除了简化J2EE应用程序的开发之外,Workshop还为开发人员和独立软件开发商提供了丰富的扩展模型,可以直接将他们的产品和服务集成到开发环境中。通过使用Java控件、模板、IDE扩展、标签库扩展,开发人员在使用WebLogicWorkshop方面具有更多的灵活性。一些Workshop扩展和应用集成思想的例子包括:

·         自定义应用程序设计器和窗口驻留在Workshop IDE中。

·         与后端资源交互的自定义控件——包括数据库、系统、应用程序和业务逻辑。

·         启动外部帮助器应用程序的工具栏图标和自定义菜单。

·         新的项目和文件类型,这不是Workshop自带的。

·         Web应用程序使用的JSP标签库。

有了以上这些背景知识,让我们来更详细的看一看这些扩展点。

WebLogic Workshop 8.1 Java控件

BEA WebLogic Workshop Java控件为开发人员提供了易于连接到现有数据、系统、应用程序和业务逻辑的能力。控件是具有事件、方法、属性的可视化组件,它们处理连接到外部资源或者业务逻辑的细节问题。开发人员通过处理事件、调用方法和设置属性来与控件进行交互。除了内置的一套控件外(参见图1),Workshop 8.1还使得控件模型具有可扩展性,从而所有用户(包括独立软件开发商)都可以建立自定义的控件,无缝地插入到Workshop集成开发环境中。

创建Java控件

   
要创建自定义Java控件开发人员用熟悉的可视设计器来确定界面例如,受支持的方法和事件),设置属性来描述运行时行为,并使用过程性Java代码来编写业务逻辑,从而实现这些方法。开发人员在软件中用独立的WorkshopControl Project”来建立控件。当Control Project建立之后,项目中的所有控件都被编译成单个JAR文件。JAR文件是自包含的,通过将它添加到应用程序的库文件夹中,可以移动到任何其他Workshop应用程序中。

Workshop也能通过在应用程序中配置控件的行为和外观这一任务,来帮助设计人员完成控件设计。控件设计人员可提供一个简单的基于 SwingJPanel向导或者一个表示一组用户可以理解的配置选择的多步向导。

Java控件公开了一组简单的属性,通过它用户可以实现高级运行时功能,例如异步通信、安全角色、生命周期事件、事务支持等等。自定义控件设计人员可以自由填充属性面板,以使控件符合用户的需求。

打包和分发Java控件

控件可以很容易地打包成标准JAR文件。用户通过把JAR导入到他们的应用程序库文件夹中来使用这些控件(参见图2)。然后,控件就会自动出现在用户的设计面板中,准备合并成应用程序。


应用程序和项目模板
    WebLogic Workshop具有一种项目和应用程序模板机制,它是应用程序子系统的一部分。通过将所需要的支持文件和资源(如JSPEJBJAR文件、图像等)预先填入到一个应用程序或者项目中,模板允许开发小组开始将一种合适的体系结构作为初始项目结构的一部分。它们为系统架构师和独立软件开发商提供了一种方式来打包和分发Java控件,并为

开发人员提供了一个很好的起始点。

模板存储在WebLogic8.1 Workshop的模板目录下,并被打包为zip文件。一个模板可以由Java控件EJBJSP、图像和/或其他任何文件组成。它们被加载到一个基于XML模板定义文件的IDE中。模板zip文件第一次读取时,New ApplicationNew ProjectAdd Project或者 Install 菜单被打开。

项目模板

WebLogic Workshop支持两种类型的模板:应用程序和项目。一个项目模板可以创建用于填充单个新的或者已存在的Workshop中特定项目类型的项目。项目模板也可以通过其他项目模板来扩展以及通过应用程序模板来引用。

应用程序模板

应用程序模板可以用于填充一个新的或者已存在的Workshop应用程序。应用程序模板可以包含任意多的元素,包括项目模板。定义在应用程序模板中的项目模板不会出现在New ProjectAdd Project 对话框中,而只能在创建这个应用程序时使用。

清单1是一个与创建Web应用程序相关的模板定义文件的例子。

清单1.

<template-definition>
    <project-template id="default"
            type="urn:com-bea-ide:project.type:WebApp"
            extends="base">
        <display
            location="newdialog,importdialog"
            label="Web Project"
            description="Creates a default web application project. 
                 By default, the project name will become a part of the URL for the 
                 web applications you create in it."
          priority="100"
            categories="Web User Interface" />
        <content type="archive" destination="project" source="netuitemplate.zip"
                  overwrite="true"/>
        <content type="archive" destination="project" source="jsp_resources.zip"
                  overwrite="true"/>
    </project-template>
    <project-template id="base_install" type="urn:com-bea-ide:project.type:WebApp"
          extends="base" 
          processor="workshop.pageflow.ui.dialogs.wizards.repair.util.
          ProjectRepairHelper">
        <display
            location="contextmenu"
            label="Web Project Libraries..."
            description="Installs the base set of NetUI / Page flow libraries." />
    </project-template>

WebLogic Workshop 8.1 IDE扩展

有几种不同级别深度用于扩展和集成WebLogic Workshop IDE从简单的启动外部应用程序的工具栏图标到带有自定义窗口、菜单和属性列表的完全集成化应用程序。

一个Workshop扩展由以下工件(artifacts)组成,并一起打包为JAR文件或目录。

·         XML描述符扩展XML

·         Java类的集合:公开接口,并使用各种服务

·         资源文件:图像和字符串属性文件

·         文档

WebLogic Workshop本身是几种扩展集合到一个公共接口的顶点。wlw-ide.JAR是主要的Workshop可执行文件,包含有核心类文件、工具类和加载扩展的机制,但是我们感兴趣的用于运行IDE的代码包含在必需的Workshop扩展中。WebLogic Workshop定义了两种类型的扩展:必需的和可选的。必需的Workshop扩展包括:

·         控件

·         调试程序

·         JSP设计器

·         Shell

·         源控件

·         工作空间

·         XML

·         源代码编辑器

可选扩展包括:

·         页面流

·         进程

为使Workshop在启动时加载一个特定的扩展,扩展的JAR文件被放置在包含wlw-ide.JAR文件的目录下的扩展的子目录中,其中的wlw-ide.JAR文件包含了IDE的核心。一个扩展也可以完全分解到“扩展”中的目录和类文件中。

创建Workshop扩展

一个WebLogic Workshop扩展可以简单地定义为一个JAR或目录,它们包含在一个最小的extensions.xml该文件声明了在IDE中有一个扩展的参与。通过创建一个带有如清单2所示的extensions.xml文件的JAR,我们可以为Workshop添加一个新的工具栏图标。这很简单。

清单2

<extension-definition>
<extension-xml id="urn:com-bea-ide:actions">
<action-ui>
<toolbar id="sqltoolbar" path="toolbar/main" 
priority="2" label="%sqlEditor.extension.actionSQLAttributeEditor%">
  <action-group id="sqledit" priority="10" /> 
  </toolbar>
  </action-ui>
  <action-set scope="com.bea.ide.lang.control.ControlDocument">
 <action class="sqlEditor.SQLAttributeEditor"
  label="%sqlEditor.extension.actionSQLAttributeEditor%" icon="images/database.gif">
  <location priority="10" path="toolbar/sqltoolbar/sqledit" /> 
  </action>
  </action-set>
  </extension-xml>
  </extension-definition>

"%sqlEditor.extension.actionSQLAttributeEditor%" 中的%符号是一种引用本地化字符串资源的方法为可选项。

这个扩展在工具栏中放置一个新的按钮,并database.gif作为其图标。当按下这个新的工具栏按钮时,将显示SQLAttributeEditor
       对于更复杂的扩展,JAR文件将包含作为扩展实现的Java代码,定义类路径的清单(manifest)文件,以及引用在运行时能被扩展所用的依赖JAR的属性。

在启动时,核心IDE运行时读取所有的extension.xml文件,一起批处理它们,并确保每个扩展所请求的服务有效。

扩展可能为extension.xml文件中找到的<extension-xml>标签定义处理程序。处理程序与特定的id属性相关联。所有的extension.xml文件为包含在<extension-xml>标签中的片段所扫描,并且将这些片段传递给为特定id属性所定义的处理程序。这种机制允许扩展创建那种可扩展的基础结构,这种基础结构有利于其他扩展参与进来。该处理程序类由核心IDE实例化,并完全负责解析包含在片段中的XML语句。

服务

   扩展的一个重要方面在于其公开和使用不同IDE服务的能力。服务基本上是一个公共接口:它具有单个实例的实现,并在扩展中提供了对功能的访问。除了用于<extension-xml>的处理程序外,扩展也可以声明它所实现的服务。例如,调试程序扩展定义一个调试程序服务,在其他事情当中,为设置断点提供了一种方法。shell提供了一种文档服务,它带有一种用于打开文档的方法。服务由扩展Java类使用,并使用 extensions.xml 文件中的特定标签在系统中注册。许多服务已经有了关联的<extension-xml>标签处理程序,这将允许扩展添加功能到服务中。一些广泛使用的服务包括:

·         资源服务:提供对图标、图像和本地化字符串等资源的访问。

·         框架服务:允许扩展来指定扩展的定位布局。

·         文件服务:为文件系统访问和操作提供一组服务。

·         服务器服务:为访问WebLogic Server提供一组服务。

·         文档服务:提供了一种为文件提供抽象文档接口的手段,这些文件将作为应用程序项目一部分。

·         动作服务:为添加和操作菜单和工具栏项提供方法。

自定义标签库扩展

标签库定义扩展(tldx)文件允许开发人员将他们的标签集成到Workshop中。由IDE提供的集成服务允许开发人员访问数据面板和设计面板、源代码视中的错误检查,以及JSP设计器中标签的自定义显示。

    要为WebLogic Workshop建立自定义标签库,开发人员提供了tld/tldx对、标签处理程序JAR,以及tldx处理程序JAR(当前tldx JAR必须存在于workshop/extensions目录下)。相关的帮助文档可能放在WebLogic Workshop的帮助目录下。

结束语
BEA WebLogic Workshop 8.1为开发人员和独立软件开发商提供了丰富的扩展模型,从而可以直接将他们的产品和服务集成到开发环境中。

 作者简介
Dave Cotter是WebLogic Workshop产品组的产品管理经理。
关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有