27
Software Development Conference 2007 Vývoj pomocí IBM Rational Software Vítek Linduška

Vývoj pomocí IBM Rational Software V ítek Linduška

  • Upload
    solana

  • View
    25

  • Download
    0

Embed Size (px)

DESCRIPTION

Vývoj pomocí IBM Rational Software V ítek Linduška. IBM Rational Software Architect – A Complete Development Tool. IBM Rational Software Architect. - PowerPoint PPT Presentation

Citation preview

Page 1: Vývoj pomocí IBM Rational Software V ítek Linduška

Software Development Conference 2007

Vývoj pomocí IBM Rational Software

Vítek Linduška

Page 2: Vývoj pomocí IBM Rational Software V ítek Linduška

Software Development Conference 2007

2

IBM Rational Software Architect – A Complete Development Tool

IBM Rational Software Architect

IBM Rational Application Developer for WebSphere

IBM Rational Web Developer

IBM Rational Software Modeler

For software architects and senior developers developing applications for the Java platform or in C++. Rational Software Architect unifies UML modeling, Java structural analysis, Web Services, Java/J2EE, Data, XML, Web development, and process guidance.

Rational Application Developer is for web, Java, and J2EE developers and development teams building web applications, web services, Java applications, J2EE applications, and portal applications.

For corporate and web developers building dynamic web applications, web services, or java applications. Rational Web Developer is an easy-to-use IDE for visually constructing, testing, and deploying applications. Leverages JSF and EGL rapid tooling.

Rational Software Modeler is a visual modeling and design tool that leverages UML to document and communicate the different views required to support analysis and design.

All built on Eclipse 3.0

Page 3: Vývoj pomocí IBM Rational Software V ítek Linduška

Software Development Conference 2007

3

Challenges of Architecting SoftwareChallenges of Architecting Software

Communicating a Solution Even experienced teams need clear

and consistent communication

Programming languages implement architectures -- they do not describe them

Architecture decisions are only useful if they can be followed

Communicating a Solution Even experienced teams need clear

and consistent communication

Programming languages implement architectures -- they do not describe them

Architecture decisions are only useful if they can be followed

“Teams need effective, efficient

communication.”

“How can our decisions be shared?”

Page 4: Vývoj pomocí IBM Rational Software V ítek Linduška

Software Development Conference 2007

4

Challenges of Architecting SoftwareChallenges of Architecting Software

How to discover bad practices? Often new projects begin with

existing frameworks

Projects intend to leverage the value of existing code, but often lock-in problems as well

How to enforce standards? Developers stray from architecture

decisions that they do not understand

Creating code to implement an architecture is tedious

Requirements are sometimes unclear when coding and construction begin

How to discover bad practices? Often new projects begin with

existing frameworks

Projects intend to leverage the value of existing code, but often lock-in problems as well

How to enforce standards? Developers stray from architecture

decisions that they do not understand

Creating code to implement an architecture is tedious

Requirements are sometimes unclear when coding and construction begin

“We did not find our tangles until late in the project – but they were

there from the beginning .”

“The architecture was solid, but it was not

implemented as planned!”

Page 5: Vývoj pomocí IBM Rational Software V ítek Linduška

Software Development Conference 2007

5

Challenge Overcome the problem of communicating solution to a

team

Challenge Overcome the problem of communicating solution to a

team

Resolution Provide technologies to enable

effective communication of a design

UML 2 Notation

Integrate the architecture artifacts into the development environment

Resolution Provide technologies to enable

effective communication of a design

UML 2 Notation

Integrate the architecture artifacts into the development environment

Challenge : Communicating ArchitectureChallenge : Communicating Architecture

Page 6: Vývoj pomocí IBM Rational Software V ítek Linduška

Software Development Conference 2007

6

Challenge : Enforcing Architecture StandardsChallenge : Enforcing Architecture Standards

Challenge

How to enforce architecture decisions for a project team?

Challenge

How to enforce architecture decisions for a project team?

Resolution

Generate source-code based on architecture decisions

Create and enforce rules which support the architecture

Process Guidance

Code rules

Visually compare model changes

Link requirements to design

Resolution

Generate source-code based on architecture decisions

Create and enforce rules which support the architecture

Process Guidance

Code rules

Visually compare model changes

Link requirements to design

Page 7: Vývoj pomocí IBM Rational Software V ítek Linduška

Software Development Conference 2007

7

Key Feature: Architectural Analysis, Discovery, and Control Architecture discovery for J2EE

and J2SE High-level software visualization

Application architecture is reflected in the running code Analyzing code can help assess its

maintainability

Govern the architecture with the assistance of rules Template-based rule authoring

Anti-pattern and pattern detection Detection of cyclic dependencies,

hubs, breakable, etc.

Wizard assisted automated quick-fix

Automatic generation of “topic” diagrams based on the results

of the code analysisPatterns and anti-patterns

are rendered in the diagram editor. Navigation to detailed

code is supported.

“Details View” providing an overview and avoidance

guidance for anti-patterns.

