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
Software Development Conference 2007
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
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?”
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!”
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
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
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.
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
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
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
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
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
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
Software Development Conference 2007
14
Team: Model Compare & Merge
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”
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
Software Development Conference 2007
17
Code Quality Assurance: Code ReviewDetails View
Software Development Conference 2007
18
Code Quality Assurance: Component Test Automation
Software Development Conference 2007
19
Code Quality Assurance: Code Coverage
Annotated source shows lines hit/missed
Coverage Navigator shows
outline view
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
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
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!
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
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
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
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
Software Development Conference 2007
27
THAT’S ALL, FOLKS..