Portability
Shared by: zhangyun
-
Stats
- views:
- 3
- posted:
- 10/5/2011
- language:
- English
- pages:
- 13
Document Sample


Portability
Hohmann Chapter 6
www.itu.dk 1
The Perceived Advantage of
Portability
• By supporting multiple platforms, we
can address new markets
– Not necessarily, building a good solution on
one platform is better than building
mediocre solutions on many (an exception
seems to be midrange software)
• By supporting multiple platforms, we
demonstrate that we can meet
customers individual needs
– Customers want platform specific features,
portability moves in the other direction!
www.itu.dk 2
Real Motivation for Portability
• Developers think writing portable code
is cool
– Reality is that it is hard and tedious
• One or two key customers demanded
different solutions
– Search for customers within target marked
www.itu.dk 3
Key Cost Factors of Portability
1. Training developers and QA
2. Purchasing hardware
3. Testing time (the matrix of pain)
4. The complexity of managing multiple
release cycles
• A good rule of thumb: it is easier to
justify a portable technology like a DB
than an application
www.itu.dk 4
Techniques Helpful for Making
Portable Applications
• Use an interpreted language
• Use standards-based persistent storage
(XML, ansi SQL)
• Use XML for communication between
subsystems
• Make business logic portable: not
buried within system specific resources
• Closer to user means less portable.
GUIs hard!
• Avoid hiding the power of a specific
platform
www.itu.dk 5
The Matrix of Pain: market
driven configuration matrices
• Toy Example
– 5 operating systems on two platforms
• Unix: Solaris 2.7, Solaris 2.8
• Windows: NT 3.5.1, NT 4.0, XP
– 2 Web servers: Apache, IIS
– 2 browsers: Netscape, IE
– 4 DBs: Oracle 8i, Oracle 9i, SQLServer 7.0,
SQLServer 2000
• 5x2x2x4 = 80 configurations
• Problem: QA can cover 10 times less
www.itu.dk 6
Step 1: Remove Invalid
Configurations
Solaris 2.6 Solaris 2.7 NT 3.5.1 NT 4.0 XP
Apache PC PC PC PC PC
IIS NA NA PC PC PC
Netscape PC PC PC PC PC
IE NA NA PC PC PC
Oracle 8i PC PC NS PC PC
Oracle 9i NS PC NS PC PC
SQLServer 7 NA NA PC PC PC
SQLServer 2000 NA NA NS PC PC
Total valid 1 2 4 16 16
configurations (39)
PC = Possible configuration, NS = Not supported, NA = Not Applicable
www.itu.dk 7
Step 2: Rank-Order
Configurations
• Make prioritization based on which
configurations:
– Are actually installed in the field
– Are used by the largest most profitable
customers
– Are going to be most heavily promoted
– Are most easily supported!
• Use color coding: must test, should
test, would like to test
• Or weights
www.itu.dk 8
Step 2: Rank-Order
Configurations
• Use Pareto Chart to analyze the
distribution of customer configurations
C1 C2 C3 C4 C5
Adopted from: www.isixsigma.com
www.itu.dk 9
Step 2: Rank-Order
Configurations
Solaris 2.6 Solaris 2.7 NT 3.5.1 NT 4.0 XP
Apache 1 1 0.2 0.5 0.3
IIS 0.8 0.5 0.7
Netscape 1 1 0.2 0.2
IE 0.8 0.8 1
Oracle 8i 1 0.5 0.1
Oracle 9i 0.5 0.3 0.3
SQLServer 7 1 0.5 0.2
SQLServer 2000 0.1 0.5
Total valid 1 2 4 16 6
configurations (29)
www.itu.dk 10
Cut
Step 3: Make Final 53% revenue
from Solaris.
Solaris 2.6 Solaris 2.7 NT 3.5.1 Consider all 3
NT 4.0 XP
Apache √ √ configuration
√
Orthogonality
IIS √ √ √
Netscape √ √ √
IE √ √ √
Oracle 8i √ √ √
Oracle 9i √ √
NT 3.5.1
SQLServer 7 √ √
phasing out, NT 4.0
SQLServer 2000 √
Total valid
only oneMost important 1
1 2 8 2
configuration
configurations (14)
configuration, but
SQL output identical
www.itu.dk 11
Step 3: Make Final Cut
Solaris 2.6 Solaris 2.7 NT 3.5.1 NT 4.0 XP
Apache √ √ √
IIS √ √
Netscape √ √ √
IE √ √ √
Oracle 8i
Removing IIS.
√ √ √
Oracle 9i
Still the relative
√ √
SQLServer 7
most important√ √
SQLServer 2000 √
Total valid 1 2 1 4 2
configurations (14)
www.itu.dk 12
All Pairs
• Assume n variables with two values
• How many configurations?
– 2n
• Simple upper bound on the number of
distinct pairs?
– (2n)2
www.itu.dk 13
Get documents about "