Code review pane providing a report of detected issues.

Report is inclusive of J2EE detailed code analysis results.

Page 8: Vývoj pomocí IBM Rational Software V ítek Linduška

Software Development Conference 2007

8

Key Feature: Patterns

Applying Patterns is very simple Evolution of pattern experience

based on lessons learned

Pattern-authoring provides greater flexibility using Open API

All Gang of Four design patterns provided

Additional patterns provided via RAS repository on IBM developerWorks

New patterns view providing outline and

description of the pattern

Pattern rendered as a collaboration to support incremental application

Support “drag-and-drop” of pattern parameters into the collaboration

Page 9: Vývoj pomocí IBM Rational Software V ítek Linduška

Software Development Conference 2007

9

Key Feature: Transformations

Transformations are optimal for “batch” style computationally intensive operations Model-to-model

Model-to-code

Out-of-the box code transforms UML-to-J2EE/Java

UML-to-C++

Plus sample model-to-model transforms

Transformations may be updated via RAS repository hosted on IBM developerWorks Examples:

Web Services transformations

XSD transformations

Page 10: Vývoj pomocí IBM Rational Software V ítek Linduška

Software Development Conference 2007

10

Key Feature: C++ Development Environment

Perspective for C++ Development

C/C++ project hierarchical tree view

UML class diagram visualization of C/C++

classes and structs

C/C++ editor with syntax highlighting, code completion, and

advanced search

Page 11: Vývoj pomocí IBM Rational Software V ítek Linduška

Software Development Conference 2007

11

Product Capabilities: C/C++ Development Environment

Editing and Navigation

C/C++ Syntax Highlighting, Outline View

C++ Class Browser (Hierarchy View)

C/C++ Search

C/C++ Content Assist

Project Import

Automated assistance in setting up CDT for search and content assist.

UML C/C++ Code Editor

Debug

GDB Integrated

Extensible Debug Interface

Build

Standard Make for projects with existing build infrastructure

Managed Build

Automatic makefile generation

GNU tools supported out of box

Managed build is extensible, build tools can be plugged-in and build tools options selectable

Meets Internationalization and Accessibility requirements

Extensibility

Provides extension points for managed build, debuggers, …

