IBM Rational Integrated development environments such as IBM® Rational® Software Architect and IBM® Rational® Application Developer for WebSphere Software improve code quality by making it easier to catch defects earlier in the development cycle. Because it takes longer to analyze and design changes to software than it takes to implement the changes, an IDE must provide automated tools to help visualize the impact the changes will have. Such an IDE minimizes the likelihood of negative impacts from changes and simplifies the impact analysis process.
2. RAD uniquely addresses these challenges
Challenge
• Software is fantastically complex
Challenge
Solution
Automation
Challenge
Solution
High Initial Code Quality
Challenge
Rapid Comprehension
Solution
• Maintenance burden limits innovation
• Defects are a huge time sink
• Repetitive, time-consuming, error-prone implementation
tasks
Collaboration
Challenge
• DevOps is a rate-limiting bottleneck
Challenge
Solution
• So many client platforms, devices, and APIs
Comprehensive Multi-tier,
Multi-channel Dev Tools
Challenge
www.strongback.us
• So many systems of record to integrate with
Solution
3. Business objective: increase business agility and speed of
development
Challenge
• Software is fantastically complex
Time
Spent
Understand
Implications
Reach Decisions
Implement
Activity
Challenge
• Maintenance burden limits innovation
– Portfolio keeps growing
– Defect density isn’t shrinking
– Grokking unfamiliar code bases is a huge time sink
www.strongback.us
4. IDEs including RAD help with things like…
• Dense, graphical, composite views that show multiple aspects of a solution
under development
• Global search
www.strongback.us
5. RAD uniquely helps with things like…
• Code visualization and ‘visual editing’ using UML-like notation
• Visual SCA tools for composing SOA solutions
www.strongback.us
6. Business objective: increase business agility and speed of
development
Challenge
• Defects are a huge time sink
Challenge
• Many execution tasks can be repetitive, timeconsuming, and error-prone
www.strongback.us
7. IDEs including RAD help with things like…
• Pervasive
assists, automations, &
“instructors”
•
Autocomplete
•
Autocorrect
•
Code snippets
•
Code templates
•
Refactoring
www.strongback.us
8. RAD & WDT help with things like…
XML mapping
editor
WSDL Editor
Web services
creation Wizards
Deployment
Descriptor Editor
Mobile UI Pattern
Gallery
… and much more
www.strongback.us
9. RAD uniquely helps with… Dynamic Analysis
• Profiling
‒ Trace based
‒ or Sample-based (integrated
with Health Center)
• Supported for remote systems
via Rational Agent Controller
• Find memory / object leaks
• Find performance root causes
• Find undesirable threads
Supports WAS V6.1 to V8.5.5;
supports Java 5, 6 and 7
www.strongback.us
10. RAD uniquely helps with… Static Analysis
• Find anti-patterns
and lame code
• Over 200 Java rules
with quick fixes
• Highly extensible
www.strongback.us
11. RAD uniquely helps with… Code Coverage Analysis
– Find bad code or test suite gaps
– Use coverage statistics to manage
risk, quality, and investment
– Dynamically reset coverage statistics
at WAS launch
Team Lead
Coverage results on
the latest build are
sketchy. I’ll open a
bug, and may
enable check-in
advisor.
RAD
RTC client
Continuous
builds
– Integration with Rational Team
Concert:
• prevent checking in of code with
missing or poor results
• open work items directly from
undesirable coverage results
Check-in
advisor
Developer
RAD
RTC client
www.strongback.us
Oooh – A bug! I’ll
import the results,
study them in the
Java editor, and
resolve the issue.
12. RAD uniquely helps with… Collaborative Debugging
• Diagnosis may lead you into somebody
else’s code
– You could spend hours or days learning
their code
– They could spend hours or days reproducing
the bug (or not)
I just debugged into
your code. It
appears to be evil.
Please help!
Developer
RAD/RDz
RTC client
• Don’t bring the bug to them,
bring them to the bug
– Transfer debug sessions in real time, along
with the source
– Park debug sessions for later
www.strongback.us
Developer
RAD/RDz
RTC client
Transfer your
session to me. I’ll
take over [bet it’s
your code’s fault
after all]
13. Business objective: increase business agility and speed of
development
Challenge
Customers
• DevOps is a rate-limiting bottleneck
Business
Owners
Development/
Test
Release
Develop
Agile
Development
Fast and
continuous
innovation
Plan
experience
development
delays
www.strongback.us
%
34
experience
deployment
delays
Stable
Operations
Monitor
Deploy
Test
%
41
Operations/
Production
%
45
experience
production
delays
Optimize
weeks
4-6
to deliver
code
changes
14. “DevOps writ small”: RAD and WDT help with…
• Deep integration with WebSphere Application Server / Liberty, and Portal
Portal v7.0
Portal tooling available only in RAD
Liberty
Profile
feature
extensions
WDT
WAS v8.0
Web 2.0 & Mobile
Feature Packs
WAS v7.0
Web 2.0 SCA XML CEA
Modern Batch OSGi & JPA 2.0
•
Simplified Liberty Profile server creation wizards
•
Modular Liberty run-time target installation via drag & drop
•
More Liberty features – Minify, clustering, password hashing, LDAP federation
•
Remote deployment to all servers (except Liberty), web Preview server for Web apps
www.strongback.us
Production Environments
WAS v8.5.5
RAD
Test Environments
JAX-RS JAX-WS JAXB
JSP
JPA
EJBlite
JSF
JMS
CDI
OSGi
Portal v8.0
15. RAD uniquely helps with… RAD Build Utility
automate unit tests
A stand-alone offering supported on
Windows, Linux, z/OS, AIX, Solaris
Enables scriptable, automated & headless
projects builds created by RAD
Output consists of compiled/packaged
code in the form of JAR, WAR or EAR, etc
Includes general purpose & specialized
Ant Tasks
Integrates with WebSphere Application
Server & WebSphere Portal Server
Integrates with RTC (to automate
checkout)
projectBuild, launchJUnit, earImport,
osgiBundleExport, xmlCatalog,
autoAppInstall, scaArchive, startWSserver,
,,, and more!
www.strongback.us
16. “DevOps writ small”: RAD helps with…
Automating…
builds, unit tests, static analysis, and code coverage analysis
middleware provisioning and configuration
app deployments
through integrations with…
RAD Build Utility
Rational Team Concert
Rational Software Architect (for Deployment Planning and Automation)
Rational Build Forge
Rational Automation Framework
www.strongback.us
17. “DevOps writ small”: RAD uniquely helps with…
Virtualize developer
desktops into a cloud
• Support for cloud
Deploy applications
and workload patterns
into a cloud
‒ IBM Cloud Client
IN
manage IBM SmartCloud resources and deploy to
WAS & Portal in the cloud, from your IDE
IDE
‒ Tools for IBM Workload Deployer and
PureSystems
develop virtual application patterns in Workload
Deployer, linked with normal projects & source
code in the RAD workspace
‒ 8.5.1 IDEs in SmartCloud Enterprise and
Rational CLM in SmartCloud Application
Services
reduce time required to set-up, configure and
maintain development environments
www.strongback.us
WITH
Integrate with team
lifecycle services
running in a cloud
IBM Rational solutions on the Cloud
Collaborative
Lifecycle
Management
Integrated
Development
Environments
Build and
Asset
Management
18. Business objective: quickly deliver robust multi-tier, multichannel business and social business solutions
Challenge
• So many client platforms, devices, and APIs
• So many systems of record to integrate with
www.strongback.us
19. RAD or WDT + Worklight together, help with the front end…
• Tools for rapid development of Web, Mobile Web, and Hybrid front
ends, optimized for many devices, but with high level of code re-use
– Rich visual development tools (e.g. Rich Page Editor)
– Comprehensive set of source editing capabilities
– Automated management of device-specific extension/customization code
– Rich test support (device simulators, test servers)
(1.9.0)
www.strongback.us
20. New in RAD & WDT v9.0 :
jQuery Mobile Development
• Unified editing experience through Rich
Page Editor
• Instant graphical feedback for jQuery
selectors using “jQuery Smart Highlights”
• Over 20 reusable & fully extensible mobile
web patterns to speed up development
• Drag & drop and visualize mobile widgets
from the palette
• Content assist for jQuery API in source
editor
• New wizards for jQuery Plugins & widgets
creation
• jQuery support in Portlet projects
• In-editor “Device” rotation and scaling
Supports JQuery Core 1.9 and Mobile 1.3
www.strongback.us
Mobile web patterns
21. RAD uniquely helps with… Portal Toolkit
• Highlights
– Dojo & jQuery configuration settings at
project creation time
– Wizard to create & configure new dojo
mobile views for portlets
– Palette drawer for mobile portlet views
only
Business Process UI
auto-generation
– Business Process Portlet using JAX-WS for
communication between WebSphere
Portal & Process Server
– Business Process UI auto-generation using
page data view
– Maven support for Portlet projects
www.strongback.us
palette drawer for mobile views
22. RAD uniquely helps with… CommunicationsEnabled Apps
• Tools for Session Initiation Protocol (SIP)
application development
– Support JSR 116 (SIP 1.0) & 289 (SIP 1.1)
– Accelerate the creation of SIP projects and SIP
servlets using wizards
– Enhance productivity through content
assist, stubs generation, SIP annotation support
– Help merge and synchronize converged
SIP/HTTP projects between web and sip
deployment descriptors through automation
and built-in validation
– Ease deployment & test using the Import and
Export functions of SAR (SIP ARchive file)
– Support SIP project deployment to WebSphere
Application Server
www.strongback.us
23. … but that back-end should largely be SOA, where…
www.strongback.us
24. RAD uniquely helps with…
Service-enabling “recent heritage” assets
Locate business logic assets Annotate, adapt or compose Consume!
Java
Compose assets into reusable, multi-lingual
services with graphical SCA editing
EJB
Spring
JPA
Annotate source or adapt to Web or
REST services with editors & wizards
@WebService
@GET
@POST
...
JAX-RPC
JAX-RS
JCA
Organize code into OSGi
bundles for managed reuse
www.strongback.us
25. RAD uniquely helps with…
• Aforementioned Wizardry
• Tooling for SCA
– SOA programming model for
Java, OSGi, Spring, EAR and HTML
implementations
– WS, EJB, JMS, HTTP, Atom bindings
SCA Composite
• JCA Enterprise Connectors
– CICS
– IMS
OSGi Application
– SAP
Bundle
Bundle
– more
• Tooling for Modern Batch (Compute Grid)
– For implementing services that perform
compute-intensive or data-intensive work
Scheduler
Container
App
www.strongback.us
xJCL
WAS
WAS
26. Service Mapping
– Decouples Web Service client applications from service providers
– Insulates applications from evolving interfaces or location changes of service providers
through content-based routing & message transformation
– Offers a rich set of visual editing tools to easily & rapidly create a service map as a deployable
unit for WebSphere Application Server
• Key Features
– Service-level Mapping
Where do I route a request?
– Interface-level Mapping
What operation to invoke for a
given request?
– Operation-level Mapping
How do I transform the request?
www.strongback.us
27. Rational IDEs (including RAD) uniquely help with…
Service-enabling “longer heritage” assets
Part of a broader family of IDEs
• Rational Developer for System z
• Rational Developer for i
• Rational Developer for AIX and Linux
All with common user experience
• Reduces learning curves
• “Portable-izes” skills
With unique capabilities for service-enabling and
otherwise leveraging heritage investments
• COBOL
• RPG
• PL/1
Supported by a rich ecosystem
• Partners
• Tools
• Plugins
www.strongback.us
28. Rational IDEs (including RAD) uniquely help with…
Maintaining a heterogeneous application portfolio
For example: seamlessly debug complex solutions across languages &
platforms
www.strongback.us
29. RAD uniquely addresses these challenges
Challenge
• Software is fantastically complex
Challenge
Solution
Automation
Challenge
Solution
High Initial Code Quality
Challenge
Rapid Comprehension
Solution
• Maintenance burden limits innovation
• Defects are a huge time sink
• Repetitive, time-consuming, error-prone implementation
tasks
Collaboration
Challenge
• DevOps is a rate-limiting bottleneck
Challenge
Solution
• So many client platforms, devices, and APIs
Comprehensive Multi-tier,
Multi-channel Dev Tools
Challenge
www.strongback.us
• So many systems of record to integrate with
Solution
30. Subscribe to us at
http://feeds.feedburner.com/StrongbackConsulting
Discover us at:
http://www.strongback.us
Socialize with us on Facebook & LinkedIn
http://www.facebook.com/StrongbackConsulting
http://www.linkedin.com/company/290754
Watch Us at Youtube http://www.youtube.com/user/strongbackconsulting
https://vimeo.com/user7519232
Call us at: 386-232-8746
www.strongback.us
Notas del editor
Use sample-based to identify suspect areas of solutionDrill into those with trace-based analysis to isolate nature of offending behavior
DANA
DANA
DANA
DANA
DANA
DANA
DANA
SIP (Session Initiation Protocol) is a peer-to-peer protocol used to establish, modify, and terminate multimedia internet protocol (IP) sessions between two endpoints including telephony and instant messaging.A SIP application is a Java™ program that uses at least one SIP servlet where a SIP servlet is a Java-based application component that is managed by a SIP servlet container (for example, WebSphere® Application Server).Here are some common uses of SIP in telecommunications-based applications: Voice-over-IP (VoIP) Instant messaging Click to call Call notification, forwarding, blocking SIP servlet specifications were developed under the Java Community Process: JSR-289 SIP Servlet 1.1 APIJSR-116 SIP Servlet 1.0 APIBoth the SIP 1.1 and SIP 1.0 specifications are based on the Java servlet application programming interface (API). SIP Servlet v1.1 (JSR 289) is a revision of the initial SIP Servlet v1.0 (JSR 116) Specification with additional enhancements. It defines the API for the SIP servlet programming model, clarifies the roles and responsibilities of the SIP servlet container, and describes the convergence of SIP with Java EE components.Converged SIP applicationsA converged SIP application is an application that uses both HTTP Servlet API and Java EE components. A converged SIP application can be either of the following combinations:SIP and HTTP converged applications, hosting SIP and HTTP servlets SIP and Java EE converged applications, hosting SIP, HTTP, and Java EE components such as web services Converged SIP applications created in the workbench are packaged as a WAR file in an EAR file.Differences between SIP 1.0 and SIP 1.1There are some key differences between Session Initiation Protocol (SIP) 1.0 and SIP 1.1 in areas such as the deployment descriptor, annotations, and servlet specifications.
DANA
DANAService Mapping provides a way of insulating an application that consumes a service from the details of that service provider's interface or location. This is achieved by providing a simple way of performing content-based routing and message transformation. This helps in many scenarios – for example,Service versions: When a service is modified to cope with additional requirements, its interface and location are likely to go through modifications that, although small, are likely to break existing service consumers'Meet in the middle': When a business unit defines the service interface that it expects to use to perform some task, this may well not match the details of an existing 'enterprise service' owned and offered by the IT organisation...and many more