IBM Software Group 使用 RAD 进行 J2EE 开发 liyans@cn.ibm.com 2005 IBM Corporation
内容 什么是 RAD,RAD 的定位及涵盖的功能 RAD 的产品架构和特点 回顾 J2EE 使用 RAD 如何进行 J2EE 开发 - 展示层 - 业务逻辑层 - 数据层 - 集成 使用 RAD 如何进行 J2EE 应用的测试和部署
什么是 RAD,RAD 的定位及涵盖的功能 Analyst Rational RequisitePro Rational Software Modeler WebSphere Business Integration Modeler & Monitor Architect Rational Software Architect Rational Software Modeler Developer WebSphere Rational Studio Application Developer Rational Web Developer WebSphere Studio Site Developer Rational Rose XDE Developer for Visual Studio Rational PurifyPlus Tester Rational Functional Tester Rational Manual Tester Rational Robot Rational Performance Tester Deployment Manager Tivoli Monitoring Tivoli Provisioning Tivoli Configuration Manager Project Manager Rational Unified Process Rational ClearCase Rational ClearQuest Rational RequisitePro Rational TestManager Rational ProjectConsole
什么是 RAD,RAD 的定位及涵盖的功能 RWD (Rational Web Developer) 简单的 Web 应用构建和开发 RAD (Rational Application Developer) RWD 企业级应用开发, 调试应用测试
IBM Rational Web Developer 概览 Web UI construction Visual site layout tools Drag-and-drop web client construction supporting range of web client technologies: HTML, JSP, Servlet Struts, JSF and SDO EGL Simplified 4GL for Web Application Development Text User Interface Programs Support (3270, Curses) VisualAge Generator - > EGL Migration Tool Java Runtime Targets IBM Rational Web Developer Web UI construction Rich Client UI construction Enterprise Generation Language Web Services Tools XML Tools Eclipse Java Development Tools Rich Client UI construction Visual Editor for Java for rich client composition Supports Swing, AWT, SWT widgets Web Services Tools WSDL visual editor UDDI Registry browser XML Tools XML and XSD tooling support Eclipse Java Development Tools J2SE development tools Code completion, search, refactoring Extensible Team APIs to support CM integration (CVS, ClearCase, and many others) Plug-in Development Environment for extensibility
IBM Rational Application Developer 概览 : J2EE/EJB Tooling J2EE construction tools Supports WebSphere and WebLogic Supports J2EE 1.3 and 1.4 Rapid Deployment for WAS v6 Integrated WAS test environments Code Analysis Tools Both static source code analysis and dynamic runtime analysis Source code analysis for rule violation detection: Java/EJB coding practices, internationalization, accessibility, architectural constraints, API deprecation Sequence diagram runtime trace with performance, thread and code coverage annotation Advanced memory leak detection Remote data collection across multiple servers User-defined run-time probes Interactive reports and metrics IBM Rational Application Developer Component/Unit Test J2EE/EJB Tooling Portal/Portlet Design Tools Code Analysis Tools Web Services Tools UML Visual Editors Rational Web Developer RUP Configuration for J2EE ClearCase LT Component/Unit Test JUnit-based testing of Java, EJB and Web Services Test prioritization recommendation based on code analysis Automated test case generation through usage of test patterns Datapool editor for data-driven testing Portal/Portlet Design Tools Visual Portal site and page layout tools Visual Portlet layout and preview Integrated Portal test environment Web Services Tools WSDL visual editor UDDI Registry browser UML Visual Editors Class diagrams for Java/EJB structure Sequence diagrams for method body visualization IDEF1X/IE diagrams for Database and XML schema Dynamic topic diagrams Javadoc integration Visual refactoring
RAD 的产品架构和特点 业界标准 可插拔的开放体系架构 Eclipse,MDD? UML, RAS, J2EE, Web Services, JSP, JSF, SDO, XML 提高开发生产力 丰富的用户导航方式和辅助开发工具 基于角色的模型驱动的开发流程 开发测试一体化, 各个阶段保证开发质量 快速部署 在开发过程中不断进行学习 集成, 扩展能力 与配置管理的深入集成 支持开发流程客户化的开发框架
Web Services and XML support Standards / Portability - XML Schema definitions for all deployment descriptors JAX-P 1.2 - New properties for XML parsers JAX-R - XML registry API JAX-RPC - APIs for representing WSDL-based services as RPCs in Java (&vice-versa) JSR 109 - Web services programming and deployment model SAAJ 1.1 - SOAP Attachments API for Java Other Servlet 2.4 JSP 2.0 Extensible deployment descriptors Request/response listeners Expression Language Simple Tag Extension JDBC 3.0 Meta data and cursor support Messaging EJB 2.1 回顾 J2EE 1.4 Typed message beans (used for any inbound JCA including pluggable JMS id )
回顾 J2EE 1.4 IBM Software Group Rational software 浏览器无线设备, PDA User Interface HTML JSP WML VML JSF Portlets Control Logic Servlets Struts JSF Portal Business Logic JavaBeans EJB EGL Enterprise Information Connection JDBC JCA JMS 遗留系统独立应用 WSDL SOAP UDDI XML Web Services 的增强 数据库 合作伙伴供应商 SOA BP Choreography Business Process Integration z/os COBOL,PL/1,4GL 很多阶段 很多标准和相关 API 复杂的体系架构 技术密集形 工具, 方法, 流程的结合 开发效率, 开发的正确性
Web 应用开发工具 - 显示层 Page Designer 用于对每个单独的页面的设计开发 Web site designer 帮助开发人员导入, 创建, 编辑, 规划, 整个 Web 站点 Web diagram 显示页面流和 JSF 的事件处理行为
Web 应用开发工具 - 显示层 JSP2.0 的重要部分 实现显示层的 MVC 架构 Struts and Swing 更好的实现 J2EE 中的显示层的逻辑
使用 RAD 如何进行 J2EE 开发 - 显示层 JSF 的价值 : 通过 UI component 对界面的处理, 从而使得显示内容与设备无关 UI Components 通过 Managed Beans 实现数据和业务逻辑处理 UI Component 通过 server-side 事件 handlers 驱动相关事件 可扩展的 UI Components 可扩展的输入验证功能 自动的状态管理 支持国际化 支持扩展能力 JSF 文本编辑, 配置文件编辑, 以及基于 Web 的可视化操作界面
使用 RAD 如何进行 J2EE 开发 - 显示层 JSF 的支持 : Web UI construction 可视化的站点设计工具 Drag-and-drop web 构建支持工具, 包括 : HTML, JSP, Servlet Struts, JSF and SDO IBM Rational Web Developer Web Services Tools Web UI construction Rich Client UI construction Enterprise Generation Language XML Tools Eclipse Java Development Tools
使用 RAD 如何进行 J2EE 开发 - 业务逻辑层 EJB2.1 的开发 方便高效的可视化操作 开发可视化, 迅速生成代码框架 部署可视化 自动进行代码语法检查, 自动生成并打包部署描述文件 自动生成 EJB 的 Client 端代码 将开发人员的注意力集中在业务逻辑的开发上 方便的对 EJB 打包并发布
使用 RAD 如何进行 J2EE 开发 - 业务逻辑层 开发过程中的可视化, 例如 :Entity Bean 的数据映射可视化 Model 到 EJB 的转换等等
使用 RAD 如何进行 J2EE 开发 - 业务逻辑层 结合 WTE 开发环境自动部署和更新, 调试方便使用 通用测试客户端 进行 EJB 调试, 无需客户端编码
使用 RAD 如何进行 J2EE 开发 - 数据层 SDO: 是一种数据应用开发架构, 包括 (API, 架构 ) 使用 SDO 的 API 可以访问多种数据源 Relational databases Entity EJB components XML pages Web Services Java Connector Architecture Java Server Pages 其它.
使用 RAD 如何进行 J2EE 开发 - 数据层 SDO 带来的好处 : 统一数据应用开发 简化 J2EE 应用层对数据层的访问 支持和集成各种数据源 J2EE pattern 和最佳实践的体现
使用 RAD 如何进行 J2EE 开发 - 数据层 多数据源的访问, 与 JDO,WDO 的区别
使用 RAD 如何进行 J2EE 开发 - 数据层 RAD 支持 SDO 的开发 生成 CMP 时自动使用 SDO 进行数据库持久化 Tool Palette 项目浏览器 ( 基于组件引用方式使用 SDO)
使用 RAD 如何进行 J2EE 开发 - 集成 WebService: SOAP 交换信息的协议 多平台支持的 xml 协议, 用于不同平台的 client / Server 之间通信, WSDL - Web Services Description Language 基于 xml 的描述的服务接口. UDDI - Universal Description, Discovery, Integration UDDI 服务提供的列表信息 使用 SOAP 应用更新或查询服务列表信息, 以取得要访问的服务信息
使用 RAD 如何进行 J2EE 开发 - 集成 JAX-RPC 基于 XML 的 RPC 的 API 从 Servlet 中访问 WebService 的 API 客户端访问 Web Services 的相关 API 如何将 JAVA 类型映射成 WSDL 中的 XML JSR-109 如何将 J2EE 应用打包, 部署成 WebService. 无状态 Session Bean 如何转换到 WebService.
使用 RAD 如何进行 J2EE 开发 - 集成 开发 Top Down 从 WSDL 自动生成 JAVA 调用的桩代码 Bottom Up 将已经存在的 JavaBeans, EJBs, DB2 进行 WebService 封装, 打包 产生访问 WebService 的 JAVA Client 框架代码测试 使用 WSDL explorer 进行 WebService 执行测试, 进行协议调试部署 将 WebService 部署到 WebSphere 应用服务器或者 Tomcat Soap 环境 发布 将 Web services 发布到 UDDI v2 or v3 注册服务器上
使用 RAD 如何进行 J2EE 应用的测试和部署 组件级的打桩测试 基于 JUNIT 测试框架 多种测试方式 : 基于方法, 基于场景 自动生成桩代码 桩代码的 data table 功能 分组产生测试报告
使用 RAD 如何进行 J2EE 应用的测试和部署 运行时分析 ( 空间, 时间, 覆盖率 ) 特点 : 运行时监控 (profiling) 可视化显示 (call graph) 关联原代码 ( 对应到代码行 ) 线程分析
使用 RAD 如何进行 J2EE 应用的测试和部署 应用的部署 : 建立项目时, 生成系统运行框架和所需文件 每次修改后系统自动进行编译 系统自动生成部署文件, 系统自动打包 基于 navigater 的配置信息输入 在 WTE 的测试环境下自动部署部署 导出到生产环境下直接部署