Built on the Eclipse CDT project (http://www.eclipse.org/cdt)“The CDT project provides a set of plug-ins that implement a C/C++ IDE. It adds a C/C++ Perspective to the Eclipse Workbench that supports C/C++ development with a number of views, wizards, a powerful editor, and a debugger. The CDT is

designed to provide an extensible architecture, that will provide support for integration of tools provided by independent software vendors (ISVs).”

Built on the Eclipse CDT project (http://www.eclipse.org/cdt)“The CDT project provides a set of plug-ins that implement a C/C++ IDE. It adds a C/C++ Perspective to the Eclipse Workbench that supports C/C++ development with a number of views, wizards, a powerful editor, and a debugger. The CDT is

designed to provide an extensible architecture, that will provide support for integration of tools provided by independent software vendors (ISVs).”

Ease of Use

Page 12: Vývoj pomocí IBM Rational Software V ítek Linduška

Software Development Conference 2007

12

Key Feature: Visualize Java Method Bodies

Facilitates understanding and application’s behavior by providing visualization of detailed code

Diagrams can be integrated in Javadoc reports

Integrated with the Java Package view

Select method to be visualized using UML

Leverages UML 2.0 sequence diagram

constructs for loops, conditionals, etc…

“Topic” diagram for method is automatically updated/refreshed when

method is updated

Alternate abstract viewof method behavior

Alternate abstract viewof method behavior

Page 13: Vývoj pomocí IBM Rational Software V ítek Linduška

Software Development Conference 2007

13

UML Enhancements: JavaDoc with Embedded UML Diagrams

Produce enriched JavaDoc UML diagrams right on the pages

Completely integrated with hyperlinks

Page 14: Vývoj pomocí IBM Rational Software V ítek Linduška

Software Development Conference 2007

14

Team: Model Compare & Merge

Page 15: Vývoj pomocí IBM Rational Software V ítek Linduška

Software Development Conference 2007

15

Team: RequisitePro Integration

Open and browse multiple RequisitePro projects See requirements, packages, and

views

Associate requirements with model elements via drag and drop

Create model elements from requirements

Customizable synchronization

Requirements Explorer for viewing requirements in Eclipse.

Associate requirements and model elements using Drag-and-Drop

View requirements traceability from the perspective of either

“trace-to” or “trace-from”

Page 16: Vývoj pomocí IBM Rational Software V ítek Linduška

Software Development Conference 2007

16

ClearCase SCM Adapter Enhancements

Full Dynamic View support File system notification

Improved compare/merge support Integrated with Eclipse

compare/merge framework

Improved Disconnected Mode Manual Disconnect

Workspace / view management Support for workspace switching

Setup & Getting Started

Best practices and online help improvements

Page 17: Vývoj pomocí IBM Rational Software V ítek Linduška

Software Development Conference 2007

17

Code Quality Assurance: Code ReviewDetails View

Page 18: Vývoj pomocí IBM Rational Software V ítek Linduška

Software Development Conference 2007

18

Code Quality Assurance: Component Test Automation

Page 19: Vývoj pomocí IBM Rational Software V ítek Linduška

Software Development Conference 2007

19

Code Quality Assurance: Code Coverage

Annotated source shows lines hit/missed

Coverage Navigator shows

outline view

Page 20: Vývoj pomocí IBM Rational Software V ítek Linduška

Software Development Conference 2007

20

Built-in tools helps developer isolate and fix performance problems

Advanced sequence diagramsPerformance CallGraph

Line Level Code Coverage

Advanced Memory Leak Analysis

Dynamic User Defined Probes

Thread Analysis

Profiling tools can seamlessly trace across multiple servers

Code Quality Assurance: Runtime Analysis

Server 1 Server 2Agent

ControllerAgent

Controller

Servlet EJBs

Monitor Trace Data

Trace Data

Page 21: Vývoj pomocí IBM Rational Software V ítek Linduška

Software Development Conference 2007

21

IBM Rational Web Developer

Eclipse Java Development Tools

XML Tools

Enterprise Generation Language

Rich Client UI construction

Web UI construction

“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

“EGL”• Simplified 4GL for Web

Application Development

• Text User Interface Programs Support (3270, Curses)

• VisualAge Generator -> EGL Migration Tool

• Java Runtime Targets

“XML Tools”• XML and XSD tooling support

“Rich Client UI construction”• Java Visual Editor for rich client

composition• Supports Swing, AWT, SWT

widgets

“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

IBM Rational Web Developerfor WebSphere Software

Web Services Tools

“Web Services Tools”• WSDL visual editor• UDDI Registry browser

Page 22: Vývoj pomocí IBM Rational Software V ítek Linduška

Software Development Conference 2007

22

Page Designer – New Look, JSF/SDO Enhancements

Construct pages by dragging and dropping rich web components from a customizable Palette

Construct pages by dragging and dropping rich web components from a customizable Palette

The Quick Edit View allows scripting of client or server side events in Java or Java Script.

Code assist writes the code for you!

Page templates separate out common page elements in a single template file

Simplified Navigator hides the complexity of J2EE

The Data View lets you configure and drag and drop data to automatically create a data bound UI

WDO accesses and updates data without writing any code!

Property views allow easy customization of the selected component

Rapid UI Creation

Simple Data Access with WDO/SDO

Instant binding of UI to Data

Quick Server-side event scripting (with Java Server Faces)

Web Application Development is Drag and Drop Simple!

Page 23: Vývoj pomocí IBM Rational Software V ítek Linduška

Software Development Conference 2007

23

Web Services Tools

Web services wizards and WSDL editorFocus on authoring of WS-I compliant Web servicesNew WSDL wizard to create basic WSDL files that comply to WS-I rules

Automatic TCP/IP Monitor configuration from wizards.

Samples and tutorials in Samples Gallery & Tutorial Gallery

Support for updated WS-I Basic Profile and latest UDDI release

Page 24: Vývoj pomocí IBM Rational Software V ítek Linduška

Software Development Conference 2007

24

IBM Rational Application Developer

ClearCase LT

RUP Configuration for J2EE

Rational Web Developer

“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

“Code Analysis Tools”• Both static 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

• Advanced memory leak detection• Remote data collection across

multiple servers• User-defined run-time probes• Interactive reports and metrics

Portal/Portlet Design Tools• Visual Portal site and page layout tools• Visual Portlet layout and preview• Integrated Portal test environment

“J2EE/EJB Tooling”• J2EE construction tools• Supports WebSphere and

WebLogic• Rapid Deployment for WAS

v6• Integrated WAS test

environments

UML Visual Editors

Code Analysis Tools

Portal/Portlet Design Tools

Component/Unit Test

J2EE/EJB Tools

“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

IBM Rational Application Developer for WebSphere Software

Page 25: Vývoj pomocí IBM Rational Software V ítek Linduška

Software Development Conference 2007

25

TMTP Deployment with IBM Problem Resolution Toolkit

Management Server

Managed Host 1

Management Agent

ARM Agent

Application Server

J 2 EE Monitor

RDBMS

RAD/RSA IPRT

Page 26: Vývoj pomocí IBM Rational Software V ítek Linduška

Software Development Conference 2007

26

Problem Determination and Resolution: IBM Problem Resolution Toolkit for Rational Application DeveloperNo charge, download for IBM Rational Software Architect customers

Import data from the Management server component of Tivoli Monitoring for Transaction Performance (TMTP) If the system slows down or fails, TMTP alerts operators Developers can import production diagnostic data, directly into RSA

IBM Problem Resolution Toolkit for Rational Application Developer acceleratesproblem resolution, by providing detailedanalysis of production problems within theRSA integrated development environment

Page 27: Vývoj pomocí IBM Rational Software V ítek Linduška

Software Development Conference 2007

27

THAT’S ALL, FOLKS..