SlideShare a Scribd company logo
1 of 31
1
A Software Factory Integrating Rational
& WebSphere Tools
Session 1741
André Tost,
Senior Technical Staff Member, Software Group
Greg Hodgkinson,
Practice Director, Lifecycle Tools and Methodology
2
Session Introduction
 Abstract: “Getting any software development team to effectively scale to meet the needs of a large integration
project is actually harder than it sounds. For a large Automotive Retailer based in Florida, this is exactly what
they needed to do. They needed a large amount of integration to be built between their brand new Point of
Sales system and their new SAP back-end. In this session, you will hear about how tools such as Rational
Software Architect and WebSphere Message Broker Toolkit were integrated with a Rational Team Concert-based
development environment to set up super efficient software factory employing techniques such as Model-
Driven Development and Continuous Integration to help this retailer keep their customers’ wheels on the road.”
Topics for today:
The project
The challenges faced
The software factory tools
The software factory workflow
Key practices that helped us succeed
The benefits
Final thoughts
3
Introducing the Project
A new automotive retail in-store experience
 Replacing green screen terminals in the store with modern user
interfaces
– Touch screens
– Tablets
– Customer self-service “kiosks”
– In-store WiFi
– Completely new private network (MPLS)
 Replacing legacy backend application for customer
management, order management and inventory management
– Transitioning from JDEdwards to SAP
 Middleware integration layer
– Exposing backend functionality as reusable business services
– Fully virtualized, scalable infrastructure
• Private cloud on X86/Linux
4
Introducing the Project (cont.)
Service orientation as the architectural foundation
 Building an integration layer consisting of service exposure AND
provider creation
Diagram taken from developerWorks article “The Enterprise Service Bus, re-examined”,
see http://www.ibm.com/developerworks/websphere/techjournal/1105_flurry/1105_flurry.html
5
Introducing the Project
Challenges faced
 Multi-vendor, global development team
– US
– China
– Egypt
– Philippines
 Requirements were limited to screenshots
– Hundreds of wire frames, very useful for data modeling
– No functional business requirements
 Three layers (client UI, integration layer, backend/SAP) all designed and
developed in parallel
– (Semi-)Agile development process required
 Brand new infrastructure
– New network, new platform, new middleware
 Plus, all the usual project constraints 
– Tight schedule
– Constrained budget
6
Introducing the Software Factory Tools
WebSphere Message Broker
Reducing the complexity of
integrating your systems
Point-to-point is expensive
Integration requires specialist
knowledge of API technologies
Integration plumbing and mapping
code wastes developer hours
Mixing integration code with
application code makes
applications brittle
Integrations have high availability
and reliability requirements –
complexity
2) Dynamic mediation2) Dynamic mediation
4) Supports multiple4) Supports multiple
technologiestechnologies
3) Routes and transforms data3) Routes and transforms data
1) Simplified1) Simplified
integration authoringintegration authoring
7
Introducing the Software Factory Tools
Managing and communicating
your software requirements
Poor requirements is the #1
reason projects fail
Traceability is NB, but time
consuming
Difficult to correlate scope lists
with specifications
As soon as requirements
documents are released they can
become out of date
Often the author > review >
feedback > rework process is
inefficient
1) All-in-one editor –1) All-in-one editor –
text as well astext as well as
diagramsdiagrams
2) Easy traceability2) Easy traceability
link creation andlink creation and
“surfing”“surfing”
3) Visual focus –3) Visual focus –
process, use case,process, use case,
screen mockupsscreen mockups
4) Built-in review4) Built-in review
workflowworkflow
5) Strong lifecycle links – to plans, to5) Strong lifecycle links – to plans, to
designs, to code, to builds, to testsdesigns, to code, to builds, to tests
Rational Requirements Composer
8
Controlling the architectural
quality of your software
Difficult to handle software
complexity – too much of it
Lose sight of good patterns when
you are “down in the code”
Refactoring of code is expensive
Large mental leap between
requirements and code
How do you make design a “team
game”?
Introducing the Software Factory Tools
1) Supports popular modeling1) Supports popular modeling
standards – UML, BPMN2, SoaMLstandards – UML, BPMN2, SoaML
2) Turn models into2) Turn models into
code withcode with
transformationstransformations
3) Automatically3) Automatically
apply modelapply model
patternspatterns
4) Graphical code4) Graphical code
editors and visualizerseditors and visualizers
5) Design Manager5) Design Manager
adds web-basedadds web-based
collaborationcollaboration
Rational Software Architect for WebSphere
9
4) Built-in build support4) Built-in build support
including build engineincluding build engine
5) SCM provides support5) SCM provides support
for streams, components,for streams, components,
workspaces – flexible,workspaces – flexible,
simple, powerfulsimple, powerful
Introducing the Software Factory Tools
Managing and enabling change
Plans can quickly become out of
date
Progress views limited to point-in-
time snapshots and waste effort
How to easily track what work was
delivered in a new build?
How to easily track SCM changes
against plans?
How to correlate all project data in
a format that is easy to consume
(and has value)
1) Like 5 tools in one – plans, work items,1) Like 5 tools in one – plans, work items,
SCM, build, project data warehouseSCM, build, project data warehouse
2) Fully integrated data2) Fully integrated data
across lifecycleacross lifecycle
3) Excellent support for3) Excellent support for
agile as well asagile as well as
“traditional” project styles“traditional” project styles
Rational Team Concert
10
The Software Factory Workflow
Coordinating requirements and designs across
technology stacks
 Constraint: 3 teams working on 3 separate but related streams.
 Driven by UI wireframes
 Derived scope list (RRC)
 Transferred to plans (RTC)
 Requirements specs written for
