Vous êtes sur la page 1sur 20

_________________________________

_________________________________
_________________________________

SAP NetWeaver Business


Intelligence Performance
Tuning and Optimization in
a Centralized Reporting
Environment

_________________________________
_________________________________
_________________________________
_________________________________
_________________________________

Peter Michaud
BearingPoint

_________________________________
_________________________________
.
2008 BearingPoint, Inc. All rights reserved.

Who Will Benefit from This Session

_________________________________

SAP NetWeaver BI functional personnel


SAP NetWeaver BI technical personnel
SAP NetWeaver BI architects
SAP NetWeaver BI Basis and support personnel
Project leads

_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
2

What Well Cover

_________________________________

Architecture Overview Centralized Reporting


Data Modeling in SAP NetWeaver BI
Data extraction from SAP and non-SAP sources
Query performance tuning and enhancements
Wrap-up

_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
2

Architecture Overview Performance Challenges

_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
3

Architecture Overview Addressing the Challenges

Data Modeling

_________________________________

Datastore analysis
Indices and Aggregates
DB Statistics

_________________________________
_________________________________

Data Extraction

_________________________________

_________________________________

Optimizing data transfer


Loading data in Parallel

_________________________________

Query Performance

_________________________________

OLAP Caching
Datastore Indexes
Information Broadcasting

_________________________________
_________________________________
_________________________________
4

Corporate Information Factory

_________________________________

Corporate
Information
Factory (CIF)

_________________________________
_________________________________
_________________________________

Extract once,
deploy
everywhere
Physical and
Logical layers
Single Version
of the truth via
Data Validation
Corporate
Memory
Datastore

_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
5

Corporate Information Factory (cont.)

On-demand
OLTP/datamart
extracts

_________________________________
_________________________________
_________________________________

Service Level
Agreement

_________________________________

Increased data
growth

_________________________________

_________________________________
_________________________________

Near-line
storage

_________________________________

Query
performance
degradation

_________________________________
_________________________________

BI Accelerator

Service Level Agreements

_________________________________

Expectation
Setting

_________________________________
_________________________________

Deep integration
with PMO
Key Performance
Indicators

_________________________________
_________________________________

Balanced
Scorecard
Perspectives

_________________________________
_________________________________

Financial
Employee Growth
Customer
Service and
Support
Operations

_________________________________
_________________________________
_________________________________
7

Is Near Line Storage Necessary for Centralized Reporting


Environments?

_________________________________
_________________________________
_________________________________
_________________________________

Centralized Reporting

_________________________________

Detailed and summarized queries


Data growth negatively impacts performance

_________________________________

Near-line Storage (NLS) vs. Archiving

_________________________________

Transparent access to data (NLS) vs. offline archive (ADK)


Three options with SAP BI 7.0
Offline, ADK only (BW 3.x)
Near-Line only
f Offline and Near-Line (NLS Indexing offline access)
Data Retention Strategy BW/BI Expert Article by Michael Loveless (see
resources slide)

_________________________________
_________________________________

f
f

_________________________________
8

SAP NetWeaver BI Accelerator

_________________________________

Performance
improvements by
factor of 10-100
Independent of
DB optimizer,
aggregates, etc.
High scalability
Affordable cost
structure
Flexible and
integrated with
SAP BI 7.0

_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
9

What Well Cover

_________________________________

Architecture Overview Centralized Reporting


Data Modeling in SAP NetWeaver BI
Data extraction from SAP and non-SAP sources
Query performance tuning and enhancements
Wrap-up

_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
10

SAP NetWeaver BI Data Modeling Challenges

New system feeling vs. Project Scope

_________________________________

Start with required reports and continually perform reporting


gap analysis to see which additional reports can be added,
which reports can be modified, and which can be ignored

_________________________________
_________________________________

Get the team involved in architecture decisions

_________________________________

_________________________________

Involve architecture, functional, and Basis personnel is design


decisions because they are ultimately affected

_________________________________

SAP Business Content is optimally designed

_________________________________

SAP NetWeaver BI is an evolving process when it comes to


data model and reporting performance
f Execute Performance testing (volume and stress testing) at
least once a year with production-like data volumes

_________________________________
_________________________________
_________________________________
11

Where to Look: RSRV InfoProvider Analysis

_________________________________

Path Database
Database
Information
about
InfoProvider
Tables
Yellow/red lights
indicate errors
that need to be
addressed (e.g.,
degeneration of
dimension)

_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
12

Where to Look: RSRV Index and Aggregates

_________________________________

Path Database
Database
Indices of an
InfoCube and Its
Aggregates
Yellow/red lights
indicate errors
that need to be
addressed

_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
13

Where to Look: Database Statistics

_________________________________

DB Statistics can
be turned on via
Transaction
RSA1 Tools
BW Statistics
for InfoCubes
This should be
checked on a
monthly basis

_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
14

Where to Look: Database Statistics (cont.)

_________________________________

There are multiple ways of accessing and analyzing


database statistics capture in SAP NetWeaver:

_________________________________
_________________________________

BI Administration Cockpit Recommended by SAP


f Single point of entry and integrated with non-SAP portal
content
Technical Content
f Web application and queries used for flexible analysis of
statistics data (Recommended by SAP)
f Central data basis for BI Administration Cockpit and
transaction ST03 (mandatory)
Direct access to statistics tables via SE11/SE16 (RSDDSTAT)
Query Analysis Tool RSRT

_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________

Note

15

Where to Look: Database Statistics (cont.)

OLAP statistics

_________________________________

Front-end and OLAP statistics:


Data Manager statistics:

RSDDSTAT_OLAP (DB view)


RSDDSTAT_DM (DB view)

_________________________________
_________________________________

Data load statistics

_________________________________

Process chain statistics: RSPCLOGCHAIN, RSPCPROCESSLOG


DTP statistics:
RSDDSTATDTP, RSBKREQUEST
InfoPackage statistics:
RSDDSTATWHM

_________________________________
_________________________________
_________________________________

Data load status

BI Object status:
Process status:

_________________________________

RSMDATASTATE_EXT
RSPCLOGCHAIN, RSPCPROCESSLOG

_________________________________
_________________________________
16

Where to Look: Transaction ST03

_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________

Isolating the performance problem

_________________________________

Analyze the workload in Production via transaction ST03


Expert Mode Provide only to experienced/trained personnel

_________________________________
17

Where to Look: Transaction RSRT

_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________

Analysis of the Debugs Options checked

_________________________________

Display SQL Query Enhance query design/database solution to


determine how filters and free characteristics impacts performance
Do not use cache Identify the baseline (will discuss later)

_________________________________
18

InfoCube Considerations

_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________

Ratio of dimension to fact table should be 10% or less


13 available dimensions Better to have many small than few large
Group similar characteristics in common dimensions
Performance test InfoCubes with Navigational attributes significantly
Compression of data will increase performance significantly. This is
typically completed after data has been validated.

_________________________________
_________________________________
_________________________________
_________________________________
19

InfoCube Considerations (cont.)

Logical and physical


partitioning

_________________________________
_________________________________
_________________________________

Reports should be developed


based on MultiProviders

_________________________________

Aggregates

_________________________________

See SAP Note 166433


Structurally look the same as an
InfoCube
Subsets of fact table typically
summarized data
Reduces volume of data queried
hence improving performance
Negative effect on data load
performance

_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
20

Datastore Considerations

Operational Reporting
above global (first) layer

_________________________________
_________________________________
_________________________________

Reporting checkbox should


be turned off on Global
corporate memory
EarlyWatch reports will
catch this

_________________________________
_________________________________
_________________________________

Definition of secondary
indices increases
performance substantially
SAP NetWeaver BI
Accelerator can be used
on any datastore above
the second layer

_________________________________
_________________________________
_________________________________
_________________________________
21

What Well Cover

_________________________________

Architecture Overview Centralized Reporting


Data Modeling in SAP NetWeaver BI
Data extraction from SAP and non-SAP sources
Query performance tuning and enhancements
Wrap-up

_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
22

Data Extracts Optimizing Data Transfer

SAP R/3 SBIW

_________________________________

SAP BI RSCUSTV6

_________________________________

_________________________________

Maximum size of data


packet = 100 to 200 Mb

_________________________________

Increase packet size for large flat files


Load from application server, not client

_________________________________
_________________________________

Adjust data transfer parameter in


InfoPackage for special situations

_________________________________
_________________________________

Scheduler DataS. Default data transfer


(not a typo)

_________________________________
_________________________________
23

Data Extracts Optimizing Data Transfer (cont.)

Number range buffering

_________________________________
_________________________________

When loading large quantities


of data into InfoCube, number
range should be increased for
dimensions likely > 100K
See the BW/BI Expert Article by
Gary Nolan (see resources
slide)

_________________________________
_________________________________
_________________________________
_________________________________

Function Module
RSD_IOBJ_GET

_________________________________

Identifies the object name of


dimension
Transaction SNRO Edit
Setup buffering Main
Memory
Never set buffering for package
dimensions

_________________________________
_________________________________
_________________________________
24

Data Extracts Optimizing Data Transfer (cont.)

_________________________________
_________________________________
_________________________________
_________________________________

_________________________________

Schedule multiple extractions concurrently


Operating Mode Use Transaction RZ04 to decrease number of dialog
processes and increase number of background processes
Plan during off-hours

_________________________________
_________________________________

Parallel Loading

_________________________________

Load PSA and Data Targets in parallel


Corporate Information Factory Load data in parallel if your source data is
feeding multiple targets

_________________________________
_________________________________
25

Data Extracts Optimizing Data Transfer (cont.)

Compress Cubes and Aggregates regularly

_________________________________

Depends upon maturity level of personnel and quality of data


Up to 7 days is best practice
Reconstruction of data load can take place within 7 day
timeframe

_________________________________
_________________________________
_________________________________

Datastore loads

_________________________________

_________________________________

Use process chains to drop and regenerate indices


Automate the tasks of checking indices and refreshing
statistics by using RSRV to schedule a periodic job
Extract Transform and Load Check update rules/DTP for
inefficient ABAP

_________________________________
_________________________________
_________________________________
_________________________________

PSA Data Retention

7 days retention is best practice

26

Data Extracts Optimizing Data Transfer (cont.)

Process Chains Master


Data Meta Chain Design

_________________________________
_________________________________
_________________________________

Master Data Attributes


Master Data Text
Attribute Change Run
Hierarchies

_________________________________
_________________________________

Transaction data

_________________________________

Drop indices
Load data in parallel
Recreate index
Refresh statistics
Rollup and collapse
InfoCube

_________________________________
_________________________________
_________________________________
_________________________________
27

Data Extracts Real-Time Data Acquisition (RDA)

Operational reporting
close to real-time
(cannot be < 1
second)
Issues with RDA

Not all data sources


are delta queue
enabled
Can only be done on
operational datastores
duplication of report
development may be
needed

_________________________________
_________________________________

Operational
Reporting

Analytical Reporting

_________________________________

Architected Data Marts


(Reporting Layer)

_________________________________

Operational Data
Store

_________________________________

Data Warehouse Layer

_________________________________
_________________________________

PSA
EDWH
SAP

_________________________________
Delta
Queue

Web
Service

App

Non-SAP

_________________________________

App

_________________________________
28

What Well Cover

_________________________________

Architecture Overview Centralized Reporting


Data Modeling in SAP NetWeaver BI
Data extraction from SAP and non-SAP sources
Query performance tuning and enhancements
Wrap-up

_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
29

Query Performance Challenges

End user expectations

_________________________________

Less than 10 second response time


No data restrictions on variable input

_________________________________
_________________________________

Centralized reporting

_________________________________

_________________________________

Summarized reporting with drill-down into detail


Information Broadcasting to enterprise email systems

_________________________________

Extracts to external datamarts

_________________________________

Self-service application vs. Open-hub solution

_________________________________
_________________________________
_________________________________
30

Query Performance OLAP Cache

Cache Monitor RSRCACHE

_________________________________

Maintain parameters in
RSCUSTV14
Performance test these
parameters Depends on
report processing

_________________________________

_________________________________
_________________________________
_________________________________

Cache is query-specific

_________________________________

Works very well with global


queries with similar selection
criteria
Running the same query
executed by another user with
different variables will not
utilize the saved cache
Performance testing is critical

_________________________________
_________________________________
_________________________________
_________________________________
31

Query Performance OLAP Cache (cont.)

_________________________________

Performance prototype
Objective Enhance
performance of month-end
reporting requirements

_________________________________
_________________________________
_________________________________

Received feedback from enduser community regarding


reporting needs and analyzed
vs. data from cache monitor
Utilized automated testing tool
to fill OLAP cache
Daily job executed 35 reports
with wide selection criteria at
0400

_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
32

Query Performance OLAP Cache (cont.)

_________________________________

Performance prototype
Issues with prototype

_________________________________
_________________________________

Dirty cache/Cache locking


f Reason was change
management of queries
f User sessions would have
to be ended manually via
SM66
f Solution Program
RSR_CACHE_RSRV_CHEC
K_ENTRIES executed twice
a day
f SAP Note 1107434
Definition of Query Specific
f Received positive results
when cache was loaded
with wide selection criteria
(i.e., Cost center = 0999999)

_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
33

Query Performance OLAP Cache (cont.)

_________________________________

Prototype results

_________________________________

Significant performance
increase
f 90% of reports < 10 seconds
f 8% of reports < 60 seconds
Increased end-user satisfaction
f Increased buy-in of solution
by external stakeholders
f Felt like they were part of
solution instead of the
problem
Increased PMO confidence in BI
f Better ROI on automated
testing tool
f BI Team reacted to problem
and implemented a proactive
solution
Opened the discussions for BI
Accelerator

_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
34

Query Performance Database

Database parameters may not


be set properly

_________________________________

SAP Note 180605 Addresses


many other notes and is good for
future reference

_________________________________
_________________________________

Indices

_________________________________

_________________________________

Indexes should be deleted at load


time and regenerated after load is
complete
Implemented within process
chains

_________________________________
_________________________________

Database statistics

_________________________________

Statistics can be refreshed after


load is completed
Implemented within process
chains

_________________________________
_________________________________
35

Query Performance Database (cont.)

_________________________________

Compression and Aggregate


Rollup

_________________________________
_________________________________

Aggregates implemented within


process chains
Compression done manually

_________________________________

Parallel Processing of
queries

_________________________________
_________________________________

MultiProvider limitation at 30K


rows SAP Note 607164
Sequential Processing is faster
than parallel

_________________________________
_________________________________

Database partitioning

Logical partitions based upon


time characteristic
If data volume is too large,
physical partitioning

_________________________________
_________________________________
36

Query Performance OLAP

SAP NetWeaver BI Basis and SAP ERP Basis are


not the same

_________________________________
_________________________________

See SAP Note 192658 Setting parameters for BW systems


See SAP Note 1044441 SAP NetWeaver 7.0 parameters

_________________________________
_________________________________

Operating mode

_________________________________

Global operations 7x24 operations


Balance between dialog users and background users
throughout the day

_________________________________
_________________________________
_________________________________

Key figures in Queries

_________________________________

Restricted and Calculated key figures will decrease system


performance
Good candidate for Information Broadcasting, if possible

_________________________________
37

Query Performance OLAP (cont.)

Buffers, I/O, CPU, and Memory on the DB server are


exhausted

_________________________________
_________________________________
_________________________________

Be careful of extracting large amounts of data from SAP/nonSAP systems during the middle of end-user activities
Designate extracts to run on isolated application servers
Re-size the BI system Impacts
f Data Extracts I/O and CPU
f Queries Memory

_________________________________
_________________________________
_________________________________
_________________________________

Keep Infoset Queries to a minimum

_________________________________

Infosets should be kept to a minimum of three datastores


Dependent upon size of datastores

_________________________________
_________________________________
38

Query Performance Information Broadcasting

Pre-Calculated Queries

_________________________________

Eliminates end-user frustration with waiting for report


execution

_________________________________
_________________________________

Calculated key figures

_________________________________

Determine if aggregation on the datastore occurred before


query execution in background

_________________________________
_________________________________

Performance testing

_________________________________

Ensure scope of Information Broadcasting project includes


testing of Production Enterprise email systems
f Be careful with end-user access to broadcast reports
f Project started with 10 reports to 20 users; expanded to
6,000 report variations to 400 users

_________________________________
_________________________________
_________________________________
39

Query Performance Information Broadcasting (cont.)

_________________________________

SAP NetWeaver Portal integration

_________________________________

Consolidate report distribution by utilizing Knowledge


Management (KM) Folders vs. email to multiple users
f This presents performance impact to SAP NetWeaver
Portal servers
See SAP Note 969040: Recommendation for federated portal
f Links multiple SAP Enterprise Portals in network
f Consumer portal Sign-on portal
f Producer portal Content portal
Don't
Forget
f Need to run on SAP NetWeaver 7.0

_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
40

What Well Cover

_________________________________

Architecture Overview Centralized Reporting


Data Modeling in SAP NetWeaver BI
Data extraction from SAP and non-SAP sources
Query performance tuning and enhancements
Wrap-up

_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
41

EarlyWatch Provides Robust Information

_________________________________

For new customers, use during go-live preparation and


post go-live after recommendations have been
implemented
For current customers, use as frequently as necessary in
conjunction with Solution Manager. Minimum should be
once per year.

_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________

42

References

_________________________________

BW/BI Expert articles and SAP PRESS Books

_________________________________

Michael R. Loveless, Strategic Options in SAP BW Data


Storage Compared (BW/BI Expert, November 2003).
Gary Nolan, Better Star Schema Design Means Better
Performance (BW/BI Expert, September 2003).
Gary Nolan Increase Load Performance by Buffering Number
Ranges (BW/BI Expert, January 2006).
Thomas Schrder, SAP BW Performance Optimization Guide
(SAP PRESS, 2006).

_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
43

References (cont.)

SAP Service Marketplace links (need login)

_________________________________
_________________________________

http://service.sap.com/monitoring
http://Service.sap.com/bi media Performance

_________________________________

SAP Notes

934848 Collective note: (FAQ) BI Administrative Cockpit


557870 FAQ: BW Query Performance
1107434: OLAP Cache Consultation: Long wait times due to
locks
166433: Options for finding aggregates
180605: Oracle database parameter settings for BW
607164: MultiProvider: Sequential processing is faster than
parallel
192658: Setting Parameters for BW Systems
1044441: Basis parameterization for NW 7.0 BI Systems
969040: Federated portal network and Information Broadcasting
44

_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________

7 Key Points to Take Home

Strongly consider investing in Near-Line Storage (i.e.,


Alternate Storage) and BI Accelerator (BIA)

_________________________________
_________________________________

These are strategic options for managing increased database


growth and degraded query performance of the SAP BI system

_________________________________

Better data model design leads to better performance

_________________________________

_________________________________

Datastore design based upon tactical vs. strategic reporting,


granularity of reporting requirements, and size ratio of
dimension tables to fact table will lead to increased end-user
satisfaction (sparcity vs. density)

_________________________________
_________________________________
_________________________________

Make sure your datastores are optimized for query


performance ensure that administrators are checking
indices and statistics using transaction RSRV

_________________________________
_________________________________
45

7 Key Points to Take Home (cont.)

Limit ST03 Expert Mode to experienced personnel


Design and implement OLAP caching of frequently used
reports during key reporting time periods (i.e., monthend, quarter-end, year-end)
Consider Information Broadcasting high-performance
reports to Knowledge Management folders on your
enterprise portal

_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________

Emailing of reports should be a secondary option

Analyze the operating mode of your companys data load


schedule load data in parallel whenever possible

_________________________________
_________________________________
_________________________________

46

Your Turn!

_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________

How to contact me:


Peter Michaud
peter.michaud@bearingpoint.com

_________________________________
_________________________________
47

Notes:
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________

Notes:
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________

Notes:
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________

Wellesley Information Services, 990 Washington Street, Suite 308, Dedham, MA 02026

Copyright 2008 Wellesley Information Services. All rights reserved.

Vous aimerez peut-être aussi