当前位置:主页 > web开发
基于Jazz技术构建企业级Web2.0应用(4)
日期:2017-09-09 浏览量:

《基于Jazz技术构建企业级Web2.0应用》系列第一部分:数据模型设计与持久化

《基于Jazz技术构建企业级Web2.0应用》系列第二部分:服务层设计与实现

《基于Jazz技术构建企业级Web2.0应用》系列第三部分:利用Jazz Process实现业务流程定制

【IT168 专稿】

在本系列前三部分中,我们以PetStore为例先后介绍了如何使用Jazz技术开发一个企业级应用的数据模型层和服务层,在这一部分中我们将要介绍如何开发此应用的富客户端UI。

Jazz开发框架为我们提供了两种富客户端方式供选择,一种是基于Eclipse的RCP,另外一种是目前很流行的Web客户端。Jazz为这两种服客户端都提供良好的基础设施支持,开发人员基于扩展点就可以开发出适合自己工程的客户端程序。本文首先介绍Jazz Web UI Foundation, 然后以Pet Store为例介绍基于Jazz的Web UI开发流程。

Jazz Web UI Foundation

Jazz的技术实现是基于Eclipse的OSGi包机制之上,每个组件都有良好的模块化设计结构, 具有良好的可扩展性,Web UI也不例外。 下面我们就来看一下Jazz Web UI Foundation的结构。Jazz Web UI Foundation对应四个包:

· org.dojotoolkit

· net.jazz.ajax (Jazz Ajax Framework)

· com.ibm.team.repository.web

· com.ibm.team.process.web

它们之间的关系如图1所示:


    图1. Jazz Web UI Foundation 结构图

目前在业界有许多的Ajax Framework,Jazz采用的是Dojo Toolkit。 Dojo Toolkit在Jazz里被打包成一个命名为org.dojotoolkit的OSGi包, 这样它就可以通过Eclipse的插件机制来发挥作用。其中,Dojo通过提供一系列APIs,为JavaScript提供模块化管理能力和类Java的面向对象编程能力,给我们提供了一种方便的对象创建与扩展机制。同时,Dojo为声明式创建Ajax widgets提供一个强大的机制--它使用简单的HTML模板,并为这些widgets添加统一的事件处理机制,既屏蔽了浏览器对事件处理方法的差别,又使得程序开发人员可以方便的对站点进行处理。

net.jazz.ajax就是Jazz Ajax Framework(即JAF),是Jazz Web Foundation的核心。它首先将OSGi模块化模型扩展到Ajax领域,通过严格定义的类加载模型,组件开发人员可以获得Eclipse SDK插件开发环境(PDE)工具的强有力支持。同时,OSGi框架允许开发人员定义扩展点和这些扩展点的扩展性,从而很容易的对UI在多个级别上进行扩展。JAF的模块化模型也为Ajax资源的动态优化提供保证,它通过分析每个JAF组件中的元数据和Ajax代码,在执行应用时自动的优化Ajax资源,并能够通过延迟加载机制,智能的决定加载那些必须的模块,既加快页面装载速度,又减少应用程序的内存消耗。另外,JAF中URI驱动框架也可以简化后退、前进和历史标签,在不牺牲这些基本浏览器功能的前提下,使得开发人员很容易的达到构造复杂Ajax应用的目的。开发人员也可以在应用程序的URI中简单的插入"?debug=true"就能启动JAF的调试模式。

从以上的介绍我们可以看出,在Jazz Web UI Foundation中,Dojo Toolkit贡献了丰富的widget可供UI程序员使用。而net.jazz.ajax提供强大的UI模块化开发能力,这样不同的模块开发人员就可以独立开发自己模块的UI,并且可以使用Eclipse的扩展点机制实现模块与模块之间UI的松耦合。这些对Java EE的项目开发是非常重要的。

通常UI开发人员除了关心自己所使用的编程框架外还会关心UI和应用后端的数据交互接口,下面我们就介绍一下Jazz的数据封装和解封装,让您熟悉一下UI端请求数据的方式和所消费的数据格式。

Jazz的数据封装和解封装

Jazz和许多的Java EE项目一样,采用分层模型。Web UI通过调用REST服务来使用数据。数据的传输和转换流程为:

1.REST服务将数据封装成DTO;

2.Jazz Ajax Framework服务器端部分将DTO数据封装成SOAP消息发送给客户端;

3.Jazz Ajax Framework客户端部分将数据从SOAP消息解封装并转换成JSON格式。

程序员可见并需要编程的有两部分:

1.在 REST服务中将数据封装成DTO。

DTO作为一种设计模式在Java EE中被广泛使用, 负责服务器端和客户端之间的交互,REST服务在接到客户端的方法请求之后做一系列的逻辑操作,然后返回DTO形式封装的数据。

2.在Web UI中使用JSON格式数据。

Jazz Ajax Framework提供com.ibm.team.repository.web.transport.TeamServerClient来发起Ajax请求,TeamServerClient在得到服务器的响应后将拿到的SOAP消息解封装并将消息体中的values转换成JSON供客户端使用。

    相关文章:
    ·Web开发技术
    ·WEB前端开发教程
    ·Web前端开发前景怎么样?哪家培训机构好?
    ·物联网浪潮之下,前端工程师如何迎刃而上?
    ·传苹果正开发人工智能专用芯片 欲赶上亚马逊和
    → 特别推荐
    Web开发技术
    WEB前端开发教程
    Web前端开发前景怎么
    物联网浪潮之下,前
    传苹果正开发人工智
    摩拜单车亮相数博会
    乐视体育融资了还要
    助力市场落实《网络
    走路姿态也能解锁手
    Web前端开发顶尖机构
    看苹果新开发课程:
    游多多客栈惊艳亮相
    金立S10今日发布:男
    文人墨客的手机 海信
    聚焦智能营销 精品媒
    → 热点TOP10
    【系列直播】
    APP开发找到技
    新快报官方网
    腾讯开发人脸
    专业时尚网站
    国办印发《政
    掌握这十个小
    十大Web漏洞扫
    WEB前端开发教
    看苹果新开发

    友情链接/网站合作咨询: