通过扩展扩展点 com.ibm.team.repository.service.serviceProvider 创建一个 RTC Server 端服务具体实现,用来处理客户的具体 HTTP 请求

  清单 7

<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.2"?>
<plugin>
   <extension
         point="com.ibm.team.repository.service.serviceProvider">
      <serviceProvider
            componentId="com.ibm.rational.svt.workitem.extensions"
                      implementationClass="com.ibm.rational.svt.workitem.extensions.
                      service.DefectValidationProcessRestService">
         <provides>
            <providedService
            interface="com.ibm.rational.svt.workitem.extensions.common.
            IWorkitemValidationWorkflowRestService">
            </providedService>
         </provides>
         <prerequisites>
            <requiredService
                  interface="com.ibm.team.repository.common.service.IQueryService">
            </requiredService>
            <requiredService
                  interface="com.ibm.team.repository.service.IRepositoryItemService">
            </requiredService>
         </prerequisites>
      </serviceProvider>
   </extension>
</plugin>

  通过创建一个 Web Viewlet 作为整个解决方案的 Web GUI 展示平台。Jazz 平台提供了专门的扩展点,用来扩展用户自定义的 Viewlet。通过这个 Viewlet,我们可以将后台定义的缺陷查询,及在不同的过滤条件下的结果,很好的展示出来;同时,这个 Viewlet 也实现了 IWD 环境自动部署的逻辑展现。Viewlets 实现的扩展 com.ibm.team.dashboard.common.viewlets。

  清单 8

  <?xml version="1.0" encoding="UTF-8"?>

<?eclipse version="3.2"?>
<plugin>

    <!-- Web bundle marker -->
    <extension point="net.jazz.ajax.webBundles"/>
  
    <!-- Viewlets and categories -->
    <extension
             point="com.ibm.team.dashboard.common.viewlets">
        <category
            id="com.ibm.helloworld.category"
            name="Testing App Store">
        </category>
        <viewlet
            allow-remote="true"
            applies-to="projects"
            closable="true"
            collapsable="true"
            dynamic-title="true"
            editable="true"
            filterable="true"
      icon="resources/ui/internal/graphics/helloworld/icons/processcustomization_obj.gif"
            id="com.ibm.helloworld.viewlet.queryresults"
            include-subteams="no"
            refresh-interval="600"
            scope-sensitive="false"
            title="%viewlet.workItems"
            title-as-hyperlink="true"
            version="2"
      widget="com.ibm.helloworld.viewlet.web.ui.internal.WorkItemsViewlet"
            zoomable="true">
                     
    ....    ..
</plugin>

  其中 com.ibm.helloworld.viewlet.web.ui.internal.WorkItemsViewlet 定义了 viewlet 的具体实现。实现效果如下图:

图 7. viewlet 的具体实现