service operations (RRC/RSA)
 Designs specs written for service
operations (RSA)
 Front-end-WSDL generated
(RSA)
 Implementations and stubs
(WMBT)
11
The Software Factory Workflow
Timing is everything!
 Ideal: Back-end WSDL available to SOA integration analysts.
12
The Software Factory Workflow
Timing is everything!
 Not so good: Back-end WSDL arrives during SOA design.
13
The Software Factory Workflow
Timing is everything!
 Getting bad: Back-end WSDL not available for SOA implementation.
14
The Software Factory Workflow
Timing is everything!
 The pits: Back-end implementation not available to test against.
15
Coordinating distributed development and
integrating the results
 Workflow tuned to high velocity without sacrificing quality.
The Software Factory Workflow
RRC
requirements
RSA
service
model
RTC
scm
RTC
scm
WMB
DEV
WMB
QA
wsdl
implementation
wsdl
implementation
Cairo
wsdl
implementation
wsdl
implementation
China
wsdl
implementation
wsdl
implementation
US
wsdl
SOA
analysts
UI & back-end
analysts,
stakeholders
SOA
designers
UI & back-end
designers,
stakeholders
SOA
devs
SOA
devs
SOA
devs
Continuous
build/deploy
On-demand
build/deploy
feedback
feedback
16
Key Practices for Success
Tighter architectural control using RSA
 Solution architecture modeled
in UML
 Service model developed in UML
– Initial version derived from
use case descriptions
– Collaboratively finalized via
LotusLive sessions
– ~30 services with ~160 operations
 WSDL automatically generated
from UML
– Using out-of-the-box RSA
transformation
– Some required modification
done via XSLT
 Both UML and WSDL stored
in RTC
17
Key Practices for Success
Keeping the team on track using RTC
 Service operation tracking
– Separate tracking for each service interface and each service operation gives indication of
progress
• See later slide for example
 Easy assignment of work items to individuals
– For net new development and defect fixes
– Good way of communicating with offshore teams
 Impediments
– Communication of (typically blocking) issues across distributed teams
– Identified and/or assigned also during daily scrum meeting
 Custom “change control” work item allowed tracking of changes
to the service model
– Linkage to individual work items (model change, implementation change, etc)
– Notification to interested users
18
Key Practices for Success
 Streams for easy management of
different configurations
– Code configuration for each
environment: DEV > QA > PROD
– Easy to promote changes through
environments
 Components allow for groups of
artefacts to be managed together
– Separate out code components, tests, stubs,
models, documents
– Component per application component
• Loading and unloading
• Consolidated history
• Easy to snapshot
Collaborative configuration management using RTC
19
Key Practices for Success
 Project events provides an excellent way
to quickly see latest changes
– Easy to see what real (as opposed to
planned) current focus of work is
– Can click straight into work context for
more
– Keeps team aware of dependencies
 The “Pending changes” view became a
core element of governance
– Good overview of who changed what and why
– Allows enforcement of compliance with established
standards - Naming, code structure, etc.
– Changes are organised by component – making it
easier to focus on the changes that matter to you
Collaborative configuration management using RTC
20
Key Practices for Success
 RTC’s simple build engine + Prolifics Build
Conductor = effortless builds!
– ANT build engine simple and easy to use
– PBC adds automation scripts for
WebSphere apps: WESB, WMB, WPS, Portal
– Automated build, override, deploy
 Build record publishes a wealth of
information
– What was built – BARs
– What tasks/requirements/fixes included
– What change sets included
– Full log files as well as activity view
Hassle-free build and deploy using RTC
21
Key Practices for Success
 Different builds for different purposes
