The document outlines the Rapid Portal Methodology (RPM) for rapid software development. RPM is based on the Rational Unified Process (RUP) and comprises best practices layered on top of RUP. The methodology has four phases - Inception, Elaboration, Construction, and Transition. The Inception phase involves analyzing business needs, documenting requirements, developing a vision and business case, and designing prototypes. The Elaboration phase focuses on gathering detailed requirements, completing the system design, and setting up change management. The Construction phase is dedicated to integration, testing, and iterative development. Finally, the Transition phase deals with production rollout, training, and phasing out legacy systems. Sample artifacts for each phase like use case diagrams, prototypes, and architecture
2. 2Nov 12, 2008
TABLE OF CONTENT
I. Rapid Portal Methodology (RPM)
– I.1. Rational Unified Process (RUP)
– I.2. Tasks/Activities and Deliverables
II. Inception
– II.1. Milestones & Deliverables
– II.2. Audience & Objectives
– II.3.3. Essential Activities
– II.3.4. Sample Artifacts
III. Elaboration
– II.4.1. Milestones & Deliverables
– II.4.2. Essential Activities
– II.4.3. Sample Artifacts
IV. Construction
V. Transition
3. 3Nov 12, 2008
I.1. RPM & RUP
DomainKnowledge
TechnicalExpertise
Performance Guarantee
Fixed Time. Fixed Price.
Benefits:Benefits:
FastFast – product expertise, business savvy, and technical know-how
substantially reduce timelines.
FlexibleFlexible - easily tailored to fit the specific needs of your organization.
Cost EffectiveCost Effective – focus on off-the-shelf components, re-use, and integration.
ProvenProven – used to deliver successful enterprise portal implementations
– high quality, on time, and on budget.
RPMRPM is based on the
Rational Unified
Process (RUPRUP) and
comprises best
practices and lessons
learned from
implementations
layered on top of RUP.
4. 4Nov 12, 2008
I.2. Tasks/Activities and Deliverables
INCEPTIONINCEPTION ELABORATIONELABORATION CONSTRUCTIONCONSTRUCTION TRANSITIONTRANSITION
TASKS/ACTIVITIESTASKS/ACTIVITIES
Vision & Biz Case
With
Stakeholders:
–High-level scope
–Schedule/Budget
–Non-functional
Reqs
Software
Requirement Specs
Design Prototype
TASKS/ACTIVITIESTASKS/ACTIVITIES
Detailed discuss:
– Tech & Biz Users
– Infrastructure
Software
Architecture Docs
Complete system
design
Set up change &
configuration mng.
TASKS/ACTIVITIESTASKS/ACTIVITIES
Integrate with the
legacy enterprise
Frequent Code-
Reviews
Testing:
–Unit/Integration
–System &
Performance
–User Acceptance
TASKS/ACTIVITIESTASKS/ACTIVITIES
Production Rollout
Technology
Transfer
Training
Gradual Phase-Out
of Legacy Code
Base
DELIVERABLESDELIVERABLES
Vision Document
Risk list
Software
Development Plan
Product
Acceptance Plan
Software
Requirement
Specs
Prototype
DELIVERABLESDELIVERABLES
Risk list
Change/Config
Mng
Soft Architecture
Document
Design model
–Object/Class Model
–Sequence diagrams
–Interaction
diagrams
Data model
DELIVERABLESDELIVERABLES
Iterative system
builds
Code Base
Database Scripts
Test Model and
results
Deployment plan
Supplementary
specifications
DELIVERABLESDELIVERABLES
The fully
integrated Portal
system
System
performance test
results
Release Notes
User’s Manual
Client support
material
5. 5Nov 12, 2008
II.1. Inception – Milestones & Deliverables
Lifecycle Objectives
Analyze business needs and document
requirements (Audience & Objectives)
Develop Vision & Business Case
Identify supporting portal features
Design prototype
Evaluation Criteria
Stakeholder concurrence on scope
definition and cost/schedule estimates
Agreement that the right set of
requirements have been captured and
that there is a shared understanding of
these requirements.
Agreement that the cost/schedule
estimates, priorities, risks, and
development process are appropriate.
All risks have been identified and a
mitigation strategy exists for each.
Key Artifacts
Vision: document the prioritized system
requirements, key features & main
constraints.
Risk List: Initial project risks identified.
Software Development Plan: Initial
phases, their duration and objectives
identified. Resource and cost estimation.
Product Acceptance Plan: Reviewed and
baselined; refined in subsequent phases
as more requirements discovered.
Software Requirement Specs: functional
& non-functional requirements.
Use-Case Model: important actors and
use cases identified and flows of
events/pages outlined for only the most
critical use cases.
Prototype: One or more proof of concept
prototypes to support the vision & to
address very specific risks.
6. 6Nov 12, 2008
II.2.1. Audience & Objectives
- High-Level Requirements (1)
Who Define portal audience
(end users) Employees
What Define high-level
requirements to
support objectives
4 Unified Search
4 Knowledge
Management
4 Team
Workspace
4 Collaboration
Tools4 Single Sign-On
4 Internationalization
4 Threaded
Discussions
4 24x7 Uptime
Define business
objectives
4 Promote
Collaboration
4 Reduce admin &
maintenance
costs
4 Increased
Efficiency
4 Reduce Time To
Market
Why
7. 7Nov 12, 2008
III.2.2. Audience, Objectives – Sample (2)
Objectives
Improve Communication
& Collaboration
Reduce Project
Turnaround Times
Reduce Maintenance &
Support Costs
Threaded Discussions
Structured Workflow
Document Sharing
Team Workspaces
Intuitive Navigation
High-Level Requirements
Unified Search
Access To Customer Data
(ERP/CRM)
Remote Access
Unified Platform
Vietnam
UK
US
Shared Project
Human
Resource
Enterprise
Resource
Planning
External
Data
Enterprise
Content
Management
8. 8Nov 12, 2008
Analyze Business Needs and
Document Requirements
– Document the problem statement
• The Problem of [X]
affects [X]
the impact of which is [X]
a successful solution would be [X]
– Develop storyboards to define the
system
• List of portals and portlets
• Navigation flow for entry,
start/end of business transactions
and exit
• Usability design
– Review Portal-Server features and
constraints
• Provides several sample
applications
III.3.3.1. Inception – Essential Activities
9. 9Nov 12, 2008
Analyze Business Needs and
Document Requirements
– Refine system definition based
on Gap Analysis and document
extension requirements
– Prioritize all functional and
non-functional requirements
• Performance/QoS
• Availability
• Security, etc
– Identify key actors and use-
cases
– Document product acceptance,
software development and
iteration plans
III.3.3.2. Inception – Essential Activities
(2)
10. 10Nov 12, 2008
ROI
(4,296)
10,540
(6,000)
(4,000)
(2,000)
0
2,000
4,000
6,000
8,000
10,000
12,000
DollarsinThousands
Portal Costs
Portal Savings
Total Savings from Portal
III.3.3.3. Inception – Essential Activities
(3)
Develop Business Case
– Identify business drivers
– Identify technical drivers
– Cost of ownership and ROI
assessment for Portal
– Benefits assessment for
deploying a Portal
– Risks assessment
– Identification of initial audience
for the portal
– Identification of initial content
and services for the portal
– High-level project scope and
timelines
– Project funding/sponsorship
11. 11Nov 12, 2008
Design Prototype
– List of key pages, or portals
and portlets, that the users
will visit.
– The layout of the pages and
the navigation options.
– A list of include files for
reusability of JSP code.
– The sample Portal
application that will be used
as a template, otherwise
start a new.
– Collection of images,
navigation bars, logos if
available; creative design
brief.
III.3.3.4. Inception – Essential Activities
(4)
12. 12Nov 12, 2008
III.3.4. Inception – Sample Artifacts
Could start with UI prototypes
Could start with a domain model:
– Depending on the nature and size of the
application being built: if the application does not
have a UI, then having UI prototypes obviously
makes no sense.
– Depends on priority: Customer may place more
emphasis on domain models.
– Stakeholder recognition: discover domain objects
better and easier when working with users on UI
prototypes.
13. 13Nov 12, 2008
III.3.4.1. Inception – Sample Artifacts
Domain Model
A domain model helps to define major
business concepts (entities) and the
relationships among them
14. 14Nov 12, 2008
III.3.4.2. Inception – Sample Artifacts
UI Prototype & Storyboards
UI Prototypes and Storyboards are initial screen
mockups to get a feel for how the customer visualizes
the application
A storyboard (also known as UI Flow Diagram) shows
the flow of the screens
20. 20Nov 12, 2008
III.3.4.6. Inception – Sample Artifacts
high-level architecture diagram
A high-level architecture diagram can help with
discussions about security, scalability, transaction
management, exception handling, and other important
application-wide issues.
21. 21Nov 12, 2008
III.4.1. Elaboration – Milestones &
Deliverables
Lifecycle Architecture Milestone
Gather & document detailed requirements
Complete system design
Create a base configuration
Setup change/configuration management
Milestone Evaluation Criteria
System vision, requirements and architecture are
stable
Prototypes have demonstrated that major risks
have been addressed
The iteration plan for construction phase are of
sufficient detail to allow work to proceed and are
supported by credible estimates
Stakeholder concurrence that current vision can
be met if current plan is executed as per current
architecture
Key Artifacts
Prototypes: One or more executable architectural
prototypes to explore critical functionality and
architecturally significant scenarios
Risk List: Updated and reviewed. New risks are
likely to be architectural in nature primarily relating
to the handling of non-functional requirements
Technical Architecture Document: Detailed
technical architecture including network, hardware,
software, security design
Design Model: Defined and baselined. Includes
use-case realizations for architecturally significant
scenarios. Object/component model and integration
interface definition/specifications
Data Model: Defined and baselined. Major data
model elements (entities, relationships, tables)
defined and reviewed
Software Development Plan: Updated and
expanded to cover the Construction and Transition
phases
Use-Case Model: Approximately 85% complete. All
actors and use cases identified and their
descriptions captured
Creative Design Document: UI design, wireframes
& templates
22. 22Nov 12, 2008
• Detailed Requirements
– Develop detailed Use-case
model and functional
requirements document
• Use BEA demo applications
and templates
• Facilitation and interviews
• Supported by Context’s
management tools
– Develop Creative design
document
• Use BEA demo applications
and templates
• Wireframe models
• UI Architecture and design
guidelines
III.4.2.1. Elaboration – Essential Activities
Facilitation
User Focus
Collaboration
Knowledge Management
Requirements Management
Demos
Interviews
Goals &
Objectives
Business
Expertise
Product
Knowledge
Branding &
Creative Design
User
Use
Case
Use
Case
Use
Case
23. 23Nov 12, 2008
• Complete System Design
– Develop technical architecture
document
• Detailed technical design
including software,
hardware, network and
security architectures
– Develop object and data
models corresponding to the
extension requirements
– Develop interface
specifications for all
integrations
– Update software development
plan, iteration plan and use-
case model
– Identify all major risks and
develop mitigation strategies
• More prototypes if necessary
III.4.2.2. Elaboration – Essential Activities
24. 24Nov 12, 2008
• Create a Base Configuration
– Create a rudimentary web
application for the portal
• Basic directory structure
• Deployment descriptors
• Placeholder JSPs
• Components from the prototype
and the sample web application
being used
– Set up infrastructure & tools to
support the portal
• Weblogic Server Domain
defining servers and clusters
• Weblogic Server Admin
Console
• A server with configured
services such as HTTP listen
ports, XML parsers, JDBC
connection pools, etc
• An enterprise application with
any supporting Webapps,
Weblogic Portal Admin Tools
Webapp, Weblogic Portal EJBs,
III.4.2.3. Elaboration – Essential Activities
Weblogic Domain
Weblogic
Server
Administration Console
Weblogic Cluster
Enterprise Application
Portal
Web App
Admin Tools
(Web App)
EJBs
Supporting
Web Apps
RDBMS
E-Business
Control Center
Networked Machine
25. 25Nov 12, 2008
• Create a Base Configuration
– Set up the database
repository & load sample
data
• Replace the Cloudscape
RDBMS with an enterprise
class RDBMS
• Weblogic provides scripts
for creating the default
schema and load sample
data
– Set up developer security
• CMS for all file based
assets and EBCC (E-
Business Control Center)
files
• Portal Admin Tool for
editing RDBMS data,
synchronizing EBCC data
and browsing ads, catalogs,
etc
• Server Admin Console for
granting access for
Weblogic server
III.4.2.4. Elaboration – Essential Activities
Weblogic Domain
Weblogic
Server
Administration Console
Weblogic Cluster
Enterprise Application
Portal
Web App
Admin Tools
(Web App)
EJBs
Supporting
Web Apps
RDBMS
E-Business
Control Center
Networked Machine
26. 26Nov 12, 2008
• Set Up Change/Configuration
Management
– Set up source code control tool
• CVS, Visual SourceSafe,
Interwoven, etc
– Domain and Server files
• Include config.xml,
fileRealm.properties,
SerializedSystemIni.dat, others
– Enterprise application and Web
application files
• Include
Applications/portalAppName/*
• Exclude *_tmp_war* files/folders
– E-Business Control Center files
• Include
portalAppName/application-sync/*
files/folders
– Miscellaneous files/folders
• PORTAL_HOME/db/*
• Backup/rotate log files
• Custom properties files, java, jsp,
images, system admin scripts, etc
– Change control process
• Change requests,
III.4.2.5. Elaboration – Essential Activities
36. 36Nov 12, 2008
III.5.1. Construction – Milestones &
Deliverables
Initial Operational Capability
Milestone
Set up a development site
Set up basic services
Set up personalization, commerce and
campaign services
Integrate with the extended enterprise
Deploy in a test environment
Conduct System & Integration Testing
Milestone Evaluation Criteria
Is this system release stable and mature
enough to be deployed in the user
community
Are all the stakeholders ready for the
Key Artifacts
“The System”: The deployed platform fully
integrated ready to start system testing
released in successive iterations
Deployment Plan: Initial version developed,
reviewed and baselined
Test Model: All tests designed and
developed to validate system through
construction iterations
Design Model: Updated with new design
elements identified during the completion of
all requirements
Data Model: Updated with all elements
needed to support the persistence
requirements (tables, indexes, object-
relational mappings)
Supplementary Specifications: Contains all
non-functional requirements, e.g.
performance, QoS, availability, scalability, etc
Use-Case Model: Updated with any use
cases discovered during the construction
phase
Iteration Plan: If construction and elaboration
phases will occur in multiple iterations
37. 37Nov 12, 2008
III.5.2.1. Construction – Essential Activities
Source-Control System
Enterprise
Application
Bank_Pat
Enterprise Application
Bank_Mauricio
Enterprise Application
Development Server
EBCC
Bank_Pat
Enterprise Application
Bank_Mauricio
Enterprise Application
Administration
Console
(Web Application)
Source-Control System
Enterprise
Application
3a
3b
Development Server
EBCC EBCC
Bank
App Data
Bank
App Data
Source-Control System
Update and check out
local source files
Pat’s Workstation Mauricio’s Workstation
EBCC EBCC
Bank
App Data
Bank
App Data
Bank_Pat
Enterprise Application
Bank_Mauricio
Enterprise Application
Data Sync
( Web Application )
Data Sync
( Web Application )
Invest
Web App
Invest
Web App
Development Server
EBCC EBCC
Bank
App Data
Bank
App Data
Source-Control System
Check in modified files
EBCC EBCC
Bank
App Data
Bank
App Data
Source-Control System
• Set Up a Development Site
– Allow for concurrent
development
– Organize tasks into discrete
units, e.g. promotional
campaign, webflow
modification, etc
– Create a separate instance of
EBCC for each task/developer
– 1 EBCC instance 1
Enterprise Application, each
under a unique name
– Use source control to manage
the data between separate
instances and the master server
– Similar set up for all
application source code and
content
– Keep an audit trail/history of
38. 38Nov 12, 2008
III.5.2.2. Construction – Essential Activities
• Set Up Basic Portal Services
– Develop the user interface
• Portal, portlets, graphics, skins,
layouts
• Use EBCC
– Implement the data/page flow
• Construct JSPs and data
processing nodes
• Create Webflows through
EBCC
– Set up customer profiles
• Authentication/authorizations
• Integration with LDAP
• Develop Profiles & Property
sets
• Customize data entry JSPs
– Develop customer segments
• Dynamic categorization of
customers
• Use EBCC for creating rules
– Set up the product catalog
• Extend/modify schema
• BEA Weblogic Commerce
Server Admin Tool
– Set up a content management
system
• Interwoven, Vignette
39. 39Nov 12, 2008
III.5.2.3. Construction – Essential Activities
• Set Up Personalization, Commerce
and Campaign Services
– Add JSP tags for retrieving personalized
content
– Set up payment, order and shipping
services
• Use JSP, Webflow and Pipeline
templates
from BEA provided sample e-commerce
reference portal application
– Set up campaigns
• Use EBCC to create user and
global discounts
• Create ad placeholders
• Create email templates
• Design and implement scenario actions
• Use template from BEA
provided sample personalization
40. 40Nov 12, 2008
CRM
ERP
SCM
Mainframe
Partner Systems
III.5.2.4. Construction – Essential Activities
• Integrate with the Extended
Enterprise
– CRM, ERP, SCM,
Mainframe systems
integration
– Partner, customer,
supplier systems
– BEA Weblogic
Integration Server
– Other EAI vendors like
Tibco, IBM,
webMethods,
SeeBeyond, Vitria
– JCA/JMS, Web
services, SOAP, WSDL,
UDDI
– Service based
architecture
– Well defined interface
between Portal and all
external systems
41. 41Nov 12, 2008
III.5.2.5. Construction – Essential Activities
• Deploy in a Test Environment
– Install Weblogic Portal on a test
server
– Set up RDBMS and
load/migrate data
– Copy domain and server config
files from source control system
– Copy and deploy the enterprise
application from source control
system into test environment
– Use EBCC to synchronize data
from source control system to
test environment
– Copy all other assets like
graphics, properties files, etc
– Set up integration with external
test systems
Enterprise
Application
Test Server
Source-Control System
EBCC
Content Management
System
Data Repository
42. 42Nov 12, 2008
III.5.2.6. Construction – Essential Activities
• Conduct System and Integration
Testing
– Execute all system and
integration test plans
– Implement “continuous”
testing during development
• JUnit scripts for unit testing
• Execute all scripts every day,
even multiple times if
possible
– Each iterative release is unit,
system and integration tested
– Automate system and
integration testing if possible
• LoadRunner, JTest, etc
– Validate against user
acceptance criteria and other
system specifications
Integration
Testing
Functional
Testing
Employee Portal
Company
New Products
My Support
My Account
Configure
User
Acceptance
43. 43Nov 12, 2008
III.5.3.1. Construction – Sample Artifacts
Class & Package Diagram
Class Diagram
Package Diagram
44. 44Nov 12, 2008
III.5.3.1. Construction – Sample Artifacts
- Over-modeling an EJB
A lot of content but the model is just verbose.
If entire design document filled with this level of "fluff"
quickly getting bored and dismissing the design document as "useless."
Model the important parts of the system, not the trivia.
45. 45Nov 12, 2008
III.5.3.1. Construction – Sample Artifacts
- modeling an EJB
Removes the fluff and focuses more on the important content.
Use Stereotypes to model orthogonal information:
– Provide some hints to your architects and designers about what kind of
information should be included with each stereotype
– Introduce some modeling standards to your organization.
46. 46Nov 12, 2008
III.5.3.2. Construction – Sample Artifacts
QA Plan, Supp Specs, Deployment Plan
Test Cases
47. 47Nov 12, 2008
III.6.1. Transition – Milestones &
Deliverables
System Release Milestone
Tune performance for the production
environment
Deploy in the production environment
Milestone Evaluation Criteria
Are all stakeholders and user representatives
satisfied
Are actual resources expenditures versus
planned expenditure still acceptable
Has all operational system knowledge been
transferred to the maintenance personnel
Key Artifacts
“The System Build”: Complete in
accordance with all system requirements. The
final release should be useable by the
customer
Release Notes: Complete
Installation Artifacts: Complete
Training Material: Complete to ensure that
the customer can become self-sufficient in the
use of the system
Client/Operations Support Material:
Complete to ensure that the customer can
become self-sufficient in the use of the
system
System Capacity Model: For on-going
scaling of the system as user load increases
48. 48Nov 12, 2008
III.6.2.1. Transition – Essential Activities
• Tune Performance for the Production
Environment
– Create & run performance test
scripts using tools like
LoadRunner
– Develop Quality of Service
(QoS) capacity model based on
system resource limits
– Tune system and iterate
measurements
– Measure and monitor production
system QoS capacity limits
– Set up and test Weblogic Server
cluster configuration for high
availability
– Document system tuning and
maintenance procedure
– Set up system dashboard
HIGH PEFORMANCE ARCHITECTURE BEST PRACTICES & GUIDELINES
49. 49Nov 12, 2008
III.6.2.2. Transition – Essential Activities
• Deploy in the Production
Environment
– Set up production
infrastructure
• Firewalls, load balancers, web
servers, application server
clusters, RDBMS servers, file
servers, etc
– Install Weblogic server and
other software
– Deploy application in the form
of an EAR archive
– Data load/migration into the
production RDBMS and
content load through CMS
– Set up integrations with
external production systems
– Set up/verify system security
• SSL certificates,
authentication & authorization
– Browse through production
site for sanity check before
51. 51Nov 12, 2008
III.6.3.2. Transition – Sample Artifacts
Deployment Model (1)
Modeling the obvious: "App-Inf," "webapp," and "meta-inf"
directories add no value to the diagram.
ONLY models the "definition" of the module
52. 52Nov 12, 2008
III.6.3.2. Transition – Sample Artifacts
Deployment Model (2)
A deployment model needs to show the "definition" and the "context.“
Good models answer some questions and raise others:
– SCM need to configure a JMS queue and a JDBC driver in the environment.
– Besides, critical information on the JMS queue and JDBC driver are also included.
UML-Diagram Tip: every diagram should have a specific purpose.
Introduce 5-step visual as a model for the rest of the presentation
Briefly discuss the 5 steps.
Discuss high-level characteristics of the RPM:
Fast, flexible, cost-effective, proven
Software Development Plan: Initial phases, their duration and objectives identified. Resource and cost estimates for the entire project (±20%) or just the elaboration phase (±5%)
This picture does a great job of making the process look completely linear. In fact, we find that this is an iterative process. For example, the process of defining business objectives often uncovers audience members not previously identified.
Taking some artistic license, however, it should be clear that high-level requirements for an enterprise portal should map directly back to an intended audience and clearly defined business objectives. This traceability is a key aspect of the RPM, and one that we maintain throughout the approach as a means of:
Scope management
Ensuring that the end-product supports business objectives and adds value within your enterprise
Once we have a better understanding of high-level requirements, the next step is to map those requirements to product features and technologies . . .