– Continuous integration build that only catches compile errors
can look for changes every few minutes
– Continuous integration build that deploys to DEV can be run
every 2 hours
– On-demand build to target QA can be triggered when
needed
 Accelerated fix delivery
– From build record snapshot, can create a new fix workspace
within seconds
– Suspend and unload existing changes, then code the fix and
deliver to fix
– As soon as delivered, on-demand build can deploy changes
automatically to environment of choice
– Fantastically quick turnaround of fixes!
Hassle-free build and deploy using RTC
22
Key Practices for Success
Project dashboard using RTC - Overview
23
Key Practices for Success
Project dashboard using RTC – Release status
24
Key Practices for Success
Project dashboard using RTC - Impediments
25
Key Practices for Success
Project dashboard using RTC – Change controls
26
How Did We Benefit?
Improving team efficiency
 Using RTC client plug-in for Eclipse-based tooling supports
online and offline work
– Especially helpful when having many travelling developers
 Fine grained control over which changes are
replicated/downloaded
 Using one component per service was a good structure
– Good support of having development teams work concurrently on
different service implementations
 Minimal delays to get changes to testers
 Separate build streams for dedicated, continuous builds
– More build engines would have been beneficial
 Shared build infrastructure meant developers didn’t maintain
their own
27
How Did We Benefit?
Improving deliverable quality
 Using a UML-based service model
– Visual representation used to communicate interface to the
development team
 Component-based source control made developers think more
about how their code was structured
 Automated build and deploy caught issues earlier
 Handed over a fully automated and structured build and deploy
infrastructure along with the source code - to the benefit of the
maintenance team
28
Final Thoughts
Session wrap-up
 A large project, with a global team of developers and testers, required
global collaboration and cooperation
 Tying individual development tools into one team environment, RTC,
facilitated sharing of artefacts and joint development of solutions
– Need good structure of streams and components, based on target
runtimes and team organization
 Project management features of RTC allow direct integration of
planning activities with the developed artifacts
 Continuous automated builds important enough to have a full time
release engineer
 Using Eclipse as the foundation for all tooling makes it easier to
integrate different environments and target runtimes
 You still need good developers and strong governance!
29
We love your Feedback!
 Don’t forget to submit your Impact session and speaker
feedback! Your feedback is very important to us, we use it to
improve our conference for you next year.
 Go to impactsmartsite.com from your mobile device
 From the Impact 2012 Online Conference Guide:
– Select Agenda
– Navigate to the session you want to give feedback on
– Select the session or speaker feedback links
– Submit your feedback
30
© IBM Corporation 2012. All Rights Reserved.
IBM, the IBM logo, ibm.com are trademarks or registered
trademarks of International Business Machines Corp.,
registered in many jurisdictions worldwide. Other product and
service names might be trademarks of IBM or other companies.
A current list of IBM trademarks is available on the Web at
“Copyright and trademark information” at
www.ibm.com/legal/copytrade.shtml.
Copyright and Trademarks
31
Please Note
IBM's statements regarding its plans, directions, and intent are subject to change
or withdrawal at IBM's sole discretion.
Information regarding potential future products is intended to outline our general
product direction and it should not be relied on in making a purchasing decision.
The information mentioned regarding potential future products is not a
commitment, promise, or legal obligation to deliver any material, code or
functionality. Information about potential future products may not be incorporated
into any contract. The development, release, and timing of any future features or
functionality described for our products remains at our sole discretion.
Performance is based on measurements and projections using standard IBM
benchmarks in a controlled environment. The actual throughput or performance
that any user will experience will vary depending upon many factors, including
considerations such as the amount of multiprogramming in the user's job stream,
the I/O configuration, the storage configuration, and the workload processed.
Therefore, no assurance can be given that an individual user will achieve results
similar to those stated here.

More Related Content

What's hot

Dev ops for mainframe innovate session 2402
Dev ops for mainframe innovate session 2402Dev ops for mainframe innovate session 2402
Dev ops for mainframe innovate session 2402
Rosalind Radcliffe
 
Rhapsody Software
Rhapsody SoftwareRhapsody Software
Rhapsody Software
Bill Duncan
 
Requirements Management with HP ALM
Requirements Management with HP ALMRequirements Management with HP ALM
Requirements Management with HP ALM
pd7.group
 

What's hot (20)

Service Testing & Virtualization in an Enterprise Environments
Service Testing & Virtualization in an Enterprise EnvironmentsService Testing & Virtualization in an Enterprise Environments
Service Testing & Virtualization in an Enterprise Environments
 
DevOps for Mainframe for IBM Pulse Conference
DevOps for Mainframe for IBM Pulse ConferenceDevOps for Mainframe for IBM Pulse Conference
DevOps for Mainframe for IBM Pulse Conference
 
RDz for DevOps Webcast Series: Implementing Continuous Integration with RDz
RDz for DevOps Webcast Series: Implementing Continuous Integration with RDzRDz for DevOps Webcast Series: Implementing Continuous Integration with RDz
RDz for DevOps Webcast Series: Implementing Continuous Integration with RDz
 
Making the Dinosaur Dance - RDz, RTC and UrbanCode Lunch and Learn slides
Making the Dinosaur Dance - RDz, RTC and UrbanCode Lunch and Learn slidesMaking the Dinosaur Dance - RDz, RTC and UrbanCode Lunch and Learn slides
Making the Dinosaur Dance - RDz, RTC and UrbanCode Lunch and Learn slides
 
IBM Rational Rhapsody and Qt Integration
IBM Rational Rhapsody and Qt IntegrationIBM Rational Rhapsody and Qt Integration
IBM Rational Rhapsody and Qt Integration
 
IBM Rhapsody Code Generation Customization
IBM Rhapsody Code Generation CustomizationIBM Rhapsody Code Generation Customization
IBM Rhapsody Code Generation Customization
 
SDLC Modernization
SDLC ModernizationSDLC Modernization
SDLC Modernization
 
Dmt 5899 workshop - Learn to Collaborate, Trace, Review and Reuse Your Requir...
Dmt 5899 workshop - Learn to Collaborate, Trace, Review and Reuse Your Requir...Dmt 5899 workshop - Learn to Collaborate, Trace, Review and Reuse Your Requir...
Dmt 5899 workshop - Learn to Collaborate, Trace, Review and Reuse Your Requir...
 
HP ALM; HP ALI 2.5
HP ALM; HP ALI 2.5HP ALM; HP ALI 2.5
HP ALM; HP ALI 2.5
 
Amq Overview Continuous Quality Assurance
Amq Overview Continuous Quality AssuranceAmq Overview Continuous Quality Assurance
Amq Overview Continuous Quality Assurance
 
6.18.2013 System Development - Change/Configuration and Collaboration - RTC
6.18.2013 System Development - Change/Configuration and Collaboration - RTC6.18.2013 System Development - Change/Configuration and Collaboration - RTC
6.18.2013 System Development - Change/Configuration and Collaboration - RTC
 
Dev ops for mainframe innovate session 2402
Dev ops for mainframe innovate session 2402Dev ops for mainframe innovate session 2402
Dev ops for mainframe innovate session 2402
 
ALM for SharePoint projects
ALM for SharePoint projectsALM for SharePoint projects
ALM for SharePoint projects
 
Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)
 
New Continuous Release and Deployment Capabilities for CICS Customers v4
New Continuous Release and Deployment Capabilities for CICS Customers v4New Continuous Release and Deployment Capabilities for CICS Customers v4
New Continuous Release and Deployment Capabilities for CICS Customers v4
 
Arunprakash Alagesan
Arunprakash AlagesanArunprakash Alagesan
Arunprakash Alagesan
 
Rhapsody Software
Rhapsody SoftwareRhapsody Software
Rhapsody Software
 
Requirements Management with HP ALM
Requirements Management with HP ALMRequirements Management with HP ALM
Requirements Management with HP ALM
 
Rational developer for z systems : DevOps benefits here and now
Rational developer for z systems : DevOps benefits here and nowRational developer for z systems : DevOps benefits here and now
Rational developer for z systems : DevOps benefits here and now
 
Ronald E Curry Dist
Ronald E Curry DistRonald E Curry Dist
Ronald E Curry Dist
 

Similar to A Software Factory Integrating Rational & WebSphere Tools

Legacy Migration Overview
Legacy Migration OverviewLegacy Migration Overview
Legacy Migration Overview
Bambordé Baldé
 
Legacy Migration
Legacy MigrationLegacy Migration
Legacy Migration
WORPCLOUD LTD
 
Cooper, Mark Resume.Final.8.2.16
Cooper, Mark Resume.Final.8.2.16Cooper, Mark Resume.Final.8.2.16
Cooper, Mark Resume.Final.8.2.16
Mark Cooper
 
agile architecture - two hour presentation - two worked examples
agile architecture  - two hour presentation - two worked examplesagile architecture  - two hour presentation - two worked examples
agile architecture - two hour presentation - two worked examples
Mark Collins-Cope
 

Similar to A Software Factory Integrating Rational & WebSphere Tools (20)

A Software Factory Integrating Rational Team Concert and WebSphere tools
A Software Factory Integrating Rational Team Concert and WebSphere toolsA Software Factory Integrating Rational Team Concert and WebSphere tools
A Software Factory Integrating Rational Team Concert and WebSphere tools
 
MOND Semantics Integration
MOND Semantics IntegrationMOND Semantics Integration
MOND Semantics Integration
 
[2015/2016] Software systems engineering PRINCIPLES
[2015/2016] Software systems engineering PRINCIPLES[2015/2016] Software systems engineering PRINCIPLES
[2015/2016] Software systems engineering PRINCIPLES
 
Legacy Migration Overview
Legacy Migration OverviewLegacy Migration Overview
Legacy Migration Overview
 
Legacy Migration
Legacy MigrationLegacy Migration
Legacy Migration
 
WebSphere Message Broker Application Development Training
WebSphere Message Broker Application Development TrainingWebSphere Message Broker Application Development Training
WebSphere Message Broker Application Development Training
 
Software Product Lines by Dr. Indika Kumara
Software Product Lines by Dr. Indika KumaraSoftware Product Lines by Dr. Indika Kumara
Software Product Lines by Dr. Indika Kumara
 
Elastic-Engineering
Elastic-EngineeringElastic-Engineering
Elastic-Engineering
 
P4 Branching Overview
P4 Branching OverviewP4 Branching Overview
P4 Branching Overview
 
Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)
 
Agile and continuous delivery – How IBM Watson Workspace is built
Agile and continuous delivery – How IBM Watson Workspace is builtAgile and continuous delivery – How IBM Watson Workspace is built
Agile and continuous delivery – How IBM Watson Workspace is built
 
Prasad_CTP
Prasad_CTPPrasad_CTP
Prasad_CTP
 
Cooper, Mark Resume.Final.8.2.16
Cooper, Mark Resume.Final.8.2.16Cooper, Mark Resume.Final.8.2.16
Cooper, Mark Resume.Final.8.2.16
 
Reference Architecture
Reference ArchitectureReference Architecture
Reference Architecture
 
agile architecture - two hour presentation - two worked examples
agile architecture  - two hour presentation - two worked examplesagile architecture  - two hour presentation - two worked examples
agile architecture - two hour presentation - two worked examples
 
Ibm innovate ci for system z
Ibm innovate ci for system zIbm innovate ci for system z
Ibm innovate ci for system z
 
Techcello at a glance
Techcello at a glanceTechcello at a glance
Techcello at a glance
 
branch_architecture
branch_architecturebranch_architecture
branch_architecture
 
Automating Applications with Habitat - Sydney Cloud Native Meetup
Automating Applications with Habitat - Sydney Cloud Native MeetupAutomating Applications with Habitat - Sydney Cloud Native Meetup
Automating Applications with Habitat - Sydney Cloud Native Meetup
 
From Components To Services
From Components To ServicesFrom Components To Services
From Components To Services
 

Recently uploaded

%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
masabamasaba
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
masabamasaba
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
masabamasaba
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
masabamasaba
 

Recently uploaded (20)

%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
WSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaS
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
 

A Software Factory Integrating Rational & WebSphere Tools

  • 1. 1 A Software Factory Integrating Rational & WebSphere Tools Session 1741 André Tost, Senior Technical Staff Member, Software Group Greg Hodgkinson, Practice Director, Lifecycle Tools and Methodology
  • 2. 2 Session Introduction  Abstract: “Getting any software development team to effectively scale to meet the needs of a large integration project is actually harder than it sounds. For a large Automotive Retailer based in Florida, this is exactly what they needed to do. They needed a large amount of integration to be built between their brand new Point of Sales system and their new SAP back-end. In this session, you will hear about how tools such as Rational Software Architect and WebSphere Message Broker Toolkit were integrated with a Rational Team Concert-based development environment to set up super efficient software factory employing techniques such as Model- Driven Development and Continuous Integration to help this retailer keep their customers’ wheels on the road.” Topics for today: The project The challenges faced The software factory tools The software factory workflow Key practices that helped us succeed The benefits Final thoughts
  • 3. 3 Introducing the Project A new automotive retail in-store experience  Replacing green screen terminals in the store with modern user interfaces – Touch screens – Tablets – Customer self-service “kiosks” – In-store WiFi – Completely new private network (MPLS)  Replacing legacy backend application for customer management, order management and inventory management – Transitioning from JDEdwards to SAP  Middleware integration layer – Exposing backend functionality as reusable business services – Fully virtualized, scalable infrastructure • Private cloud on X86/Linux
  • 4. 4 Introducing the Project (cont.) Service orientation as the architectural foundation  Building an integration layer consisting of service exposure AND provider creation Diagram taken from developerWorks article “The Enterprise Service Bus, re-examined”, see http://www.ibm.com/developerworks/websphere/techjournal/1105_flurry/1105_flurry.html
  • 5. 5 Introducing the Project Challenges faced  Multi-vendor, global development team – US – China – Egypt – Philippines  Requirements were limited to screenshots – Hundreds of wire frames, very useful for data modeling – No functional business requirements  Three layers (client UI, integration layer, backend/SAP) all designed and developed in parallel – (Semi-)Agile development process required  Brand new infrastructure – New network, new platform, new middleware  Plus, all the usual project constraints  – Tight schedule – Constrained budget
  • 6. 6 Introducing the Software Factory Tools WebSphere Message Broker Reducing the complexity of integrating your systems Point-to-point is expensive Integration requires specialist knowledge of API technologies Integration plumbing and mapping code wastes developer hours Mixing integration code with application code makes applications brittle Integrations have high availability and reliability requirements – complexity 2) Dynamic mediation2) Dynamic mediation 4) Supports multiple4) Supports multiple technologiestechnologies 3) Routes and transforms data3) Routes and transforms data 1) Simplified1) Simplified integration authoringintegration authoring
  • 7. 7 Introducing the Software Factory Tools Managing and communicating your software requirements Poor requirements is the #1 reason projects fail Traceability is NB, but time consuming Difficult to correlate scope lists with specifications As soon as requirements documents are released they can become out of date Often the author > review > feedback > rework process is inefficient 1) All-in-one editor –1) All-in-one editor – text as well astext as well as diagramsdiagrams 2) Easy traceability2) Easy traceability link creation andlink creation and “surfing”“surfing” 3) Visual focus –3) Visual focus – process, use case,process, use case, screen mockupsscreen mockups 4) Built-in review4) Built-in review workflowworkflow 5) Strong lifecycle links – to plans, to5) Strong lifecycle links – to plans, to designs, to code, to builds, to testsdesigns, to code, to builds, to tests Rational Requirements Composer
  • 8. 8 Controlling the architectural quality of your software Difficult to handle software complexity – too much of it Lose sight of good patterns when you are “down in the code” Refactoring of code is expensive Large mental leap between requirements and code How do you make design a “team game”? Introducing the Software Factory Tools 1) Supports popular modeling1) Supports popular modeling standards – UML, BPMN2, SoaMLstandards – UML, BPMN2, SoaML 2) Turn models into2) Turn models into code withcode with transformationstransformations 3) Automatically3) Automatically apply modelapply model patternspatterns 4) Graphical code4) Graphical code editors and visualizerseditors and visualizers 5) Design Manager5) Design Manager adds web-basedadds web-based collaborationcollaboration Rational Software Architect for WebSphere
  • 9. 9 4) Built-in build support4) Built-in build support including build engineincluding build engine 5) SCM provides support5) SCM provides support for streams, components,for streams, components, workspaces – flexible,workspaces – flexible, simple, powerfulsimple, powerful Introducing the Software Factory Tools Managing and enabling change Plans can quickly become out of date Progress views limited to point-in- time snapshots and waste effort How to easily track what work was delivered in a new build? How to easily track SCM changes against plans? How to correlate all project data in a format that is easy to consume (and has value) 1) Like 5 tools in one – plans, work items,1) Like 5 tools in one – plans, work items, SCM, build, project data warehouseSCM, build, project data warehouse 2) Fully integrated data2) Fully integrated data across lifecycleacross lifecycle 3) Excellent support for3) Excellent support for agile as well asagile as well as “traditional” project styles“traditional” project styles Rational Team Concert
  • 10. 10 The Software Factory Workflow Coordinating requirements and designs across technology stacks  Constraint: 3 teams working on 3 separate but related streams.  Driven by UI wireframes  Derived scope list (RRC)  Transferred to plans (RTC)  Requirements specs written for service operations (RRC/RSA)  Designs specs written for service operations (RSA)  Front-end-WSDL generated (RSA)  Implementations and stubs (WMBT)
  • 11. 11 The Software Factory Workflow Timing is everything!  Ideal: Back-end WSDL available to SOA integration analysts.
  • 12. 12 The Software Factory Workflow Timing is everything!  Not so good: Back-end WSDL arrives during SOA design.
  • 13. 13 The Software Factory Workflow Timing is everything!  Getting bad: Back-end WSDL not available for SOA implementation.
  • 14. 14 The Software Factory Workflow Timing is everything!  The pits: Back-end implementation not available to test against.
  • 15. 15 Coordinating distributed development and integrating the results  Workflow tuned to high velocity without sacrificing quality. The Software Factory Workflow RRC requirements RSA service model RTC scm RTC scm WMB DEV WMB QA wsdl implementation wsdl implementation Cairo wsdl implementation wsdl implementation China wsdl implementation wsdl implementation US wsdl SOA analysts UI & back-end analysts, stakeholders SOA designers UI & back-end designers, stakeholders SOA devs SOA devs SOA devs Continuous build/deploy On-demand build/deploy feedback feedback
  • 16. 16 Key Practices for Success Tighter architectural control using RSA  Solution architecture modeled in UML  Service model developed in UML – Initial version derived from use case descriptions – Collaboratively finalized via LotusLive sessions – ~30 services with ~160 operations  WSDL automatically generated from UML – Using out-of-the-box RSA transformation – Some required modification done via XSLT  Both UML and WSDL stored in RTC
  • 17. 17 Key Practices for Success Keeping the team on track using RTC  Service operation tracking – Separate tracking for each service interface and each service operation gives indication of progress • See later slide for example  Easy assignment of work items to individuals – For net new development and defect fixes – Good way of communicating with offshore teams  Impediments – Communication of (typically blocking) issues across distributed teams – Identified and/or assigned also during daily scrum meeting  Custom “change control” work item allowed tracking of changes to the service model – Linkage to individual work items (model change, implementation change, etc) – Notification to interested users
  • 18. 18 Key Practices for Success  Streams for easy management of different configurations – Code configuration for each environment: DEV > QA > PROD – Easy to promote changes through environments  Components allow for groups of artefacts to be managed together – Separate out code components, tests, stubs, models, documents – Component per application component • Loading and unloading • Consolidated history • Easy to snapshot Collaborative configuration management using RTC
  • 19. 19 Key Practices for Success  Project events provides an excellent way to quickly see latest changes – Easy to see what real (as opposed to planned) current focus of work is – Can click straight into work context for more – Keeps team aware of dependencies  The “Pending changes” view became a core element of governance – Good overview of who changed what and why – Allows enforcement of compliance with established standards - Naming, code structure, etc. – Changes are organised by component – making it easier to focus on the changes that matter to you Collaborative configuration management using RTC
  • 20. 20 Key Practices for Success  RTC’s simple build engine + Prolifics Build Conductor = effortless builds! – ANT build engine simple and easy to use – PBC adds automation scripts for WebSphere apps: WESB, WMB, WPS, Portal – Automated build, override, deploy  Build record publishes a wealth of information – What was built – BARs – What tasks/requirements/fixes included – What change sets included – Full log files as well as activity view Hassle-free build and deploy using RTC
  • 21. 21 Key Practices for Success  Different builds for different purposes – Continuous integration build that only catches compile errors can look for changes every few minutes – Continuous integration build that deploys to DEV can be run every 2 hours – On-demand build to target QA can be triggered when needed  Accelerated fix delivery – From build record snapshot, can create a new fix workspace within seconds – Suspend and unload existing changes, then code the fix and deliver to fix – As soon as delivered, on-demand build can deploy changes automatically to environment of choice – Fantastically quick turnaround of fixes! Hassle-free build and deploy using RTC
  • 22. 22 Key Practices for Success Project dashboard using RTC - Overview
  • 23. 23 Key Practices for Success Project dashboard using RTC – Release status
  • 24. 24 Key Practices for Success Project dashboard using RTC - Impediments
  • 25. 25 Key Practices for Success Project dashboard using RTC – Change controls
  • 26. 26 How Did We Benefit? Improving team efficiency  Using RTC client plug-in for Eclipse-based tooling supports online and offline work – Especially helpful when having many travelling developers  Fine grained control over which changes are replicated/downloaded  Using one component per service was a good structure – Good support of having development teams work concurrently on different service implementations  Minimal delays to get changes to testers  Separate build streams for dedicated, continuous builds – More build engines would have been beneficial  Shared build infrastructure meant developers didn’t maintain their own
  • 27. 27 How Did We Benefit? Improving deliverable quality  Using a UML-based service model – Visual representation used to communicate interface to the development team  Component-based source control made developers think more about how their code was structured  Automated build and deploy caught issues earlier  Handed over a fully automated and structured build and deploy infrastructure along with the source code - to the benefit of the maintenance team
  • 28. 28 Final Thoughts Session wrap-up  A large project, with a global team of developers and testers, required global collaboration and cooperation  Tying individual development tools into one team environment, RTC, facilitated sharing of artefacts and joint development of solutions – Need good structure of streams and components, based on target runtimes and team organization  Project management features of RTC allow direct integration of planning activities with the developed artifacts  Continuous automated builds important enough to have a full time release engineer  Using Eclipse as the foundation for all tooling makes it easier to integrate different environments and target runtimes  You still need good developers and strong governance!
  • 29. 29 We love your Feedback!  Don’t forget to submit your Impact session and speaker feedback! Your feedback is very important to us, we use it to improve our conference for you next year.  Go to impactsmartsite.com from your mobile device  From the Impact 2012 Online Conference Guide: – Select Agenda – Navigate to the session you want to give feedback on – Select the session or speaker feedback links – Submit your feedback
  • 30. 30 © IBM Corporation 2012. All Rights Reserved. IBM, the IBM logo, ibm.com are trademarks or registered trademarks of International Business Machines Corp., registered in many jurisdictions worldwide. Other product and service names might be trademarks of IBM or other companies. A current list of IBM trademarks is available on the Web at “Copyright and trademark information” at www.ibm.com/legal/copytrade.shtml. Copyright and Trademarks
  • 31. 31 Please Note IBM's statements regarding its plans, directions, and intent are subject to change or withdrawal at IBM's sole discretion. Information regarding potential future products is intended to outline our general product direction and it should not be relied on in making a purchasing decision. The information mentioned regarding potential future products is not a commitment, promise, or legal obligation to deliver any material, code or functionality. Information about potential future products may not be incorporated into any contract. The development, release, and timing of any future features or functionality described for our products remains at our sole discretion. Performance is based on measurements and projections using standard IBM benchmarks in a controlled environment. The actual throughput or performance that any user will experience will vary depending upon many factors, including considerations such as the amount of multiprogramming in the user's job stream, the I/O configuration, the storage configuration, and the workload processed. Therefore, no assurance can be given that an individual user will achieve results similar to those stated here.

Editor's Notes

  1. Used to implement architecture described in slide 4.
  2. Jazz .. Open source… open platform… people can integrate with.
  3. Show how requirements are identified from UI mockups, transalated to scenarios, scenarios are specified by each of integration and SAP stacks, designs are created for each of integration and SAP stacks, reviews ensure cross-stack integrity.
  4. Show how requirements are identified from UI mockups, transalated to scenarios, scenarios are specified by each of integration and SAP stacks, designs are created for each of integration and SAP stacks, reviews ensure cross-stack integrity.
  5. Show how requirements are identified from UI mockups, transalated to scenarios, scenarios are specified by each of integration and SAP stacks, designs are created for each of integration and SAP stacks, reviews ensure cross-stack integrity.
  6. Show how requirements are identified from UI mockups, transalated to scenarios, scenarios are specified by each of integration and SAP stacks, designs are created for each of integration and SAP stacks, reviews ensure cross-stack integrity.
  7. Show how requirements are identified from UI mockups, transalated to scenarios, scenarios are specified by each of integration and SAP stacks, designs are created for each of integration and SAP stacks, reviews ensure cross-stack integrity.
  8. Show how design work identifies specific services for implementation, these are developed by distributed team, and integrations of the code are delivered to test team.
  9. Mention RSA Design Manager as an alternative to collaborative sessions via LotusLive.
  10. Describe how high-level design is used to come up with set of components across code and other artifacts. Describe how combination of repo workspaces and streams allow team to work separately and share changes. Describe how streams are created for each environment to allow changes to be promoted. Describe how snapshots are used to track configurations of both design and code.
  11. Describe how high-level design is used to come up with set of components across code and other artifacts. Describe how combination of repo workspaces and streams allow team to work separately and share changes. Describe how streams are created for each environment to allow changes to be promoted. Describe how snapshots are used to track configurations of both design and code.
  12. Describe continous integration build and all of its advantages. Describe he features that build conductor provides off the shelf. Describe other builds – and build conductors flexible reuse model.
  13. Describe continous integration build and all of its advantages. Describe he features that build conductor provides off the shelf. Describe other builds – and build conductors flexible reuse model. Nature of build problems in WMB different – dependencies, etc. Also many deploy time problems caught early – and there were many caused by the way the code had been configured to build. Overriding properties in BAR files. Hugely important because we could be flexible about what environment we deployed into.
  14. Describe continous integration build and all of its advantages. Describe he features that build conductor provides off the shelf. Describe other builds – and build conductors flexible reuse model.
  15. Describe continous integration build and all of its advantages. Describe he features that build conductor provides off the shelf. Describe other builds – and build conductors flexible reuse model.
  16. Describe continous integration build and all of its advantages. Describe he features that build conductor provides off the shelf. Describe other builds – and build conductors flexible reuse model.
  17. Describe continous integration build and all of its advantages. Describe he features that build conductor provides off the shelf. Describe other builds – and build conductors flexible reuse model.